IPv6¶
IPv6的特点¶
把 IPv6 的特点按“为什么这么设计”来记,比死背条目更稳:
-
地址空间扩大到 128 位:从根源缓解地址不足,利于层次化编址与路由聚合
-
基本首部固定 40B:转发更容易硬件化;可选信息放到扩展首部
-
取消首部校验和:路由器转发时不必因 TTL/Hop Limit 改变而重算校验和
-
路由器不分片:避免中间设备分片带来的复杂性;源端用 PMTUD + 分片扩展首部(需要时)
-
无广播,强化多播/任播:减少无意义泛洪
-
邻居发现 ND 替代 ARP:基于 ICMPv6,统一解决“地址解析 + 路由器发现 + 可达性检测”
IPv4 vs IPv6¶
| 对比点 | IPv4 | IPv6 |
|---|---|---|
| 地址长度 | 32 位 | 128 位 |
| 基本首部长度 | 可变(20B 起) | 固定 40B |
| 首部校验和 | 有(仅首部) | 无 |
| 分片 | 路由器可分片;目的主机重组 | 路由器不分片;需要时由源端分片 |
| 广播 | 有广播 | 无广播(用多播替代) |
| 地址解析 | ARP | ND(ICMPv6) |
| TTL/Hop Limit | TTL | Hop Limit(语义同:每跳减 1) |
IPv6数据报的基本首部¶
IPv6 基本首部固定 40B,核心字段(抓住能做题/能对比的点):
-
Version:6
-
Traffic Class:业务类别(服务区分入口,理解即可)
-
Flow Label:流标签(理解即可:把一组分组标记为同一“流”)
-
Payload Length:负载长度(不含 40B 基本首部)
-
Next Header:下一个首部类型(扩展首部或 TCP/UDP/ICMPv6)
-
Hop Limit:每跳减 1
-
Source/Destination Address
扩展首部(只抓“链式”思想)¶
IPv6 把“可选功能”拆成扩展首部,按 Next Header 串成链:
-
好处:基本首部固定,转发快;只有需要时才解析扩展首部
-
常见扩展首部(认识名字即可):
-
Hop-by-Hop Options(逐跳)
-
Routing
-
Fragment
-
Destination Options
-
AH/ESP(与 IPsec 相关,了解)
-
IPv6地址¶
表示法与压缩规则¶
-
8 组 16 位十六进制,用冒号分隔:
2001:0db8:0000:0000:0000:0000:0000:0001
-
两条压缩规则:
-
每组前导 0 可省略:
0db8→db8 -
连续全 0 组可用
::替代:一次且仅一次
-
地址类型(至少会区分)¶
-
单播:一对一
-
多播:一对多
-
任播:一对“最近的一个”(就近服务)
Warning
IPv6 没有广播地址。
ND(邻居发现,基于 ICMPv6)¶
ND 常被理解成“IPv6 时代的 ARP+更多功能”:
-
地址解析(同链路:IP → MAC)
-
路由器发现(默认路由获取)
-
邻居可达性检测(避免黑洞)
IPv4到IPv6的过渡¶
过渡的主线只记三类即可:
-
双栈 Dual Stack:同时运行 IPv4/IPv6(最常见、最直观)
-
隧道 Tunneling:在 IPv4 网络里“封装”IPv6 分组穿越
-
翻译 Translation:如 NAT64/DNS64(了解:IPv6-only 与 IPv4-only 互通的一种办法)
408 高频易错点清单¶
408 高频易错点清单
-
::压缩只能用 一次 -
Hop Limit 语义是“每跳减 1”,不是时间
-
IPv6 路由器不分片,不代表“不会分片”:需要时由源端分片(配合 PMTUD)