论文部分内容阅读
网络技术的发展使IPv4地址的需求日益递增。NAT技术的出现缓解了IPv4地址严重短缺的问题,但同时也导致了互联网主机之间直接进行P2P通信的困难和复杂性。设计基于NAT穿越的P2P系统的目的,就是为了解决某些P2P应用或场景下终端之间直接进行通信的需求,为上层服务提供底层的基础框架。P2P系统基于NAT穿越实现,根据NAT设备的映射和过滤规则,找出能让外部报文通过NAT设备的方法,从而在终端之间建立P2P连接,并保证整个穿越过程的安全性。本文基于穿越成功率和穿越时间两个评价指标对NAT穿越方案进行研究,并考虑NAT干扰对穿越增量对称型NAT的影响。针对增量对称型NAT的UDP穿越,本文提出了结合打洞技术和端口预测的方法,通过端口预测、干扰检测、重试优化等手段来提高穿越成功率,同时考虑了多连接穿越的应用场景,简化重复多次单连接穿越时的冗余步骤,缩短穿越时间。针对TCP穿越,本文提出结合TCP同时打开和端口预测的方法,解决在同样场景下建立P2P连接的问题。为了对比分析改进方案和已有方案的穿越效果,本文对NAT干扰进行研究并提出一种基于Poisson过程的数学模型,通过该模型模拟穿越过程中产生的NAT干扰。在不同NAT干扰的条件下对改进方案和已有方案进行对比实验。NAT穿越某种程度上打破了NAT设备对内部主机的安全防护,本文通过分析P2P系统的整体框架,对NAT穿越流程和P2P数据传输进行安全性设计与实现,从而保障P2P系统的安全性和鲁棒性。