Как протокол Bittorrent обрабатывает блоки данных? - PullRequest
3 голосов
/ 15 октября 2010

Как обрабатываются чанки данных в протоколе bittorrent?

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

Где обрабатываются или обрабатываются блоки данных, например, мне нужен блок 5, 6, 10, а одноранговый узел 2 имеет блок 5, 7, 8. Где данные контролируются или управляются?Отвечает ли клиентский запрос на чанки от других одноранговых узлов, а затем проверяет, есть ли у него чанк, и затем отправляет его или как работает поток данных?

Спасибо

1 Ответ

4 голосов
/ 15 октября 2010

Трекер предоставляет список одноранговых узлов, затем одноранговые узлы соединяются и меняются списками чанков.

Пиры обмениваются сообщением BITFIELD сразу после первоначального рукопожатия.BITFIELD содержит 1s для фигур, которые есть у пира, и 0s для тех, которых у него нет.Когда одноранговый узел получает BITFIELD, если все биты установлены в 1, то удаленный одноранговый узел является начальным числом.Таким образом, пэры могут легко идентифицировать семена.

(из http://web.archive.org/web/20041119150847/http://mnl.cs.stonybrook.edu/home/karthik/BitTorrent/Robustness_of_BT.doc)

...