解决方案
当 ISIS 要发布的 PDU 中信息量太大时,ISIS 路由器将会生成多个 LSP 分片,用来携带更多的 ISIS 信息。
ISIS LSP 分片由 LSP ID 中的分片号(LSP Number)字段进行标识,这个字段的长度是 1Byte。所以,一个 ISIS 进程最多可产生 256 个 LSP 分片,携带的信息量有限。
概念术语
ISIS 可以配置 Virtual System ID ,并生成虚拟 ISIS 的 LSP 报文来携带路由等信息。
初始系统(Originating System):初始系统是实际运行 ISIS 的路由器。允许一个单独的 ISIS 进程像多个虚拟路由器一样发布 LSP,而“Originating System”指的是那个“真正”的 ISIS 进程。
系统 ID(Normal System-ID):初始系统的系统 ID。
虚拟系统(Virtual System):由附加系统 ID 标识的系统,生成扩展 LSP 分片。这些分片在其 LSP ID 中携带附加系统 ID。
附加系统 ID(Additional System-ID):虚拟系统的系统 ID,由网络管理器统一分配。每个附加系统 ID 都允许生成 256 个扩展的 LSP 分片。
24 号 TLV(IS Alias ID TLV):LSP 分片携带该 TLV 信息,用来表示 Originating System 与 Virtual System 的关系。
使能分片扩展功能之后,如果存在由于报文装满而丢失的信息,系统会提醒重启 ISIS;
重启之后,初始系统会尽最大能力装载路由信息,装不下的信息将放入虚拟系统的 LSP 中发送出去,并通过 24 号 TLV 来告知其他路由器此虚拟系统和自己的关系。
附加系统 ID 和系统 ID 都必须在整个路由域中唯一。
报文格式
原理简述
在 ISIS 中,每个系统 ID 都标识一个系统,每个系统都最多可生成 256 个 LSP 分片。通过增加 Additional System-ID,可以最多配置 50 个虚拟系统,从而使得 ISIS 进程最多可生成 13056 个 LSP 分片。
ISIS-Router 可以在两种模式下运行 LSP 分片扩展特性:
Mode-1
用于网络中的部分路由器不支持 LSP 分片扩展特性的情况。
如图:R1 将一部分路由信息放入 R1-1 和 R1-2 的 LSP 报文中向外发送。R2 收到 R1、R1-1 和 R1-2 的报文时,认为对端有三台独立的路由器,并进行正常的路由计算。同时 R1 到 R1-1 和 R1-2 的开销都是 0,所以 R2 到 R1 的路由开销值与 R2 到 R1-1 和 R1-2 的路由开销值都相等。
工作原理:
1)虚拟系统参与路由 SPF 计算,初始系统发布的 LSP 中携带了到每个虚拟系统的链路信息。类似地,虚拟系统发布的 LSP 也包含到初始系统的链路信息。这样,在网络中虚拟系统看起来与初始系统相连的真实路由器是一样的。
2)这种方式是为了兼容不支持分片扩展的老版本所做的一个过渡模式。在老版本中,ISIS 无法识别 24 号 TLV,所以虚拟系统的 LSP 必须表现的像一个普通 ISIS 发出的报文。
注意事项:
1)虚拟系统的 LSP 中包含和原 LSP 中相同的区域地址和过载标志位。如果还有其它特性的 TLV,也必须保持一致。
2)虚拟系统的邻居信息指向初始系统,metric 为最大值减 1;初始系统的邻居信息指向虚拟系统,metric 必须为 0。这样就保证了其它路由器在进行路由计算的时候,虚拟系统一定会成为初始系统的下游节点。
Mode-2
用于网络中所有路由器都支持 LSP 分片扩展特性的情况。
如图:R1 将一部分路由信息放入 R1-1 和 R1-2 的 LSP 报文中向外发送。当 R2 收到 R1-1 和 R1-2 的 LSP 时,通过 24 号 TLV 知道它们的初始系统是 R1,则把 R1-1 和 R1-2 所发布的信息都视为 R1 的信息。
工作原理:
虚拟系统不参与路由 SPF 计算,网络中所有路由器都知道虚拟系统生成的 LSP 实际属于初始系统。
在该模式下工作的 ISIS,可以识别 24 号 TLV 的内容,并作为计算树和路由的依据。
注意事项
无论在哪种方式下,初始系统和虚拟系统的 LSP 零分片中,都必须包含 IS Alias ID TLV 来表示初始系统是谁。
配置命令
// ---------------------------------------------------------------------------- // 使能 IS-IS 进程的 LSP 分片扩展 # level-1:指定在 Level-1 级别使能分片扩展。 # level-2:指定在 Level-2 级别使能分片扩展。 # level-1-2:指定在 Level-1-2 级别使能分片扩展。 # mode-1:该模式可以兼容以前老版本不支持 LSP 分片扩展特性的情况。 # mode-2:该模式要求所有路由器都支持 LSP 分片扩展特性。 [Huawei-isis-1] lsp-fragments-extend [ [ level-1 | level-2 | level-1-2 ] | [ mode-1 | mode-2 ] ] 缺省情况下,设备未使能 IS-IS 进程的 LSP 分片扩展功能。 配置 LSP 分片扩展时,如果不指定 mode 和 level 级别,则默认为 mode-1 和 level-1-2; // ---------------------------------------------------------------------------- // 配置一个虚拟系统 # virtual-system-id:指定 IS-IS 进程的虚拟系统 ID。长度是 6 字节(48 比特),格式是 XXXX.XXXX.XXXX。 [Huawei-isis-1] virtual-system virtual-system-id 缺省情况下,设备没有配置虚拟系统。 为了使设备生成扩展 LSP 分片,应至少配置一个虚拟系统的系统 ID。这个虚拟系统的系统 ID 在整个路由域中必须唯一。 一个 IS-IS 进程最多可配置 50 个虚拟系统的 System ID。
注意:以上两条命令是配合使用的,只有使能了 LSP 分片扩展,并用 reset isis all 命令重启了 ISIS 进程后,配置的虚拟系统 ID 才会生效。