APP下载

基于P2P的TCP穿透NAT技术研究

2011-03-14刘健周仲文刘洋

网络安全技术与应用 2011年3期
关键词:信息

刘健 周仲文 刘洋

四川广播电视大学 四川 610107

0 引言

Internet飞速发展,IPv4地址日益不足,不得不使用NAT技术来提高地址使用率,从逻辑意义上扩展地址空间。P2P技术的出现也是 Internet发展的结果,其优点在于任意两节点间可以随意通信,摆脱了客户端对服务器的依赖。

NAT背后的私有地址对公网地址节点不可见,虽然内网主机可以主动访问外部网络,但公网主机不能主动访问内网主机。同时,内网主机间不能相互识别,进而导致不能直接向对方提供服务。这类问题与P2P技术的初衷——“对等”相违背,阻碍了P2P的发展。在目前NAT技术大面积应用的状态下,急需一种简单有效的办法解决这个问题,同时还要满足“不需要改变现有网络结构”的要求。

1 NAT类型

根据端口映射方式不同,NAT主要分为两大类:ConeNAT(克隆式 NAT)和 SymmetricNAT(对称式 NAT)。ConeNAT把来自于同一个内网地址 A:B的请求都映射到一个公网地址X:Y上。SymmetricNAT把来自于同一内网地址A:B,去往同一个外网地址C:D的请求映射成同一个公网地址X:Y1,去往另外一个外网地址E:F的请求映射成同一个公网地址,但端口不同X:Y2。

研究表明,现存的NAT有88.1%是属于第一种类型,只有2.3%左右的NAT属于第二种。因此,针对ConeNAT的穿透研究更具有实际应用价值。

2 穿透NAT

最新的STUN已经规定其自身只是一种应用于NAT的工具,不再是一整套解决方案。结合TCP建立连接的特点,即要经过三次握手,此过程需要第三方的服务器协助才能穿透NAT,具体步骤见图1。

图1 TCP穿透NAT流程

(1)用户A与公网上的服务器S建立TCP连接。S判断A所连接的NAT A类型,并记录下A的私有地址(172.16.1.2: 4001)以及经过转换后的公网地址(211.0.0.2:5001)(第1步)。……

登录APP查看全文

猜你喜欢

信息
订阅信息
展会信息
信息超市
展会信息
展会信息
展会信息
展会信息
展会信息
信息
健康信息