ZeroConf VPN中的节点通信方式



我想创建一个像hamachi或tunngle一样的零配置P2P VPN软件。我浏览了很多网站、书籍和论文,但这让我更困惑。所以我在这里。:)

首先,请给我一些可以告诉我如何开发这样一个软件的链接,其次,请告诉我这个Zero Conf VPN是如何一步一步工作的。

除此之外,这是我的疑问:我在某个地方读到过这样的东西- N2N允许一个人在两台或多台计算机之间创建VPN连接。为了使一台计算机连接到另一台计算机,需要在每台计算机上运行一个"边缘"可执行文件。任意数量的计算机都可以相互连接,但是为了实现所有连接,一台计算机需要运行"超级节点"可执行文件。现在要进行连接,运行"边缘"的计算机首先尝试连接到运行"超级节点"的计算机,之后,一旦所有运行"边缘"的计算机之间的信息交换通过"超级节点"完成,"超级节点"就不再需要了,运行"边缘"的计算机之间的连接直接在计算机之间进行,而不需要"超级节点"的参与。

我的问题是如何在没有超级节点参与的情况下直接在计算机之间进行连接?它所做的基本上是为所有边缘节点分配私有ip地址。现在2台电脑不能通过互联网通信,如果他们有私人ip地址。另一件事,如果两个节点在两个对称的NAT服务器后面如果它们被分配私有ip地址,它们如何通信?

我不知道你说的VPN是什么东西。然而,我已经在多播DNS(又名Bonjour, Avahi等)方面完成了Zero Conf的工作。苹果引领了它——你可以在这里下载它的代码——它在Linux上很容易编译,这会让你走得更远:
http://opensource.apple.com/source/mDNSResponder/mDNSResponder-320.10/

IP是由操作系统处理的。RFC 3927…

最新更新