通过middlebox实施p2p通讯,nat打洞穿透原理深层解析

通过middlebox实施p2p通讯,nat打洞穿透原理深层解析

ID:11264518

大小:78.50 KB

页数:12页

时间:2018-07-11

通过middlebox实施p2p通讯,nat打洞穿透原理深层解析_第1页
通过middlebox实施p2p通讯,nat打洞穿透原理深层解析_第2页
通过middlebox实施p2p通讯,nat打洞穿透原理深层解析_第3页
通过middlebox实施p2p通讯,nat打洞穿透原理深层解析_第4页
通过middlebox实施p2p通讯,nat打洞穿透原理深层解析_第5页
资源描述:

《通过middlebox实施p2p通讯,nat打洞穿透原理深层解析》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、通过middlebox实施P2P通讯,NAT打洞穿透原理深层解析 1.介绍今天的Internet的"middleboxes"已经普遍存在,比如象网络地址转换(NAT),主要是因为IPv4的地址空间消耗危机中产生的一个解决方案。然而,由这些"middleboxes"建立的不对称寻址和连接,已经成为点对点(P2P)应用和协议中独特的问题,这些应用和协议包括例如网络电话和多人在线游戏。这些话题甚至可能在使用IPv6协议后继续存在,比如说在NAT常被当作兼容IPv4机制[NAT-PT]的地方,还有当NAT不再需要

2、之后,防火墙将会依然存在(这些问题)。当前发展的"middleboxes"最初计划用在C/S结构中,即在那些相关的匿名客户端主动去连接有着固定IP地址和DNS域名的可连接主机。大多数的"middleboxes"实现一个不对称的沟通模型,即那些私有的内部网络上的主机可以和公网上的主机连接通讯,但是公网上的外部主机不能够和内网上的主机通讯除了被middlebox''s的管理者明确地配置之外。在NAPT的通常情形中,在内部网络上的一位客户机在公网上并没有一个唯一独特的IP地址,但是可以在同一私网上的其他客户机一

3、样,分享一个公网IP地址,并有NAPT管理。这些在一台"middlebox"后的不知道名称和不易访问的内部主机对客户端软件比如网页浏览器并不是一个问题,它们之需要向外连接。而且这种不易访问的特性有时候被视为对保护隐私有利。但是,在点对点的应用中,英特网上的主机通常会考虑要和"客户"建立直接和彼此访问的通话连接。呼叫者和被叫者可能会在不同的"middleboxes"后面,两者都可能没有任何的固定IP地址或者其他的公网存在表现。举例来说,一个通常的在线游戏架构,是让参加游戏的主人连接到一个大家都知道的服务器上

4、设定一些初识值,以及连接后的使用目的。然后,为了在游戏期间有更加快速和有效的游戏速度,需要建立彼此直接的连接。同样地,一个可共享的文件可能可以让一个大家都知道的资源搜索引擎发现或者查找到,但如果需要文件数据传输,就需要和那台共享文件的主机建立直接的连接了。在点对点连接时,"middlebox"就生成了一个问题。因为在"middlebox"后面的那些需要用TCP或者UDP和其他机器连接的主机通常没有固定可用的公网端口可以进行连接。RFC3235[NAT-APPL]简短地说明了这个问题,但是没有提供任何的通常

5、解决方案。在这一份文档中,我们就P2P/middlebox问题有2点说明。首先,我们总结那些在middleboxes存在时P2P应用程序可以工作的已知方法。其次,我们提供基于这些实践的一套应用程序设计指导方针使P2P在middleboxes下应用的更健康。更进一步,我们提供的设计指导方针可以让将来的middleboxes更有效率的支持支援P2P应用。我们的重点是要能够穿透middleboxes,以提供更广阔和更直接的P2P应用。2.术语在本章中我们首先简要描述一下一些"middlebox"术语,我们这里的

6、重点是两种常导致P2P应用出现问题的middlebox.防火墙:一个防火墙限制私人内网和公众英特网之间的通讯,典型地防火墙就是丢弃那些它认为未经许可的数据包。在数据包穿越一个防火墙时,它检查但是不修改包里的IP地址和TCP/UDP端口信息。网络地址转换(NAT):当数据包穿过NAT时,NAT不仅检查同时也修改数据的包头信息,并且允许更多的在NAT后的主机分享少数公网IP地址(通常只有1个)。NAT通常有2种主要类型:BasicNat:一个BasicNAT映射一个内在的私有IP地址到一个公网IP地址,但当数

7、据包穿过NAT时,不更换它的TCP/UDP端口号。BasicNat通常是只用在一些具备公共IP地址池的NAT上,通过它可以地址绑定,即代表一台内部主机。NetworkAddress/PortTranslator(NAPT):但是最通常的,当数据包穿过NAT时,一个NAPT检查并修改它的TCP/UDP端口,那么就可以允许多台内网主机同时共享一个单独的公网IP地址了。关于NAT的分类和术语,[NAT-TRAD]和[NAT-TERM]中有更多的信息。那些将来分类的NAPT的附加术语在较近的工作[STUN]中被定

8、义。当一个内网的主机经过一个NAT和外部进行TCP或者UDP连接的期间,NAPT分配一个公网IP住址和端口,以便来自外部终端响应的数据包能被NAPT接收,解释,并转发给内网的主机。这个结果是由NAPT建立一个(私有IP地址,私有端口)和(公网IP地址,公网端口)之间的端口绑定实现的。在这个期间NAPT将为绑定的端口执行地址翻译。一个关于P2P应用的问题是,当一个内部主机从一个私有IP,私有端口同时与外网上的多台不同的主机建立多

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。