摘要
- RFC 3477 用稳定 Router ID 与端点本地 Interface ID 的组合,让 RSVP-TE 可以指定并记录点到点未编号链路。
- 同一条链路的两端可以选择毫无数值关系的名称;ERO 意图、IF_ID 解析、RRO 记录与真实转发仍是四类不同证据。
“未编号链路”很容易被理解成一条没有身份的连接。RFC 3477 描述的事实恰好相反:它有两个名称。每一端的标签交换路由器都能给这条链路命名,但任何一端的数字都没有资格单独代表整条链路。
规范要求未编号链路是点到点链路。两端 LSR 各自分配一个非零的 32 位标识符,只需保证它在本机范围内唯一。文本特别强调,两端所选标识符之间不存在预设关系。站在 A 端,A 分配的是“本地标识符”,B 分配的是“远端标识符”;站到 B 端,这两个形容词立即对调。视角不是注释,而是数据语义的一部分。
因此,Interface ID 从来不是一个可以脱离上下文的全球链路号码。RFC 3477 把它与分配方的 Router ID 放在一起。这里的 Router ID 是稳定的 LSR IP 地址,通常由环回地址实现;只要仍有任何连通性到达该 LSR,它就不应因为某个接口关闭而失效。真正可被远端使用的名称,是 Router ID 与本地 Interface ID 组成的二元组。
这种做法同时容纳了两种看似冲突的情况。不同路由器可以在各自范围内重复使用同一个 32 位数字,因为 Router ID 不同;同一条链路的两端也可以使用两个不同数字,因为各自的命名权不同。若数据库把差异当成脏数据并强行归一化,它删除的不是冗余,而是名称的来源。
两端仍需交换彼此的分配结果。RFC 3477 列出的途径包括人工配置、LMP、涉及 Forwarding Adjacency 时的 RSVP 或 CR-LDP,以及 IS-IS 或 OSPF 扩展。若 IGP 用于流量工程,同一 LSR 内的 IGP 模块与 RSVP 模块必须对标识符取得一致。报文里的二元组不能自动修复过期的邻居映射。
新名称首先进入 Explicit Route Object。Unnumbered Interface ID 子对象的类型为 4、长度为 12,携带 Router ID 和由该路由器分配的 Interface ID。在 ERO 中,它表达的是路径意图:信令希望下一步使用哪条未编号链路。它不是已经经过该链路的证据,更不是物理层连通的收据。
下一层是邻居解析。节点若选择未编号出接口,就必须在向下一跳发送的 Path 报文中加入 IF_ID RSVP_HOP,写入自己的 Router ID 和自己为链路分配的本地标识符。接收方必须知道邻居为双方之间的未编号链路分配了什么值,并用收到的二元组寻找匹配。找不到时,RFC 建议返回 IF_ID ERROR_SPEC:错误码 24、错误值 16,即 Unknown Interface Index。
这个错误只证明一件有限的事:接收节点在当时持有的知识中,无法解析该邻居作用域的名称。它不能单独证明光纤不存在、发送方欺骗、整个 IGP 错误,或没有替代路径。要判断原因,必须保留映射来自配置、LMP 还是 IGP,保留其版本、时间、报文方向与相邻状态。
Record Route Object 又使用了一个类型 4、长度 12 的 Unnumbered Interface ID 子对象,但证据功能不同。ERO 描述希望走的路,RRO 记录 Path 报文推进时积累的 RSVP 路径状态。编码相似不等于事实层级相同;意图不能借用记录的权威,控制面记录也不能冒充物理遥测。
RRO 的两个保护位进一步揭示了这一区别。一个表示下游链路具有本地保护能力,另一个表示本地保护正在使用,通常意味着故障后由本地修复维持隧道。“可以保护”与“已经切换保护”是不同事件。若监控系统只保存一个笼统的“受保护”状态,最关键的变化时刻就消失了。
Forwarding Adjacency 表明,这种双重本地命名并不局限于一个物理端口。若一个 LSP 被通告为未编号 Forwarding Adjacency,其首端与尾端仍各自分配标识符。LSP_TUNNEL_INTERFACE_ID 对象使用类号 193、C-Type 1,在 Path 中可以携带正向接口身份,在 Resv 中可以携带反向接口身份。即使链路由另一条 LSP 构成,两端也没有被压成同一个命名主体。
后续 GMPLS、OSPF、IS-IS 与链路捆绑文档扩展了这套局部/远端标识模型,RFC 6107 还在后来为 Path Key 更新 RFC 3477。它们有助于说明技术谱系,却不能倒推出 2003 年 1 月某台设备已经支持后来的全部功能,更不能证明某次实际部署。
按照 Heng Lu 笔记强调的现实分层,任何一张收据都不能从下一层借权。Router ID 为数字定界,不证明当前可达;ERO 是意图,不证明穿越;RRO 是 RSVP 状态,不是独立物理观测;标签分配不等于硬件已编程;硬件编程也不等于流量已交付。
审计时应保存原始 RSVP 报文、会话、发送方、方向与时间,保存 ERO 顺序、IF_ID 二元组、邻居映射来源、匹配结果、Path/Resv 状态、标签操作、RRO 顺序和保护位。只有在这些记录固定之后,才能逐层连接接口清单、邻接状态、转发表、告警、光层状态和流量计数器,而且每次连接都应带自己的时间与来源。
最重要的操作规则很简单:永远不要把 Interface ID 从分配它的 Router ID 上剥离,也不要把两端不同的数字改造成一个虚构的“规范值”。32 位数字只在其命名者的边界内成立。两端的差异,正是权力边界留下的证据。
RFC 3477 在互联网史上的价值,不只是增加了两个子对象。它展示了一种更成熟的协调方式:分布式系统不必先产生一个全球名称,才能共同讨论同一资源。只要作用域随名称同行、本地视角被保留、意图与观察不被混淆,两个本地真相可以准确指向同一条链路。
来源
会员简报
档案背景详情
使用相应会员等级登录,即可解锁完整简报与来源注释。
仅限 Strategic Circle
Strategic Circle
所有读者均可浏览。加入并登录后可解锁档案简报。
加入 Strategic Circle仅限 Leadership Alliance
Leadership Alliance
符合条件的 IP 资产所有者和管理层可登录查看 Leadership Alliance 简报。
加入 Leadership Alliance
