内网ipnat上网,p2p内网穿透Nat类型实际上大部运营商提供的光猫上网服务都是锥形nat的。而光纤入户,3g4g网络,公共wifi登 因为安全因素都是对称nat。对称型nat是可以打洞的。只要请求链接的对方是非端口限制锥型nat就都能实现打洞p2p链接的。只有双方 都是对称是一定无法实现。2.4.UDP穿透之四种NATUDP穿透之网络发现协议图解:?全锥形NAT?受限锥形NAT?端口受限锥型N AT?对称型NAT上述除了对称性NAT无法实现简单的打洞穿透外,其它都是可以简单的实现穿透的。2.4.1.全锥形NAT全锥形NAT 的IP、端口都不受限。只要客户端由内到外打通一个洞之后(NatIP:NatPort->A:P1),其他IP的主机(B)或端口( A:P2)都可以使用这个洞发送数据到客户端。映射关系为:Client->NatIP:NatPort->Any,即任何外部主机都可通 过NatIP:NatPort发送数据到Clietn上。2.4.2.受限锥形NAT受限锥形NAT的IP受限,端口不受限。当客户端由内 到外打通一个洞之后(NatIP:NatPort->A:P1),A机器可以使用他的其他端口(P2)主动连接客户端,但B机器则不被 允许。映射关系为:Client->NatIP:NatPort->A,即只有来自A的数据包才能通过NatIP:NatPort发送到 Client上。2.4.3.端口受限锥型NAT端口受限锥型NAT的IP、端口都受限。返回的数据只接受曾经打洞成功的对象(A:P1) ,由A:P2、B:P1发起的数据将不被NatIP:NatPort接收。映射关系为:Client->NatIP:NatPort->A :P1,即只有来自A:P1的数据才可通过NatIP:NatPort发送到Client上。2.4.4.对称型NAT对称型NAT具有端 口受限锥型的受限特性。但更重要的是,他对每个外部主机或端口的会话都会映射为不同的端口(洞)。只有来自相同的内部地址(IP:PORT )并且发送到相同外部地址(X:x)的请求,在NAT上才映射为相同的外网端口,即相同的映射。一个外部地址(X:x)对应一个NAT上的 映射,每个映射仅接收来自他绑定的外部地址的数据。关键点在到不同的目的地(目的IP:目的端口)分配不同的映射地址(IP:Port)5 大NAT穿透方法许多程序在局域网中是可以适用的,但是在外网与内网之间和内网与内网之间就不可行。问题就在于NAT,本文就将介绍下5大 NAT穿透方法,解决内外网的互访问题。完全锥形(FullCone)NAT处于不同内网的主机A和主机B,各自先连接服务器,从而在各 自NAT设备上打开了一个“孔”,服务器收到主机A和主机B的连接后,知道A与B的公网地址和NAT分配给它们的端口号,然后把这些NAT 地址与端口号告诉A与B,由于在完全锥形NAT的特点,A和B给服务器所打开的“孔”,能给别的任何的主机使用。故A与B可连接对方的公网 地址和端口直接进行通信。服务器在这里充当“介绍人”,告诉A与B对方的地址和端口号。2.受限制锥形(RestrictedCone) NATA和B还是要先连接服务器,服务器发送A和B的地址和端口信息给A和B,但由于受限制锥形NAT的特点,他们所打开的“孔”,只能 与服务器通信。要使他们可以直接通信,解决办法如下:假如主机A开始发送一个UDP信息到主机B的公网地址上,与此同时,它又通过服务器中 转发送了一个邀请信息给主机B,请求主机B也给主机A发送一个UDP信息到主机A的公网地址上。这时主机A向主机B的公网IP发送的信息导 致NATA打开一个处于主机A的和主机B之间的会话,与此同时,NATB也打开了一个处于主机B和主机A的会话。一旦这个新的UDP会 话各自向对方打开了,主机A和主机B之间就可以直接通信了[14]。3.端口受限制锥形(PortRestrictedCone)NA T对于该类型的NAT,解决办法跟上面的方法一样。4.对称型(Symmetric)NAT对称型NAT,对于不同的外网主机地址,它都会 分配不同的端口号,所以进行UDP打孔比较困难,但也可以进行端口预测打孔,不过不能保证成功。以上的穿透NAT,是对NAPT来进行穿透 ,主要是针对UDP协议。TCP协议也有可能,但是可行性非常小,要求更高。并且,语音视频通信是用UDP传输的,故针对TCP的NAT穿 透在这里不作讨论。基础NAT不修改经过的数据包的端口号,它们可以看作是完全锥形NAT的精简版本,即基础NAT也可以被穿透。NAT设 备将在一定时间后关闭UDP的一个https://link.zhihu.com/?target=https%3A//hsk.oray.com/映射,所以为了保持与服务器能够一直通信,服务器或客户端必须要周期性地发送UDP包,保持映射不被关闭。 |
|