IPv6
100%

子网划分 · 第 7 课

IPv6

学习如何读取 IPv6 地址、前缀、作用域、自动配置和 Linux 路由状态。

IPv6 使用 128 位地址,旨在提供大得多的地址空间,同时更新数据包和邻居发现行为。IPv4 与 IPv6 是两种独立协议;双栈主机可以在网络过渡期间同时运行两者。

阅读 IPv6 表示法

IPv6 地址写成八个 16 位十六进制组:

2001:0db8:0000:0000:0000:0000:0000:0025

每组开头的零可以省略,一段连续的零组可以使用 :: 压缩:

2001:db8::25

:: 只能出现一次,否则无法确定省略了多少组。2001:db8::/32 保留用于文档示例。

为什么 :: 在一个 IPv6 地址中最多出现一次?

地址类型与作用域

重要地址和范围包括:

  • ::1/128:本地主机上的环回地址。
  • fe80::/10:链路本地单播,通常存在于 IPv6 接口上。
  • 2000::/3:当前分配的全球单播空间。
  • ff00::/8:多播。

IPv6 没有广播地址;多播和邻居发现承担 IPv4 中常由广播完成的用途。链路本地目标可能需要 fe80::1%eth0 这样的接口区域,因为每条链路上都存在相同前缀。

fe80::/10 地址的正常作用范围是什么?

前缀与接口地址

IPv6 CIDR 表示法使用 /0/128 的前缀长度。/64 是大多数 LAN 子网的标准大小,并支持无状态地址自动配置。一个接口可以同时拥有链路本地、稳定全球、临时隐私及其他地址,每个地址都有首选期和有效期。

为什么一个接口可能显示多个 IPv6 地址?

邻居发现与路由器发现

IPv6 邻居发现使用 ICMPv6 完成地址解析、重复地址检测、路由器发现和可达性信息交换。路由器通告可以提供前缀和默认路由器信息。主机可以将 SLAAC 与 DHCPv6 结合以获得其他配置;DHCPv6 通常不提供默认路由器。

阻止所有 ICMPv6 会破坏必要的协议行为。防火墙策略应在适当作用范围允许必需的消息类型,而不能把 ICMPv6 当作可有可无。

IPv6 主机通常如何动态获得默认路由器?

检查和测试 IPv6

分别检查地址、路由和邻居:

$ ip -6 address show
$ ip -6 route show
$ ip -6 neighbor show
$ ping -6 -c 3 2001:db8::25

应使用真实分配的测试地址,而不是这里显示的文档地址。双栈应用程序可能通过 IPv4 成功而 IPv6 失败,反之亦然,因此应分别明确测试每个地址族及其 DNS AAAAA 记录。

为什么要分别测试双栈服务的 IPv4 与 IPv6?

课程已完成

你已完成 IPv6

现在,你可以读取和测试常见 IPv6 接口与路由状态。

  • 正确展开或压缩八个十六进制地址组。

  • 区分环回、链路本地、全球和多播作用域。

  • 预期一个接口上存在多个 IPv6 地址和有效期。

  • 保留必要的邻居发现与路由器通告流量。

  • 在双栈服务上分别测试 IPv4 和 IPv6 路径。

保存学习进度

创建免费账户即可保存本课进度,并在任意设备上继续学习。

创建免费账户
返回 子网划分