
如果用大白话解释一下NAT444,你可以把它想象成“双重地址转换共享上网”。
互联网上的每一台设备都需要一个唯一的“门牌号”(IP地址),叫公网IP地址。但是这种地址(IPv4)太少了,就像电话号码不够用一样。NAT444就是为了解决这个地址不够用的问题,想出的一个“共享门牌号”的高级办法。
我们拆解一下它的名字和过程:
第一个“4”(用户侧NAT):你家的路由器(光猫/路由器)有一个私网IP地址(比如192.168.1.1),它就像你家的“总信箱号”。你家里所有设备(手机、电脑等)也有自己的“房间号”(也是私网IP,比如192.168.1.100,192.168.1.101)。当你家里任何设备要上网(比如手机访问抖音),手机会把请求交给路由器(“总信箱”)。路由器把这个请求的“发件人地址”,从“房间号”(192.168.1.100)转换(NAT)成自家的“总信箱号”(192.168.1.1),再加上一个独特的“分机号”(端口号),然后发出去。这一步,把家里多个设备的地址,转换成了路由器的这一个地址。这叫用户侧NAT(CustomerPremisesNAT-CGN)。相当于全家人共用一个对外联系的信箱。
第二个“4”(运营商侧NAT-CGNAT):当整个小区、甚至整个城市有成千上万的家庭,每个家庭的路由器都需要一个公网IP地址,地址还是不够!于是,你的宽带运营商(电信、联通、移动等)又搞了一层转换。运营商在他们的大机房部署了一个超大号的路由器/转换设备,叫运营商级NAT(Carrier-GradeNAT-CGNAT)。你们小区(或一大片区域)的很多很多家庭,其实共享一小批真正的公网IP地址(这个地址池可能远少于用户数)。当你家路由器的请求(带着“总信箱号”192.168.1.1和“分机号”)到达运营商机房,运营商的CGNAT设备会再次转换这个地址!它把“你家总信箱号”(192.168.1.1)和“分机号”,一起转换成共享地址池里的某一个真正的公网IP地址(比如120.80.50.100),并再分配一个新的“大分机号”。然后,用这个真正的公网IP地址和新的“大分机号”去访问抖音服务器。抖音服务器回复时,信息先回到运营商的CGNAT设备。CGNAT设备根据记录,知道这个回复(对应公网IP120.80.50.100和“大分机号”)其实是属于你家路由器(192.168.1.1)的某个“分机号”的。它再把回复地址转换回去,发给你家路由器。你家路由器收到后,再根据内部的“分机号”,找到是家里哪个设备(比如你的手机)的请求,把回复交给它。这一步,把很多家庭的地址,再次转换成更少的、共享的公网IP地址。这叫运营商级NAT(CGNAT)。相当于整个小区共用一个更大的、对外的“快递中转站”,这个中转站只有几个真正的门牌号。
第三个“4”(公网IPv4):在真正的互联网上(公网),服务器(比如抖音)看到的,就是运营商CGNAT设备分配的那个共享的公网IPv4地址(120.80.50.100)和“大分机号”。它不知道后面经过了两次转换,也不知道具体是哪个家庭、哪个设备。
总结一下:
第一个4:用户家里的设备用的是私有IPv4地址。
第二个4:运营商的CGNAT设备用的是运营商管理的私有IPv4地址池(给家庭路由器分配地址的那个池子,范围通常是100.64.0.0/10)。
第三个4:最终在公网上使用的是共享的公共IPv4地址。
通俗地说,NAT444的三个4分别是:家里共享/小区共享/进入公网。在传统理解的家里共享/进入公网之间加入了一个小区共享,这个就是CGNAT的部署,是运营商为了缓解IPv4地址枯竭的一种应对策略。这样能够最大程度地节省宝贵的公网IPv4地址,让更多用户能用上宽带。对普通用户,最大的好处是便宜,能上网优先。但是这样的部署也会有一些其他的麻烦,比如某些应用可能不好用,当需要别人主动连进来的应用(比如P2P下载、远程桌面、自己架设服务器、某些网络游戏联机、复杂的视频通话)可能会遇到问题,因为“门牌号”不是你家独有的,别人(公网)很难直接找到你家具体设备。IP地址会经常变,大家其实不难发现,家用部由器在租期到期后再次进行拨号进入时,再次获取的地址已经不是原来的地址了,它是随机分配的。共享池里的公网IP的变化,影响一些需要固定IP的服务(但普通用户很少需要)。当一个公网IP背后有很多用户时,如果真有人干坏事,运营商追查起来会比独享IP麻烦一点(但对普通用户没影响)。NAT444技术在现阶段的IPv4向IPv6的过渡中被广泛使用,它能够大面积普极的主要原因之一是对普通用户没影响!