Изменения

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

Peer-to-peer

42 байта добавлено, 09:47, 26 января 2017
Нет описания правки
Идея peer-to-peer общения заключается в том, что каждый peer знает и поддерживает информацию о других участниках. Когда новый клиент подключается к сети, он может узнать у любого пира информацию о том, где и какие файлы сейчас доступны. Когда клиент начинает скачивает файл себе на компьютер, то скачанные части этот файла сразу становятся доступны для скачивания другим пользователям. Никто не даёт гарантию, что каждый сервер будет находиться длительное время в сети и давать скачивать информацию, напротив -- ситуация, когда сервер пропадает в процессе загрузки, является естественной. В данном случае будет найден новый сервер, который может продолжить передачу данных.
Для поддержания списка активных peer-ов каждый сервер посылает другим серверам heartbeat. Heartbeat -- это сообщение , которое один сервер посылает другому, чтобы сказать ему, что он жив. Соответственно , если heartbeat долго не приходит, значит этот сервер нужно удалить из списка активных peer-ов.Постоянно обмениваться heartbeat-ом с большим количеством серверов трудоёмко. Поэтому У у каждого сервера есть два параметра -- нижняя и верхняя граница на размер списка активных серверов.Когда это количество становится ниже нижней границы, запускается поиск новых участников. Сервер запрашивает у других серверов список активных peer-ов и добавляет некоторых из них в свой список, но при этом следит за тем, чтобы размер списка не превысил верхнею верхнюю границу.
==Частично децентрализованные сети==
В некоторых peer-to-peer сетях кроме равноправных node присутствуют сервера, которые выполняют административные функции, такие как поддержка базы он-лайн онлайн пользователей.
К частично децентрализованным сетям относятся например eDonkey, BitTorrent, Direct Connect, The Onion Router.
координатора процесса.
Таким образом, протокол не является особо централизованным (нет никаких выделенных
хранилищ с данными), но решает проблему "А где же мне найти, где бы скачать вот
этот фрагмент файла".
==Friend-to-Friend==
Friend-to-Friend -- это разновидность peer-to-peer сетей, в которой пользователи обмениваются данными только с теми peer-ми, которым они доверяют. Для аутентификации используются цифровые подписи и пароли.
В отличие от P2P пользователи не могут посмотреть список участников F2F сети, кроме своих друзей. Из достоинств таких сетей можно отметить, что F2F являются сильно более защищёнными от хакерских атак, а также в них сильно меньше Личеровличеров. Использование F2F-сетей позволяет избегать атак типа mitm(man in the middle), то есть пользователи могут без опасений обмениваться секретными данными (например, крипто-ключами) со своими друзьями.
==DHT==
Ещё одним из примеров использования peer-to-peer соединения является криптовалюта bitcoin.
Bitcoin -- это децентрализованная цифровая валюта работающая только в сети интернет. Эмиссия валюты происходит по всему миру посредством поиска решения трудновычислимых матеческих математических задач.Все транзакции происходят непосредственно между участниками без использования посредников. Программы, которые работают с bitcoin-ми поддреживают поддерживают между собой peer-to-peer соединение после того как формируется новый блок транзакций он рассылается broadcast другим участникам сети, которые свою очередь делятся этой информацией с другими серверами. Стоит отметить, что bitcoin устроен так, что новые блок блоки транзакций появляются относительно редко ~ -- примерно раз в 10 минут. Поэтому это не приводит к сильной загрузке сети.
Анонимный участник

Навигация