Изменения

Перейти к: навигация, поиск

Peer-to-peer

4293 байта добавлено, 18:37, 17 января 2017
Нет описания правки
==Частично децентрализованные сети==
В некоторых peer-to-peer сетях кроме равноправных node присутствуют сервера, которые выполняют административные функции, такие как поддержка базы он-лайн пользователей.
 
 
 
==BitTorrent протокол==
 
Протокол BitTorrent был разработан в 2001 году Коэном Брахмом, чтобы позволить
набору узлов быстро и легко обеспечивать общий доступ к файлам.
 
Сам протокол состоит в следующем: есть небольшой торрент-файл, содержащий
информацию о трекере, который следит за файлом, и список сегментов, из которых
состоит файл: для сегмента хранится 160-битовый SHA-1 соответствующего сегмента
файла (обычный размер сегмента -- 64-512 кб). Таким образом, скачав файл, можно
посчитать от него хеши и проверить, все ли скачалось без ошибок. Кроме
торрент-файла есть трекер: сервер, который следит за состоянием пиров -- узлов,
имеющих отношение к раздаче. Пир, получив торрент-файл, подключается к трекеру
и узнает список сидов -- пиров, у которых уже есть некоторые сегменты файла,
готовые их отдать. Узнав адрес сида, у которого можно что-то скачать, клиент
уже обращается напрямую к нему и скачивает у него файл. Таким образом, все данные
идут напрямую от пира к пиру (peer-to-peer), а трекер участвует лишь в качестве
координатора процесса.
 
Таким образом, протокол не является особо централизованным (нет никаких выделенных
хранилищ с данными), но решает проблему "А где же мне найти, где бы скачать вот
этот фрагмент файла".
 
Для того, чтобы не было проблем с поиском какой-то части
файла, трекер сначала предлагает загружать сегменты, которые есть у наименьшего
числа участников сети. Это позволяет избежать проблемы, характерной для
последовательной загрузки файла, когда много участников скачали почти весь файл, а
вот самого конца сейчас ни у кого нет.
 
Система работает хорошо, когда каждый ее участник скачал документ, а потом еще
и остался на его раздаче, отдавая свой долг перед родиной. К сожалению, бывает так,
что клиент скачал все, что ему нужно, и решил не оставаться на раздаче -- таких
пиров называют личерами. Если в системе много личеров, то раздавать файлы некому,
и скорость скачивания падает. Для решения этой проблемы трекер может применить
систему поощрений: отдавать пиру очередной сегмент, лишь если его отношение
"скачал/отдал" не меньше, чем какое-то конкретное число, мотивируя клиентов
оставаться на раздаче, повышая свой рейтинг. К сожалению, это не всегда хорошо
работает, так как бывают компьютеры, имеющие хорошую скорость скачивания и малую
скорость отдачи. Таким клиентам сложно иметь хороший рейтинг, и они в итоге страдают
от этой системы.
Анонимный участник

Навигация