论文部分内容阅读
随着网络技术的不断发展,传统的Client/Server通信模式已经不再适应网络应用新的要求,P2P网络以其分布性、可扩展性、健壮性、负载均衡等方面的优势获得了越来越多的应用。然而网络中大量使用的NAT设备却限制了P2P网络主机间的直接通信,使得位于不同内部私有网络中的用户无法正常交换信息,严重阻碍了P2P应用技术的发展。
为了解决这个问题,业界提出了一些相应的解决方案,这些方案大致分为对网络NAT设备进行功能升级的解决方案,如应用层网关(ALG)技术、中间盒通信(MIDCOM)技术;对用户端进行干预的解决方案,如STUN技术和TURN技术;以及使用代理服务器的解决方案,如全代理(FullProxy)技术和隧道技术。这些解决方案都有自己的优点和不足,只适用于某一种或几种应用情况,具有一定的局限性。
本文对现有的多种NAT穿越方案进行了全面的分析与讨论,并在此基础上提出了一种不改动现有网络设备的改进型穿越方案。该方案的特点是首先以STUN协议方式探测出客户端所处NAT类型,然后根据通信双方所处NAT类型的不同组合采取不同的穿越策略。同时通过端口预测算法和端口遍历算法实现对Symmetric NAT的穿越。
本文最后对改进的NAT穿越方案进行了软件实现和测试,进一步说明该方案的可行性,能够实现对各种NAT组合情况进行透明地、高效地穿越。