Summary

  • IPv6 Router Advertisement 宣告路由器及配置参数。Router Lifetime 只约束其作为默认路由器的有效性,选项可能有独立生命周期。
  • 默认路由选择取决于主机能力、偏好和可达状态。RFC 4861 明确用 Neighbor Unreachability Detection 检测第一跳故障,而不是依赖通告消失。
  • 可追溯回执必须连接收到的 RA、实际选中路由、Neighbor Cache/NUD 状态和代表性报文结果。

路由出现时,可达性还没有答案

设想一台主机收到有效 RA,把发送方加入默认路由器列表,界面立刻出现看似健康的 ::/0。link-local 地址存在,lifetime 非零,preference 也合适。但正向路径可能已经断开:链路存在非对称故障,路由器失去上游转发,或缓存的二层状态不再通向正确接口。

这不违背通告。Router Discovery 回答哪些路由器和参数已经被宣告;NUD 则寻找邻居仍在接收并由 IP 层处理报文的正向确认。把前者当成后者,会把合法的发现事件扩写成不存在的交付保证。

两者之间存在盲窗:RA 很新,默认路由已经安装,而上层协议进展或 NUD probe 尚未确认第一跳。若记录只保存“路由已安装”,最关键的状态变化就丢失了。

Router Advertisement 真正建立了什么

RFC 4861 把 RA 定义为路由器存在性及链路、互联网参数的通告。它可携带用于 on-link 判断或地址配置的前缀、建议的 hop limit、Router Lifetime、Reachable Time、Retrans Timer、链路层地址和 MTU。

这些信息不共用一个时钟。Router Lifetime 只适用于发送方作为默认路由器的有效性;其他字段和选项各自带有生命周期规则。仅凭“收到 RA”无法还原发送报文时哪些事实仍然有效。

标准对故障检测同样清楚:RA 的频率足以让主机发现路由器,却不足以通过“长时间没看到 RA”判断故障。故障检测交给独立的 NUD。最后一份 multicast RA 有多新,并不是存活探针,也不是双向报文进展证明。

Default Router List 也不是孤立表格。它的条目指向 Neighbor Cache,选择算法会优先使用已知可达的路由器,而不是可达性可疑的路由器。最终 next hop 是发现、缓存和目的地状态共同产生的动态结果,不是一份 RA 永久携带的含义。

偏好改变选择,不证明交付

RFC 4191 在 RA header 中加入 Default Router Preference,并为更具体前缀定义 Route Information Option。三档偏好不是 metric。Router Lifetime 为零时,接收方忽略 header 的 preference;每份 RIO 还拥有自己的前缀、preference 和 lifetime。

主机行为并不一致。type A 忽略 preference 和 RIO;type B 使用默认路由器 preference,但忽略 RIO;type C 同时使用两者构建路由表。对 type C 而言,::/0 RIO 可以覆盖 RA header 的 preference 和 lifetime。因此,同一链路上接收相同字节的主机,可能因支持模型不同而得到不同的有效路由。

即使使用 preference,可达性仍排在前面。type B 先偏好可达路由器,再比较 preference;type C 先做最长前缀匹配,只用 preference 打破相同前缀长度的平局,并跳过 next-hop 已知不可达的路由。若完全没有可达信息,概念算法先假设路由器可达。这一假设允许发送开始,却不是发送成功的证据。

NUD 提供的是另一类证据

Neighbor Unreachability Detection 寻找正向确认:发给邻居的报文确实到达,并由对方 IP 层正确处理。近期上层协议的 forward progress 可以充当确认;没有这类提示时,节点发送 unicast Neighbor Solicitation,并用 solicited Neighbor Advertisement 测试可达性。

Neighbor Cache 不只是地址绑定。其概念状态包含可达性、未应答 probe 数量和下一次 NUD 事件时间。默认路由可以继续存在,而邻居状态已经历 reachable、stale、delay、probe。路由条目与邻居条目必须放在同一时间线上阅读。

NUD 仍是第一跳证据,不是端到端保证。路由器可以回应邻居探测,却没有到目的地的上游路径;暂时缺少应用进展也不自动证明故障。每个观测都要保留自己的范围。

来源