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