В завершение этой серии статей о протоколе BitTorrent Мы рассмотрим правила, регулирующие их поведение. Ниже я перечислю некоторые клиенты, доступные для Linux.
О протоколе BitTorrent и о том, как он работает
Выбор частей файла
Мы видели в предыдущая статья что, когда сеялка загружает файл в первый раз, он делится на части, которые будут распределены между различными программами-сборщиками, чтобы гарантировать, что полный файл всегда будет доступен. Если какая-то часть отсутствует, загрузка всего роя не удастся. пили при этом реализуется алгоритм выбора, который будет определять, какой из них будет загружен в каждый момент.
Возможны разные варианты:
- Случайный выбор: вам назначается любая из доступных частей, и вы можете начать делиться ею.
- Наименее совместно используемая часть: самая низкая на данный момент часть назначается первой. Обычно это делается, когда исходный файл больше не доступен.
- Строгая политика: мой дословный перевод с английского. Когда части, в свою очередь, делятся на более мелкие части, загруженная сначала подчасть вызывает загрузку связанных подчастей для перестройки и делает ее доступной для остальной части роя.
- Финальный режим: применяется, когда файл почти полностью загружен. Для предотвращения излишнего увеличения времени загрузки из-за того, что конечная часть доступна только из источника с низкой пропускной способностью, в исключительных случаях разрешается запрашивать все элементы роя.
Механизм взаимности
Возвратный механизм используется для достижения постоянной скорости загрузки. Это означает, что одноранговый узел будет реагировать на то, что делают одноранговые узлы, к которым он подключен. На время соединения каждый одноранговый узел будет делиться своими частями файла с четырьмя другими одноранговыми узлами. Выбор осуществляется на основе скорости загрузки, которую они разделяют с указанной парой. Эти скорости загрузки рассчитываются на основе непрерывного среднего значения в 20 секунд, и клиент пересчитывает их каждые 10 секунд.
Однако бывают следующие исключения:
- Каждые 30 секунд он подключается к дополнительной паре независимо от скорости загрузки, чтобы найти неиспользуемые подключения, которые могут быть лучше текущих. Обычно это случается с недавно подключившимися пиявками, которые еще не начали делиться.
- Когда одноранговый узел ничего не получает от одноранговых узлов, с которыми он соединяется, он пытается установить более одного соединения, описанного в предыдущем пункте.
- В случае, если программа-пиявка загрузила весь свой файл, став сеялкой, она предоставит привилегии тем партнерам, с которыми никто не делится файлом.
BitTorrent-клиенты для Linux
В отличие от сетей ED2K и Kademlia, в сети BitTorrent есть несколько клиентов, которые можно использовать в Linux.. Как правило, наиболее популярные дистрибутивы Linux поставляются с одним предустановленным. Коробка передач en в случае тех, кто основан на рабочих столах GNOME и KTorrent на основе KDE. Браузер Brave приносит клиенту WebTorrent встроенный и его также можно использовать в качестве настольного приложения.
Другие варианты
qBitTorrent
Es клиент Мультиплатформа с открытым исходным кодом, вдохновленная хорошо известным µTorrent. На мой вкус имеет лучшую поисковую систему, хотя вам придется настраивать ее вручную с несколько громоздким процессом. Мы можем работать с магнитными ссылками и использовать протоколы DHT и PEX в дополнение к подписке с помощью частных торрентов и через зашифрованные соединения.
потоп
Другой клиент кроссплатформенность с поддержкой DHT, Local Peer Discovery (LSD), Peer Exchange (PEX), UPnP и NAT-PMP. Он поддерживает использование прокси и может использоваться через Интернет через удаленное соединение.
FrostWire
В данном случае у нас есть нечто большее, чем простой клиент BitTorrent. С участием FrostWire Мы можем искать интересующий нас файл не только в сети BitTorrent, но и в различных источниках онлайн-ресурсов.. Кроме того, он имеет встроенный проигрыватель и медиа-менеджер, позволяющий легко находить загруженные файлы.