Для многих пользователей такая вещь, как торренты - это вообще нечто непонятное, а потому возьму на себя смелость хоть ненмого растолковать основную суть. Краткое описание технологии.
BitTorrent является системой передачи данных напрямую от пользователя к пользователю. Координация передачи осуществляется с помощью трекера.
Трекер представляет собой сайт, где любой зарегистрировавшийся пользователь, получив статус аплоадера может разместить информацию о каких-либо файлах, находящихся на его компьютере, а другие пользователи с помощью этой информации могут этот файл получить.
Для того, чтобы скачать или начать раздавать файл, вам нужна специальная программа-клиент. Можно порекомендовать uTorrent (который вы можете скачать с сайта трекера) максимально прост в использовании (не сложнее любой программы для скачивания файлов), потребляет минимальное количество системных ресурсов и обладает всеми необходимыми возможностями.
Скачать выложенный на трекере файл очень просто: к примеру, вы нашли на трекере интересующий вас фильм, после этого вам достаточно скачать прикрепленный к описанию фильма .torrent файл и открыть его с помощью программы uTorrent. uTorrent сам найдет всех, кто раздает этот файл, и начнет его скачивать.
Разместить файлы на трекере тоже довольно просто, для этого вы можете воспользоваться инструкциями, находящимися на сайте-трекере.
Протоколы и порты
- Клиенты соединяются с трекером по протоколу TCP.
- Клиенты соединяются друг с другом, используя протокол TCP.
- Номера портов не фиксированы в спецификации протокола и могут изменяться при необходимости. Более того, в данный момент большинство трекеров используют обычный HTTP порт 80, а для клиентов рекомендуется выбрать случайный входящий порт.
- DHT-сеть в BitTorrent-клиентах использует протокол UDP.
Кроме того, протокол UDP используется UDP-трекерами (не поддерживается всеми клиентами и не является официальной частью протокола) и для соединения клиентов друг с другом через UDP NAT Traversal (используется только в клиенте BitComet и не является официальной частью протокола).
Трекер
Трекер (англ. tracker) — специализированный сервер, работающий по протоколу HTTP. Трекер нужен для того, чтобы клиенты могли найти друг друга. Фактически, на трекере хранятся IP-адреса, входящие порты клиентов и хэш-суммы, уникальным образом идентифицирующие объекты, участвующие в закачках. По стандарту, имена файлов на трекере не хранятся, и узнать их по хэш-суммам нельзя. Однако на практике трекер часто помимо своей основной функции выполняет и функцию небольшого веб-сервера. Такой сервер хранит файлы метаданных и описания распространяемых файлов, предоставляет статистику закачек по разным файлам, показывает текущее количество подключенных пиров и пр.
Терминология
Раздача (англ. seeding) — процесс распространения файла по протоколу BitTorrent.
Пир (англ. peer — соучастник) — клиент, участвующий в раздаче. Иногда пирами называют только скачивающих участников.
Сид, иногда сидер (англ. seeder — сеятель) — пир, имеющий все сегменты распространяемого файла, то есть либо начальный распространитель файла, либо уже скачавший весь файл.
Личер (англ. leech — пиявка) — пир, не имеющий пока всех сегментов, то есть продолжающий скачивание. Термин часто употребляется и в негативном смысле, который он имеет в других файлообменных сетях: пользователь, который отдает гораздо меньше, чем скачивает.
Рой (англ. swarm) — совокупность всех пиров, участвующих в раздаче.
Доступность (англ. availability), или distributed copies — количество полных копий файла, доступных клиенту. Каждый сид добавляет 1,0 к этому числу; личеры увеличивают доступность в зависимости от количества скачанного, которого нет у других личеров. К примеру, если на раздаче есть один сид и два личера, скачавшие по 50% файла (скачанные части равны между собой), то доступность равна 1,50.
Рейтинг (англ. share ratio) — отношение отданного к скачанному.
Анонс (англ. announce) — обращение клиента к трекеру. При каждом анонсе клиент передаёт на трекер информацию об объёмах им скачанного и отданного, a трекер передаёт клиенту список адресов других клиентов. Обращение клиента к трекеру происходит через определённые интервалы времени, которые определяются настройками клиента и трекера.
URL анонса (англ. announce URL) — адрес трекера, к которому клиент делает анонс. Во многих клиентах называется «Tracker URL». Может включать «passkey» — уникальный код, назначаемый трекером для аккаунта пользователя, помогающий идентифицировать его на трекере (добавляется к URL анонса в самом *.torrent-файле).
Две ошибки начинающих пиров
Начинающие пользователи BitTorrent часто допускают две ошибки:
1. Забывают открыть порт приёма. Всегда, когда это возможно, порт должен быть открыт в брандмауэре или маршрутизаторе. Пир с закрытым портом не может связаться с другим пиром, у которого порт приёма также закрыт.
2. Удаляют закачку, как только она закончилась. После того, как закачка закончилась, клиент должен некоторое время побыть в режиме сида, раздавая закачанный файл другим.
С правилами работы трекера вы можете ознакомиться на сайте трекера в разделе "правила".