跳到主要内容

附录 F. 相对 RFC2461 的变更

本附录总结了 RFC 4861 与其前身 RFC2461 之间的变更.

F.1. 主要变更

F.1.1. 更新引用

变更: 对过时 RFC 的引用已经更新

  • RFC 2463 (ICMPv6) -> RFC 4443
  • RFC 2373 (IPv6 Addressing) -> RFC 4291

F.1.2. Neighbor Unreachability Detection 说明

变更: 澄清了应执行 Neighbor Unreachability Detection 的条件

  • 增加了上层可达性确认何时足够的指导
  • 澄清了 DELAY 与 PROBE 状态之间的关系

F.1.3. 安全考虑增强

变更: 显著扩展了 Security Considerations 章节

  • 增加了详细威胁分析
  • 讨论了 SEcure Neighbor Discovery (SEND)
  • 处理了 RFC2461 之后发现的新攻击向量

F.2. 技术修正

F.2.1. Router Advertisement 处理

变更: 澄清了 Router Lifetime 为零的 Router Advertisement 的处理

  • 此类 RA 用于表示路由器不再可用
  • 主机必须立即从 Default Router List 中移除该路由器

F.2.2. Redirect 消息处理

变更: 澄清了 Redirect 消息只能从当前第一跳路由器接受

  • 增加了显式验证要求
  • 强化了重定向处理的安全要求

F.2.3. Prefix Information Option

变更: 澄清了带有以下内容的 Prefix Information option 的处理:

  • Preferred Lifetime > Valid Lifetime (视为无效)
  • On-link 标志和 Autonomous 标志的交互

F.3. 编辑性变更

F.3.1. 术语一致性

变更: 改进了整个文档中的术语一致性

  • 规范了 "link-layer address" 与 "link-layer address" 的使用
  • 统一使用 RFC 2119 关键词 (MUST, SHOULD, MAY)

F.3.2. 消息格式图

变更: 更新了消息格式图以提升清晰度

  • 改进了位字段表示
  • 增加了更详细的选项格式规范

F.4. 行为变更

F.4.1. IsRouter 标志处理

变更: 澄清了设置和清除 IsRouter 标志的规则

  • 规定了从已知路由器收到 R=0 的 Neighbor Advertisement 时的行为
  • 增加了从 Default Router List 中移除路由器的要求

变更: 更新内容以反映当前 Link-Local 地址生成实践

  • 引用了隐私扩展 (RFC 4941)
  • 提供了 EUI-64 与替代方法的指导

F.4.3. Duplicate Address Detection

变更: 对 DAD 作出少量澄清:

  • DAD 期间收到 Neighbor Advertisement 时的行为
  • anycast 地址的 DAD 处理

F.5. 新增章节

F.5.1. 重编号考虑

变更: 增加了第 12 节, 提供网络重编号指导

  • 如何使用 Router Advertisement 进行重编号
  • 重编号期间的前缀生命周期管理

F.5.2. 概念性发送算法

变更: 增强了概念性发送算法的描述

  • 澄清了下一跳确定
  • 改进了 Destination Cache 使用方式的说明

F.6. 移除或弃用的内容

F.6.1. 实现示例

变更: 移除了部分特定于实现的示例

  • 聚焦于协议要求, 而不是实现选择
  • 将实现指导移至附录

F.7. IANA 考虑

变更: 更新了 IANA Considerations 章节, 以反映当前 IANA 流程

  • 引用了 RFC 8126 作为注册流程
  • 澄清了选项类型分配策略

F.8. 协议常量

变更: 对协议常量定义作出少量调整

  • 澄清了单位和含义
  • 增加了常量何时可以调整的指导

F.9. 对实现的影响

兼容性: RFC 4861 与 RFC2461 在很大程度上向后兼容

  • 大多数变更是澄清, 而不是功能变更
  • 安全相关变更可能要求更新现有实现

迁移: 实现可以增量迁移

  • 部署无需 flag day
  • 与 RFC2461 实现保持互操作性

F.10. 关键变更摘要

相对 RFC2461, 最重要的变更包括:

  1. 增强的安全指导 - 对现代部署至关重要
  2. 澄清的 NUD 行为 - 改善互操作性
  3. 更新的规范性引用 - 反映当前 IPv6 规范
  4. 重编号考虑 - 为运营者提供实用指导
  5. 编辑性改进 - 提高清晰度和一致性

: 尽管 RFC 4861 废止了 RFC2461, 但基础协议保持不变. 大多数变更都是基于实现和部署经验作出的澄清, 修正和增强.