Команда разработчиков популярного торрент-клиента uTorrent официально объявила о выпуске новой версии 3.4.
С ежемесячной аудиторией более 150 млн активных пользователей uTorrent остается самым популярным клиентом BitTorrent. Эта программа создавалась в стиле минимализма, но с возрастом обросла многочисленными функциями, в том числе не нужными большинству пользователей. Тем не менее, часть аудитории продолжает обновляться до последней версии.
Кроме обычных исправлений, новых функций и улучшений интерфейса, в версии 3.4 полностью изменили протокол, по которому uTorrent выбирает пиры для соединения. Это увеличивает скорость передачи данных и защищает инфраструктуру от DDoS-атак. Протокол Canonical Peer Priority разработан сотрудником компании BitTorrent Арвидом Норвигом (Arvid Norberg).
Когда клиент присоединяется к пулу, он выбирает, к каким из них подключиться напрямую. Если выбор неудачный или если в пуле есть вредоносные пиры, то соединения между клиентами распределяются некорректно, что увеличивает количество хопов от узла к узлу.
По старому протоколу количество соединений на каждый торрент было ограничено 50, и клиент отказывал в новых соединениях, если лимит достигнут. В идеальных условиях это может привести к тому, что 50 клиентов будут почти постоянно объединены между собой и не пропустят в пул новичков. Описание проблемы см.
здесь. На иллюстрации показана структура из 1000 пиров, которые выходят в онлайн друг за другом, в идеальных условиях (то есть когда нет сетевых разрывов и не существует NAT), сгенерированная на симуляторе. Ситуация крайне неприглядная.
Новый протокол Canonical Peer Priority отдает предпочтение ближним узлам, до которых меньше хопов. Таким образом, даже после достижения лимита в 50 соединений к узлу все еще могут подключиться другие узлы с высоким приоритетам. Это значит, что каждый узел теперь будет соединяться с более быстрыми узлами - за счет этого увеличится скорость соединения.
DDoS-атаки на пул раньше осуществлялись с помощью большого количества запросов на скачивание, которые забивали слоты у доступных узлов и не давали им возможности соединиться друг с другом. С новым методом выбора пиров эта проблема решена, поскольку вредоносным узлам будут присваивать минимальный приоритет.
Вдобавок, группа разработчиков сообщила о приеме новых сотрудников и анонсировала более частый выпуск новых релизов.