IPB

Здравствуйте, гость ( Вход | Регистрация )

 
Ответить в данную темуНачать новую тему
Приоритет локальных пиров, Приоритет локальных пиров в uTorrent и других клиентах
unxed
сообщение 12.10.2010, 17:52
Сообщение #1


Участник
**

Группа: Пользователи
Сообщений: 12
Регистрация: 23.3.2009
Пользователь №: 941



Долгие размышления над идеей ретрекеров, а также практический опыт использования оных приводят к неутешительному выводу: несмотря на всю привлекательность этой технологии, очень часто загрузка всё равно идет не на максимально возможной скорости.

Почему так происходит?

А потому что из всех, скажем, 1000 пиров, участвующих в распространении торрента, клиент коннектится к первым, скажем, 100 (ну или сколько там выставлено в настройках), и про остальных забывает. Очень часто с локальными пирами клиент просто не успевает соединиться, и, не смотря на наличие ретрекера, скачивание идет через интернет.

Можно ли с этим что-нибудь сделать?

Я вижу несколько вариантов.

1. Убедить разработчиков торрент-клиентов (того же uTorrent) добавить опцию приоритета пиров из той же подсети, в которой находитесь вы. Эта идея активно обсуждается на форуме uTorrent, приглашаю всех, кто знаком с английским, принять участие в дискуссии, потому что на данный момент разработчики добавлять такую опцию не хотят.

2. Через ipfilter.dat блокировать все IP, кроме тех, которые принадлежат вашему провайдеру (пример этого способа для Авангарда-СПб). К сожалению, если на раздаче нет локальных пиров, скачивание остановится совсем, а менять ipfilter.dat на лету не слишком удобно. С другой стороны, этот способ позволил мне увеличить скорость скачивания в 2-3 раза на некоторых раздачах.

3. Отключать DHT и PEX, а также блокировать домены трекеров, которыми вы пользуетесь, через hosts, чтобы списки пиров приходили только с ретрекера. Как и в пункте 2, проблема в том, что если на раздаче нет локальных пиров, качаться ничего не будет. Плюс накроется учет рейтинга на основном трекере.

4. Держать два клиента с разными настройками - один для локального трафика, другой для интернетовского. Неудобно, но работает.

5. Взять какой-нибудь оперсорсный клиент, типа Vuze (java) или Halite (C++), и дописать нужный функционал самим (возможно, одновременно добавив опциональный патчинг торрентов прямо в клиент). Хорошо, но многие ли станут менять клиент только из-за скорости?

6. Аналогично п. 1 или 5, но приоритет давать не IP из своей подсети, а всем IP, полученным с адреса retracker.local (другие варианты: со всех трекеров, которые находятся в той же подсети, что и вы, и/или со всех трекеров, адреса которых получены через bep-22). Это учтет пиринги провайдеров (один ретрекер на несколько сетей).

Коллеги, есть ли у кого-нибудь другие идеи решения этой проблемы? На мой взгляд, эта беда - главное ограничение, в которое упирается скорость скачивания при использовании ретрекеров на сегодняшний день.

Также вопрос к присутствующим здесь разработчикам на C++ или Java: готов ли кто-нибудь взяться за п. 5 или 6?
Перейти в начало страницы
 
+Цитировать сообщение
FreeM@N
сообщение 12.10.2010, 21:37
Сообщение #2


Активный участник
***

Группа: Админы
Сообщений: 660
Регистрация: 15.12.2008
Из: Москва
Пользователь №: 15



Цитата(unxed @ 12.10.2010, 18:52) *
...
1. Убедить разработчиков торрент-клиентов (того же uTorrent) добавить опцию приоритета пиров из той же подсети, в которой находитесь вы. Эта идея активно обсуждается на форуме uTorrent, приглашаю всех, кто знаком с английским, принять участие в дискуссии, потому что на данный момент разработчики добавлять такую опцию не хотят.
...

В линуксовом клиенте rTorrent уже сделано нечто похожее - трекеры опрашиваются по очереди, т.е. если первым трекером будет локальный то сначала клиент наберёт пиров у него, а уже потом (если их будет мало) пойдёт перебирать остальные. Я этой «фишкой» пользуюсь и очень доволен smile.gif


--------------------
Перейти в начало страницы
 
+Цитировать сообщение
unxed
сообщение 13.10.2010, 1:23
Сообщение #3


Участник
**

Группа: Пользователи
Сообщений: 12
Регистрация: 23.3.2009
Пользователь №: 941



Цитата(FreeM@N @ 12.10.2010, 22:37) *
В линуксовом клиенте rTorrent уже сделано нечто похожее - трекеры опрашиваются по очереди, т.е. если первым трекером будет локальный то сначала клиент наберёт пиров у него, а уже потом (если их будет мало) пойдёт перебирать остальные. Я этой «фишкой» пользуюсь и очень доволен :)


Насколько я понимаю, в uTorrent сделано так: если группа трекеров в списке идёт подряд - то опрашивается первый, а второй - только при недоступности первого. А вот если через одну строку - то тогда опрашиваются одновременно. Не помню уже, как это технически оформлено в announce-list. Но это полумеры всё :) Хочется полноценной поддержки приоритетов пиров, полученных именно с ретрекеров. Плюс хочется массового решения, которым могли бы пользоваться не слишком продвинутые пользователи.
Перейти в начало страницы
 
+Цитировать сообщение

Ответить в данную темуНачать новую тему
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 



RSS Текстовая версия службы мониторинга серверов Сейчас: 24.5.2017, 12:54
Rambler's Top100