wcf net.p2p: // - это работает через интернет? - PullRequest
4 голосов
/ 07 декабря 2009

Позволяет ли протокол net.p2p подключаться к одноранговым узлам через Интернет (через NAT, Firewall и т. Д.).

Я понимаю, что PNRP решает эту проблему (это нормально, если вы используете ipV6), но можно ли это сделать и при использовании специального распознавателя? То есть: когда одноранговый узел регистрируется в облаке, он просто возвращает net.p2p: // mypcName / endPoint или преобразователь / PNRP возвращает что-то, что позволяет найти компьютер за брандмауэром?

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

-edit- Мой Resolver будет общедоступным, его коллеги находятся за NAT / Firewall.

спасибо заранее: -)

Ответы [ 3 ]

6 голосов
/ 12 января 2010

Это все задокументировано MSDN

Используйте протокол разрешения имен пиров Microsoft, который использовал туннелирование Teredo для решения проблемы доступа IP6 / IP4. Или напишите свой собственный CustomPeerResolverService (что легко сделать)

1 голос
/ 14 декабря 2009

Skype использует UPnP для переноса на себя при отправке файлов или совершении звонка. Если это недоступно, тогда используется режим клиент-сервер. Попробуйте узнать о Nat Traversal и UPnP (мне тоже нужно).

1 голос
/ 07 декабря 2009

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

В .NET Remoting большим ограничением является то, что он не может проходить через брандмауэр, особенно при использовании NAT. Удаленное взаимодействие хорошо, если оно находится внутри и за брандмауэром, а пакеты никогда не достигают Интернета.

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

Надеюсь, это поможет, С наилучшими пожеланиями, Том.

...