Правда ли, что все блоки для фрагмента должны запрашиваться у одного и того же партнера?
Неверно.Идея состоит в том, чтобы запрашивать разные блоки у разных пиров, добавляя полосу пропускания от всех пиров для быстрого завершения работы.
запрашивает ли клиент один и тот же блок у разных одноранговых узлов в случае, если какой-либо одноранговый узел не ответил?
Обычно определенный блок запрашивается только у одного узла.Только если этот узел не отправил этот блок после долгого времени ожидания, этот блок запрашивается от другого узла.
Исключением из этого является режим "Завершение игры".
Когда загрузка почти завершена и все оставшиеся блоки были запрошены:
Блоки могут запрашиваться параллельно от более чем одного партнера кне нужно ждать, пока самые медленные узлы закончат свои блоки и замедлить загрузку до сканирования.