9.1 IPv6 的特点
9.1.1 IPv6 地址的格式(P152 4.5.2)
IPv6 地址长度从 IPv4 的 32 位增加到了 128 位,因此 IPv6 具有更大的地址空间,极大的延长了地址使用时间。
IPv6 没有 IPv4 中分类的地址的概念,地址记录方法是冒号十六进制记法(Colon Hexadecimal Notation),例如:
2001:0db8:85a3:5c4d:ac4c:8a2e:0370:7334
IPv6 地址还允许对连续的 0 进行省略:
- 连续的四个 0 可简写为一个 0,例如
2001:0db8:85a3:5c4d:0000:8a2e:0370:7334
可简写为2001:0db8:85a3:5c4d:0:8a2e:0370:7334
。 - 连续的多组四个 0 可简写为双冒号,即
::
,称为零压缩,例如2001:0db8:0000:0000:0000:8a2e:0370:7334
可简写为2001:0db8::8a2e:0370:7334
,但为避免歧义,一个地址只能存在一次零压缩。
CIDR 的斜线记法在 IPv6 仍可用(但 IPv6 取消了子网掩码的概念),例如:
2001:0db8::8a2e:0370:7334/60
上述地址表示其网络前缀长度为 60。
9.1.2 IPv4 地址的类型
地址类型 | CIDR | 前缀二进制 | |
---|---|---|---|
特殊地址 | 未指明地址 | ::/128 | 00...0(128 位) |
多播地址(Multicast) | FF00::/8 | 1111 1111 | |
任播地址(Anycast) | (取决于网络配置) | ||
单播地址(Unicast) | 本地站点单播地址 (本地主机单播地址) | FEC0::/10 | 1111 1110 11 |
本地链路单播地址 | FE80::/10 | 1111 1110 10 | |
回环地址 | ::1/128 | 00...1(128 位) | |
全球单播地址 | 剩余所有地址 |
相关词条:
- IPv6 没有广播地址
- 任播地址(Anycast):任播地址的目标计算机是一组计算机,但只交付给其中一个。通常用于负载均衡等。
9.1.3 地址自动配置
IPv4 中使用 DHCP 完成地址自动配置,IPv6 使用 DHCPv6 和 SLAAC 两种方式完成地址自动配置。
-
DHCPv6
DHCPv6 工作机制和 DHCP 非常相似,不过 DHCPv6 使用组播地址
FF05::1:3
发送 Discover 消息。DHCPv6 分配的地址为有状态的地址。 -
无状态地址自动配置 SLAAC(Stateless Address Auto-configuration)
IPv6 网络还允许主机使用 SLAAC 自行生成无状态的地址。常见方式是将网卡的 MAC 地址转换为 EUI-64 格式,生成 64 位的标识符,拼接在路由器通报的网络前缀后面。
相关词条:
-
路由器通告 RA(Router Advertisement)
在 IPv6 的局域网中,路由器会定期发送 RA 消息,广播到网络中的所有设备,这些消息包含网络前缀、默认网关、MTU 大小等。
9.1.4 IPv4 向 IPv6 过度
IPv4 向 IPv6 过度有以下三种方式:
-
(P155 4.5.3)双协议栈(Dual Stack)
指在完全过度到 IPv6 前,使用双协议栈让主机同时支持 IPv4 和 IPv6,即既能和 IPv6 的系统通信,又能和 IPv4 的系统通信。
-
(P155 4.5.3)隧道技术(Tunneling)
指将 IPv4 的数据报作为 IPv6 数据报的数据部分,通过 IPv6 网络传输。
这项技术需要双方路由器都支持此功能才能完成。
-
NAT64
利用 NAT 技术,将 IPv4 地址映射为 IPv6 地址,并把 IPv4 数据报转换为 IPv6 数据报的格式,通过 IPv6 网络传输。
这项技术需要双方路由器都支持此功能才能完成。
9.1.5 IPv6 与 IPv4 的其他主要区别
- IPv6 不允许数据报转发时分片,因此当 IPv6 数据报长度大于 MTU 时,会被路由器直接被丢弃。
- IPv6 不支持广播,使用组播和任播代替。
- IPv6 内置 IPsec 协议以提供更好的安全性,而 IPv4 依赖外部协议。
相关词条:
-
MTU 黑洞
由于 IPv6 不允许数据报转发时分片,因此只要数据报长度超过转发路径上任意一个路由器所设置 MTU,就会被丢弃,而路由器或网关可能会因为防火墙的配置等原因,导致数据报丢弃时回报的 ICMP 错误信息被拦截或丢失,使得发送方无法知晓数据报丢失的原因,这种现象被称为 MTU 黑洞。
-
MTU 钳制
MTU 钳制可以解决 MTU 黑洞问题,即使 ICMP 错误信息被防火墙拦截,也能避免 MTU 黑洞的发生。
MTU 钳制的基本思路是通过读取并修改 TCP 会话的协商内容,将最大分段大小 MSS 限制在某个值,使得最终数据报不会超过网络路径中的最小 MTU。
-
(P353 7.5.1 1.)IPsec
IPsec 不是单一协议,而是能够在 IP 层提供互联网通信安全的协议族,广泛用于 VPN 和其他安全通信场景中。
IPsec 通过在网络层中提供加密、认证和数据完整性来保证数据在 IP 网络上的安全传输。