Я должен не согласиться с предыдущим ответом.
Хотя механизмы P2P, встроенные в .NET, используют PNRP, ограниченные примеры в Интернете больше связаны с незнанием разработчиков, чем с любыми сетевыми ограничениями.
Я разработал довольно сложное P2P-приложение с использованием равноправного канала / netPeerTcpBinding. Это приложение работает практически без проблем в Windows XP SP3 или более поздней версии и работает через Интернет.
IPv6 установлен и включен по умолчанию в XP SP3 +, как и все остальные компоненты, требуемые PNRP. Это означает, что, вероятно, 95% вашей потенциальной базы установки уже имеют все необходимые условия для вашего приложения.
Да, на локальном компьютере должны быть разблокированы определенные порты, но это может сделать ваш установщик очень легко. Сама сетевая инфраструктура должна только явно не блокировать Teredo, который работает через UDP-порт 3544. Версия 2 PNRP (XP SP3 +) работает для всех вариантов NAT.
Пока эти условия выполняются, вы можете довольно легко настроить P2P-сетку через общедоступный Интернет без изменений в существующей сетевой инфраструктуре.