IPv4枯竭时代:从NAT技术到IPv6的演进之路


🔍 开发者资源导航 🔍
🏷️ 博客主页 : 个人主页
📚 专栏订阅 : JavaEE全栈专栏

IPv4(Internet Protocol version 4)是互联网最核心的通信协议之一,自 1981 年正式标准化以来,支撑了全球互联网近 40 年的发展,但是因为其数量的限制,正在逐步退出历史的舞台。

IPv4 因为使用 ​32 位地址,因此其理论最大地址数量为:

截止目前为止,IPv4已经全部使用殆尽。

​2011 年 2 月​ ​IANA(国际互联网号码分配机构)​​ 宣布 IPv4 地址池耗尽,最后 5 个 /8 地址块分配给全球 5 个 RIR(区域互联网注册机构)。

​2011 年 4 月​ ​APNIC(亚太地区)​​ 第一个耗尽 IPv4 地址的 RIR,仅保留少量地址用于过渡。

​2012 年 9 月​ ​RIPE NCC(欧洲)​​ 宣布 IPv4 地址耗尽。

​2014 年 6 月​ ​LACNIC(拉丁美洲)​​ 耗尽。

​2015 年 9 月​ ​ARIN(北美)​​ 耗尽。

而对于这个问题,现在使用的主流解决方法是NAT技术或者升级为IPv6。

NAT技术

NAT(Network Address Translation)是一种 ​IP 地址转换技术,主要用于解决IPv4 地址短缺​问题,并提高网络安全性。它的核心功能是 ​将私有 IP 地址映射到公网 IP 地址,使多个设备可以共享一个公网 IP 访问互联网。

NAT技术将IPv4地址划分为两个部分:

复制代码
私网IP:10.* && 172.16。*-172.31.* && 192.168.*
公网IP:除了上述的都是

公网和私网的关系可以看做是一个包含关系,同一个局域网的私网IP使用同一个公网IP进行上网,公网的IP是唯一的,而私网的IP在不同的局域网中是可以重复的。

对于同一个局域网的私网IP他是动态变化的,每次上网时都是公网随机分配给你一个空闲的IP地址,当然你也可以手动设置成固定的一个值(偶尔可能会被占用)。

私网在访问网络时,会先通过公网IP,然后使用公网IP再去访问网络。

复制代码
+-------------------+       +---------------------+       +---------------------+
| 私网设备          |       | NAT 路由器          |       | 互联网服务器        |
| (192.168.1.100)   | --->  | (公网IP: 203.0.113.1)| --->  | (8.8.8.8)           |
|                   | <---  |                     | <---  |                     |
+-------------------+       +---------------------+       +---------------------+

在NAT路由器中,存在一种映射关系,用于私网和公网之间的转换,不同的私网在使用公网IP时是通过端口号进行区分的。

在返回响应时也是如此,根据映射关系替换掉IP地址以及端口号,然后转发给私网的设备。


除此之外,在NAT背景下网络通信还有以下规则:

1.同一个局域网下,两个设备可以互相通信

由于同一个局域下,私网IP地址不存在重复的情况,并不会涉及NAT。

2.公网设备A可以访问公网设备B

公网也不涉及IP地址冲突。

3.不同局域网下的设备A和设备B不允许互相访问

NAT机制禁止这样的访问方式,这也进一步提高了网络安全。

4.公网设备A不允许访问私网设备B

并不是绝对的,可以利用内网穿透的方式进行转发。


IPv6

IPv6(Internet Protocol version 6)是 IPv4 的升级版本,旨在解决 IPv4 地址枯竭问题,并提供更高效、更安全的网络通信。

IPv6是128位的地址,可以存储2^128位地址(约 ​340 万亿亿亿亿),这个数量即使给地球上的每一粒沙子都分配一个地址都够用。

IPv4和IPv6都是网络层的协议,但是他们的数据包格式不同。

对比项​ ​IPv4​ ​IPv6​
​地址长度​ 32 位(4 字节) 128 位(16 字节)
​地址表示​ 192.168.1.1 2001:0db8:85a3::8a2e:0370:7334
​源/目标 IP 字段​ 各 32 位 各 128 位
​头部大小​ 20-60 字节(可变) 40 字节(固定)

IPv6数据包格式(部分)

复制代码
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| 版本 (6) | 流量类别 |              流标签                  |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|        载荷长度      | 下一个头部 |      跳数限制            |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                       源 IP (128 位)                       |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                     目标 IP (128 位)                       |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

IPv6 仍然使用 IP 协议​(只是版本不同),但 IPv6 通常不需要 NAT,因为它的地址空间足够大(2^128 个地址),每台设备都可以有全球唯一的公网 IP。


IPv4和IPv6两种协议并不兼容,因此IPv6的普及依旧需要时间。

  • 截至 2023 年 :全球 IPv6 采用率约 40%​(中国、印度超 50%,美国仅 30%)。
  • 旧硬件/软件可能并不支持 IPv6。

长远角度来看,IPv6是解决该问题的终极方法,NAT技术可能会减少,但是不会完全消失。

相关推荐
梦帮科技4 小时前
领域认知知识库图谱注入:从双式记账图网络到高质量问答对自动化合成流水线
运维·网络·数据库·人工智能·矩阵·架构·自动化
菜鸡养成中...6 小时前
卫星通信协议笔记1-协议栈
网络
hzxpaipai6 小时前
杭州企业官网怎么建设?从策划到上线的5步建站方法
运维·服务器·前端·网络
smartpi_ai6 小时前
通用脱机烧录器为什么烧不进 CI-03?下载协议的门槛、免唤醒 10 条的建议值属性
服务器·网络·ci/cd
ITxiaobing20237 小时前
自研 IP 库与 AppsFlyer 判定不一致的排查实践
网络·网络协议·tcp/ip
2501_937860947 小时前
中篇:TCP 为什么可靠又高效?滑动窗口、流量控制、拥塞控制与粘包全解析
服务器·网络·tcp/ip
刚及格的陆拾伍8 小时前
Wi-Fi核心知识精要:从频段到帧结构全解析
网络·物联网·网络协议·信息与通信·iot
xiaoye-duck9 小时前
《Linux 网络编程》深入理解 IO 多路复用:select 函数详解与 Echo 服务实战
linux·网络
xfan_me9 小时前
SSL 证书落地应用与网站安全加固
网络协议·安全·ssl
SDWAN_Cheap9 小时前
TCP滑动窗口与拥塞控制是什么?从流量控制到网络稳定性的完整解析
网络·tcp/ip·php