IPv6协议

🧭 一、IPv6 是什么?

IPv6(Internet Protocol version 6) 是 IPv4 的下一代网络层协议,用来在网络中标识主机、路由数据包。
它的核心目标是:

  1. 解决 IPv4 地址枯竭问题;
  2. 简化协议头;
  3. 加强自动配置与安全性。

🌐 二、IPv6 地址基础

特性IPv4IPv6
地址长度32 位128 位
地址数量约 43 亿个(几乎无限)
地址表示点分十进制(192.168.1.1)十六进制冒号分隔(2001:db8::1)
自动配置依赖 DHCP支持 SLAAC、NDP
广播有(255.255.255.255)无(用多播代替)

IPv6 把“广播”完全废弃,取而代之的是:

  • 组播(Multicast)
  • 任播(Anycast)

🧩 三、IPv6 报文结构概览

IPv6 报文分为两部分:

+------------------------------------+
| 主头 (Fixed Header, 40 bytes)      |
+------------------------------------+
| 可选扩展头 (Extension Headers)      |
+------------------------------------+
| 上层数据 (Payload: TCP/UDP/ICMPv6)  |
+------------------------------------+

IPv6 取消了 IPv4 的繁琐字段(如校验和、分片标志、头部长度),保持主头固定 40 字节,简洁且高效。


📦 四、IPv6 主头(Fixed Header)字段详解

字段长度功能说明
Version4 bit固定为 6
Traffic Class8 bit类似 IPv4 的 TOS,用于 QoS / 流量优先级
Flow Label20 bit用于标识同一数据流(如视频流)
Payload Length16 bit有效载荷长度(不含主头)
Next Header8 bit指示下一个头部类型(TCP=6、UDP=17、ICMPv6=58 等)
Hop Limit8 bit类似 IPv4 的 TTL,每经过一跳减 1
Source Address128 bit源 IPv6 地址
Destination Address128 bit目的 IPv6 地址

🚀 注意:IPv6 报文头没有校验和,这能减少中间设备的处理负担(链路层和传输层已有校验)。


🧱 五、扩展头(Extension Headers)

IPv6 不像 IPv4 那样把所有功能塞进主头,而是把“附加功能”放在一串可选的扩展头里,形成一个链式结构

IPv6 Header → [扩展头1] → [扩展头2] → 上层协议

扩展头链表结构(Next Header)

每个头部都有一个字段:

Next Header (8 bit)

它指向下一个头的类型(或最终上层协议)。

例如:

IPv6 Header → Routing (43) → Fragment (44) → TCP (6)

整个链式结构如下:

[IPv6 主头]
   ↓ Next Header = 43
[Routing Header]
   ↓ Next Header = 44
[Fragment Header]
   ↓ Next Header = 6
[TCP Header]
   ↓
[Data]

常见的扩展头有:

Next Header 值名称功能是否中间节点处理
0Hop-by-Hop Options每一跳都要处理(例如路由器发现、Jumbo帧)✅ 是
43Routing Header指定路由路径(类似源路由)✅ 是(沿途路由处理)
44Fragment Header分片信息(仅主机使用)❌ 否
50ESPIPsec 加密封装❌ 否
51AHIPsec 认证头❌ 否
60Destination Options仅目的节点处理❌ 否
135Mobility Header (MIPv6)移动IPv6支持❌ 否
(TCP=6, UDP=17, ICMPv6=58)上层协议表示链表的终点

扩展头推荐处理顺序

RFC 8200 定义了推荐顺序(从前到后):

IPv6 Header →
Hop-by-Hop Options →
Destination Options(仅限路由前) →
Routing →
Fragment →
Authentication(AH) →
ESP →
Destination Options(到达目的地) →
上层协议(TCP/UDP/ICMPv6...)

⚠️ 顺序不能随意变,否则接收端可能丢弃报文。


🌍 六、IPv6 的关键改进点(相对 IPv4)

特性IPv4IPv6
地址空间32 位128 位(几乎无限)
配置方式DHCP 手动配置支持自动配置(SLAAC + NDP)
广播无(用组播代替)
NAT常用通常不需要
头部长度可变(20-60 字节)固定(40 字节)
分片处理路由器可分片仅主机可分片
安全性可选 IPsec内建 IPsec 支持
邻居发现ARP + ICMP + DHCP全部由 ICMPv6(NDP)实现
服务质量TOS 字段Traffic Class + Flow Label