论文部分内容阅读
随着计算机的普及和网络技术的不断进步,人们对信息共享的需求增加,P2P技术得到越来越多的应用。随着接入网络的计算机数量大量增加,IP地址资源就愈加显得捉襟见肘。为了解决IP地址不足的问题便产生了NAT技术,NAT技术不仅很好地解决了IP地址匮乏的问题,还能有效地隐藏、保护网络内部的计算机。但是NAT技术会修改私网数据包的包头IP地址信息,从而造成端到端的连接难以建立(会造成外网主机无法主动访问NAT内部主机),这样NAT技术就成为P2P应用的障碍。如何使位于NAT内部的用户能够正常通信,成为P2P应用中需要解决的问题。因此,关于NAT环境下私网用户的互通性研究,对P2P应用有着重大的意义。
基于该背景,本文首先对NAT技术进行详细的分析,结合当前主流的NAT穿越解决方案,主要借鉴了STUN协议和VPN的穿越方案。STUN协议是一种基于UDP的简单穿越技术协议,通过STUN协议可以探测两个通讯实体之间的NAT类型信息。然后再根据获得双方NAT类型采取相应的穿越方案。论文中会对STUN协议的原理、如何探测NAT类型、双方建立连接过程等细节进行阐述。
基于STUN协议的穿越方案,无法对对称NAT进行穿越。VPN技术是通过intetnet建立一个临时的安全的连接,是一条穿过混乱的公用网络的安全稳定的隧道。虽然VPN不是为了穿越NAT和防火墙而提出,但是它的特性为实现NAT和防火墙的穿越提供了现成的机制。论文中对VPN的工作原理和它对于对称NAT和TCP环境的穿越流程进行了详细的阐述。
最后文章会对整个穿越方案进行系统测试,讨论了系统在实际中应用和今后还需要完成的工作。