IS-IS LSP分片扩展
当LSP容量不足时,新引入的路由和新增的TLV都会添加失败。此时可以使用LSP扩展分片特性扩大LSP容量,从而使LSP空间恢复。当LSP空间恢复时,引入失败的路由及添加失败的TLV会自动重新尝试添加到LSP中。
当IS-IS要发布的链路状态协议数据报文PDU(Protocol Data Unit)中的信息量变大时,以同一系统的多个LSP(Link State PDUs)分片的形式发布。
IS-IS配置虚拟的SystemID ,并生成虚拟IS-IS的LSP报文,在这些LSP报文中携带路由等信息。
IS-IS LSP分片扩展特性可使IS-IS设备生成更多的LSP分片,用来携带更多的IS-IS信息。
术语
初始系统(Originating System)
初始系统是实际运行IS-IS协议的设备。允许一个单独的IS-IS进程像多个虚拟设备一样发布LSP,而“Originating System”指的是那个“真正”的IS-IS进程。
系统ID(Normal System-ID)
初始系统的系统ID。
附加系统ID(Additional System-ID)
附加系统ID由网络管理器分配。每个附加系统ID都允许生成256个额外的或扩展的LSP分片。附加系统ID和普通系统ID一样,在整个路由域中必须唯一。
虚拟系统(Virtual System)
由附加系统ID标识的系统,用来生成扩展LSP分片。这些分片在其LSP ID中携带附加系统ID。
原理
IS-IS LSP分片由LSP ID的LSP Number字段进行标识,这个字段的长度是1字节,因此,一个IS-IS进程最多可产生256个分片,携带的路由数量有限。通过分片扩展可以达到携带更多信息的目的。
每个系统ID代表一个虚拟系统,每个虚拟系统都可生成256个LSP分片。通过增加附加的系统ID,IS-IS进程可生成更多LSP分片。
配置虚拟系统和分片扩展后,IS-IS会将初始系统发布的LSP报文无法装下的内容,放入到虚拟系统的LSP中发出,并在LSP中添加特定的TLV来声明此虚拟系统和自己的关系。
IS Alias ID TLV
标准协议1中规定了一种特殊的TLV(Type/Length/Value):IS Alias ID TLV。
字段名 |
长度 |
含义 |
---|---|---|
Type |
1字节 |
TLV的类型。值为24表示IS Alias ID TLV。 |
Length |
1字节 |
TLV值的长度。 |
System ID |
6字节 |
System ID。 |
Pseudonode number |
1字节 |
pseudonode number。 |
sub-TLVs length |
1字节 |
sub-TLVs length。 |
sub-TLVs |
0~247字节 |
sub-TLVs。 |
无论在哪种方式下,初始系统和虚拟系统的LSP零分片中,都必须包含IS Alias ID TLV来表示初始系统。
操作模式
Mode-1方式:
用于网络中的部分设备不支持LSP分片扩展特性的情况。
在该模式下,虚拟系统参与路由SPF计算,初始系统发布的LSP中携带了到每个虚拟系统的链路信息。类似地,虚拟系统发布的LSP也包含到初始系统的链路信息。这样,在网络中虚拟系统看起来与初始系统相连的真实设备是一样的。
这种方式是为了兼容不支持分片扩展的老版本所做的一个过渡模式。在老版本中,IS-IS无法识别Alias ID TLV,所以虚拟系统的LSP必须表现的像一个普通IS-IS发出的报文。
虚拟系统的LSP中包含和原LSP中相同的区域地址和overload bit。如果还有其它特性的TLV,也必须保持一致。
虚拟系统所携带的邻居信息指向初始系统,metric为最大值减1;初始系统所携带的邻居信息指向虚拟系统,metric必须为0。这样就保证了其它设备在进行路由计算的时候,虚拟系统一定会成为初始系统的下游节点。
如图8-16所示,DeviceB是不支持分片扩展的设备,DeviceA设置为mode-1的分片扩展,DeviceA1和DeviceA2是DeviceA的虚拟系统,DeviceA将一部分路由信息放入DeviceA1和DeviceA2的LSP报文中向外发送。DeviceB收到DeviceA,DeviceA1和DeviceA2的报文时,认为对端有三台独立的设备,并进行正常的路由计算。同时DeviceA到DeviceA1和DeviceA2的开销都是0,所以,DeviceB到DeviceA的路由开销值与DeviceB到DeviceA1路由开销值都相等。
Mode-2方式
用于网络中所有设备都支持LSP分片扩展特性的情况。在该模式下,虚拟系统不参与路由SPF计算,网络中所有设备都知道虚拟系统生成的LSP实际属于初始系统。
在Mode-2方式下工作的IS-IS,可以识别IS Alias ID TLV的内容,并作为计算树和路由的依据。
如图8-16所示,DeviceB支持分片扩展,DeviceA设置为Mode-2的分片扩展,DeviceA将一部分路由信息放入到DeviceA1和DeviceA2的LSP报文中向外发送。当DeviceB收到DeviceA1和DeviceA2的LSP时,通过IS Alias ID TLV知道报文的初始系统是DeviceA,则把DeviceA1,DeviceA2所发布的信息都视为DeviceA的信息。
无论是配置了哪种Mode,都可以解析出任何一种Mode,但对于不支持分片扩展的设备,只有Mode-1的报文能正常解析。
发送报文内容\配置的模式 |
Mode-1 |
Mode-2 |
---|---|---|
IS Alias ID |
Yes |
Yes |
area |
Yes |
No |
overload bit |
Yes |
Yes |
IS NBR/IS EXTENDED NBR |
Yes |
No |
路由 |
Yes |
Yes |
ATT bit |
0 |
0 |
P bit |
0 |
0 |
基本流程
配置分片扩展后,如果存在由于报文装满而丢失的信息,系统会重启IS-IS。重启之后,初始系统会尽最大能力装载路由信息,装不下的信息将放入虚拟系统的LSP中发送出去。此外,当删除一个装载路由信息的扩展系统时,系统会自动重启IS-IS。
组网应用
如果网络上还有其他厂商的设备,配置分片扩展必须配置成Mode-1,否则其他厂商设备无法识别。
建议先配置分片扩展和虚拟系统,然后将IS-IS建立邻居或者引入路由。如果先让IS-IS携带大量信息,256个分片无法装下,再配置分片扩展和虚拟系统,需要重启IS-IS才可以让配置生效,所以要谨慎。