RFC4291 IPv6 地址架构
1. 概述
1.1 本备忘录状态
本文档为互联网社区指定了一种互联网标准轨道协议,并征求有关改进的讨论和建议。有关本协议的标准化状态和状况,请参考当前版本的《互联网官方协议标准》(STD 1)。
档定义了 IPv6 编址架构,涵盖 128 位地址模型、文本表示法及各类地址类型。主要内容包括单播、任播和多播地址的定义与结构,详细说明了链路本地、全局单播、回环及未指定地址的格式与用途。文档还规定了节点必备地址要求,指出 IPv6 无广播地址而由多播取代,并提及 IPv4 兼容地址已弃用及安全考虑。

本文档为互联网社区指定了一种互联网标准轨道协议,并征求有关改进的讨论和建议。有关本协议的标准化状态和状况,请参考当前版本的《互联网官方协议标准》(STD 1)。
本规范定义了 IPv6(互联网协议第 6 版)的编址架构。文档内容包括 IPv6 编址模型、IPv6 地址的文本表示、IPv6 单播地址、任播地址和多播地址的定义,以及 IPv6 节点的必备地址。
本文档替代了 RFC 3513《IPv6 编址架构》。
IPv6 地址是用于标识接口及接口集合的 128 位标识符。地址分为三种类型:
IPv6 中不存在广播地址,其功能已被多播地址取代。
本文档中,地址字段被赋予特定名称(如'子网')。当名称后接'ID'时,指该命名字段的内容;当接'前缀'时,指从地址左侧开始直至该字段(含)的全部内容。
在 IPv6 中,除非特别排除,任何字段的合法值均可为全零或全一。
所有类型的 IPv6 地址均分配给接口,而非节点。IPv6 单播地址标识单个接口,由于每个接口属于唯一节点,该节点任意接口的单播地址均可作为节点标识符。
所有接口必须至少拥有一个链路本地单播地址。单个接口可同时拥有多个任意类型(单播、任播、多播)或作用域的 IPv6 地址。对于不用于与非邻居节点收发 IPv6 数据包的接口,无需配置作用域大于链路范围的单播地址。
若实现将多个物理接口在网络层视为单个接口,则可向这些接口分配单个或一组单播地址。此特性适用于通过多物理接口实现负载分担的场景。
当前 IPv6 沿用 IPv4 模型,即子网前缀与一条链路关联,同一链路可分配多个子网前缀。
即使接口仅用于本地通信,也必须配置链路本地地址(如 FE80::/10 前缀地址),以确保链路层通信的基础可达性。
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
注意:单个字段中的前导零无需书写,但每个字段至少保留一位数字。
零压缩语法:
可用特殊语法压缩连续零段:用 :: 表示一个或多个 16 位零组,且每个地址中 :: 只能出现一次。
| 原始地址 | 压缩后地址 | 类型说明 |
|---|---|---|
2001:DB8:0:0:8:800:200C:417A | 2001:DB8::8:800:200C:417A | 单播地址 |
FF01:0:0:0:0:0:0:101 | FF01::101 | 多播地址 |
0:0:0:0:0:0:0:1 | ::1 | 回环地址 |
0:0:0:0:0:0:0:0 | :: | 未指定地址 |
IPv4 - 兼容混合格式:
在 IPv4/IPv6 混合环境中,可用 x:x:x:x:x:x:d.d.d.d 格式。前 6 个 x 为地址高 6 个 16 位段的十六进制值,后 4 个 d 为低 4 个 8 位段的十进制值。
示例:
::13.1.68.3
::FFFF:129.144.52.38
IPv6 地址前缀的文本表示方式类似于无类别域间路由(CIDR)记法中 IPv4 地址前缀的写法。
格式:ipv6-address/prefix-length
合法与非法表示示例:
| 前缀描述 | 合法表示示例 | 非法表示示例 |
|---|---|---|
60 位前缀 20010DB80000CD3 | 2001:0DB8:0000:CD30:0:0:0:0/60 | 2001:0DB8:0:CD3/60 |
错误原因:
:: 扩展后前缀长度不足。IPv6 地址的类型通过地址的高位比特进行标识:
| 地址类型 | 二进制前缀 | IPv6 表示法 | 章节 |
|---|---|---|---|
| 未指定地址 | 全 0(128 位) | ::/128 | 2.5.2 |
| 回环地址 | 00…1(128 位) | ::1/128 | 2.5.3 |
| 多播地址 | 11111111 | FF00::/8 | 2.7 |
| 链路本地单播地址 | 1111111010 | FE80::/10 | 2.5.6 |
| 全球单播地址 | (其他所有情况) | - | - |
任播地址取自单播地址空间,且在语法上与单播地址无区别。
IPv6 单播地址可使用任意比特长度的前缀进行聚合。IPv6 中存在多种单播地址类型,特别是全球单播地址、站点本地单播地址(已弃用) 和链路本地单播地址。
IPv6 单播地址中的接口标识符用于标识链路上的接口,要求在子网前缀内唯一。除二进制值以 000 开头的单播地址外,所有单播地址的接口标识符必须为 64 位长,并采用修改的 EUI-64 格式构造。
基于修改的 EUI-64 格式的接口标识符,若派生自全局令牌(如 IEEE 802 48 位 MAC)则具有全局范围;若缺乏全局令牌或无需全局令牌,则具有本地范围。
地址 0:0:0:0:0:0:0:0 称为未指定地址,绝不可分配给任何节点。它表示地址缺失,典型用途如初始化主机在获取自身地址前发送的 IPv6 数据包的源地址字段。
未指定地址不得作为 IPv6 数据包的目的地址或出现在 IPv6 路由报头中。
单播地址 0:0:0:0:0:0:0:1 称为回环地址,节点可用其向自身发送 IPv6 数据包,但绝不可分配给任何物理接口。该地址被视为具有链路本地作用域。
回环地址不得作为节点外发 IPv6 数据包的源地址。目的地址为回环地址的 IPv6 数据包,绝不可发送到节点外部。
IPv6 全球单播地址用于在全球范围内唯一标识网络中的设备,其一般格式如下:
| n 位 | m 位 | 128 - n - m 位 |
|---|---|---|
| 全球路由前缀 | 子网 ID | 接口 ID |
除了以二进制 000 开头的地址外,所有全球单播地址都有一个 64 位的接口 ID 字段。
定义了两种在地址低 32 位携带 IPv4 地址的 IPv6 地址类型:IPv4 兼容的 IPv6 地址和IPv4 映射的 IPv6 地址。
链路本地地址仅用于单一链路,格式如下:
| 10 位 | 54 位 | 64 位 |
|---|---|---|
| 1111111010 | 0 | 接口标识符 |
路由器禁止转发源或目的地址为链路本地地址的数据包到其他链路。
该地址原设计用于站点内部寻址,现已按 [SLDEP] 弃用。新实现不再支持该前缀特殊行为(需将其视为全球单播地址)。
IPv6 任播地址是分配给多个接口(通常属于不同节点)的地址,其特性是:根据路由协议的距离度量,发往任播地址的数据包将被路由至拥有该地址的'最近'接口。
任播地址从单播地址空间中分配,使用任意已定义的单播地址格式。因此,任播地址在语法上与单播地址无法区分。
子网路由器任播地址已预先定义,其格式如下:
| n 位 | 128-n 位 |
|---|---|
| 子网前缀 | 00000000000000(全 0) |
发往子网路由器任播地址的数据包将被交付至子网中的某一台路由器。
IPv6 多播地址是一组接口(通常位于不同节点)的标识符。多播地址的格式如下:
| 8 位 | 4 位 | 4 位 | 112 位 |
|---|---|---|---|
| 11111111 | flgs | scop | group ID |
多播地址使用规则:
以下为预定义的知名多播地址:
FF02:0:0:0:0:1:FFXX:XXXX,由节点的单播/任播地址计算得到。主机必须识别以下标识自身的地址:
路由器必备地址,路由器除需识别主机的所有必备地址外,还需额外识别:
| 地址类型 | 主机需求 | 路由器额外需求 |
|---|---|---|
| 链路本地地址 | 每个接口必须配置 | 同上 |
| 任播地址 | 可选(若配置) | 必须支持子网路由器任播地址 |
| 多播地址 | 加入所有节点组和被请求节点组 | 额外加入所有路由器组 |
| 回环地址 | 必须识别 | 同上 |
IPv6 寻址相关文档对互联网基础设施安全没有直接影响。IPv6 数据包的认证机制在 [AUTH] 中定义。
IPv4 兼容的 IPv6 地址,已被本文档弃用。IANA 应继续将包含这些地址的地址块标记为'IETF 保留',且不得重新分配作其他用途。 例如:
0000::/8:IETF 保留。IANA 为该地址块添加了以下注释和链接:
0000::/96 此前被定义为'IPv4 兼容 IPv6 地址'前缀,该定义已被 RFC 4291 弃用。IANA 已相应更新 IANA 注册表中 IPv6 地址架构的引用信息。

微信公众号「极客日志」,在微信中扫描左侧二维码关注。展示文案:极客日志 zeeklog
将字符串编码和解码为其 Base64 格式表示形式即可。 在线工具,Base64 字符串编码/解码在线工具,online
将字符串、文件或图像转换为其 Base64 表示形式。 在线工具,Base64 文件转换器在线工具,online
将 Markdown(GFM)转为 HTML 片段,浏览器内 marked 解析;与 HTML转Markdown 互为补充。 在线工具,Markdown转HTML在线工具,online
将 HTML 片段转为 GitHub Flavored Markdown,支持标题、列表、链接、代码块与表格等;浏览器内处理,可链接预填。 在线工具,HTML转Markdown在线工具,online
通过删除不必要的空白来缩小和压缩JSON。 在线工具,JSON 压缩在线工具,online
将JSON字符串修饰为友好的可读格式。 在线工具,JSON美化和格式化在线工具,online