论文部分内容阅读
目前互联网的IP地址资源分配极不平衡,发达国家尤其美国占据了绝大多数的IP,其它国家的IP资源匮乏。这种情况下,IETF提出了NAT协议,它一经问世就得到了广泛部署,在一定程度上有效地缓解了IP地址紧缺的问题。
IP地址的分布和网络结构的性质等这些问题直接影响着Peer-to-Peer系统的部署和实施,如在NAT后的Peer间的直接对连,Peer间的相互协作会等遇到很多困难。很多方法利用了中间节点的数据转发技术,它们可以进行一定程度的通信,但是会对中间节点造成很重的带宽和性能压力,最重要的,这样容易产生单点失效的问题,不适合P2P网络。使用UDPPunchingHole协议可以使得NAT后的Peer间能进行直接高速数据通信,但是仍然需要第三方节点转发一些协议消息,第三方节点的全局唯一也存在单点失效问题。本论文在深入调研这方面的问题以及现有解决方法的基础上,做了如下创新工作:
(1)完成了UDPPunchingHole协议的实现,并将心跳与原PunchingHole的第三方节点帮助穿透的功能分布到每一个Peer上;
(2)设计出一个基于P2P协作环境的NAT穿透系统的框架,构建了一个无尺度型NAT穿透网络,并实现其中的核心部分,这就是PowerTraverse(PT)网络,模拟结果显示,PT网络基本符合无尺度网络的特征。
(3)针对PT网络关键节点失效问题,提出动态恢复算法,当关键节点失效后,其叶节点自动搜索其它较优的节点注册,重构PT网络,重构后的网络保持原有网络的性质。
(4)节点定位采取泛洪和随机漫步结合的方式,在高度数高在线时长的节点间进行泛洪和随机漫步相结合的策略,可以有效降低泛洪消息的数目。
(5)本文通过模拟验证了框架的正确性和有效性,模拟统计数据显示PT系统具有一定的关键点缺失的承受能力,同时定位节点消息转发量较少。