摘要
- RFC 1403 把 OSPF 外部路由标签拆成 Automatic、Completeness、PathLength 等字段;这些位描述路径证据的状态,而不是保存完整路径。
- 手工标签只是本地不透明信息。自动标签也只能区分零跳、一跳和更长路径,无法从中还原任意
AS_PATH。 - 规范把信息损失变成权限限制:路径被截断或必须由另一份完整记录承载时,不得从 OSPF 投影重新导出 BGP 宣告。
32 位空间里,最重要的是一句“不知道”
早期互联网的一个自治系统边界上,外部 BGP 与内部 OSPF 描述的是同一片可达性,却使用不同的证据结构。BGP 关心跨域路径;OSPF 在域内计算代价和下一跳。边界路由器可以把外部路由导入 OSPF,另一台边界路由器又可能准备把它送回 BGP。
危险不在“能不能转换”,而在转换之后还剩多少历史。如果 OSPF 里的记录已经丢掉了原始自治系统序列,第二台路由器凭什么重新讲述那条路径?
RFC 1403 给出的标签只有 32 位。自动生成时,最高位说明生成方式,一位表示路径信息是否完整,两位把路径长度分成零、一、大于一以及保留状态;其余空间留给任意标签和一个自治系统号。
这不是缩小版 AS_PATH。它是一张关于证据状况的便条:我来自什么生成过程,我知道的路径是否完整,我所代表的路径大致属于哪一类。
同一个整数,可能根本不是同一种记录
Automatic 位为零时,剩余 31 位由管理员自行解释。为了兼容已经部署的 OSPF 实现,这还是默认状态。规范明确要求:不得仅凭这些位形推断路由特征。
Automatic 位为一时,Completeness 与 PathLength 才获得共享语义。于是,读取标签之前必须先回答一个更基础的问题:这份记录是否由双方承认的规则生成?
这当然不是身份认证。RFC 1403 说安全问题未在文中讨论。Automatic 不证明设备可信,也不阻止错误配置;它只限定这些位能否按协议语法解释。
但这层限定已经足够重要。数据的形状与数据的来历不能互相替代。一个数值恰好长得像结构化标签,不等于它真的承载了那套含义。
“不完整”和“完整但另存”不能混为一谈
当 PathLength 表示零或一时,小标签还可能支持有限的重建:本地来源可以形成只含本地 AS 的路径,携带一个邻接 AS 的来源可以形成更短的明确序列。前提仍包括导入规则、来源类别和显式导出策略。
超过一跳后,压缩边界暴露出来。16 位 AS 字段装不下任意路径序列。
第一种情况是路径已经被截断。标签能够报告“信息不完整,长度不止一段”,却不知道中间经过了谁。RFC 1403 对此不是给出默认猜法,而是规定另一台 AS 边界路由器不得把这条 OSPF 路由重新导出到 BGP。
第二种情况是完整 BGP 路径仍然存在,只是 OSPF 标签没有承载它。此时 OSPF 是可达性的内部投影,完整路径应由 AS 内部边界路由器之间的 BGP 会话传递。准备对外宣告的设备必须等待那份 BGP 更新,不能用标签替代。
RFC 1403 在汇总表中把后一种情形称为 “out of band”。这里不是另开一条数据通道,而是由另一套路由协议保管标签无法携带的证据。
两种禁止的理由不同:一种是历史已经遗失,另一种是权威历史在别处。共同点是,有损投影没有资格冒充源记录。
学到路由,不等于获得宣告权
规范把这一原则写进默认行为。OSPF 路由默认不得导出 BGP,外部 OSPF 路由需要明确配置;BGP 路由默认也不得导入 OSPF;默认路由不能在未配置的情况下由边界设备自行产生。
于是,“看见”“导入”“导出”成了三个独立动作。某条前缀出现在 OSPF 表中,不能证明它保留了 BGP 所需的来源,也不能证明管理员同意向外界宣告它。
指标映射同样克制。OSPF cost 与当时 BGP 的跨 AS 指标宽度、用途不同。RFC 1403 没有用一条漂亮公式掩盖差异,而是让可选的 BGP 指标默认缺席。来自一个决策系统的数字,不会因为经过换算就自然拥有另一个系统的语义。
设备身份只是关联键,不是结果证明
RFC 1403 要求同一设备运行期间的 BGP Identifier 与 OSPF Router ID 保持一致。若两台边界路由器都把同一外部网络带入 OSPF,第三台设备需要知道自己实际经由哪一台转发,再选取与之对应的 BGP 路径。
1994 年的 RFC 1745 把模型更新到 BGP-4 与 IDRP:可变长前缀、路径集合、MULTI_EXIT_DISC 和 LOCAL_PREF 改变了边界周围的对象。等价出口还可能需要把多条路径合成集合。可是核心限制没有消失:截断路径绝不能重导出;完整长路径仍要通过 BGP/IDRP 到达后才能对外使用。
规范还把 OSPF Forwarding Address 与 BGP NEXT_HOP 对齐,以避免共享网络上的多余一跳。这能说明下一跳怎样构造,却不能说明远端可达、应用正常或用户得到结果。
证据链至少包括:源路由、导入动作、标签生成方式、完整性状态、导出授权、完整路径到达、外部宣告、实际转发、远端响应、应用结果。任何一层都可能真实,而下一层仍然失败。
RFC 1403 与 RFC 1745 如今都是 Historic,且均未讨论安全问题。它们不能直接充当今天的配置手册。它们留下的历史判断更窄,也更耐用:系统如果承认一份记录丢失了信息,就必须同时收回那些依赖缺失信息的权力。
来源
- RFC 1364 — BGP OSPF Interaction
- RFC 1403 — BGP OSPF Interaction
- RFC 1745 — BGP4/IDRP for IP—OSPF Interaction
- Minimum Initial Specification, Localized Future Decision, and Voluntary Adoption
- On Reality Layers, Symbolic Power, and Why Clarity Feels So Hostile
- Running-Code Primacy
这些来源证明文档状态、字段语义与规范要求,不证明当代部署率、厂商行为、现实事故、路由真实性、转发成功或用户结果。
会员简报
档案背景详情
使用相应会员等级登录,即可解锁完整简报与来源注释。
仅限 Strategic Circle
Strategic Circle
所有读者均可浏览。加入并登录后可解锁档案简报。
加入 Strategic Circle仅限 Leadership Alliance
Leadership Alliance
符合条件的 IP 资产所有者和管理层可登录查看 Leadership Alliance 简报。
加入 Leadership Alliance
