解读NAT网络穿透(一)

一、NAT是什么,解决什么问题

解决问题:由于公网地址不够用,并且我们国家分到的公网IP地址太少了,于是产生了NAT技术(network address translation)

NAT是将私网IP地址转换为公网IP地址,本质就是让一群机器公用同一个IP,这样就暂时解决了IP短缺的问题。私网机器在公网上存在的形式为 公网IP地址:端口号

即NAPT(Network Address/Port Translator)

二、NAT的类型

四种类型:完全锥形、限制锥形、端口限制锥形、对称形
解读NAT网络穿透(一)_第1张图片
(1)完全锥形NAT
把所有来自相同内部IP地址和端口的请求映射到相同的外部IP地址和端口。
任何一个外部主机均可通过该映射发送数据包到该内部主机。

(2)限制锥形NAT
首先内部主机A向外部主机B发送数据包,限制相同公网IP外部主机才能向A发送数据包。

(3)端口限制锥形NAT
比限制锥形更严格,对于IP和端口都有限制。内部主机先向外部地址:端口号对发送数据包,该IP地址的外部主机才能使用特定的端口号向内部主机发送数据包。

(4)对称NAT
对称NAT与上述3种类型都不同,不管是全锥NAT,限制锥形NAT还是端口限制锥形NAT,它们都属于锥NAT(ConeNAT)。当同一内部主机使用相同的端口与不同地址的外部主机进行通信时, 对称NAT会重新建立一个Session,为这个Session分配不同的端口号,或许还会改变IP地址,即一个内网主机和外网主机的连接都是对称建立的。

Q1:对称NAT和锥形NAT有什么区别?
锥形NAT即Cone,内网主机IP只会建立一个session,分配一个端口,所以当有大量的外网主机访问内网主机时,产生一个锥形的结构,即顶层是一个IP地址:端口。
对称NAT即Symmetric,即内网主机在和其他客户端建立多个连接时,使用不同的端口号。

Q2:完全锥形NAT和限制锥形NAT有什么区别
完全锥形NAT只需要内网主机和外网主机A建立映射,不用和外网主机B建立连接,外网主机B可以根据公网IP:端口号向内网主机发送数据包。
限制锥形NAT是内网主机必须先和外网主机B建立映射关系,根据限制关系,如IP限制、端口限制,外网主机B才能向内网主机发送数据包。在没有建立内网主机和外网主机B的映射关系时,外网主机B向内网主机发送数据,会被网关丢弃。

参考链接:
NAT 穿透原理浅浅说(一)
https://cloud.tencent.com/developer/article/1005974
NAT的四种类型
https://blog.csdn.net/mycloudpeak/article/details/53550405
UDP防火墙穿透原理与分析
http://xstarcd.github.io/wiki/shell/UDP_Hole_Punching.html

你可能感兴趣的:(Web应用开发)