面向P2P通信的UDP Hole Punching技术研究与实现(1)(2)
2015-07-18 01:13
导读:(4)C1接收到C2 的端点地址后,以C2的端点地址为目的地址发送“探测”UDP数据报,同样该数据报也使得C1网络的NAT设备上形成“穿洞”。 (5)C2收到C1的
(4)C1接收到C2 的端点地址后,以C2的端点地址为目的地址发送“探测”UDP数据报,同样该数据报也使得C1网络的NAT设备上形成“穿洞”。
(5)C2收到C1的“探测”数据报后,向C1发送确认数据报。至此,双方建立互通的UDP连接。
在(2)中,考虑到C1、C2可能处于同一个私有网络中,服务器可以同时发送私有、公用端点地址,然后C1、C2先尝试使用对方私有端点地址进行通信,失败的情况下,再使用公用端点地址。

图1
需要指出的是,并不是任何的NAT设备都支持这上述的“穿透”过程。一个“友好”的NAT设备必须是“非对称”的:客户端的私有端点地址被NAT设备“翻译”成公用端点地址后,客户端再使用此私有端点地址向其它目的端点地址发送数据报,NAT设备并不会因为目的端点地址的改变而改变映射的公用端点地址,否则,C1、C2获取的对方端点地址因为“映射”改变而失效。同时,对于复杂的具有多层NAT设备的网络环境,NAT设备也需提供共2页: 1 [2] 下一页 论文出处(作者):
Apache Php Mysql在Linux下的安装与配置
在线探测技术与应用