Как узлы p2p подключаются через Интернет

2423
Alexander Ho

Мне всегда было любопытно, как, скажем, два компьютера соединяются через Интернет.

Например, используя IP-адрес от сервиса whatismyip, я могу видеть только страницу конфигурации моего маршрутизатора, но чистые p2p-сервисы, такие как Bitcoin, соединяют два компьютера напрямую, если они используют IP-адрес. подключил бы к моему маршрутизатору / беспроводной точке доступа. Они действительно используют IP или другие методы? Мне не нужно делать даже переадресацию портов, чтобы заставить работать программное обеспечение p2p.

1
Причина, по которой вы можете видеть страницу своего маршрутизатора, заключается в том, что вы обращаетесь к ней из своей собственной сети. Другие компьютеры рассматривают ваш IP как адрес вашего компьютера. Doktoro Reichard 10 лет назад 0
https://en.bitcoin.it/wiki/Protocol_specification для получения небольшой информации о том, как протокол биткойн работает на сетевом уровне. Внизу страницы выглядит, как будто для WireShark (утилита захвата пакетов для Win / Linux / Mac) пишется биткойн-диссектор. Richie086 10 лет назад 0
Здравствуйте @DoktoroReichard Я имею в виду, что когда я использую сервис whatismyip для получения своего внешнего ip, я получаю ip своего маршрутизатора. Итак, я прочитал об этом, когда я получу это, мне нужно будет перенаправить порт на внутренний ip моего компьютера. Но я сталкиваюсь с тем, что когда я использую одноранговый клиент, мне не нужно этого делать. Что я понимаю в p2p, так это в том, что узлы подключены друг к другу напрямую, так как же это сделать, когда я даже не могу подключиться к компьютеру из внешней сети? Alexander Ho 10 лет назад 0
Потому что p2p позаботился о соединении между двумя компьютерами, которые его принимают. Вы не можете «подключиться» к компьютеру из внешней сети, потому что, помимо прочего, он не настроен для этого. Примером является HTTP-сервер, такой как Apache. Если у вас есть Apache и настроена веб-страница, то любой запрос, сделанный на ваш IP-адрес через порт 8080, будет обрабатываться Apache как HTTP-запрос ... таким образом, как вы сейчас подключены к своему компьютеру. Переадресация портов необходима, однако, если сам маршрутизатор не может маршрутизировать соединения. Doktoro Reichard 10 лет назад 0

1 ответ на вопрос

0
Richie086

Если вас интересует, как P2P-приложения взаимодействуют через Интернет, это действительно зависит от того, о каком P2P-приложении вы говорите. Все приложения P2P, о которых мне известно, передают по TCP / IP, учитывая, что это основа, на которой работает интернет.

Каждое приложение обменивается данными по сетевому протоколу, который обычно специально разрабатывается тем, кто разрабатывал данное приложение. Например, BitTorrent обычно передает через ряд портов (6881-6889), а функциональность BitTorrent в отношении того, как он взаимодействует через Интернет, лучше всего суммируется следующим образом (взято из WikiPedia)

Клиент BitTorrent - это любая программа, реализующая протокол BitTorrent. Каждый клиент может подготовить, запросить и передать компьютерный файл любого типа по сети, используя протокол. Пир - это любой компьютер, на котором запущен экземпляр клиента.

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

Похожие вопросы