跳到主要内容
极客日志极客日志面向AI+效率的开发者社区
首页博客GitHub 精选镜像AI 生图工具UI配色美学隐私政策关于联系
搜索内容 / 工具 / 仓库 / 镜像...⌘K搜索
注册
博客列表
编程语言

IPv6 地址架构详解 (RFC4291)

IPv6 地址架构定义 128 位标识符,分为单播、任播、多播三类,无广播地址。文本表示支持零压缩与混合格式。全球单播地址取代站点本地地址。节点必备链路本地及回环地址,路由器需额外支持子网路由器任播。安全影响较小,IANA 管理地址空间分配。

星星泡饭发布于 2026/3/17更新于 2026/7/2938 浏览
IPv6 地址架构详解 (RFC4291)

IPv6 地址架构详解

本文档基于 RFC 4291,梳理了 IPv6 编址的核心模型与规范。作为网络工程师,理解这些基础概念对于排查路由问题、设计网络拓扑至关重要。

1. 概述

本规范定义了 IPv6(互联网协议第 6 版)的编址架构。文档涵盖了编址模型、文本表示、单播/任播/多播地址定义,以及节点的必备地址要求。它替代了早期的 RFC 3513。

2. IPv6 编址

IPv6 地址是 128 位的标识符,用于标记接口或接口集合。地址主要分为三类:

  • 单播 (Unicast):标识单个接口。数据包交付至该地址对应的唯一接口。
  • 任播 (Anycast):标识一组接口(通常属于不同节点)。数据包交付给'最近'的一个接口,由路由协议决定。
  • 多播 (Multicast):标识一组接口。数据包交付给该组内的所有接口。

注意:IPv6 中不存在广播地址,其功能已完全由多播取代。

在地址字段命名上,若名称后接"ID"(如子网 ID),指该字段内容;若接'前缀',则指从左侧开始直至该字段的全部位。

2.1 地址模型

所有 IPv6 地址均分配给接口而非节点。每个接口必须至少拥有一个链路本地单播地址。一个接口可同时拥有多个不同类型的地址。对于不与其他非邻居节点通信的接口(如点到点接口),无需配置作用域大于链路的单播地址。

当前模型沿用 IPv4 习惯,即子网前缀与一条链路关联,同一链路可分配多个前缀。即使仅用于本地通信,也必须配置链路本地地址(如 FE80::/10)以确保基础可达性。

2.2 地址的文本表示

IPv6 地址有三种常规文本形式:

  1. 首选格式:x:x:x:x:x:x:x:x,每段为 1~4 位十六进制数。

    • 示例:ABCD:EF01:2345:6789:ABCD:EF01:2345:6789
    • 规则:前导零可省略,但每段至少保留一位。
  2. 零压缩语法:用 :: 替换连续的一个或多个 16 位零组。每个地址中 :: 只能出现一次。

    • 示例:
      • 2001:DB8::8:800:200C:417A
      • ::1 (回环)
      • :: (未指定)
  3. IPv4 兼容混合格式:x:x:x:x:x:x:d.d.d.d。

    • 示例:::13.1.68.3 或 ::FFFF:129.144.52.38

2.3 地址前缀的文本表示

采用类似 CIDR 的记法:ipv6-address/prefix-length。

前缀描述合法表示非法表示
60 位前缀2001:0DB8::CD30::/602001:0DB8::CD3/60

错误原因:压缩后的段必须保持 16 位对齐,且 :: 扩展后前缀长度需准确。

当同时表示节点地址及子网前缀时,可直接组合:

2001:0DB8:0:CD30:123:4567:89AB:CDEF/60 

2.4 地址类型标识符

通过高位比特区分地址类型:

地址类型二进制前缀IPv6 表示法
未指定地址全 0::/128
回环地址00…1::1/128
多播地址11111111FF00::/8
链路本地单播1111111010FE80::/10
全球单播地址其他-

