Skip to content

IPv6 - 特殊地址

与 IPv4 相比,IPv6 具有更结构化的地址规划,其中一些地址范围和特定地址被保留用于特殊目的。理解这些地址是使用 IPv6 网络的关键。地址通常以十六进制书写,用冒号分隔,通常省略前导零,连续的零块可以使用 ’::’ 进行压缩。

基本特殊地址 (Fundamental Special Addresses)

Section titled “基本特殊地址 (Fundamental Special Addresses)”
  • 未指定地址 (Unspecified Address) (::/128): 压缩前表示为 0:0:0:0:0:0:0:0,或 ::/128。由主机在初始化期间用作源地址(例如,当它尚未知道自己的 IP 地址时,如在 DHCP 请求中)。不得用作目标地址或由路由器使用。
  • 回环地址 (Loopback Address) (::1/128): 压缩前表示为 0:0:0:0:0:0:0:1,或 ::1/128。由主机用于向自身发送数据包,用于测试和本地服务。等同于 IPv4 的 127.0.0.1。
  • 默认路由 (Default Route) (::/0): 表示路由表中未明确列出的所有 IPv6 目标的路由。类似于 IPv4 的 0.0.0.0/0。当没有更具体的路由已知时,路由器使用此地址将数据包转发到下一跳网关(next-hop gateway)。
Section titled “链路本地单播地址 (Link-Local Unicast Addresses) (FE80::/10)”

链路本地地址(Link-local addresses)会自动配置在每个启用 IPv6 的接口上。它们仅用于同一本地网络段(链路 link)上的设备之间的通信,例如用于邻居发现协议(NDP - Neighbor Discovery Protocol)功能。路由器不会将源或目标地址为链路本地地址的数据包转发到本地链路之外。它们通常以 FE80:: 开头,后跟一个接口标识符(通常从 MAC 地址使用 EUI-64 格式派生,或为隐私目的随机生成)。例如:FE80::0200:5EFF:FE00:53A7。

唯一本地地址 (Unique Local Addresses - ULA) (FC00::/7)

Section titled “唯一本地地址 (Unique Local Addresses - ULA) (FC00::/7)”

唯一本地地址(Unique Local Addresses - ULA,目前 FD00::/8 用于本地分配的全局 ID)旨在用于私有网络,类似于 IPv4 的 RFC 1918 地址(例如,10.0.0.0/8,192.168.0.0/16)。由于包含一个随机组成部分,它们在实践中是全局唯一的,但在公共互联网上不可路由(not routable)。ULA 对于站点内部通信非常有用,无需全局分配的前缀,也不会在站点合并时与其他网络冲突。

全球单播地址 (Global Unicast Addresses - GUA) (2000::/3)

Section titled “全球单播地址 (Global Unicast Addresses - GUA) (2000::/3)”

这些是公共可路由的 IPv6 地址,由 ISP 和区域互联网注册管理机构(RIRs - regional internet registries)分配。绝大多数互联网流量使用 GUA。例如 2001:0DB8:85A3:0000:0000:8A2E:0370:7334,其中 2001:0DB8::/32 是常用于文档示例的前缀。

关键的保留组播地址 (Key Reserved Multicast Addresses)

Section titled “关键的保留组播地址 (Key Reserved Multicast Addresses)”

IPv6 大量使用组播(multicast)。组播地址始终以 FF 开头。第二个字节定义了组播地址的标志和范围(scope)。例如,FF02:: 表示链路本地范围(link-local scope)。

  • FF02::1 (所有节点地址 All Nodes Address): 同一本地链路上的所有启用 IPv6 的设备都加入此组播组。用于到达网段上的所有节点,例如,路由器用于某些通告(advertisements)。
  • FF02::2 (所有路由器地址 All Routers Address): 同一本地链路上的所有 IPv6 路由器都加入此组。主机用于与网段上的任何可用路由器通信,例如,在 SLAAC 中的路由器请求(Router Solicitation)期间。
  • FF02::5 (OSPFv3 AllSPFRouters): OSPFv3 路由协议使用此地址向链路上的所有 OSPF 路由器发送消息。
  • FF02::6 (OSPFv3 AllDRouters): OSPFv3 路由协议使用此地址向链路上的指定路由器(DR - Designated Routers)和备用指定路由器(BDR - Backup Designated Routers)发送消息。
  • FF02::9 (RIPng Routers): RIPng 路由协议使用此地址进行 RIPng 路由器之间的通信。
  • FF02::1:FFXX:XXXX (请求节点组播地址 Solicited-Node Multicast Address): 这是一种特殊类型的组播地址,由邻居发现协议(NDP)用于将 IPv6 地址解析为其链路层(MAC)地址。对于接口上配置的每个单播(unicast)或任播(anycast)地址,节点都会加入一个相应的请求节点组播组。这比 IPv4 中 ARP 的广播(broadcast)更高效。XX:XXXX 部分取自 IPv6 单播/任播地址的后 24 位。

主机使用无状态地址自动配置(SLAAC),通常采用 EUI-64 从其 MAC 地址派生其链路本地地址和可能的全局地址的接口 ID 部分。为了解决 EUI-64 带来的隐私问题(因为它暴露了 MAC 地址),通常使用隐私扩展(privacy extensions - RFC 4941)为出站连接(outgoing connections)生成临时的、随机的接口标识符。

有关特殊和保留 IPv6 地址的全面列表,请查阅官方 IANA 注册机构和 RFC,例如 RFC 4291 (IP Version 6 Addressing Architecture) 和 RFC 5156 (Special-Use IPv6 Addresses)。