摘要
draft-ietf-snac-simple-12试图自动连接 IPv6 末梢网络与相邻基础设施链路,但它把可寻址、可达和可发现明确分成不同功能。- 路由器重启或接管后,新前缀可能已经出现,旧地址和旧路由却仍在有效期内;新 RA 与可见服务都不能替应用连续性作证。
- 最小切换凭证应同时保留状态原因、前缀寿命、主机路由、发现结果和实际选址下的应用事务,又不能把本地证据变成新的中央权威。
一个“恢复”标签压扁了六种状态
SNAC rev12 面对的是很现实的异构网络:低速或不同介质的 IoT 末梢网,不能简单桥接到 Wi-Fi 或以太网。SNAC 路由器在不要求相邻基础设施改造的前提下,为末梢主机提供地址、路由、服务发现,以及需要时的 IPv4 服务访问。
自动化界面很容易把这些能力合并成一个灯。草案没有这样做。地址能否用于网外通信、基础设施主机是否有返回路由、DNS 或 DNS-SD 是否能找到服务,是三件不同的事。应用事务完成则是第四件事。
重启恰好把这种差异暴露出来。控制面可能已经选出一个前缀,主机仍记住另一个;服务记录已经可见,Route Information Option 却被过滤;出站 NAT64 可用,基础设施到末梢的回程仍不存在。
STATE-SUITABLE 不只检查前缀文本
SNAC 路由器接入相邻基础设施链路后,按 RFC 4861 做路由器发现。找到合适 on-link 前缀就进入 STATE-SUITABLE;找不到则进入 STATE-BEGIN-ADVERTISING,自行提供前缀。
“合适”需要两类观察。第一类是 RA 新鲜度:STALE_RA_TIME 默认十分钟,超过这一时间的通告不能继续支撑判断。第二类是通告路由器的邻居可达性:默认最多六十秒后就要主动探测。
这两项不是重复检查。一台路由器可能仍回应邻居探测,却已经停止发送新主机必需的 RA;一份 RA 也可能刚收到,发送者随后立即消失。前缀仍有有效期,只说明某个主机计时器还没走完,不能证明提供它的运行主体仍履行职责。
去优先不是删除,而是受控重叠
当 SNAC 自行提供前缀时,首选寿命和有效寿命默认都是三十分钟。发现更优前缀后,它进入 STATE-DEPRECATING:旧前缀首选寿命降为零,有效寿命随时间递减。如果替代前缀在此期间消失,路由器可以恢复自己原来的通告。
这给系统留下可逆路径,也意味着新旧状态必然有一段共存时间。不同主机收到 RA 的时刻不同,有的会漏掉多播通告,有的已有长连接,有的为新连接重新选源地址。路由器的状态机走得完全正确,也无法说明每台主机正在用哪个地址。
RFC 8978 讨论更广义的“闪速重编号”:新前缀出现,而旧状态没有被可靠撤回。它所举的七天首选寿命、三十天有效寿命是一般 SLAAC 默认值,不是 SNAC 自供前缀的三十分钟。数值不可混用,但逻辑相同:有效不等于可用。
归来的路由器会碰到自己的幽灵
草案的第一个重启场景很具体。路由器 A 原本提供 on-link 前缀,离线后由 B 用另一个前缀接管。A 返回时看到 B 的合适通告,因此不会重新发布旧前缀。
问题在于主机仍可能使用 A 的旧地址。A 收到发往该前缀的数据包时,已经不把它视为 on-link,可能交给默认路由,也可能丢弃。草案直接写出用户后果:IoT 设备短暂失控,自动化任务失败。
这不代表“重启必然重编号”。草案要求自生成 OSNR 前缀跨重启持久化,也指出 DHCPv6-PD 通常会取回相同前缀。真正值得查的是状态未持久化、离线时间足以触发接管、租约过期或改变、AIL 反复断连,以及网状网络分区再合并。
共享稳定 /64 能降低风险。Thread 用 Extended PAN ID 派生稳定 ULA。可条件仍然存在:同一末梢网络的所有 SNAC 路由器不能同时重启。连续性来自多个主体保留状态,而不是一个标识符获得了永生。
OSNR 前缀还有第二套接管
OSNR 前缀让末梢主机能同网外通信,可以来自 RFC 9915 的 DHCPv6-PD,也可以来自 RFC 4193 的 ULA。唯一通告者消失后,其他路由器可继续为旧前缀发布路由。如何协调保留原前缀,草案明确留在范围之外。
旧前缀接近到期时,另一台路由器可发布自己的 OSNR;记得旧前缀的路由器继续为它发布 RIO 直到过期。两条路由同时有效,有利于旧通信排空,却无法证明新事务选中了正确地址,也不能说明路由终点仍在同一网状分区。
服务能看见,路由仍可不存在
RA Guard 场景是最好的反例。基础设施可以拦截 SNAC 路由器的 RA,而 mDNS 不受影响。服务依然显示在列表中,但主机没有收到 RFC 4191 的 RIO,因此没有到 OSNR 前缀的路由。SNAC 提供的 NAT64 甚至可能让部分出站流量继续成功。
所以诊断必须比较三份收据:路由器记录自己发出了什么,代表性主机实际安装了什么路由,应用使用哪个地址完成了什么事务。RFC 6762 与 RFC 6763 能证明发现机制,却不能越权证明转发。
保存分歧发生过的那段时间
rev12 建议带时间记录重编号、去优先和失效,记录由谁提供 AIL 前缀,以及默认路由何时消失或返回。最小连续性凭证还应加入:路由器与本次启动身份、前缀角色、前后状态、触发原因、RA 来源与到达时间、邻居探测、首选与有效寿命、去优先起点、RIO、主机路由、发现结果,以及标明实际地址的应用事务。
这不是全球前缀登记系统。共同部分只负责让不同实现的本地判断可比较;保存多久、谁能看、如何修复,仍由运营者决定。这符合 Lu Heng 的最小初始规范原则,也符合现实分层:报文是陈述,状态机是模型,路由是运行条件,事务才是结果。
来源
会员简报
档案背景详情
使用相应会员等级登录,即可解锁完整简报与来源注释。
仅限 Strategic Circle
Strategic Circle
所有读者均可浏览。加入并登录后可解锁档案简报。
加入 Strategic Circle仅限 Leadership Alliance
Leadership Alliance
符合条件的 IP 资产所有者和管理层可登录查看 Leadership Alliance 简报。
加入 Leadership Alliance

