Открыть сервисСервис

Торренты и торрент-раздача

Торрент — файл с расширением .torrent, содержащий метаданные о разделяемом контенте и адресах узлов сети, а также обобщённое название технологии файлообмена, основанной на протоколе BitTorrent. В отличие от классической клиент-серверной модели, при которой все участники скачивают файл с одного сервера, в торрент-сети каждый клиент одновременно скачивает недостающие фрагменты файла у других пользователей и отдаёт им уже скачанные куски. Такой подход называется раздачей (сидированием) и позволяет распределить нагрузку между всеми участниками.

Принцип работы

Файл, раздаваемый по торренту, разбивается на равные части — фрагменты (обычно от 256 КБ до 16 МБ). В .torrent-файле хранятся:

  • имя раздачи и список файлов;
  • размер фрагмента и контрольные суммы (SHA-1) каждого фрагмента;
  • адрес трекера — сервера, отслеживающего участников раздачи;
  • список «пиров» (участников), если раздача работает по модели DHT без центрального трекера.

Клиент, желающий скачать файл, обращается к трекеру или через DHT-сеть (распределённую хеш-таблицу) и получает список IP-адресов других клиентов. Далее обмен данными идёт напрямую между участниками. Клиент, у которого уже есть весь файл, называется сидом; клиент, который ещё качает, — личем. Клиент, у которого есть только часть файла, раздаёт эти фрагменты, одновременно докачивая недостающие.

История

Протокол BitTorrent разработан Брэмом Коэном (Bram Cohen). Первый публичный релиз состоялся в 2001 году. Идея Коэна заключалась в том, чтобы сделать раздачу популярного контента (например, дистрибутивов Linux) дешёвой: чем больше людей качает файл, тем быстрее он раздаётся, а не наоборот.

В 2003 году появился клиент BitTorrent для Unix, затем были выпущены версии для Windows и macOS. В середине 2000-х годов технология получила массовое распространение: по оценкам различных аналитиков, в пиковые годы торрент-трафик составлял от 30 до 70 % всего трафика интернета в отдельных странах.

В 2017 году компания BitTorrent Inc., разрабатывавшая одноимённый клиент, была приобретена криптовалютной биржей Tron Foundation.

Трекеры и DHT

Трекер — это HTTP-сервер, который ведёт список активных участников раздачи. Клиенты регулярно отправляют трекеру запросы (announce) и получают адреса пиров. Крупнейшие публичные трекеры в разные годы — Demonoid, The Pirate Bay, RuTracker — индексировали миллионы раздач.

В 2005 году в клиент BitTorrent была добавлена поддержка DHT — распределённой хеш-таблицы, работающей по протоколу Kademlia. DHT позволяет обходиться без центрального трекера: список участников хранится в самих клиентах, что делает сеть устойчивой к блокировкам отдельных серверов. Позже появились протоколы PEX (обмен списками пиров между клиентами) и Local Peer Discovery (поиск пиров в локальной сети).

Метка-файл и клиенты

Файл .torrent можно открыть в любом торрент-клиенте. Наиболее известные клиенты:

КлиентОсобенности
qBittorrentСвободный, без рекламы, мультиплатформенный
TransmissionЛёгкий клиент для macOS и Linux
DelugeМодульная архитектура, поддержка плагинов
µTorrentПопулярный клиент для Windows (проприетарный)
BitTorrentОфициальный клиент от разработчиков протокола
libtorrentБиблиотека, на которой построено множество клиентов

Помимо файлов .torrent, существует формат магнет-ссылки (magnet:?xt=urn:btih:...), который содержит только хеш раздачи. Магнет-ссылка позволяет начать скачивание без загрузки самого .torrent-файла — клиент ищет пиров через DHT.

Правовой статус

Технология BitTorrent нейтральна по отношению к содержимому: она одинаково используется для распространения свободного ПО (дистрибутивы Ubuntu, Fedora, архивы Internet Archive), открытых игр, научных данных и для пиратского распространения фильмов, игр и программ.

В России и ряде других стран распространение контента, на который распространяются авторские права, через торренты без разрешения правообладателя является нарушением закона. Суды признают незаконным размещение торрент-файлов, содержащих ссылки на пиратский контент. Правообладатели и Роскомнадзор направляют трекерам и хостингам уведомления о незаконных раздачах (DMCA-подобные takedown-уведомления); крупные публичные трекеры периодически блокируются по решению судов.

Применение

BitTorrent применяется в легальных целях:

  • распространение дистрибутивов Linux и BSD (официальные сайты Ubuntu, Debian и Fedora предлагают скачивание торрент-файлами);
  • раздача больших архивов (Internet Archive использует торренты для раздачи своих коллекций);
  • обмен файлами в закрытых сообществах и корпоративных сетях;
  • игровая индустрия: некоторые издатели (например, Blizzard) использовали торрент-протокол для обновления игр;
  • обновление программного обеспечения: протокол встроен в некоторые системы управления пакетами.

Ограничения

Скорость скачивания через торрент зависит от количества и скорости сидов. В раздачах с малым числом участников загрузка может быть медленнее, чем при прямом скачивании. Кроме того, в отличие от HTTP-загрузки, торрент-клиент продолжает отдавать данные другим участникам после завершения загрузки, что расходует трафик и ресурсы канала пользователя.

Исторически технология BitTorrent стала одним из первых массовых примеров децентрализованного распределённого хранения данных и повлияла на развитие одноранговых сетей, распределённого хранения (IPFS, BitTorrent Sync) и криптовалютных систем.

Источники:

  • Bram Cohen. BitTorrent Protocol Specification. — 2008.
  • A. Bakulev. BitTorrent-протокол и его применение. — 2009.
  • П. Майерс, А. Окулир. O'Reilly. BitTorrent для чайников. — 2005.
  • RFC 5389, RFC 7693 (спецификации, связанные с инфраструктурой P2P-сетей).
  • Материалы проекта libtorrent (libtorrent.org).
Заметили ошибку или не согласны с информацией в статье? Напишите нам support@bfometr.ru