摘要

  • 一组 IS-IS LSP 只有 256 个编号。RFC 5311 允许同一个 Originating System 使用唯一的 Additional System ID 发布更多 LSP 组;Virtual IS 是容量身份,不是第二台路由器。
  • 扩展片段是否有效取决于完整关联:仍有寿命的零号 LSP、TLV 24 别名、兼容的区域集合、成本不对称的两条合成边、受限内容、确定性优先级,以及原始系统的 OL 状态。单个片段不能独立证明自己可用。

先问机房发生了什么

监控图突然增加一个节点,数据库也有了新的 system ID。若先相信图,人们会寻找第二台设备、第二个维护窗口和第二个故障域;若先查看机房,就会发现机架中什么也没有增加。

RFC 5311 正是为这种“符号增加、物理不变”的情况设计。IS-IS 的每组 LSP 只有 256 个编号,标准引用的单个 LSP 最大值为 1492 字节。流量工程、多拓扑、能力和可达性信息可能塞满这段空间。一台 Originating System 可以配置 Additional System ID,再用它发布一组 Extended LSP。协议需要额外地址来装信息,并没有因此制造新的控制主体。

把 Virtual IS 直接落成普通路由器对象,会悄悄改写事实。资产系统会多算设备,告警平台会拆散故障,权限系统会把同一来源分给多个负责人。正确模型必须同时保存物理身份、容量身份、拓扑身份和当下可达性,不能用一个“节点”字段覆盖全部含义。

零号片段决定整组是否存在

Extended LSP 按普通规则生成、泛洪、老化与清除,但零号片段有特别强的门控作用。如果某个 Additional System ID 的 Extended LSP 0 不存在,或剩余寿命为零,该组其他 LSP 都不得处理。

这意味着片段 1 到 255 即使还留在采集器里,也可能只是不可用的历史字节。它们可以校验通过、字段完整,却已经失去处理资格。只按片段行查询“最新状态”的系统,会在零号过期后继续展示虚假的有效性。

Extended LSP 0 必须含有 IS Alias ID TLV 24,用来指出正常的 Originating System ID。它还必须携带 Area Address,且其集合是正常 LSP 0 所载区域集合的子集;最好在语法上完全一致。因此,证据键不应只是 additional-system-id,而应是 额外 ID → 活零号 → 别名 → 正常来源 → 层级与区域,并保留序列、寿命与 purge 状态。

唯一性也有明确范围:在 Level 1 使用时,额外 ID 必须在整个 L1 区域唯一;在 Level 2 使用时,必须在整个域唯一。只检查单台设备配置的自动化,无法证明网络里没有第二个声明者。

两条合成边故意不对称

Original LSP 组必须以零成本邻接指向每个关联 Virtual IS。这一方向满足双向连通检查,并使到达虚拟身份的代价等同于到达物理来源的代价。

Extended LSP 组则反向指向 Originating System,成本必须非零,推荐使用 MaxLinkMetric-1。若扩展组包含多个拓扑,每个相关拓扑都要在两侧出现相应邻接声明。

它们不是同一根网线的两次测量,而是两种功能不同的图结构。零成本边把额外容量附着到真实节点;高成本反向边防止 Virtual IS 成为有吸引力的中转捷径。若图数据库把它们折叠成一条无向边,就删掉了兼容性设计的关键证据。

RFC 5311 取代 RFC 3786 的重要原因,是把 Extended LSP 内容限制到不改变最短路径树构造。旧实现只会看见 Virtual IS 位于物理来源之后,不会看见任何其他系统能经它到达。因此,旧设备无需特殊模式,也能得出与理解扩展机制的设备一致的 SPF 结果。

多出的空间不能随便装

Extended LSP 中禁止出现 TLV 3、TLV 4 与 TLV 5。支持 RFC 5311 的接收者必须忽略这些禁用 TLV,应当报告错误,但仍继续处理同一组中允许的信息。验证必须细到字段,既不能接受越权内容,也不应把其余合规证据一并抛弃。

