摘要

  • RFC 6860 将两项经常被混在一起的事实分开:OSPF 可以继续保留供 SPF 使用的路由器连接关系,同时不再发布会让中转网段作为目的地进入远端 RIB/FIB 的前缀信息。
  • “隐藏”只描述一项受边界约束的路由状态。OSPFv2 的 LSA 仍可能出现接口地址;旧版本路由器可能安装 DR 的 /32;管理、Forwarding Address 与虚链路也可能因地址不可达而受损。

先看 RIB,再看拓扑图

如果变更后的第一张截图只是“路由条目减少”,它几乎没有证明力。前缀减少可能来自成功抑制,也可能来自邻接中断、LSA 丢失或过滤错误。正确的检查顺序必须同时回答两组问题:链路是否还在为拓扑服务,前缀是否只从目的可达性中退出。

在 OSPFv2 的有编号点到点链路上,Router-LSA 通常为同一条物理连接留下两种描述。Type 1 link 指向邻居路由器,参与 SPF;Type 3 stub link 描述所分配的网段,使该网段进入路由表。RFC 6860 的做法很克制:省略 Type 3,保留 Type 1。

于是,路由器仍知道“从这里可以走向那个邻居”,却不再向整个区域声称“这个接口网段应当成为一个可路由目的地”。它不是关接口,不是撤销地址,也不是把度量抬高来排斥中转流量。它修改的是地址信息被投射到远端 RIB 的资格。

广播网络不能删掉整份 LSA

广播网络由 Designated Router 发布 Network-LSA,列出所有相连路由器。这个对象既承载网络前缀信息,也承载 SPF 所需的拓扑关系。如果为隐藏地址而删除整份 LSA,拓扑也会被破坏。

RFC 6860 因此使用特殊掩码 255.255.255.255。DR 继续发布 Network-LSA 与 Attached Router 列表;支持该扩展的接收者照常计算拓扑,但不得把对应网段装入 RIB。按广播方式工作的 NBMA 网络采用同一规则。

这里存在一个必须公开的兼容性差异。旧路由器可能把特殊掩码当作普通 /32,从而安装一条指向 DR 接口地址的主机路由;新路由器则完全不安装该前缀。标准认为只暴露一个地址好过暴露整个中转网段,但这并没有让不同版本的结果变得相同。

所以,LSDB 一致不等于 RIB 一致。验证报告必须逐台写明软件能力、收到的 LSA 与最终路由,而不能用“区域内已经隐藏”替代接收端证据。

OSPFv3 把地址与拓扑拆得更开

OSPFv3 的 Router-LSA 与 Network-LSA 主要描述拓扑,不再把网络地址塞进核心对象。Link-LSA 以链路本地范围关联地址;Intra-Area-Prefix-LSA 则把前缀关联到路由器或中转网络。

因此,前缀抑制可以保留拓扑 LSA,只在构造 Intra-Area-Prefix-LSA 时省略中转前缀。RFC 5838 的多地址族支持把地址族映射到不同 OSPFv3 实例,仍可沿用同一分工,而不必再发明一种“隐藏消息”。

这种结构更清晰,却不等于所有痕迹消失。Link-LSA、Router ID、接口状态、配置和本地遥测仍然存在。某个地址可以继续配置在接口上,但在区域内不再可达。可辩护的说法只能是:在指定时间、指定实例和指定接收者上,该前缀没有进入 OSPF 派生的 RIB/FIB。

已知,不等于可达

RFC 6860 的安全动机是减少远端能够直接寻址的 OSPF 核心网段。即使攻击者知道地址,如果中间路由器没有通往该前缀的转发信息,普通报文也无法沿那条 OSPF 可达性抵达。

但这不是加密、认证或访问控制。OSPFv2 的 Router-LSA Link Data 仍可能出现接口地址,Network-LSA 的 Link State ID 仍可能是 DR 地址。直连路由器拥有 connected route;静态路由、其他协议、隧道或管理网也可能提供替代路径。

“隐藏”因而必须带上观察对象:从哪台路由器的哪张表隐藏?是否只是不再由 OSPF 提供?FIB 中是否还有其他来源的路由?从真正需要降低暴露的入口做过包测试吗?

同理,“收敛更快”不能仅凭前缀数下降得出。标准解释了减少状态的方向,具体网络仍需保留变更前基线、变更后 SPF/RIB 时间与拓扑条件。机制不是性能验收单。

一个地址可能不只负责编号

中转地址经常兼任 ping、traceroute 返回、接口管理、告警关联或自动化目标。业务流量可以继续越过链路,而工程师却失去熟悉的诊断入口。RFC 6860 专门列出这种管理能力折损。

更危险的是协议依赖。AS-external-LSA 或 NSSA-LSA 中非零的 Forwarding Address 必须能在路由表中解析。隐藏接口上的下一跳地址不得继续作为 Forwarding Address;否则 SPF 缺少所需的匹配路由,外部路由还可能被迫走次优路径。

OSPF 虚链路也要求端点通过区域内路径可达。已被抑制的接口地址不能继续作为虚链路端点。保留拓扑边,无法挽救一个明确依赖“地址可达”的控制功能。

变更清单还要查 BGP 等跨域会话、ACL、采集器、脚本、流量记录与应急路径。“transit-only”不是掩码自带的属性,而是运营者对所有已知用途作出的、需要持续复核的判断。

同一次变更需要两张回执

FRRouting 与 Cisco 当前文档都提供 prefix suppression 控制。这能证明某些软件家族记录了该能力,不能证明生产实例已启用,更不能证明范围正确。

第一张回执证明连续性:邻接没有掉,Type 1 拓扑关系仍在,SPF 结果可解释,预期数据包仍能跨过链路。第二张回执证明抑制:相应 Type 3 stub link 或前缀关联已经省略,或 Network-LSA 带有特殊掩码;支持扩展的每台接收者都没有在 RIB/FIB 安装该前缀;遗留设备上的 /32 结果也在批准的迁移范围内。

两张回执还必须连接软件版本、配置作用域、例外接口、替代管理地址、Forwarding Address 与虚链路检查、包测试、负责人及回滚条件。仅看路由总数,无法区分精确抑制与控制面缺失。

Álvaro Retana 的有限而可靠的归属

2013 年发布的 RFC 6860 列名作者为 Yi Yang、Álvaro Retana 与 Abhay Roy,并致谢更广泛的发明者、贡献者和审阅者。IETF 人物页记录了 Retana 更长的路由标准经历,但这不赋予他对 OSPF、厂商代码或运营网络的所有权。

共同署名已经足以支持一项准确结论:Retana 参与的集体标准工作,为“链路仍有拓扑效用、前缀不再拥有远端可达性”规定了最小共享语义。实现提供能力,运营者决定启用范围,运行证据决定能否验收。

最终账本应把五句话分开:链路存在;OSPF 继续使用它;接口仍有地址;远端不安装该前缀;必要功能仍然可用。RFC 6860 的价值就在于允许这些事实分别成立。清晰的运营记录则负责阻止它们再次被压缩成一个“已隐藏”的绿色标签。

资料来源