关于NAT穿越的分析.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
关于NAT穿越的分析

关于NAT穿越的分析 NAT的适用范围及分类 NAT包括以下两类:BASIC NAT以及NAPT。 其中BASIC NAT适用于一个内网中有许多的外网的IP地址,这样在内网中可以适用内网的IP地址进行内网中的用户之间的通信;而在内网对外网进行通信时,内网中的主机进行一一对应的转换(即:将内网的IP转换成为内网中拥有的外网的IP地址,并且内网主机发送的IP地址需要发生改变,而包中的端口地址不需要进行改变,因为在不改变的情况下,就可以区分出来内网中不同的主机,仅仅是通过转换成为的外网的IP地址)。 这种BASIC NAT主要的适用范围不是为了解决IP资源不足的问题,而仅仅是为了隐藏内网的内部拓扑结构。 NAPT:在NAT中会要进行一下修改的:1、进行对于TCP或者是UDP数据包的分析,然后将包中的端口地址进行修改,修改完成以后要进行记录,记录到NAT上面,作为内网的某一台主机的唯一的标志。2、将所有的数据包的IP地址转换成为某几个有限的IP地址,这样的映射关系就是:多对一的,并不能只依靠一个单纯的外网的IP地址,来进行内网的某一台主机的标志。 NAPT主要是用在解决IP资源短缺的问题上面的(有上面的对于Ip的转换的方面也能够分析的很清楚,多对一的关系(多个内网的IP地址对应一个唯一的外网的IP地址))。 (内网地址+内网端口)-- (外网地址+外网多口) 一一对应,可以进行唯一的标志。 (NAPT在(内网地址,内网端口)和(外网地址,外网端口)之间建立了一个的地址绑定,这一地址绑定定义了连接有效期内NAPT应做的地址转换。当内网主机以一个(内网地址,内网端口)同时发起多个对外的连接时,NAT如何处理。由此可以分为Cone NAT和Symmetric?NAT。) 当一个内网的主机与多个外界的服务器进行会话是:如果这多个会话适用的相同的(外网地址+端口号),在会话进行期间,必须要在NAT中对这种的一一变换的映射关系进行维持,即使现在,只有了一个的与外界的服务器端的链接,也必须要进行维持,除非所有的会话都关闭为止。这样的NAPT为:Cone NAT。这样的好处是,所有的内网的主机都有一个外网的IP+NAT中的随机的不重复端口号进行标识。 Symmetric NAT并不保证(内网地址,内网端口)和(外网地址,外网端口)之间地址绑定的同一性,相反地,对于一个新的连接,Symmetric NAT总会为它指定一个新的外网地址。分析如下:在一个内网中的一个主机的两个程序来说,NAT会为他们分配两个不同的(外网的IP+端口号),这样一个主机的每一个网络进程都能够有不同的标识。 对于不同的NAT方法,解决NAT的穿越的方案也有不同,下面对每种方案进行分析如下。 NAT穿越的方法 NAT穿越的方案有如下几种: (1)中继(Relaying) (2)逆向连接 (Connection reversal ) (3)UDP封装打洞(UDP hole punching) (4)UDP端口号预测(UDP port number prediction) (5)TCP同时打开(Simultaneous TCP open) (6)TCP封装打洞 1、中继(Relaying) 最可靠的,但是效率最低的,假设2个客户主机,ClientA和ClientB,各自发起一个TCP或UDP的连接,连接到一个大家都知道的拥有固定IP地址的服务器C上。客户主机都在各自的私有网络中。两个客户端可以使用服务器C进行消息的传递。例如,要发送一条信息到客户端B,客户端A以C/S连接方式简单的发送一条信息到C服务器,然后C服务器使用已经和客户端B建立的C/S连接发送这条信息到客户端B。这种方法的优势在于只要两个客户端都连在服务器上,它就是有效的。它的明显缺点是它需要了服务器的处理并占用了带宽,而且即使服务器的网络状况良好,也有一定的通讯滞后问题。 实质上的问题是,要想进行两个内网之间的链接的话,必须要进行的是:两个内部主机之间必须和同一个服务器之间已经建立了某个应用程序的会话。 逆向连接 (Connection reversal ) 第二种技术是在只有一个ClientA位于NAT之后,而ClientB具有全局地址。 在学习了这个逆向连接之后,以我的理解对这个整个的逆向连接进行分析如下: 注:主机A为内网的客户端,主机B为外网的客户端,主机C为已经与主机A建立过链接的服务器。 情况一、内网主机首先发起会话: 当主机A首先与主机B发起会话时,因为主机B为外网IP,所以可以正常进行,这时,主机A对应的NAT已经记录了A与B会话的消息。 当B再对A进行发起会话时,就可以根据以前获得的A的外网的IP以及端口号进行与A的会话。 这是由于NAT已经记录过与B进行连接的信息,所以内网的防火墙,可以使B得

文档评论(0)

qwd513620855 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档