论文部分内容阅读
该文主要对现有NAT穿越解决方案进行了研究和改进,并在此基础上实现了一个NAT穿越中间件系统.该文首先讨论了不同NAT穿越解决方案的差别,接着选择了其中的STUN方案进行进一步的研究和改进.作为一种在用户端进行干预的NAT穿越解决方案,STUN方法具有系统负担小,容易实现,可以实现多级NAT管理等优点.但是,STUN方法无法实现对对称型NAT的穿越,而在多数对安全性要求较高的企业网中,使用的通常是对称型NAT.为了解决这个问题,我们提出了一种基于STUN方法的NAT穿越解决方案P-STUN.P-STUN方法采用了预测技术,通过获取足够的信息来预测建立连接时所使用的外部IP地址和端口,从而完成STUN方法无法完成的对称型NAT穿越.在P-STUN方法中,预测的成功率受到多方面因素的影响,对其中的主要因素进行了分析,并提出了相应的解决方案来确保预测的高成功率,如缩短临界时间长度,失败重试以及多端口预测等.该文的后半部分详细讨论并具体实现了一个NAT穿越中间件MoNT(Middleware of NAT Traversal).MoNT系统运行在终端节点上,调用并管理底层模块的功能函数,并向上层用户程序提供一系列简单而易于理解的API.用户程序调用这些API并设置性能参数,MoNT系统将自动完成对不同NAT类型的识别和穿越,建立相应的对等连接,并返回socket句柄供用户程序进行下一步的数据通信工作.首先讨论了MoNT系统的设计问题,包括设计要求,基本结构以及一些具体设计问题的解决.在此基础上,讨论了MoNT系统的具体实现,包括模块化结构,功能性流程以及主要的功能函数.我们使用Microsoft Visual C++实现了MoNT系统,该系统可以运行在Windows和Linux平台上.在第五章中对所实现的MoNT系统进行了性能测试.主要测试了MoNT系统的有效性以及对系统性能造成的负担.通过测试结果分析我们发现,MoNT系统能够完成绝大多数情况下的NAT穿越和对等连接建立,具有很高的有效性;同时,MoNT系统能够将系统负担维持在一个相对较低的水平,从而较好的达到了该文的设计要求.