IPv6:主要特点、数据报格式、地址类型与过渡技术
4.4 IPv6
4.4.1 IPv6的主要特点
解决IPv4地址耗尽问题的三种措施:
- 采用无类别编址CIDR,使IP地址分配更合理。
- 采用网络地址转换NAT,节省全球IP地址。
- 采用具有更大地址空间的新版本IPv6,从根本上解决地址耗尽问题。
IPv6主要特点:
- 更大的地址空间:地址长度从32位增大到128位。
- 扩展的地址层次结构:支持更灵活的地址划分。
- 灵活的首部格式:基本首部固定,扩展首部放在数据部分,减少首部开销。
- 改进的选项:选项功能更强大,且不影响转发效率。
- 允许协议继续扩充:具有良好的可扩展性。
- 支持即插即用:自动配置,不需要DHCP。
- 支持资源的预分配:通过流标号实现服务质量保证。
- 分片机制:只在源结点分片,不允许中间路由器分片(端到端)。
- 首部对齐:IPv6首部长度必须是8字节的整数倍(IPv4是4字节)。
- 增大了安全性:身份验证和保密功能是IPv6的关键特征,支持QoS。
4.4.2 IPv6数据报格式
IPv6数据报由基本首部和有效载荷组成。有效载荷可包含零个或多个扩展首部,后接数据部分。

基本首部字段说明:
| 字段 | 长度 | 说明 |
|---|---|---|
| 版本 | 4位 | 协议版本,IPv6为6。 |
| 通信量类 | 8位 | 区分数据报的类别或优先级。 |
| 流标号 | 20位 | 标识属于同一“流”的一系列数据报,用于资源预分配和QoS。 |
| 有效载荷长度 | 16位 | 基本首部之后所有字节数(含扩展首部),最大值65535B。 |
| 下一个首部 | 8位 | 标识下一个扩展首部的类型,若无扩展首部则标识上层协议(如TCP=6,UDP=17)。 |
| 跳数限制 | 8位 | 类似IPv4的TTL,每转发一次减1,为0时丢弃。 |
| 源地址 | 128位 | 发送端IP地址。 |
| 目的地址 | 128位 | 接收端IP地址。 |
注意:IPv6基本首部固定为40字节,没有校验和字段,因此不进行首部校验。
4.4.3 IPv6地址
1. 表示方法
- 冒号十六进制记法:将128位地址分为8组16位,每组用4位十六进制数表示,组间用冒号分隔。
例:2001:0db8:85a3:0000:0000:8a2e:0370:7334 - 省略前导零:每组的前导零可以省略。
例:2001:db8:85a3:0:0:8a2e:370:7334 - 双冒号压缩:一组或多组连续的零可以用双冒号
::代替,但一个地址中只能出现一次。
例:2001:db8:85a3::8a2e:370:7334 - 结合点分十进制:用于IPv4兼容地址,如
::128.10.2.1。
2. 地址类型
| 类型 | 说明 |
|---|---|
| 单播(Unicast) | 点对点通信,标识单个接口。 |
| 多播(Multicast) | 一点对多点通信,发送到一组接口,IPv6中没有广播,广播视为多播的特例。 |
| 任播(Anycast) | 新增加的类型,标识一组接口,数据报只交付给其中一个(通常是距离最近的一个)。 |
3. 常用地址前缀
| 地址类型 | 地址块前缀 | CIDR记法 | 说明 |
|---|---|---|---|
| 未指明地址 | 00…0(128位) | ::/128 |
只能作为源地址,表示本主机尚未配置IP地址。 |
| 环回地址 | 00…1(128位) | ::1/128 |
同IPv4的127.0.0.1,用于本地测试。 |
| 多播地址 | 11111111 | FF00::/8 |
多播地址前缀。 |
| 本地站点单播地址 | 1111111011 | FEC0::/10 |
类似IPv4的私有地址,仅限站点内部通信。 |
| 本地链路单播地址 | 1111111010 | FE80::/10 |
自动生成,仅限同一链路通信,不会被路由器转发。 |
| 全球单播地址 | 可变 | 无固定前缀 | 全球唯一,可划分为全球路由前缀、子网ID和接口标识符。 |
4.4.4 IPv4向IPv6过渡技术
| 技术 | 原理 | 特点 |
|---|---|---|
| 双协议栈 | 设备同时支持IPv4和IPv6协议栈,配置两种地址,根据需求选择协议。 | 灵活性高,逐步过渡;但增加设备复杂性。 |
| 隧道技术 | 将IPv6数据包封装在IPv4数据包中(或反之),通过IPv4网络传输。 | 适用于IPv6孤岛通过IPv4骨干网互连。 |
习题(部分)
IPv6相比IPv4的优点:
D. ①②③④(更大地址空间、更好安全性、更高效路由、支持即插即用)IPv6地址长度:C. 128位
关于IPv6地址表示,正确的是:
C. 0:0:0:0:0:0:0:1可以简化表示为::1IPv6地址类型不包括:B. 广播地址
关于IPv6数据包首部,错误的是:
D. IPv6数据包首部中的协议字段用于标识上层协议(实际是“下一个首部”字段)IPv6的任播地址:B. 一组接口的标识符,数据包会被发送到该组中的任意一个接口
环回地址:A. ::1
允许IPv6数据包通过IPv4网络传输的技术:A. 隧道技术 (如6to4)
谢希仁4-57(零压缩):
- (1)
::F53:6382:AB00:67DB:BB27:7332(注意:最前面两组全0可压缩为::,但后面还有非零,所以压缩第一组全0)
更准确的简洁形式:0:0:F53:6382:AB00:67DB:BB27:7332→::F53:6382:AB00:67DB:BB27:7332 - (2)
::4D:ABCD - (3)
0:0:0:AF36:7328:0:87AA:398→::AF36:7328:0:87AA:398(注意只能一次双冒号,这里压缩前三个0为::,后面的0保留) - (4)
2819:AF:0:0:0:35:CB2:B271→2819:AF::35:CB2:B271
- (1)
笔记结束