文档介绍:上海交通大学
硕士学位论文
基于P2P网络应用的NAT穿越方案的分析与设计
姓名:马义涛
申请学位级别:硕士
专业:通信与信息系统
指导教师:薛质
20080101
上海交通大学硕士学位论文摘要
基于 P2P 网络应用的 NAT 穿越方案的分析与设计
摘要
随着互联网的迅速发展,越来越多的用户连入网络,使得原有的 IPv4
地址资源日渐匮乏,为了解决这个问题,人们提出了多种解决方案。其
中长期有效的根本解决方案是扩充 IP 地址资源,IPv4 的资源地址向 IPv6
转换,而短期有效的解决方案是利用网络地址转换技术(NAT),它很好地
缓解了地址短缺问题。目前实际网络中已经大量部署了 NAT 的设备。NAT
技术的出现一方面解决了地址紧缺问题,同时也隐藏了内部网络拓扑,
带来了一定的安全性。然而它也带来了一定的负面问题:NAT 技术的引
入破坏了 IP 网络互联模型,阻止了外网主机发起主动对内网主机的连接。
近几年来,基于 P2P 网络技术的应用迅速发展起来。以 BT、Emule
为代表的 P2P 网络下载软件,以 QQ、GTalk 为代表的网络聊天软件,以
PPLive、Skypy 为代表的音、视频流软件给 用户带来了巨大的便
利和效益,它们充分利用了网络带宽,大大提高了带宽的利用率。P2P
技术要求点到点的对等的连接与通信。然而 NAT 技术却严重阻碍了 P2P
应用的发展,因为 NAT 技术改变了网络数据包的地址信息,使得对等连
接无法成功建立,因此许多 P2P 应用无法运行在 NAT 网关设备存在的私
有网络环境中。
为了解决这个问题,业界提出了一些相应的解决方案,这些方案可以
大致分为用户端进行干预的解决方案和对网络 NAT 设备进行功能升级
的解决方案。前者的代表性解决方案有 STUN 方法和 TURN 方法等,而
后者的代表性解决方案则包括 UPnP 穿越 NAT 解决方案,ALG 方式等。
这些解决方案有各自的优点和不足,在实际应用的时候应该从升级要求、
网络业务量、网络质量、投资状况等角度进行综合考虑,选择适当的解
决方案。
I页
上海交通大学硕士学位论文摘要
本文首先讨论了 NAT 技术原理和工作流程,并且根据 NAT 的行为特
性,对它们进行了 STUNT 分类,本文对于这些不同类型的 NAT 进行了
比较深入的分析和研究。然后,本文讨论了目前几种比较流行的 NAT 穿
越技术、不同 NAT 穿越解决方案的差别,接着选择了其中的 STUN 方案
进行进一步的研究和改进。作为一种在用户端进行干预的 NAT 穿越解决
方案,STUN 方法具有系统负担小、易实现、可以实现多级 NAT 管理等
优点。但是,STUN 方法无法实现对称型 NAT 的穿越,而在多数对安全
性要求较高的企业网中,使用的通常是对称型 NAT。为了解决这个问题,
我们提出了一种基于 STUNT 方法的 NAT 穿越解决方案:端口预测
STUNT 方案。此方法采用端口预测技术和端口遍历技术,通过获取足够
的信息来预测建立连接时所使用的外部 IP 地址和端口,从而完成 STUNT
方法无法完成的对称型 NAT 穿越。在此改进方案中,预测的成功率受到
多方面因素的影响,我们对其中的主要因素进行了分析,并提出了相应
的解决方案来确保预测的高成功率,如缩短临界时间长度,失败重试以
及多端口预测等。
本文最后对改进的 STUNT 方案进行了系统及模块的详细设计,进一
步说明此方案的可行性。由于本文提供的设计是基于模块的,所以它更
容易扩展。对于每一个具体的功能模块给出了详细的设计方案和建议。
本文还给出了测试的结果与分析。
关键词:网络地址转换,网络穿越,STUNT,防火墙,IP 地址,端口预
测
II页
上海交通大学硕士学位论文 ABSTRACT
ANALYSIS AND DESIGN OF NAT TRAVERSAL BASED ON
WORK APPLICATION
ABSTRACT
The rapid development of the , more and more users connected to
work, making the original IPv4 addresses increasingly scarce
resources. In order to solve this problem, people made a variety of solutions,
including the fundamental long