任播地址取自单播空间,语法上与单播无法区分,需显式配置告知节点其为任播。

2.5 单播地址

2.5.1 接口标识符

用于标识链路上的接口,要求在子网内唯一。建议全局唯一。通常为 64 位长,采用修改的 EUI-64 格式构造。

构造时需翻转'u'位(全局/本地位):

  • 设为 1:全局范围
  • 设为 0:本地范围

这种设计便于管理员手动配置非全局标识符(如隧道端点),避免复杂的数值表示。

2.5.2 未指定地址

0:0:0:0:0:0:0:0,不可分配给任何节点。常用于初始化主机获取地址前的源地址字段。不得作为目的地址或出现在路由报头中。

2.5.3 回环地址

0:0:0:0:0:0:0:1,向自身发送数据包。不得作为外发源地址,路由器不转发,接收后丢弃。

2.5.4 全局单播地址

用于全球范围内唯一标识设备。通用格式包含全球路由前缀、子网 ID 和接口 ID。除特殊子类型外,接口 ID 均为 64 位。

2.5.5 嵌入 IPv4 地址的 IPv6 地址
  • IPv4 兼容:0000...0000:0000:IPv4。已弃用,新实现无需支持。
  • IPv4 映射:0000...0000:FFFF:IPv4,用于将 IPv4 地址表示为 IPv6。
2.5.6 链路本地 IPv6 单播地址

仅用于单一链路,格式为 FE80::/10。路由器禁止转发此类数据包到其他链路。

2.5.7 站点本地 IPv6 单播地址

原设计用于站点内部,现已按标准弃用。新实现应将其视为全球单播地址处理。

2.6 任播地址

从单播地址空间分配,语法上与单播无区别。发往任播地址的数据包被路由至'最近'接口。需注意,若任播集合缺乏拓扑局部性,将对互联网路由扩展性构成限制。

2.6.1 必备任播地址

子网路由器任播地址:格式为 子网前缀 + 全 0 接口 ID。用于节点与子网内任意一台路由器通信。

2.7 多播地址

标识一组接口。格式包含 8 位标志、4 位作用域、4 位标志和 112 位组 ID。

  • 作用域 (scop):限制多播范围(如接口本地、链路本地、站点本地、全局等)。
  • T 标志:0 为永久分配,1 为临时分配。

使用规则:

  1. 禁止作为源地址。
  2. 路由器不得转发超过作用域的数据包。
  3. 保留值需静默丢弃。
2.7.1 预定义多播地址
  • 所有节点:FF02::1 (链路本地)
  • 所有路由器:FF02::2 (链路本地)
  • 被请求节点:FF02::1:FFXX:XXXX,由单播地址低 24 位生成,用于减少邻居发现开销。

2.8 节点的必备地址

主机必须识别:

  • 每个接口的链路本地地址。
  • 回环地址 (::1)。
  • 所有节点多播地址(如 FF02::1)。
  • 对应单播地址的被请求节点多播地址。

路由器额外需求:

  • 子网路由器任播地址。
  • 所有路由器多播地址(如 FF02::2)。
地址类型主机需求路由器额外需求
链路本地地址每个接口必须配置同上
任播地址可选必须支持子网路由器任播
多播地址加入节点组和被请求组额外加入路由器组

3. 安全考虑

IPv6 寻址本身对基础设施安全无直接影响。数据包的认证机制参考相关安全文档。

4. IANA 注意事项

IANA 负责管理 IPv6 地址空间。IPv4 兼容地址已被弃用,相关块标记为"IETF 保留",不得重新分配。

