Протокол Bittorrent «недоступен» / «завершение соединения» ответ? - PullRequest
0 голосов
/ 03 мая 2011

Мне нравится, когда я могу использовать торрент-приложение для захвата последних телешоу, чтобы я мог смотреть его на своем компьютере.Проблема в том, что структура протокола имеет тенденцию вызывать много шума на моем соединении в течение некоторого времени после закрытия клиента.Поскольку я также люблю играть в онлайн-игры, иногда это означает, что я должен убедиться, что мой торрент-клиент отключен примерно на час (в зависимости от того, как долго трекер объявляет меня на роя), прежде чем я захочу поиграть в игру.В противном случае я получаю ужасное соединение с игрой из-за постоянного потока входящих торрент-запросов.

Я собрал небольшое приложение Ruby для просмотра входящих запросов, чтобы я мог знать, когда пропадет трафик UTP:

http://pastebin.com/TbP4TQrK

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

Заранее спасибо за любой совет.

1 Ответ

0 голосов
/ 19 мая 2011

Если группа сверстников в интернете имеет ваш IP и думает, что вы находитесь в их рое, они попытаются связаться с вами несколько раз, прежде чем сдаться. Вы ничего не можете с этим поделать. Говоря им об остановке по одному, вероятно, в конечном итоге будет использоваться более высокая пропускная способность, чем просто игнорирование пакетов UDP.

Теперь, есть несколько вещей, которые вы можете сделать, чтобы смягчить это:

  1. Убедитесь, что ваш клиент отправляет остановленные запросы всем своим трекерам. Это является частью спецификации протокола, и большинство клиентов делают это. Если это удастся, трекер никому не расскажет о вас после этого. Но сверстники помнят, что видели вас, поэтому это не значит, что никто не будет пытаться связаться с вами.
  2. Отключить DHT. DHT действует как трекер, за исключением того, что у него нет сообщения о остановке. Время ожидания вашего IP-адреса истечет примерно через 15-30 минут после его объявления DHT.

Я думаю, что было бы также уместно спросить себя, действительно ли эти паразитные входящие 23 байта UDP-пакеты действительно имеют значение. Предположительно, вы не затоплены более чем на несколько в секунду (возможно, меньше). Вы делали какие-либо реальные измерения или это в основном паранойя, чтобы ждать, пока они не отступят?

Я предполагаю, что вы играете на некотором чувствительном к времени ожидания FPS, и в этом случае сервер, скорее всего, будет загружать вас по крайней мере 10-50 полными пакетами MTU в секунду, без какого-либо контроля перегрузки. Я был бы удивлен, если бы вы привлекли так много попыток соединения через битторрент, что это привело бы к сбросу любого из игровых пакетов.

...