NAT
Network Address Translation,网络地址转换
-
核心作用:私网IP地址 -> 公网IP地址
-
目的:实现私网主机和公网主机的正常数据交换。私网IP在internet上是不可被寻址的,可被寻址的只有公网IP。因此,私网的主机A与公网上的另一主机B进行数据交换时,A发送的IP报文所携带的源地址不能直接使用A的私网IP,否则B返回数据时将A的私网IP作为目的IP,则无法寻址,也就无法完成数据交换
-
说明:
IP地址只有32位,共42.9亿个地址,去掉保留地址、组播地址,只有36亿左右,很早就被瓜分完毕,而有NAT这项技术苦苦支撑,我们这么多人才可以继续在互联网遨游
公司局域网、机构局域网、个人局域网可以使用私网IPv4地址(10.0.0.0/8,172.16.0.0/12,192.168.0.0/16,A/B/C类地址),然后在各个局域网的边界WAN口使用一个或多个公网IPv4进行一对多的转换,即一个公网IPv4映射多个私网IPv4,那问题来了,NAT设备如何区分不同的私网IPv4 的host呢?NAT使用基于session 转换规则:- 对于TCP/UDP 使用
Host 's 私有IPv4 + Port <------> NAT 公网IPv4 + Port - 对于ICMP使用
Host 's 私有IPv4 + session ID <------> NAT 公网IPv4 + session ID
规则其实非常好理解,由于session ID 在NAT设备上是独一无二的,所以NAT可以很容易区别局域网内部的不同host。至于其它传输协议,NAT使用的也是类似session ID 的转换规则,即使用可以将不同host 轻易分辨出来的字段做键值(KEY),动态创建映射表项,做双向的地址+ KEY 的转换
- 对于TCP/UDP 使用
-
NAT设备:
NAT 设备通常是路由器或防火墙
NAT技术被普遍使用在有多台主机但只通过一个公有IP地址访问互联网的私有网络中。例如网络运营商给每个家庭分配一个公网IP,家庭通过家用路由器搭建家庭网络,这个家庭网络就会使用nat。现在,网络运营商甚至不会给每个家庭分配一个公网IP,而是分配一个由网络运营商划定的大型局域网IP,然后直接在运营商自己的路由器上运营 NAT,称为 CGN(Carrier-grade NAT,电信级 NAT)
相关参考:
网友评论