我需要在NAT后面实现一个简单的P2P应用程序。它应该通过可靠和安全的连接发送数据(TCP上的加密数据)。从理论背景我知道在几个RFC(5389,5769和5780)中描述了几种NAT穿透技术(例如用于NAT的会话遍历实用程序)。P2P连接的NAT遍历实现
虽然在实践中我找不到需要的工具/库来实现这样的系统(最好用C++编程语言)。我已经通过谷歌搜索盲目地发现身边:ICE, TURN, libnice, libjingle和STUNTMAN
下面的图像描述它应该是什么样子。我有一个有效IP地址的VPS,一个位于NAT后面的PC和位于另一个NAT后面的传感器。他们有私人IP。我想让我的传感器连接到服务器,找到监视器并向它发送连接请求。连接建立后,不应该使用中继服务器来引导数据流量。我希望我的传感器和监测使用此路径进行通信:
Sensor <--> AP0 <--> R3 <--> {THE INTERNET} <--> R2 <--> Monitor
目前,所有数据通过VPS传输:
Sensor <--> AP0 <--> R3 <--> {THE INTERNET} R1 <-->
VPS <--> R1 <--> {THE INTERNET} <--> R2 <--> Monitor
我知道我甚至不应该问,但是端口转发或UPnP支持是没有问题的? – 2013-05-02 14:59:49
@AnthonyAccioly不,我只是忘了提及。我完全困惑。不能转动我的头并找到一个起点...... – 2013-05-02 15:02:10