IPv6快30岁了,为啥没代替IPv4?浅谈NAT
|
zhenglin
2025年12月5日 14:10
本文热度 141
|
IPv6都快30岁了,为啥没代替IPv4?
首先来聊个互联网界的“钉子户”——IPv4。
想象一下:你住在一栋叫“互联网”的大楼里,IPv4给你的家门牌号(IP地址)长得像 192.168.1.101。这栋楼在30多年前设计的时候,觉得给每家每户发一个唯一的门牌号,顶天了也就40多亿个(2的32次方),怎么也够用了。
结果呢?智能手机、平板、电脑、电视,甚至你家的冰箱、电灯泡都想挤进来要个门牌号。40亿?显然是不太够了。
于是,天才的工程师们在上世纪90年代就设计了一栋全新的、超级宽敞的“未来大楼”——IPv6。这栋楼的门牌号长得像 2001:0db8:85a3::8a2e:0370:7334,数量多到可以给地球上的每一粒沙子都分配一个IP地址。
但问题来了:IPv6这栋“未来大楼”从1998年提出到现在,快30年了,为啥我们大部分人还挤在IPv4那栋破旧的老楼里?
那我们就要来聊聊NAT(网络地址转换)。可以说,是NAT硬生生给IPv4老楼续了命。
NAT的诞生
1.1 问题根源:IP地址大饥荒
IPv4地址只有大约43亿个,而全球上网设备早就突破百亿。这就好比一个只有100个座位的电影院,却要卖出去1000张票。怎么办?
早期的想法很直接:给每个设备一个全球唯一的公网IP地址。但地址根本不够分,此路不通。
1.2 NAT解决方案:给大楼装个“总机接线员”
NAT想出了一个绝妙的(或者说被逼无奈的)办法:
我们不给每家每户都发一个唯一的“全球门牌号”(公网IP)了,而是只给一整栋楼(比如一个家庭或一个公司)分配一个公网IP。楼里的每家每户,只用内部使用的“房间号”(私网IP,如 192.168.1.x)就行了(在我们现实中就相当于整个软件园可能只用了一个公网IP)。
那么,楼里的人怎么和外面的世界通信呢?这就需要在大楼门口设立一个超级牛X的“总机接线员”——它就是NAT路由器(就是你家里那个闪着蓝光的小盒子)。
下面我们用一张图来看看这位“接线员”是怎么工作的:
NAT的工作原理
(图1:NAT工作原理示意图)
假如我们给公司A分配了一个IP=192.168.1.1,把这个IP作为这个公司网关。

在公司A的内网里面有3台电脑,如果这三台电脑要上网的话,我们需要给他分配一个IP,那么我们一定需要去申请3个IP地址来使用吗?
答否。我们不一定需要去申请3个IP的,在我们这个内网里,我们可以指定自己的规则。
例如,我们可以给这三台电脑随便分配三个IP(请注意,这三个IP不是去申请的,而且我自己随意给它分配的)。分别分配电脑A = 192.168.1.2 电脑B = 192.168.1.3 电脑C = 192.168.1.4

假如电脑A想要访问百度,百度的IP我们假设为:172.168.30.3

我们都知道,电脑A的IP是我们虚构的,实际上可能并不存在这样一个IP,如果用电脑A的IP去访问百度,那肯定行不通。
我们也知道,由于百度和电脑A不在一个局域网内,所以A要访问百度,那么必须得经过网关。而网关的这个IP地址,是真实存在的,是可以访问百度的。
为了让 A 可以访问百度,那么我们可以采取这样的方法:让网关去帮助 A 访问,然后百度把结果传递给网关,而网关再把结果传递给 A,这样不就可以解决了?

不过电脑A, B, C都可能拜托网关去帮忙访问百度,而百度返回的结果 的目的IP都是网关的IP=192.168.1.1。那么网关该如何进行区分这结果是A的,B的还是C的呢?
我们去访问百度的时候,不是需要指定一个端口吗?只要我们把 A的IP + 端口 映射成 网关的IP+端口,不就可以唯一确定身份了?
例如A用端口60去访问百度,网关把 A的IP+端口60 映射成 网关的IP+端口80 不就可以了?

百度把结果返回给网关的80端口之后,网关再通过映射表,就可以把结果返回给 A的60端口 了。
如果B也是用60端口去访问百度的话,也是一样,可以把它映射到90端口。

这种方法地址的映射转换,我们也称之为网络地址转换。英文为 Network Address Translation,简称NAT。
而像A, B, C这样的IP地址我们也称之为内网IP,即私有IP;而像网关,百度这样的IP我们称之为外网IP,即全球IP。现在知道外网IP和内网IP了吧?
NAT到底好还是不好?
优点(为啥它能续命30年):
极大地缓解了地址枯竭问题: 这是最大的功劳。靠着NAT,我们才能用有限的IPv4地址支撑起如今庞大的互联网规模。
一定的安全性: 因为外部网络无法直接看到你内部设备的真实IP,相当于给你的家庭网络增加了一道天然的“防火墙”。黑客想直接攻击你家的电脑,得先过了NAT路由器这一关。
部署简单,成本低廉: 无需改动现有网络基础架构,只需升级一下路由器软件/硬件即可。
问题(本质还是“续命毒药”):
NAT虽然好用,但它本质上是个“打补丁”的方案,破坏了互联网最初的“端到端”通信原则,带来了很多麻烦:
复杂性增加: 互联网变得不再“纯粹”。每个通信都要经过NAT的翻译和记录,增加了延迟和复杂性。像IP电话(VoIP)、在线游戏联机(尤其是做主机时)、远程桌面等需要“直接点对点连接”的应用,在NAT后面会非常痛苦,需要各种“打洞”技术(如UPnP,STUN/TURN)才能实现,非常不优雅。
性能瓶颈: 那个“接线员”(NAT路由器)压力很大。所有数据都要经过它转换,如果连接数过多,它就可能成为网络速度的瓶颈。
阻碍创新: 想象一下,未来的物联网世界,你的汽车、空调、心脏起搏器都可能需要直接被互联网访问。但在NAT后面,你想从公司直接访问家里的智能门锁?得费老大劲了。这限制了新应用和新技术的发展。
结语
NAT这位“违章建筑大师”,凭借一己之力,用天才般的“打补丁”方式,延长了IPv4寿命,但也让它变得臃肿和复杂。
而真正规划好的未来之城(IPv6),虽然早已蓝图绘就,但IPv4因NAT的加持依然繁荣。
参考文章:原文链接
该文章在 2025/12/5 14:10:12 编辑过