目录

  1. IPv6 地址架构详解
  2. 1. 概述
  3. 2. IPv6 编址
  4. 2.1 地址模型
  5. 2.2 地址的文本表示
  6. 2.3 地址前缀的文本表示
  7. 2.4 地址类型标识符
  8. 2.5 单播地址
  9. 2.5.1 接口标识符
  10. 2.5.2 未指定地址
  11. 2.5.3 回环地址
  12. 2.5.4 全局单播地址
  13. 2.5.5 嵌入 IPv4 地址的 IPv6 地址
  14. 2.5.6 链路本地 IPv6 单播地址
  15. 2.5.7 站点本地 IPv6 单播地址
  16. 2.6 任播地址
  17. 2.6.1 必备任播地址
  18. 2.7 多播地址
  19. 2.7.1 预定义多播地址
  20. 2.8 节点的必备地址
  21. 3. 安全考虑
  22. 4. IANA 注意事项
  • 免费图片AI生成工具免费生成了解详情
  • Magick API 一键接入全球大模型注册送1000万token查看
  • 免费图片视频在线生成30秒,将你的创意变成现实开始设计
  • X/Twitter免费视频下载器免登陆无限额度免费视频解析下载了解详情
  • 100+免费在线小游戏爽一把
极客日志微信公众号二维码

微信扫一扫,关注极客日志

微信公众号「极客日志V2」,在微信中扫描左侧二维码关注。展示文案:极客日志V2 zeeklog

更多推荐文章

查看全部
  • RexUniNLU 前端联动:Vue 组件封装 + Schema 可视化编辑器
  • VSCode 原生 Copilot 接入 DeepSeek 模型配置实战
  • 从冯诺依曼体系到操作系统:解析 Linux 底层核心逻辑
  • 节点小宝 4.0 实测:告别网管式运维,打造极简远程工作流
  • 使用 OLLAMA 国内镜像源加速本地大模型部署
  • 基于 Coze 与 Trae IDE 的 AI 辅助全栈开发实战流程
  • FPGA 千兆以太网 SGMII 接口配置实战
  • FPGA 工程师岗位方向详解:职责、能力与选择建议
  • LLaMA-Factory 环境配置与安装实战指南
  • AIGC 时代如何打造卓越的技术文档
  • Cogito-v1-preview-llama-3B 混合推理模式延迟与质量权衡
  • 大模型面试题整理:RAG、SFT、RLHF 与核心架构
  • 2026 AI 大模型排行榜:Google 综合领先,Anthropic 编程突出,OpenAI 文生图夺冠
  • 客户端负载均衡器详解:Spring Cloud LoadBalancer 与 Ribbon 对比
  • Git 本地核心操作:Commit 规范、Reset 回退与 Restore 撤销
  • Qwen3 与 Qwen Agent 智能体开发实战:接入 MCP 工具
  • 2025 AI 编程爆发元年回顾:从 Copilot 到 Agent 的范式重构
  • AI 大模型:技术趋势、行业应用与未来展望
  • IntelliJ IDEA 三大 AI 编程插件实测:Copilot、TRAE 与灵码深度对比
  • SpringBoot 集成 MyBatis 与 MyBatis-Plus 详解

相关免费在线工具

  • Base64 字符串编码/解码

    将字符串编码和解码为其 Base64 格式表示形式即可。 在线工具,Base64 字符串编码/解码在线工具,online

  • Base64 文件转换器

    将字符串、文件或图像转换为其 Base64 表示形式。 在线工具,Base64 文件转换器在线工具,online

  • Markdown转HTML

    将 Markdown(GFM)转为 HTML 片段,浏览器内 marked 解析;与 HTML转Markdown 互为补充。 在线工具,Markdown转HTML在线工具,online

  • HTML转Markdown

    将 HTML 片段转为 GitHub Flavored Markdown,支持标题、列表、链接、代码块与表格等;浏览器内处理,可链接预填。 在线工具,HTML转Markdown在线工具,online

  • JSON 压缩

    通过删除不必要的空白来缩小和压缩JSON。 在线工具,JSON 压缩在线工具,online

  • JSON美化和格式化

    将JSON字符串修饰为友好的可读格式。 在线工具,JSON美化和格式化在线工具,online