附录 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 中移除路由器的要求
F.4.2. Link-Local 地址生成
变更: 更新内容以反映当前 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, 最重要的变更包括:
- 增强的安全指导 - 对现代部署至关重要
- 澄清的 NUD 行为 - 改善互操作性
- 更新的规范性引用 - 反映当前 IPv6 规范
- 重编号考虑 - 为运营者提供实用指导
- 编辑性改进 - 提高清晰度和一致性
注: 尽管 RFC 4861 废止了 RFC2461, 但基础协议保持不变. 大多数变更都是基于实现和部署经验作出的澄清, 修正和增强.