Как протокол p2p маршрутизирует по сетям

Как протокол p2p маршрутизирует по сетям

Я хочу узнать, как протокол p2p маршрутизирует по сетям. (например, в торренте) В архитектуре клиент-сервер у нас есть действительный IP-адрес для сервера, но в p2p у нас его нет. Когда у нас есть локальные IP-адреса, как пакеты маршрутизируются по Интернету? Большое спасибо.

решение1

«Peer-to-peer» на самом деле означает, что любой узел или одноранговый узел может действовать как клиент или сервер в некотором качестве. Поэтому для работы таких вещей не требуется единого центрального узла.

Пиры должны знать IP-адреса других пиров, чтобы успешно выполнить то, что пытается сделать протокол одноранговой сети. Поэтому необходим какой-то тип механизма или протокола обнаружения, а также действительно необходим какой-то тип централизованно доступной точки, даже если он играет только вводную роль.

Bittorrent полагается на трекер как на центральную точку - это не что иное, как HTTP-сервер, который отвечает другими IP-адресами в рое, когда пир запрашивает эту информацию. Могут использоваться и другие вещи, такие как распределенные хэш-таблицы - они обмениваются между всеми пирами, но полагаются на несколько известных IP-адресов для "загрузки".

решение2

Для самых простых p2p-соединений одна из двух сторон соединения должна иметь переадресацию портов (будь то uPnP или ручная настройка) для установления p2p-соединения.

После этого вы просто обращаетесь к IP-адресу маршрутизатора, на котором настроена переадресация портов, а он пересылает эти пакеты на компьютер, который выступает в качестве «сервера» в p2p-соединении («клиентская» сторона, на которой не настроена переадресация портов, инициирует соединение).

Есть некоторые обходные пути, когда вы можете использовать третью сторону для таких вещей, какNAT-дыроколи участвует только в настройке p2p-связи.

В какой-то момент настройки p2p-соединения должен быть задействован хотя бы один компьютер, способный принимать входящие соединения.

решение3

Одноранговая сеть, как часть физической сетевой конфигурации, так и работающая через Интернет, является распространенным вариантом использованияячеистая сеть. Из статьи в Википедии:

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

Если вас интересует протокол BitTorrent (который немного более специфичен, чем обычный p2p), вы можетепрочитать спецификацию, илипросмотреть сайт BitTorrentи форумы для получения дополнительной информации.

Связанный контент