Как узлы взаимодействуют в ZeroConf VPN? - PullRequest
0 голосов
/ 22 октября 2011

Я хотел создать программное обеспечение P2P VPN с нулевой конфигурацией, такое как hamachi или tunngle. Я просмотрел множество веб-сайтов, книг и газет, но это вызвало у меня еще большее замешательство. И вот я здесь. :)

Прежде всего, пожалуйста, дайте мне несколько ссылок, которые могут рассказать мне, как разработать такое программное обеспечение, и, во-вторых, плз, скажите, как шаг за шагом работает этот Zero Conf VPN.

Кроме этого вот мое сомнение: Я где-то читал что-то вроде этого - N2N позволяет человеку создавать VPN-соединение между двумя или более компьютерами. Чтобы компьютер мог подключиться к другому компьютеру, на каждом компьютере должен быть запущен «пограничный» исполняемый файл. Любое количество компьютеров может быть подключено друг к другу, но для всех подключений на одном компьютере должен быть запущен исполняемый файл «supernode». Теперь, чтобы установить соединения, компьютеры, на которых запущен «край», сначала пытаются подключиться к компьютеру, на котором работает «суперузел», после чего, как только обмен информацией между всеми компьютерами, работающими на «границе», завершается через «суперузел» "," суперузел "больше не нужен, и соединения между компьютерами, на которых запущен" край ", осуществляются непосредственно с компьютера на компьютер без какого-либо участия" суперузла ".

Мой вопрос заключается в том, как можно устанавливать соединения между компьютерами напрямую, без участия суперузла? То, что он делает в основном, - это то, что всем краевым узлам назначается частный IP-адрес. Теперь 2 компьютера не могут общаться через Интернет, если у них есть частные IP-адреса. Другое дело, если 2 узла находятся за 2 симметричными серверами NAT, то как они могут общаться, если им назначен частный IP-адрес?

Помогите мне понять эту технику VPN.

1 Ответ

0 голосов
/ 23 октября 2011

Я не знаю, что такое VPN, о котором вы говорите. Тем не менее, я работал с Zero Conf с точки зрения многоадресной DNS (или Bonjour, Avahi и т. Д.). Apple ведет его - вы можете скачать там код здесь - он легко компилируется в Linux, и вы получите это далеко:
http://opensource.apple.com/source/mDNSResponder/mDNSResponder-320.10/

Об устройстве IP заботится ОС. RFC 3927 ...

...