- 1、本文档共8页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
面向P2P通信的UDP H的ole Punching技术研究与实现
面向P2P通信的UDP Hole Punching技术研究与实现
摘 要 NAT(Network Address Translation),即网络地址转换,一定程度上解决了IPv4网络地址匮乏的问题,但也给面向P2P通信的应用程序以及协议造成通信方面的障碍。本文介绍了网络地址转换的基本原理以及其对P2P通信方式造成的冲击,简单概括目前主要的NAT穿透(NAT Traversal)技术,着重分析了UDP Hole Punching的穿透过程,最后给出一个轻量级的实现。 关键词 P2P;NAT 穿透;UDP Hole Punching1 引言 随着Internet技术的迅猛发展,公网地址变的越来越珍贵,每台计算机都分配一个公网地址显得不切实际。NAT(Network Address Translation)标准出现,一定程度上解决了公网地址紧缺的问题。它是一种把内部私有网络地址翻译成合法网络地址的技术。它允许内部节点在内部网络中使用内部地址,而当内部节点要与外部网络进行通讯时,通过具有NAT功能(通常被集成到路由器、防火墙、ISDN路由器或者单独的NAT设备中)的设备、软件(统称NATs-Network Address Translator)将内部地址替换成公网地址,从而在外部公网上正常使用。NAT根据其转换方式,主要有三种类型:静态NAT、动态地址NAT、网络地址端口转换NAPT。其中静态NAT把内部网络中的每个主机都被永久映射成外部网络中的某个合法的地址。而动态地址NAT则是在外部网络中定义了一系列的合法地址,采用动态分配的方法映射到内部网络。NAPT是把内部地址映射到外部网络的一个IP地址的不同端口上,该地址映射会在NAT设备上保持一定的时间,NAPT是最常见的NAT类型,因为它允许私有网络后的主机共享一个公用IP地址,有效的节省了费用。无论是哪种NAT类型,从传输层观察,当内部节点向外部网络发送数据包时,NAT设备都是将数据包中的内部网络IP地址与端口(称作“端点地址”)替换为外部合法的端点地址,反之亦然。 NAT的特质屏蔽了内部网络,所有内部网计算机对于外部网络来说都是不可见的。在C/S 的应用模型中,服务器位于公网中,客户端位于公网或NAT设备后的私有网络,客户端只是主动的与服务器通信,客户端之间并不需要通信,所以NAT在C/S 的应用模型中并不构成问题。但是,面向P2P通信(这里的P2P通信不单单指的是P2P应用程序,任何需要在通信双方“直接互连”的地方,都可称之为P2P通信)的应用系统中,特别的,当需要通信的双方位于NAT设备后的不同私有网络中,任何一方相对与另一方来说都是不可见的,这样造成双方无法建立直接的相互可达的通信连接。 目前,解决这种由于NAT存在造成的通信障碍的主要技术有:UPnP(Universal Plug and Play)、STUN(Simple Traversal of UDP over NATs)以及UDP/TCP Hole Punching等。其中,UDP/TCP Hole Punching技术有效的保持了NAT网络环境的透明性,它不需要了解网络的拓扑信息以及其它特别的软件环境的支持,可以被普通的应用程序实现。实验表明,82%的NAT网络环境支持UDP Hole Punching技术,虽然其引入了冗余的消息传递以及延时,但不失为一个优秀的NAT穿透解决方案。2 UDP Hole Punching技术研究 UDP Hole Punching的主要思想是:利用一个任何客户端都可达的服务器,在服务器上事先存储、维护客户端的UDP公用端点地址,当双方需要通信时,可以通过服务器的“介绍”获取对方的端点地址,建立“直接”的连接。 图1是一个具有NAT设备的简单网络拓扑图,其中C1,C2位于不同的私有网络中,无法直接通信,但都可以访问Server。下面分析UDP Hole Punching的基本流程: (1)C1向服务器发出请求,要求与C2建立连接。 (2)服务器向C1,C2发送对方的公用端点地址,公用端点地址是服务器根据C1,C2发送的UDP数据报的源端点地址“观察”到的,即NAT设备“翻译”后的端点地址。 (3)C2接收到C1 的端点地址后,考虑到其所处网络的NAT设备可能具有防火墙功能,利用C1的端点地址作为目的地址,发送“穿洞”UDP数据报,该数据报使得C2网络的NAT设备允许后续的以C1端点地址为源地址的UDP数据报进入其内部网络,像是在NAT设备的防火墙上“穿洞”,对以C1端点地址为源地址的UDP数据报开放“入口”。 (4)C1接收到C2 的端点地址后,以C2的端点地址为目的地址发送“探测”UDP数据报,同样该数据报也使得C1网络的NAT设备上形成“穿洞”。 (5)C2收到C1的“探测”数
您可能关注的文档
- 计算机液位过程控制的综合实验系统研制与开发.doc
- 计算机漫话的.doc
- 计算机基础课程远程的教学系统的设计与实现.doc
- 计算机犯罪及取征技的术的研究.doc
- 计算机犯罪对策与研的究.doc
- 计算机病毒论文的.doc
- 计算机网络中信息系的统技术安全与防范.doc
- 计算机网站建设的规的划、设计及其实现.doc
- 计算机网络信息安全的及其防护策略的研究.doc
- 计算机网络入侵检测的技术探讨.doc
- 半导体材料性能提升技术突破与应用案例分析报告.docx
- 半导体设备国产化政策支持下的关键技术突破与应用前景报告.docx
- 剧本杀市场2025年区域扩张策略研究报告.docx
- 剧本杀行业2025人才培训体系构建中的市场需求与供给分析.docx
- 剧本杀行业2025年人才培训行业人才培养模式创新与探索.docx
- 剧本杀行业2025年内容创作人才需求报告.docx
- 剧本杀行业2025年区域市场区域剧本市场消费者满意度与市场竞争力研究报告.docx
- 剧本杀市场2025年区域竞争态势下的区域合作策略分析报告.docx
- 剧本杀行业2025人才培训与行业人才培养模式创新.docx
- 剧本杀行业剧本创作人才心理素质培养报告.docx
最近下载
- T_HNTI 030—2020_茶树种质资源考察收集技术规范.pdf VIP
- 报关原理与实务(第二版)(第5章)1进出口货物报关单填制.ppt VIP
- 2025年滨州市中考英语试题卷(含答案逐题解析).docx
- 基于能力培养的人工智能课程体系设计.docx
- Q/GDW1827-2013三相智能电能表技术规范.pdf VIP
- 国家中医药管理局发布的406种中医优势病种诊疗方案和临床路径目录.pptx VIP
- 华能国际电力股份有限公司本质安全体系管理手册.doc VIP
- 教育行业AI大模型设计方案【231页WORD】.docx VIP
- 2024医保物价培训.pptx VIP
- 屋顶光伏发电建设项目实施方案.docx
文档评论(0)