Существуют ли кроссплатформенные сквозные пробивки NAT с открытым исходным кодом? - PullRequest
7 голосов
/ 27 февраля 2009

Существуют ли кроссплатформенные сквозные пробивки NAT с открытым исходным кодом?

Ответы [ 3 ]

2 голосов
/ 09 мая 2009

Лучшее, что я видел, это UDT , который является надежной библиотекой UDP, которая также включает режим соединения «рандеву», который помогает заботиться о перфорации NAT. Все, что вам нужно сделать, это выяснить внешний IP-адрес и порт и каким-то образом передать его другому клиенту (и наоборот). Как только вы узнаете эту информацию, вы одновременно подключитесь и подключитесь (с установленным режимом рандеву), и он сделает все возможное, чтобы выяснить остальное.

2 голосов
/ 27 февраля 2009

Я не видел ни одного, но вы найдете здесь больше информации, чем вам требуется:

http://www.enchantedage.com/node/8

Это не очень сложно реализовать, просто немного работы.

На странице есть код, демонстрирующий это на основе Unix и Windows, включая как серверную часть (вводная часть), так и клиентскую часть. Лицензия не указана, но автор указывает в файле readme, что метод является бесплатным, и его повторная реализация на основе информации на странице и в примере с исходным кодом представляется относительно простой.

Автор является владельцем сайта Enchantedage, так что вы можете связаться с ним напрямую для получения дополнительной информации.

0 голосов
/ 25 марта 2009

Боюсь, у меня нет ответа, но я знаю, что пару лет назад в области проводились исследования, в результате которых появились документы IETF. Любопытный читатель, возможно, уже знаком с этим:

...