Способ работы однорангового канала netPeerTcpBinding в WCF заключается в том, что он использует комбинацию протокола разрешения имен одноранговых узлов и простого протокола обнаружения служб для обнаружения одноранговых узлов в одноранговой сети.
SSDP работает налокальная подсеть для обнаружения пиров, к которым вы можете напрямую подключиться.Это осуществляется с помощью традиционных методов сетевого вещания.
PNRP, с другой стороны, работает через сети и через Интернет с использованием IPv6.Поскольку большинство сетей еще не поддерживают IPv6, Teredo используется для туннелирования этой связи по IPv4.
Когда сетка P2P публикуется в глобальном облаке, имя меша отправляется одному из общедоступных / бесплатных Microsoft.использовать серверы семян PNRP.Когда новые одноранговые узлы подключаются к сети, они сначала запрашивают у этих начальных серверов частичный список одноранговых узлов.Этот список затем используется для дальнейшего разрешения имен одноранговых узлов.
Когда одноранговый узел разрешается в глобальном облаке, он обычно разрешается в адрес IPv6.Каждый раз, когда адрес этого однорангового узла изменяется, эта информация отправляется через сетку, чтобы другие узлы знали об этом.
По сути, это распределенная хеш-таблица: http://en.wikipedia.org/wiki/Distributed_hash_table
Когда вы отправляете данныевне сети эти данные перенаправляются по одноранговому каналу на равноправные узлы, о которых машина-отправитель знает напрямую.Затем каждый из этих одноранговых узлов направляет свои общеизвестные одноранговые узлы и т. Д. Это продолжается до тех пор, пока сообщение не будет отправлено всем одноранговым узлам сетки.
Это работает через Интернет (и даже за брандмауэрами / устройствами NAT)благодаря Teredo и IPv6.