IS 邻接可达性的限制更窄:扩展组中的 IS 邻居只能是 Originating System。普通邻接必须留在 Original LSP 组。TLV 23 与多拓扑 TLV 223 可以把邻居属性放入正常或扩展空间,却不能凭属性创建邻接。若来源组没有对应的 TLV 22 或 222,属性就不构成“这个邻居存在”的证据。

Extended LSP 的 OL、ATT 与 P 位都必须为零。ATT 的风险最直观:旧设备可能把带 ATT 的 Virtual IS 当作通往其他区域的默认出口,即使其物理父节点根本没有那种地位。容量身份不能获得父节点没有的路由权力。

叶信息让存储扩容进入转发面

RFC 5311 允许在扩展组中承载多类叶可达性:传统内部与外部 IP、Extended IP、多拓扑 IP、IPv6 以及多拓扑 IPv6。若出现多个拓扑,MT TLV 229 必须列出叶声明所涉及的所有拓扑。

一旦前缀进入扩展片段,机制就不再只是数据库扩容。接收者可能据此更新 RIB 并编程 FIB。标准警告这种做法会增加触发转发更新的事件频率,并建议条件允许时把叶信息留在正常 LSP 组。

因此,操作收据要把前缀连接到具体片段、额外 ID、仍有效的零号、拓扑、父节点 OL,以及真正消费该信息的 RIB/FIB 代次。只统计扩展 LSP 数量,无法区分描述性属性和实际改变数据面的信息。

子节点的可用性写在父节点身上

Extended LSP 自己的 OL 位必须保持为零,但它是否可用却受正常 Originating System 的 OL 状态控制。父节点未置 OL 时,Virtual IS 的可达性与父节点一致;父节点置 OL 后,旧路由器会把相关虚拟身份视为不可达,理解扩展机制的路由器也必须得到同样结果。

这一规则在扩展空间携带叶可达性时避免潜在环路。它也揭示了一个监控陷阱:只看虚拟记录,会看见 OL=0、寿命仍在、字段完整;与此同时,另一身份的父 LSP 已经让整组信息退出使用。

所以健康检查必须跨身份联合:物理来源、零号、别名、层级、区域、父节点 OL 代次和合成边属于同一个状态对象。不同 system ID 不等于不同责任主体。

冲突的胜负规则也是来源信息

迁移邻居属性时,正常组和多个扩展组可能同时给出候选。互不冲突的值可以合并;发生冲突时,Original LSP 优先。若正常组没有值,则 Additional System ID 最小的 Extended LSP 获胜。在同一上下文里,TLV 22 高于 TLV 23,TLV 222 高于 TLV 223。

若标准化层只输出最终值,就丢掉“为什么是它”的证据。应保留每个候选、来源 LSP ID、正常或额外 system ID、TLV 类型、MTID、序列、寿命和应用的优先规则。否则,一次正常的胜者切换会被误判成无法解释的抖动。

未来扩展可以把新 TLV 放进 Extended LSP,IANA 注册表也会分配代码点。但“编号获批”“软件能解码”“全网已理解”是三份不同证明。老设备看到字节,不代表能安全消费其含义。

有用的收据始终回到物理来源

一份非秘密、可审计的收据应绑定:Originating System 与正常 system ID;层级与区域;所有 Additional System ID 及唯一性范围;各零号片段的身份、序列、寿命和 purge;TLV 24;区域子集;原始到虚拟的零成本边;虚拟到原始的非零边;各拓扑成员关系;禁用 TLV 与标志位检查;叶与邻居属性片段;所有冲突候选和选择规则;父节点 OL 代次;RIB/FIB 代次;报文观察;以及回滚决定。

数据库确实多了来源符号,但网络并没有多出一台承担责任的机器。RFC 5311 扩展的是承载信息的容器数量,不是可以被分割的现实。

Sources