IS-IS 中同时收到 L1 和 L2 的 LSP 时,是否优选 L1
在 IS-IS 中,做了 L2 到 L1 路由渗透的路由器,同时收到 L1 和 L2 的 LSP 时,是否优选 L1 取决于 L1 LSP 的类型(普通 L1 LSP 或带 U/D 位的渗透明细 L1 LSP),核心规则如下:
一、选路优先级规则:L1(普通) > L2(普通) > L1*(渗透明细)
IS-IS 对 LSP 的选路遵循严格的优先级顺序(来自协议设计和厂商实现):
- 普通 L1 LSP(无 U/D 位,区域内原生路由)
- 普通 L2 LSP(骨干区域原生路由)
- L1* LSP(带 U/D 位,从 L2 渗透到 L1 的明细路由)
二、不同场景下的选路结果
场景 1:收到的 L1 LSP 是普通 L1 LSP(无 U/D 位)
此时,优先选择 L1 LSP。
- 原因:协议设计中,L1 区域的原生路由(普通 L1 LSP)优先级高于 L2 骨干的原生路由(普通 L2 LSP),以保证区域内路由的 “本地化优先”。
场景 2:收到的 L1 LSP 是L1* LSP(带 U/D 位的渗透明细)
此时,优先选择 L2 LSP。
- 原因:L2 骨干的原生路由(普通 L2 LSP)优先级高于 “从 L2 渗透到 L1 的明细路由”(L1* LSP),以保证骨干区域路由的权威性,避免渗透路由循环。
三、关键概念补充
U/D 位(Up/Down bit):是 IS-IS 为 “L2→L1 渗透的路由” 添加的标记,用于防止路由环路(避免渗透的路由被反向发布回 L2)。带 U/D 位的 L1 LSP 被称为L1* LSP。
路由渗透的本质:L2→L1 渗透是将 L2 骨干的路由 “封装” 成 L1 格式的 LSP(带 U/D 位),注入 L1 区域。因此,L1 设备只能看到 “L1* LSP”,而 L1/2 设备能同时看到 L2 LSP 和 L1* LSP。
四、总结
- 若收到的 L1 LSP 是普通 L1(无 U/D 位) → 优选 L1;
- 若收到的 L1 LSP 是L1*(带 U/D 位的渗透明细) → 优选 L2。
(注:“做了 L2→L1 渗透的路由器” 自己生成的 L1* LSP,仅用于向 L1 区域下发渗透明细;但作为接收方时,需根据收到的 L1 LSP 类型判断优先级。)