BitTorrent-трекер


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

Если в BitTorrent-клиенте открыто несколько активных торрент-файлов, то для каждого используется отдельный запрос, никак не связанный с другими. Интервалы между запросами по каждому отдельно взятому торренту зависят от настроек клиента и обычно составляют от 30 до 60 минут.

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

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

Для решения этой проблемы могут использоваться резервные трекеры или специальные бестрекерные протоколы, например DHT.

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