BitTorrent протокол

Описание протокола BitTorrent

BitTorrent протокол (BitTorrent Protocol) — пиринговый TCP протокол обмена файлами через интернет. Автором и разработчиком, которого является Брем Коэн (Bram Cohen). Разработка протокола началось в апреле 2001 года, после того, как Брем покинул компанию MojoNation. На сегодняшний день BitTorrent протокол — самый быстрый и популярный в мире протокол обмена файлами.

Первую программу для работы с BitTorrent протоколом он написал сам, на языке Python, и запустил его первую версию в мае 2005, после чего протокол и клиент BitTorrent приобрели свою популярность, благодаря возможности быстрого разделения больших файлов на части и распространения их по сети.

Принцип работы BitTorrent протокола:

До скачивания, торрент-клиент подключается к трекеру и сообщает ему свой адрес и идентификатор необходимого файла, в ответ он получает список других клиентов, скачивающих и раздающих его. В ходе закачивания список клиентов постепенно обновляется, а сервер информируется о проделанном процессе закачки.

Торрент-клиенты подсоединятся друг к другу и обмениваются частями файлов, без прямого участия трекера, который только обновляет списки клиентов и статистические данные. Эффективность работы протокола BitTorrent зависит от количества клиентов, способных принимать входящие соединения.

Сразу же после подключения программы к трекеру, начинается обмен частями раздачи. Заинтересованный пользователь посылает запрос на закачку фрагмента другому, и если второй готов приступить к раздаче, то первый получает необходимые части. После получения необходимого фрагмента, происходит его проверка и оповещение других пиров о его наличии.

Обмен данными между участниками начинается тогда, когда каждая сторона имеет части раздачи, которых нет у другой. Количество переданных фрагментов просчитывается и если клиент обнаруживает, что он отдает больше, чем получает, то операция отдачи блокируется, по отношению к принимающему клиенту. То есть BitTorrent протокол подразумевает защиту от личеров.

После завершения закачки на 100%, клиент переходит в особый режим, при котором он занимается исключительно раздачей, такой режим называется режимом «сидирования».

Также пользователи могут блокировать отдачу другим участникам и расставлять приоритеты, что делает использование канала отдачи более эффективным. При выборе кого разблокировать или установить приоритет, предпочтение отдается пирам, которые сами отдали много частей этому клиенту.

BitTorrent протокол можно использовать для загрузки файлов любого типа и размера. BitTorrent не контролирует и не распознает пиратский контент, поэтому стоит понимать, что при использовании пиринговых клиентов ваш IP адрес будет доступен любому лицу. Так что не забывайте законы вашей страны и соблюдайте авторские права.

Файл метаданных — .torrent.

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

  • Info — ключ, который содержит общую информацию о содержимом торрента.
  • Announce — адрес трекера, к которому обращается клиент, чтобы приступить к загрузке.
  • Announce-list — список резервных трекеров. Ключ может быть отключен.
  • Creation date — дата создания торрента, в формате с «Число-Месяц-Год Часы: Минуты: Секунды» по UTC. Наличие не обязательно.
  • Comment — текстовый комментарий от автора торрента. Необязательный параметр.
  • Created by — Полное имя и версия программы, с помощью которой создавался торрент. Можно не указывать.

Данные файлы могут распространяться и приобретаться при помощи любого канала связи, а не только путем закачивания их со специальных ресурсов.

Общие особенности BitTorrent протокола:

  • Ведется контроль каждого скачанного фрагмента.
  • Клиенты могут обмениваться информацией исключительно между собой, без непосредственного участия сервера.
  • Меньшая доступность файла приводит к более частой его передаче.
  • Отсутствие рекламы.
  • Раздаваться могут сразу несколько файлов.
  • Свободное скачивании файлов, без очередей и задержек.
  • Скачанные части, немедленно, становятся доступны для скачки другим пользователям.
  • Файл закачивается малыми фрагментами, в большом количестве, что увеличивает стабильность и быстроту закачки.

Пошаговая инструкция работы с BitTorrent протоколом или как качать с торрента:

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

  1. Через вашу программу просмотра веб-страниц (браузер) зайдите на один из трекеров.
  2. Ознакомьтесь с его содержимым и найдите необходимый вам торрент через встроенный поиск или из списка доступных раздач.
  3. На странице раздачи торрента вашего должна присутствовать кнопка: «Скачать», «Download». C помощью которой вы можете сохранить себе на компьютер специальный файл мета-данных, с расширением .torrent. Обычно его размер не превышает 100 Кб.
  4. Далее, открываете ваш торрент-клиент и добавляете файл метаданных в закачку, удобным вам способом, через меню: «Файл — Добавить торрент» («File — Add torrent») или просто перетаскиваете .torrent файл на рабочую область клиента (как вы добавляете песню в список воспроизведения проигрывателя). Или любым другим способом, который предлагает ваш клиент.
  5. Укажите свою директорию сохранения будущего файла, если она не указана автоматически, или вас не устраивает.
  6. Все, торрент добавлен в список загрузок и теперь осталось лишь подождать некоторое время, пока он не докачается. Если почему то он не загружается, или загрузка приостановилась, вы можете узнать об этом в разделе нашего сайта «Проблемы и ошибки».

Статьи по теме:
Торрент терминология — торрент термины, применяемые в протоколе.
Статьи о торрентах — полезная информация о работе с торрентами.