Skip to content
难度基础(★)
建议时长45分钟

5.4.4 IPv6

本课核心知识点整理
本课核心知识点手绘流程图(SVG)

为什么需要 IPv6

IPv4 地址是 32 位,理论地址数量约为 232,也就是 42 亿级别。早期设计互联网时,没有预想到个人电脑、手机、服务器、物联网设备会大规模增长;随着全球联网设备暴增,IPv4 地址空间明显不足。

IPv6 的核心目标是扩大地址空间。它把地址长度扩展到 128 位:

IPv4=32 ,IPv6=128 

这不是简单“版本号变大”,而是为了解决地址耗尽,并顺带改进地址配置、报文处理、扩展能力等问题。

IPv4 到 IPv6 的技术迭代

技术优势不足为什么需要下一步
分类 IPv4简单,早期容易实现地址分配粗糙,浪费严重网络规模扩大后不够灵活
子网划分/CIDR更灵活,减少浪费,支持路由汇聚仍受 32 位地址空间限制地址总量仍不够
NAT让多个私有地址共享公网地址破坏端到端透明性,增加协议复杂度是缓解手段,不是根本扩容
IPv6128 位地址空间巨大,支持现代网络需求与 IPv4 不直接兼容,迁移周期长需要过渡技术共存

IPv6 地址表示

IPv6 地址由 128 位组成,通常写成 8 组十六进制数,每组 16 位,用冒号分隔。

text
2001:0db8:0000:0000:0000:ff00:0042:8329

每组 16 位对应 4 个十六进制数字。十六进制比二进制更短,所以 IPv6 不再使用 IPv4 的点分十进制。

压缩规则

IPv6 地址很长,因此允许压缩。

1. 每组前导 0 可以省略

text
0db8 -> db8
0042 -> 42
0000 -> 0

例如:

text
2001:0db8:0000:0000:0000:ff00:0042:8329
可写为
2001:db8:0:0:0:ff00:42:8329

2. 连续多组 0 可用 :: 压缩一次

text
2001:db8:0:0:0:ff00:42:8329
可写为
2001:db8::ff00:42:8329

注意:一个 IPv6 地址中 :: 只能出现一次。否则无法判断每个 :: 分别代表多少组 0。

写法是否合法原因
2001:db8::1合法:: 只出现一次
::1合法回环地址压缩表示
2001::db8::1不合法:: 出现两次,无法还原

地址类型

类型含义
单播一对一,发送给某个接口
组播一对多,发送给一组接口
任播一对最近/最合适的一个,多个接口共享地址,由路由决定到达哪个

IPv6 通常不再使用 IPv4 那种广播概念,而用组播等机制替代广播。

IPv4 到 IPv6 的过渡技术

IPv6 不能一夜之间替换所有 IPv4 网络,因此需要过渡技术。

技术做法适用理解
双协议栈设备同时运行 IPv4 和 IPv6两种网络都能直接通信
隧道技术在 IPv4 网络中封装 IPv6 数据IPv6 孤岛穿越 IPv4 网络
协议转换在 IPv4 与 IPv6 之间转换报文让只支持不同协议的两端互通

考试中看到“同时支持 IPv4 和 IPv6”选双协议栈;看到“IPv6 数据穿越 IPv4 网络”选隧道;看到“两种协议直接互通转换”选协议转换。

例题

单选
IPv6 地址长度是:
单选
一台设备同时支持 IPv4 和 IPv6,属于:
单选
关于 IPv6 地址中的 `::` 压缩,正确的是:

自查要点

  1. IPv6 为什么会出现,IPv4 的根本限制是什么?
  2. IPv6 的 128 位地址如何写成 8 组十六进制?
  3. 前导 0 省略和 :: 压缩分别怎么用?
  4. 单播、组播、任播有什么区别?
  5. 双协议栈、隧道、协议转换分别解决什么过渡问题?