您好,欢迎访问三七文档
NAT穿越NAT分类BasicNATNAPTConeNAT不受限ConeNAT(FullConeNAT)受限ConeNAT(RestrictedConeNAT)端口受限ConeNAT(Port-RestrictedConeNAT)SymmetricNATBasicNAT包流经BasicNAT时,BasicNAT将包中的内网IP映射为公网IP,但不修改其中的TCP/UDP端口。BasicNAT一般用在内网具有许多公网IP的时候,若有内网主机访问公网,就将它的内网IP映射为一个公网IP。NAPTNetworkAddress/PortTranslatorNAPT不仅检测包中的数据,而且还会修改包中的IP地址与TCP/UDP端口字段,从而让众多的内网主机同时共享一个公网IP。当内网主机通过NAPT打开一个对外的TCP/UDP连接时,NAPT会给此连接指定一个公网IP和端口,然后接收外来的包,进行转换(注:指IP地址和TCP/UDP端口信息),最后转发给内网主机。其效果就是NAPT在(内网地址,内网端口)和(外网地址,外网端口)之间建立了一个的地址绑定,这一地址绑定定义了连接有效期内NAPT应做的地址转换。当内网主机以一个(内网地址,内网端口)同时发起多个对外的连接时,NAT如何处理。由此可以分为ConeNAT和SymmetricNAT。ConeNATServer118.181.0.31:1235Server2138.76.29.7:1235Client10.0.0.1:1234NAT155.99.25.11Session1(A-S1)18.181.0.31:123510.0.0.1:1234Session2(A-S2)138.76.29.7:123510.0.0.1:1234Session1(A-S1)138.76.29.7:1235155.99.25.11:62000Session1(A-S1)18.181.0.31:1235155.99.25.11:62000FullConeNAT在给一个新的外部会话建立了一个公共/私有的端口绑定后,一个fullconeNAT就可以通过这个公共端口从公网上的任何外部端点接收数据通讯了。FullconeNAT也常常叫做混合NAT。RestrictedConeNAT当网络主机发一个或者几个数据包给外部主机后,受限的ConeNAT(RestrictedConeNAT)才会接受来自这个外部(源)IP地址的数据包。受限的ConeNAT有效的运用了防火墙的原理,拒绝没有要求的数据,只接受已知的外部IP地址传来的数据。Port-RestrictedConeNAT端口受限的coneNAT(Port-RestrictedConeNAT)只接收那些网络主机曾经发给一个外部IP地址和端口相匹配的数据。一个Port-RestrictedconeNAT可以和对称NAT一样(symmetricNAT),保护内部节点不接收未被请求的数据包,但是保持一个私有端口在连接过程中不变。SymmetricNATServer118.181.0.31:1235Server2138.76.29.7:1235Client10.0.0.1:1234NAT155.99.25.11Session1(A-S1)18.181.0.31:123510.0.0.1:1234Session2(A-S2)138.76.29.7:123510.0.0.1:1234Session1(A-S1)138.76.29.7:1235155.99.25.11:62001Session1(A-S1)18.181.0.31:1235155.99.25.11:62000NAT穿越的方法中继(Relaying)逆向连接(Connectionreversal)UDP封装打洞(UDPholepunching)UDP端口号预测(UDPportnumberprediction)TCP同时打开(SimultaneousTCPopen)TCP封装打洞中继ServerClientANATAClientBNATB逆向连接ServerClientANATAClientB拥有公网IP地址138.76.29.710.0.0.1:1234155.99.25.11:6200018.181.0.31A发起到server的通信,server记录A的私有地址/端口对及其公网地址/端口对,并一直保持通信。UDP封装打洞ServerClientA10.0.0.1:1234NATA155.99.25.11:62000ClientB10.1.1.3:1234NATB138.76.29.7:3100018.181.0.31此处只讨论处于不同的NAT之后的两个客户端的情况UDP端口号预测ServerClientA10.0.0.1:1234SymmetricNATAA-S155.99.25.11:62000A-B155.99.25.11:62001ClientB10.1.1.3:1234SymmetricNATBB-S138.76.29.7:31000B-A138.76.29.7:3100118.181.0.31预测可能会出现差错TCP同时打开ServerClientANATAClientBNATBTCP封装打洞与UDP封装打洞类似。
本文标题:nat穿越
链接地址:https://www.777doc.com/doc-3233427 .html