IPv6 地址架构详解
本规范定义了 IPv6(互联网协议第 6 版)的编址架构。文档内容包括 IPv6 编址模型、地址文本表示、单播/任播/多播地址定义,以及节点必备地址要求。本文档替代了 RFC 3513《IPv6 编址架构》。
1. 概述
本文档为互联网社区指定了一种互联网标准轨道协议,分发不受限制。有关本协议的标准化状态和状况,请参考当前版本的《互联网官方协议标准》(STD 1)。
2. IPv6 编址
IPv6 地址是用于标识接口及接口集合的 128 位标识符。地址分为三种类型:
- 单播(Unicast):标识单个接口。发往单播地址的数据包将被交付至该地址标识的接口。
- 任播(Anycast):标识一组接口(通常属于不同节点)。发往任播地址的数据包将被交付至该地址标识的其中一个接口(根据路由协议的距离度量,选择'最近'的接口)。
- 多播(Multicast):标识一组接口(通常属于不同节点)。发往多播地址的数据包将被交付至该地址标识的所有接口。
IPv6 中不存在广播地址,其功能已被多播地址取代。
在 IPv6 中,除非特别排除,任何字段的合法值均可为全零或全一。具体而言,前缀可包含以零值字段结尾的情况。
2.1 地址模型
所有类型的 IPv6 地址均分配给接口,而非节点。IPv6 单播地址标识单个接口,由于每个接口属于唯一节点,该节点任意接口的单播地址均可作为节点标识符。
所有接口必须至少拥有一个链路本地单播地址(其他必备地址见 2.8 节)。单个接口可同时拥有多个任意类型(单播、任播、多播)或作用域的 IPv6 地址。对于不用于与非邻居节点收发 IPv6 数据包的接口,无需配置作用域大于链路范围的单播地址 —— 这对点到点接口尤为便利。
当前 IPv6 沿用 IPv4 模型,即子网前缀与一条链路关联,同一链路可分配多个子网前缀。即使接口仅用于本地通信,也必须配置链路本地地址(如 FE80::/10 前缀地址),以确保链路层通信的基础可达性。
2.2 地址的文本表示
IPv6 地址以文本字符串表示时存在三种常规形式:
首选格式:
格式为 x:x:x:x:x:x:x:x,其中每个 x 为地址中 8 个 16 位段的 1~4 位十六进制数字。
示例:
ABCD:EF01:2345:6789:ABCD:EF01:2345:6789
2001:DB8:0:0:8:800:200C:417A
注意:单个字段中的前导零无需书写,但每个字段至少保留一位数字。
零压缩语法: 由于部分 IPv6 地址分配方式会产生长串零位,为简化书写,可用特殊语法压缩连续零段:
- 用 表示一个或多个 16 位零组,且每个地址中 只能出现一次。


