如何穿越防火墙NAT

如何穿越防火墙NAT,首先需要计算机节点可以自动判断自己的NAT状态,计算机节点内部内置了

判断逻辑,在外部需要一台STUN的服务器,通过发送请求后可以计算机节点自己所在NAT的情况.
在处理Full Cone NAT时由于IP地址和通讯端口都不做限制可以说它在通讯层面的级别和公网节

点是一致的.穿越这类NAT只需要内部先发起呼叫后,外部的被叫端可以比较轻松的建立通道.
由于处于严格控制的NAT后的节点间无法直接通讯,所以需要利用第三方服务器来做沟通的桥梁.

我们知道在私网后的计算机间IP不同不在一个网段,所以当他们需要沟通时往往借助于处在公网

的计算机来沟通,公网计算机节点为两个都可以访问到他的私网节点做好IP通道转发私网节点间

的通讯信息,这个公网节点的计算机就称隧道服务器.
处理双方在Symmetric NAT 和 Port Restricted NAT后需要外部的隧道服务器来使的处于NAT后

的计算机节点可以沟通.
通讯的双方如果有一方是Symmetric NAT 和 Port Restricted NAT,而另外一放在Full Cone NAT

或者公网的节点,NAT后的可以和Full Cone NAT和公网的节点直接通讯,反方向的通讯需要超级

节点先通知一下对方然后超级节点做隧道服务器.
双方在Restricted Cone NAT后的节点由于他们的NAT不改变通讯端口,所以可以通过在NAT"打洞"

的技术让其双方通讯.
需要指出的是现在大多数的NAT是Cone类型的,这也是将来传送数字音频和视频信号的INTERNET发

展方向,所以用户在未来可能遇到的更多NAT不会是一定需要通讯隧道情况的NAT。
下面用列表说明一下几种情况:假设ab节点需要通通讯


节点  防火墙类型  节点   防火墙类型     沟通方式
a     公网->      b Cone NAT(除Port Restricted NAT)    直接联系
a     公网->      b Symmetric NAT 和 Port Restricted NAT 直接联系
a     公网->      b 公网       直接联系
a     Cone NAT
      (除Port
      Restricted NAT)-> b Cone NAT(除Port Restricted NAT)          可联系

a     Cone NAT
      (除Port
      Restricted NAT)-> b Symmetric NAT 和 Port Restricted NAT   需要隧道支持

a     Symmetric NAT
      Port
      Restricted NAT->  b Symmetric NAT 和 Port Restricted NAT   需要隧道支持


 

你可能感兴趣的:(防火墙,服务器,internet,通讯)