P2P应用中一种多层NAT穿透解决方案的设计与实现

2012-07-1P32#P#应##用##中###一##种##多##层#2N0A1T2-穿07透-解13决##方##案##的#2设#01计2与-0实7-现13########刘泽阳1,徐武平2(1.青海大学计算机系,青海西宁810016;2.武汉大学计算机学院,武汉430072)(liuzeyang0001@126.com;whwp@tom.com)摘要:在说明多层NAT各种穿越模型结构的基础上,剖析了多层NAT打孔穿越中存在的问题,提出了根据网络环境适当选取节点作为超级节点,为需要通信的两个节点指定超级节点辅助它们通信的设计思想。然后介绍了具体方案:包括超级节点的动态选取规则,P2P拓扑结构图向拓扑结构表的转换,借助于节点拓扑结构表实现P2P系统任意层次的NAT穿越。最后通过实验验证了多层NAT穿透解决方案的可行性。关键词:网络地址翻译;点对点;打孔;穿透;超级节点:TP393文献标志码:ADesignandimplementationofasolutiontomultilayerNATtraversalinP2PapplicationsLIUZe-yang1,XUWu-ping2(1.DepartmentofComputer,QinghaiUniversity,XiningQinghai810016,China;2.SchoolofComputer,WuhanUniversity,WuhanHubei430072,China)Abstract:Inthispaper,allkindsofmultilayerNetworkAddressTranslation(NAT)penetratemodelswereanalyzed.TheproblemexistinginmultilayerNATtraversalwasdiscussed.Tosolvethisproblem,theideaofselectingasuitablenodeassupernodebasedonnetworkenvironmentanddesignatingappropriatesupernodeforthetwonodeswhichneedtocommunicateinordertohelpcommunicationbetweenthemwasputforward.Thedynamicselectionrulesofsupernodeweredesigned.TheconversionfromP2Ptopologicalstructuretotopologicaltablewascompleted.TheNATpenetratesofP2PsystemsarbitrarylevelswererealizedbynodetopologicaltableandtheexperimentverifiedthefeasibilityofthesolutiontomultilayerNATpenetrategiveninthispaper.Keywords:NetworkAddressTranslation(NAT);PeertoPeer(P2P);holepunching;traversal;supernodeUDP穿越多层NAT设备的可行解决方案。0引言Internet的迅速发展以及IPv4地址数量的限制使得网络11.1多层NAT穿越解决方案不同NAT环境下的节点通信在P2P网络中,需要通信的两个节点的物理位置和相对地址翻译(NetworkAddressTranslation,NAT)设备得到广泛应用,NAT设备允许处于同一NAT后的多台主机共享一个公网IP地址[1],是一种将内部私有网络地址转换为合法的外部网络地址的技术[2]。NAT功能通常被集成到路由器、防火墙、ISDN路由器或者单独的NAT设备中。NAT有三种类型:静态NAT、动态地址NAT和网络地址端口转换(NetworkAddressPortTranslation,NAPT)[3]。其NAPT是人们比较熟悉的一种转换方式。近年来,随着像Napster[4]等P2P信息共享应用程序的流行,P2P技术受到人们的广泛关注。主要应用包括:信息资源共享、普及计算、协同工作、实时通信技术、信息检索技术、广域网络存储系统等[5]。随着P2P技术的发展,NAT设备也带来了不少的麻烦。一般来说,NAT设备允许私网内主机主动向公网内主机发送数据,但却禁止反方向的主动传递。由于很多P2P通信的会话双方处于不同的NAT设备后,因此必须解决NAT穿越问题才能建立UDP或TCP通信。对于UDP穿越NAT,现在已经有了一些比较标准而且有效的方法,如STUN[6-7](NAT的UDP简单穿越)协议;TURN[8](通过转发方式穿越NAT)协议等。但目前对于多层NAT穿越问题,还没有一个标准的解决方案。经过实验研究,本文提出一种位置不是固定的,图1显示了各种不同NAT环境下两个节点[9]进行通信的结构。图1不同NAT环境下节点通信结构图1(a)中节点A、B都处于公网下,它们可以直接相互2012-07收-稿1日3期:#20#11#-01#-#17;#修#回#日##期#:20#11#-0#2-#28#。2012-07----本文来源于网络,仅供参考,勿照抄,如有侵权请联系删除---通信;图1(b)中节点A处于公网,而节点B在NAT1下,这时B可以直接与A通信,但A要与B通信则必需通过公网上的服务器S,服务器S记录下NAT1映射到B的合法IP地址,并通知A,则A即可通过NAT1映射后的地址与B通信;图1(c)中,节点A、B分别处于不同的NAT设备下,这种情况A...

1、当您付费下载文档后,您只拥有了使用权限,并不意味着购买了版权,文档只能用于自身使用,不得用于其他商业用途(如 [转卖]进行直接盈利或[编辑后售卖]进行间接盈利)。
2、本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供参考,付费前请自行鉴别。
3、如文档内容存在侵犯商业秘密、侵犯著作权等,请点击“举报”。

常见问题具体如下:

1、问:已经付过费的文档可以多次下载吗?

      答:可以。登陆您已经付过费的账号,付过费的文档可以免费进行多次下载。

2、问:已经付过费的文档不知下载到什么地方去了?

     答:电脑端-浏览器下载列表里可以找到;手机端-文件管理或下载里可以找到。

            如以上两种方式都没有找到,请提供您的交易单号或截图及接收文档的邮箱等有效信息,发送到客服邮箱,客服经核实后,会将您已经付过费的文档即时发到您邮箱。

注:微信交易号是以“420000”开头的28位数字;

       支付宝交易号是以“2024XXXX”交易日期开头的28位数字。

客服邮箱:

biganzikefu@outlook.com

所有的文档都被视为“模板”,用于写作参考,下载前须认真查看,确认无误后再购买;

文档大部份都是可以预览的,笔杆子文库无法对文档的真实性、完整性、准确性以及专业性等问题提供审核和保证,请慎重购买;

文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为依据;

如果您还有什么不清楚的或需要我们协助,可以联系客服邮箱:

biganzikefu@outlook.com

常见问题具体如下:

1、问:已经付过费的文档可以多次下载吗?

      答:可以。登陆您已经付过费的账号,付过费的文档可以免费进行多次下载。

2、问:已经付过费的文档不知下载到什么地方去了?

     答:电脑端-浏览器下载列表里可以找到;手机端-文件管理或下载里可以找到。

            如以上两种方式都没有找到,请提供您的交易单号或截图及接收文档的邮箱等有效信息,发送到客服邮箱,客服经核实后,会将您已经付过费的文档即时发到您邮箱。

注:微信交易号是以“420000”开头的28位数字;

       支付宝交易号是以“2024XXXX”交易日期开头的28位数字。

笔杆子文秘
机构认证
内容提供者

为您提供优质文档,供您参考!

确认删除?