четверг, 10 января 2008 г.

Описание протокола BitTorrent. Часть 6. Координация торрент-клиентов.

Основная функция BitTorrent трекера — обработка запросов клиентов.
Каждый клиент периодически обращается к трекеру с запросом, в котором указаны:
* info_hash — уникальный хеш торрент файла
* port — TCP порт, на котором клиент ждёт соединений от других клиентов
* количество данных, которыми клиент успел обменяться с другими клиентами
* и некоторая другая информация.

Такое обращение представляет собой обычный GET HTTP запрос, в котором информация закодирована с помощью специального протокола Bencode.

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

BitTorrent трекер, используя info_hash, составляет списки IP адресов и портов участвующих в каждой отдельной раздаче клиентов. Каждому клиенту в ответ на очередной запрос трекер возвращает такой список, и клиент использует его для установления соединений с другими клиентами.

Комментариев нет: