4.5 IPv6
IP 是互联网的核心协议。
IPv4 地址耗尽问题: 到 2011 年 2 月,IANA IPv4 的 32 位地址已经耗尽。 各地区互联网地址分配机构也相继宣布地址耗尽。 我国在 2014 – 2015 年也逐步停止了向新用户和应用分配 IPv4 地址。
根本解决措施:采用具有更大地址空间的新版本的 IP,即 IPv6。
4.5.1 IPv6 的基本首部
IPv6 仍支持无连接的传送。
将协议数据单元 PDU 称为分组 (packet) 。
主要变化:
(1)更大的地址空间。 将地址从 IPv4 的 32 位 增大到了 128 位。
(2)扩展的地址层次结构。可以划分为更多的层次。
(3)灵活的首部格式。定义了许多可选的扩展首部。
(4)改进的选项。允许数据报包含有选项的控制信息,其选项放在有效载荷中。
(5)允许协议继续扩充。更好地适应新的应用。
(6)支持即插即用(即自动配置)。不需要使用 DHCP。
(7)支持资源的预分配。支持实时视像等要求保证一定的带宽和时延的应用。
(8)IPv6 首部改为 8 字节对齐。首部长度必须是 8 字节的整数倍。
1、IPv6 数据报的一般形式
由两大部分组成:
(1)基本首部 (base header)
(2)有效载荷 (payload)。有效载荷也称为净负荷。有效载荷允许有零个或多个扩展首部 (extension header),再后面是数据部分。
2、IPv6 数据报的基本首部
首部长度:固定的 40 字节,称为基本首部。
首部字段数:只有 8 个。
版本(version)—— 4 位。它指明了协议的版本,对 IPv6 该字段总是 6。
通信量类(traffic class)—— 8 位。这是为了区分不同的 IPv6 数据报的类别或优先级。目前正在进行不同的通信量类性能的实验。
流标号(flow label)—— 20 位。 “流”是互联网络上从特定源点到特定终点的一系列数据报, “流”所经过的路径上的路由器都保证指明的服务质量。所有属于同一个流的数据报都具有同样的流标号。
有效载荷长度(payload length)—— 16 位。它指明 IPv6 数据报除基本首部以外的字节数(所有扩展首部都算在有效载荷之内),其最大值是 64 KB。
下一个首部(next header)—— 8 位。相当于 IPv4 的协议字段或可选字段。
跳数限制(hop limit)—— 8 位。源站在数据报发出时即设定跳数限制。路由器在转发数据报时将跳数限制字段中的值减 1。当跳数限制的值为零时,就要将此数据报丢弃。
源地址—— 128 位。是数据报的发送站的 IP 地址。
目的地址—— 128 位。是数据报的接收站的 IP 地址。
3、IPv6 的六种扩展首部
逐跳选项、路由选择、分片、鉴别、封装安全有效载荷、目的站选项
4.5.2 IPv6 的地址
1、三种基本类型:
(1)单播 (unicast):传统的点对点通信。
(2)多播 (multicast):一点对多点的通信。
(3)任播 (anycast):IPv6 增加的一种类型。任播的终点是一组计算机,但数据报在交付时只交付其中的一个。通常是按照路由算法得出的距离最近的一个。
2、节点与接口
IPv6 将实现 IPv6 的主机和路由器均称为节点。
一个节点可能有多个与链路相连的接口。
IPv6 地址是分配给节点上接口的。 一个具有多个接口的节点可以有多个单播地址。 其中的任何一个地址都可以当作到达该节点的目的地址。
3、冒号十六进制记法
在 IPv6 中,每个地址占 128 位,地址空间大于 3.4 10^38 。
使用冒号十六进制记法(colon hexadecimal notation, 简写为 colon hex):16 位的值用十六进制值表示,各值之间用冒号分隔。
4、零压缩
零压缩 (zero compression):一串连续的零可以用一对冒号取代。
可压缩为:FF05:0:0:0:0:0:0:B3 、FF05::B3
5、点分十进制记法的后缀
结合使用点分十进制记法的后缀在 IPv4 向 IPv6 的转换阶段特别有用。
例如: CIDR 的斜线表示法仍然可用,但取消了子网掩码。
例如:60 位的前缀 12AB00000000CD3 可记为:12AB:0000:0000:CD30:0000:0000:0000:0000/60 或 12AB::CD30:0:0:0:0/60 (零压缩) 或 12AB:0:0:CD30::/60 (零压缩)
CIDR 记法地址: 2001:0DB8:0:CD30:123:4567:89AB:CDEF/60,表示:
IPv6 的地址是: 2001:0DB8:0:CD30:123:4567:89AB:CDEF
其子网号是: 2001:0DB8:0:CD30::/60
6、IPv6 地址分类
7、IPv6 单播地址的划分方法
4.5.3 从 IPv4 向 IPv6 过渡
方法:逐步演进,向后兼容。
向后兼容:IPv6 系统必须能够接收和转发 IPv4 分组,并且能够为 IPv4 分组选择路由。
两种过渡策略: 使用双协议栈、使用隧道技术
1、双协议栈
4.5.4 ICMPv6
IPv6 也需要使用 ICMP 来反馈一些差错信息。新的版本称为 ICMPv6。
1、ICMPv6 报文的分类