ISIS | LSP 分片

注:本文为 “ISIS | LSP 分片” 相关文章合辑

未整理去重。


ISIS 高级特性 ——LSP 分片扩展与过载

静下心来敲木鱼已于 2023-10-03 23:44:19 修改

LSP 分片扩展

为什么要 LSP 分片

当 ISIS 要发布的 PDU 信息量太大时,ISIS 路由器将会生成多个 LSP 分片,用来携带更多的 ISIS 信息

ISIS 分片由 LSP ID 中的分片号(LSP ID)字段标识,长度为 1Byte,所以一个 ISIS 进程最多可以产生 256 个 LSP 分片

为什么要 LSP 分片扩展

LSP 分片扩展增大了 LSP 分片数量,具体实现方式如下

由于每个系统最多可生成 256 个分片,通过增加附加系统(最多可以增加 50 个),ISIS 进程可以多生成 13056 个 LSP 分片

LSP 扩展涉及基本概念

初始系统(Originating System)

初始系统是实际运行 IS-IS 协议的路由器(实路由器)

虚拟系统(Virtual System)

此虚拟系统指的是启动虚拟 ISIS 进程;是由附加系统 ID 标识的系统,用来生成扩展 LSP 分片(虚拟路由器)

这些分片在其 LSP ID 中携带附加系统 ID;附加系统与初始系统一样,每个附加系统都可携带 256 个 LSP 分片

系统 ID(Normal System-ID)

初始系统的系统 ID

附加系统 ID(Additional System-ID)

虚拟系统的系统 ID,由网络管理器统一分配

24 号 TLV(IS Alias ID TLV)

用来表示初始系统与虚拟系统的关系

附加系统 ID 和系统 ID 一样,在整个路由域中必须唯一

img

LSP 两种工作模式

Mode-1 用于网络中有设备不支持 LSP 分片扩展特性的场景

img

当 R2 不支持 LSP 分片扩展,即识别不了 TLV24 时,R2 会认为 R1.1 和 R1.2 是两台真实的设备(即:R2 认为有 3 台真实的设备给自己发送了 LSP)

当 R2 收到 R1、R1.1、R1.2 设备发来的 LSP 时,都进行正常的路由计算

Mode-2 用于网络中所有设备都支持 LSP 分片扩展的场景

当 R2 支持 LSP 扩展,即可以识别 TLV24 时,会认为 R1.1 和 R1.2 是两台虚拟的设备,其真实的路由器是 R1

当 R2 收到 R1.1 和 R1.2 设备发来的 LSP 时,通过 24 号 TLV 了解到它们的初始系统是 R1,认为 R1.1 和 R1.2 其实就是 R1 设备,则 R2 只与 R1 进行路由计算

LSP 配置命令

华为设备配置命令

第一步:使能 ISIS 路由器的 LSP 扩展功能

ISIS 视图下:lsp-fragments-extend [level1/level-2/level-1-2] [mode-1 mode-2]

level-1 指定在 Level-1 级别使能分片扩展

mode-1 工作模式为 mode-1

默认开启分片扩展后的配置为:level-1-2 与 mode-1

第二步:配置 ISIS 进程的虚拟系统 ID

virtual-system [id]

第三步:重启 ISIS 进程

reset isis all

配置注意事项

在配置虚拟进程前,要在 ISIS 进程下配置好 NET 地址

只有使能了 LSP 分片扩展,并用 reset isis all 命令重启了 IS-IS 进程后,配置的虚拟系统 ID 才会生效

如果没有使能 LSP 分片扩展和重启 IS-IS 进程,则只能对虚拟系统 ID 进行配置,但不会生效

华为设备配置 LSP 分片扩展举例 – 在设备上添加额外两个虚拟系统,承载更多的 LSP

isis 10
network-entity 49.0001.0000.0000.0001.00 配置 ISIS 网络的 NET 地址
lsp-fragments-extend level-1-2 mode-1  配置 LSP 扩展(使用 mode-1 模式)
virtual-system 1111.1111.1111.1111   配置两个虚拟系统(两个虚拟系统的 ID 必须路由域唯一)
virtual-system 1111.1111.1111.1112
reset isis all                重启 ISIS

ISIS Overload

ISIS Overload 使用 ISIS 过载标记位来表示过载状态,过载标识位存在 LSP 报文信息中 OL 字段

当对设备设置过载标志位后,设备在进行 SPF 计算时不会使用这台设备做转发,只计算该设备上的直连路由

img

设备如何进入过载状态

自动进入过载:设备异常时会自动进入过载状态,此时系统会删除全部引入或者渗透的路由信息

手动配置设备进入过载状态:此时系统会根据用户的配置决定是否删除全部引入或渗透的路由信息

手动设置命令举例(在 ISSI 进程下配置)

例 1:为 ISIS 进程配置过载标志位

isis 10
set-overload

例 2:表示 ISIS 进程 10 启动后进入过载位,指导 bgp 邻居 up 后才取消过载(最多等待 BGP 10s,即最多处于过载状态 10

isis 10
set-overload on-startup wait-for-bgp 10  )

例 3:表示 ISSI 进程 10 启动后进入过载位,允许发布从 ISIS 学来的 IP 地址前缀,禁止发布从其它协议学来的 IP 地址前缀

isis 10
set-overload on-startup allow interlevel

字段讲解

on-startup   表示满足哪些情况设备取消过载(即设置最大过载时间)

allow    表示允许发布地址前缀(缺省过载状态不允许发送地址前缀)

interlevel   跟在 allow 字段后,表示允许发布从 ISIS 学来的地址前缀

external   跟在 allow 字段后,表示允许发布从其它协议学来的地址前缀

IGP 高级特性简要介绍(ISIS)

Hades_Ling 于 2023-12-21 10:22:59 发布

ISIS 高级特性

1.LSP 快速扩散

正常情况下,当 IS-IS 路由器收到其它路由器发来的 LSP 时,如果此 LSP 比本地 LSDB 中相应的 LSP 要新,则更新 LSDB 中的 LSP,并用一个定时器定期将 LSDB 内已更新的 LSP 扩散出去。

IS-IS 如何识别 LSP 的新旧?

LSP 的新旧判断机制:

1、比较 LSP 的序列号,越大越新(序列号范围 0x00000001~0xFFFFFFFF),因为设备每隔 15 分钟,更新 LSP 扩散,同时 LSP 的序号会 seq+1。

2、序列号相同情况下,则判断剩余老化时间(Remaining Lifetime,初始值为 1200s)是否为 0,如果等于 0,则认为是最新的 LSP,用于删除一条 LSP。

3、如果剩余存活时间都不等于 0,则比较校验值Checksum,越大的越新。

4、如果校验值也一样,则认为是两条相同的 LSP。

LSP 的存活时间:

1、最大存活时间:20 分钟

2、LSP 的刷新时间:15 分钟

3、LSP 的存活时间为:倒计时

4、无效的 LSP 的表示:将该 LSP 的存活时间设置为 0

原文链接:https://blog.youkuaiyun.com/omacy0703/article/details/112560381

快速扩散的作用:LSP 快速扩散特性改进了这种上述扩散方式,启用快速扩散特性的设备收到一个或多个较新的 LSP 时,在路由计算之前,先将小于指定数量的 LSP扩散出去,加快 LSDB 的同步过程。这种方式在很大程度上可以提高整个网络的收敛速度。

而这个指定数量的 LSP 在 flash-flood 命令中指定;

同时可指定发送间隔防止设备不间断的发送更新 LSP。

参考命令

  • 扩散 LSA 的最大间隔时间为 10 毫秒

  • 定时器在路由计算之前如果定时器未超时,则立即扩散至超时后停止;否则在该定时器超时时发送。

flash-flood max-timer-interval 10
  • 每个接口一次最多扩散 LSP 的数量(1~15)
flash-flood 15
  • 指定 level 中使用,默认所有 level 都应用
flash-flood level-1
  • 灵活组合使用

配置快速扩散特性,每个接口最大发送 6 个 LSP,最大发送间隔为 100 毫秒。

[Huawei] isis 1
[Huawei-isis-1] flash-flood 6 max-timer-interval 100

配置快速扩散特性,每个接口最大发送 6 个 LSP,最大发送间隔为 100 毫秒,但只应用于 level-1 中。

[Huawei] isis 1
[Huawei-isis-1] flash-flood 6 max-timer-interval 100 level-1

2.LSP 分片

为什么会有 LSP 分片?

与数据报文一样,当数据过大时就需要通过分片的方式发送数据,保障数据的正常传输。

当 IS-IS 要发布的链路状态协议数据报文信息量过大时,IS-IS 路由器将会生成多个 LSP 分片,用来携带更多的 IS-IS 信息。

如何标识 LSP

通过 LSP 标识符(LSP ID)

路由器生成的每个 LSP 都有一个 LSP ID,用于标识不同的 LSP 和生成 LSP 的源路由器。

每个 LSP ID 都包括三个部分:

系统 ID(SysID)、伪节点标识符(Pseudonode ID)、LSP 编号(LSP number)

第 1 个 00 为伪节点标识,第 2 个 00 为 LSP 编号。

举例某个 LSP ID:0001.0000.0001.00-00

如何查看 LSP ID

<AR2dis isis lsdb
Database information for ISIS (1)
--------------------------------
Level-1 Link State Database
LSPID       Seq Num  Checksum  Holdtime  Length  ATT/P/OL
-------------------------------------------------------------------------------

0001.0000.0001.00-00  0x00000004 0x98bc    1065    84  0/0/0
0001.0000.0002.00-00* 0x00000007 0x67fc    1086    100   0/0/0
0001.0000.0002.01-00* 0x00000001 0xbdc9    1086    55  0/0/0

常规情况下能有多少 LSP 分片?

IS-IS LSP 分片由 LSP ID 中的 LSP Number 字段进行标识,这个字段的长度是 1 字节。

因此,一个 IS-IS 进程最多可产生 256 个 LSP 分片。

每个 LSP 分片可承载大概多少条路由?

未知

LSP 分片扩展的原理?

通过增加附加系统 ID,可以最多配置 50 个虚拟系统,从而使得 IS-IS 进程最多可生成 13056 个 LSP 分片。

使能分片扩展功能之后,如果存在由于报文装满而丢失的信息,系统会提醒重启 IS-IS。

重启之后,初始系统会尽最大能力装载路由信息,装不下的信息将放入虚拟系统的 LSP 中发送出去,并通过 24 号 TLV 来告知其他路由器此虚拟系统和自己的关系。

虚拟系统的系统 ID:由管理员自行分配,每个附加系统 ID 都允许生成 256 个扩展的 LSP 分片。
50 个虚拟系统,即 50*256=12800 个 LSP 分片。
加上原有未扩展的 LSP 分片数量 256,即可得出 LSP 分片扩展后可最多生成 135056 个 LSP 分片。

虚拟系统 ID

isis 1
virtual-system 5000.0000.0001  # 第一个虚拟系统 ID
virtual-system 5000.0000.0002	# 第二个虚拟系统 ID

如何配置 LSP 分片扩展?

lsp-fragments-extend [选项 1] [选项 2]
level-1:指定在 Level-1 级别使能分片扩展。
level-2:指定在 Level-2 级别使能分片扩展。
level-1-2:指定在 Level-1-2 级别使能分片扩展。
mode-1:该模式可以兼容以前老版本不支持 LSP 分片扩展特性的情况。
mode-2:该模式要求所有路由器都支持 LSP 分片扩展特性。

配置一个 / 多个虚拟系统

为了使设备生成扩展 LSP 分片,应至少配置一个虚拟系统的系统 ID.

一个 IS-IS 进程最多可配置 50 个虚拟系统的 System ID.

virtual-system 5000.0000.0001
virtual-system 5000.0000.0002
virtual-system 5000.0000.0003

以上两条命令是配合使用的,只有使能了 LSP 分片扩展,并用 reset isis all 命令重启了 IS-IS 进程后,配置的虚拟系统 ID 才会生效。

# 启用 LSP 分片应用于 level-1-2 中,工作模式为 mode-2
isis 1
network-entity 49.0001.0000.0000.0002.00
lsp-fragments-extend mode-2
virtual-system 5000.0000.0001
#
<HUAWEIreset isis all
Warning: The ISIS process (es) will be reset. Continue?[Y/N] y

LSP 分片中的模式 1、模式 2 有何区别?

Mode-1 工作原理:

虚拟系统参与路由 SPF 计算,初始系统发布的 LSP 中携带了到每个虚拟系统的链路信息

类似地,虚拟系统发布的 LSP 也包含到初始系统的链路信息。

这样,在网络中虚拟系统看起来与初始系统相连的真实路由器是一样的。

这种方式是为了兼容不支持分片扩展的老版本所做的一个过渡模式

在老版本中,IS-IS 无法识别 24 号 TLV,所以虚拟系统的 LSP 必须表现的像一个普通 IS-IS 发出的报文。

注意事项:

虚拟系统的 LSP 中包含和原 LSP 中相同的区域地址和过载标志位。

如果还有其它特性的 TLV,也必须保持一致

虚拟系统的邻居信息指向初始系统,metric 为最大值减 1;

初始系统的邻居信息指向虚拟系统,metric 必须为 0。

这样就保证了其它路由器在进行路由计算的时候,虚拟系统一定会成为初始系统的下游节点。

Mode-2 工作原理:

虚拟系统不参与路由 SPF 计算,网络中所有路由器都知道虚拟系统生成的 LSP 实际属于初始系统。

在该模式下工作的 IS-IS,可以识别 24 号 TLV 的内容,并作为计算树和路由的依据。

注意:

无论在哪种方式下,初始系统和虚拟系统的 LSP 零分片中,都必须包含 IS Alias ID TLV(24 号 TLV)来表示初始系统是谁。

3. 设置等价路由

当 IS-IS 网络中有多条冗余链路时,可能会出现多条等价路由。

负载分担

如下图,AR3 将会收到来自 AR1、AR2 去往 192.168.100.254/32 的等价路由:

注释:AR 系列手册中说明 ISIS 缺省情况下,形成负载分担的等价路由的最大条数为 1,即不进行负载分担。

但在 ENSP 中使用 AR2240 做实验时却是可以进行负载,故以下实验先将等价条数设置为 1 再进行实验。

[AR3] isis
[AR3-isis-1] maximum load-balancing 1
<AR3> dis ip rou protocol isis
Route Flags: R - relay, D - download to fib
--------------------------
Destination/Mask  Proto Pre  Cost  Flags NextHop   Interface
192.168.100.254/32  ISIS-L1 15 10    D 10.1.13.1   GigabitEthernet0/0/0

在这里插入图片描述

2、为了提高网络中链路的利用率及减少某些链路负担过重造成阻塞发生的情况,通过配置负载分担,流量会被均匀的分配到每条负载的链路上。

[AR3] isis
[AR3-isis-1] maximum load-balancing 2
[AR3-isis-1] dis ip rou protocol isis
Route Flags: R - relay, D - download to fib
------------------------------------------------------------------------------
Destination/Mask  Proto Pre  Cost  Flags NextHop   Interface
192.168.100.254/32  ISIS-L1 15 10    D 10.1.13.1   GigabitEthernet0/0/0
ISIS-L1 15 10    D 10.1.23.2   GigabitEthernet0/0/1

等价路由优先级

等价路由默认情况下无法优选指定的下一跳转发。

按照往常 OSPF 中对等价路由的操作,是通过修改接口的开销控制选路,但这样可能会对后期的路由管理造成一定的影响。

在 ISIS 中则可以通过对指定下一跳目的地址添加Weight 权重值来控制路由优选。

如需要控制下一跳优选 10.1.13.1 作为下一跳:

  • 修改 10.1.13.1 权重值为 1,权重值越小其等价路由的优先级越大。

  • 修改 10.1.23.2 权重值为 2。

  • 如果把权重当排名就好理解了,第 1 名,第 2 名…

[AR3] isis 1
[AR3-isis-1] nexthop 10.1.13.1 weight 1
[AR3-isis-1] nexthop 10.1.23.2 weight 2
[AR3-isis-1] dis ip rou protocol isis
Route Flags: R - relay, D - download to fib
--------------------------
Destination/Mask  Proto Pre  Cost  Flags NextHop   Interface
192.168.100.254/32  ISIS-L1 15 10    D 10.1.13.1   GigabitEthernet0/0/0

疑问

既然都负载了为什么还需要去修改某条路由优选?这样不就没有意义了嘛?

依照实际要求而定,两个功能互不冲突,可以灵活组合。

比如:在多出口且对下一跳无要求的时候可以使用负载分担让流量自由转发。

比如:在多出口但有要求优选某个下一跳出口的时候,可以通过修改权重值控制路由优选(如果通过调整开销,就容易影响后期的路由规划)而如果不用权重,单纯修改负载分担条数为 1 的话,是无法控制主要下一跳的。

4.ATT 缺省路由控制

lIS-IS 规定,如果 IS-IS Level-1-2 设备可以通过 Level-2 邻居到达其它区域,则该 L1/2 设备会在所发布的 Level-1

LSP 内将 ATT 位置位。

对于收到 ATT 位置位的 LSP 报文的 Level-1 设备,会生成一条目的地为发送该 LSP 的 Level-1-2 设备地址的缺省路由。

以上是协议的默认原则,在实际应用中,可以根据需要对 ATT 比特位进行手动配置以更好地为网络服务。

1.(Level-1-2 设备)设置 IS-IS LSP 报文的 ATT 比特位置位规则。

[AR1-isis-1] attached-bit advertise { always | never }
always:指定 ATT 位永远置位,收到该 LSP 的 Level-1 设备会生成缺省路由。
never: 指定 ATT 位永不置位,可以避免 Level-1 设备生成缺省路由,减小路由表的规模。

2.(Level-1 设备)控制 Level-1 设备不因为 ATT 位下发缺省路由到路由表。

[AR1-isis-1] attached-bit avoid-learning

接着上一个等价路由的小实验进行测试该两条命令的效果:

  • 让 AR1 向 AR3 下发 ATT=1 的 LSP 报文,使其生成默认路由指向 AR1:
[AR1-isis-1] attached-bit advertise always
  • 此时再去查看 AR3 的 ISIS 路由:
<AR3>dis ip routing-table protocol isis
Route Flags: R - relay, D - download to fib
------------------------------------------------------------------------------
Destination/Mask  Proto Pre  Cost  Flags NextHop   Interface
0.0.0.0/0 ISIS-L1 15 10    D 10.1.13.1   GigabitEthernet0/0/0
  • 紧接着在 AR3 上配置 attached-bit avoid-learning,使设备不因为 ATT 置位 1 而生成默认路由。

  • 配置之后,再查看 ISIS 路由表将无法查看到缺省路由

[AR3] isis
[AR3-isis-1] attached-bit avoid-learning
[AR3-isis-1] dis ip rou pro isis
Route Flags: R - relay, D - download to fib
------------------------------------------------------------------------------
Destination/Mask  Proto Pre  Cost  Flags NextHop   Interface

ISIS 的高级特性:快速收敛,路由控制,其他特性。

一,IS-IS 快速收敛

1,IS-IS 快速收敛概述:

IS-IS 快速收敛是为了提高路由的收敛速度而做的扩展特性,包括: I-SPF ( IncrementalSPF,增量最短路径优先算法)、 PRC、智能定时器、LSP 快速扩散。同时,IS-IS 支持故障恢复快速收敛,例如通过 IS-IS Auto FRR 实现备份链路的快速切换,也可以与 BFD 联动实现对故障的快速感知。

2,I-SPF

  • I-SPF 的工作原理:当网络拓扑改变的时候,只对受影响的节点进行路由计算,而不是对全部节点重新进行路由计算,从而加快了路由的计算。

  • 场景简绍:某网络运行 IS-IS,网络收敛后,左图是以 R1 为根的最短路径树。此时 R1 访问节点 R5 时,通过 R1 下行链路的出接口, R3 上行链路接口的 IP 地址 到达该目的地。当 R5 下游新增设备 R6, R6 开启 IS-IS,即 IS-IS 网络内有新增网络节点。

  • I-SPF 计算:R5 和 R6 全网泛洪 LSP,包含新增邻居关系;R1 收到该 LSP 后会对变化的节点 R5 和 R6 进行 I-SPF 计算,生成新的最短路径树节点,而其他节点不变;因此 R1 访问节点 R5 和 R6 时,通过 [R1 下行链路的出接口, R3 上行链路接口的 IP 地址] 到达该目的地。

  • I-SPF 和 PRC 的区别和联系:当网络中新增了一个节点之后,设备首先会通过 i-spf 计算增的节点,然后通过 PRC 计算路由信息

img

3,LSP 快速扩散

  • 正常情况下,当 IS-IS 路由器收到其它路由器发来的 LSP 时,如果此 LSP 比本地 LSDB 中相应的 LSP 要新,则更新 LSDB 中的 LSP,并用一个定时器定期将 LSDB 内已更新的 LSP 扩散出去

  • LSP 快速扩散特性改进了这种方式,使能了此特性的设备收到一个或多个较新的 LSP 时,在路由计算之前,先将小于指定数目的 LSP 扩散出去,加快 LSDB 的同步过程。这种方式在很大程度上可以提高整个网络的收敛速度。

  • 配置命令:

[Huawei-isis-1] flash-flood ?(默认是针对 L1/2 开启的)

INTEGER<1-15 // 指定每个接口一次扩散 LSP 的最大数量。(整数形式,取值范围是 1~15。缺省值是 5。)

level-1 // 针对 Level-1
level-2 // 针对 Level-2

max-timer-interval Set the maximum timer for flood the LSP (Milliseconds) // 指定 LSP 扩散的最大间隔时间。(整数形式,取值范围是 10~50000,单位是毫秒。缺省值是 10 毫秒)

注意:用户可以指定每次扩散的 LSP 数量,这个数量是针对所有 IS-IS 接口的。如果需要发送的 LSP 的数量大于这个数,

则就发送 lsp-count 个 LSP 。如果配置了定时器,在路由计算之前如果这个定时器未超时,则立即扩散;否则在该定时

器超时后发送。

[Huawei-isis-1] flash-flood 10 level-2 max-timer-interval 100 // 针对 L2 的 LSP 开启快速扩散特性,当收到 LSP 之后可以先扩散 10 条,其他的 lsp 等到计时器超时后进行扩散。

二,IS-IS 路由控制概述

1,等价路由:(当 IS-IS 网络中有多条冗余链路时,可能会出现多条等价路由,此时可以一下方式解决)

  • 【Huawei-isis-1】maximum load-balancing 3// 配置 IS-IS 路由负载分担,配置在负载分担方式下的等价路由的最大数量。当组网中存在的等价路由数量大于 maximum load-balancing 命令配置的等价路由数量时,按照下面原则选取有效路由进行负载分担:

    第一(下一跳权重小的),路由优先级:选取优先级小(优先级高)的路由进行负载分担。

    第二(系统 ID 小的),下一跳设备的 System ID :如果路由的优先级相同,则比较下一跳设备的 System ID,选取 System ID 小的路由进行负载分担。

    第三(接口索引小的),本地设备出接口索引:如果路由优先级和下一跳设备的 System ID 都相同,则比较出接口的接口索引,选取接口索引较小的路由进行负载分担。

  • [Huawei-isis-1] nexthop ip-address weight 2000 // 配置下一跳的权重值,其值越小表示优先级越高,可以等价理解为局部的 cost 值修改。但是权重是建立在等价路由之上的(在等价路由上来进行 weight 的修改,该命令才会生效的),只有存在等价路由时,修改权重才会对路由产生影响。在非等价路由的情况下,使用 weight 无效。

  • [Huawei-Ethernet0/0/1] isis cost 23// 修改出接口链路 cost 值,但是不建议改链路的 cost 值,因为会影响整条链路路由的 cost 值情况,杀伤力过大,不建议这样粗略的配置。

(如果:cost 和权重值同时存在,则权重值的优先级大于 cost 的优先级,cost 不一样,设置权重值是没有意义的)

2,缺省路由

复习:isis 的域间访问

一,骨干区域如何访问非骨干区域

L1/2 的路由器会把 L1 里的所有叶子信息,放到自身 L2 的 LSP 中,在由 L1/2 泛洪到远端。实际上就是 L1 to L2 的渗透泄露,这是默认会执行的

二,非骨干区域如何访问骨干区域

默认是通过缺省路由提供对骨干区域的访问:L1/2 的路由器会产生 ATT=1 的 L1 的 LSP,然后 L1 的路由器收到 ATT=1 的 L1 的 LSP,将会产生缺省路由,下一跳为 SPF 树上去往该 LSP 产生者的最短路径。

三,所遇问题:次优路径

1、下一跳权重(当是等价路由时)
2、修改接口 CosT(当不是等价路由时)
3、路由泄露 L2 TO L1(实验路由渗透的方式,可以实现远端的感知,因为渗透时 cost 值感知携带的)

通过设置 ATT 位控制缺省路由生成(ATT bit 的控制方式)

IS-IS 规定,如果 IS-IS Level-1-2 设备根据 LSDB 判断通过 Level-2 区域比 Level-1 区域能够到达更多的区域,该设备会在所发布的 Level-1 LSP 内将 ATT 位置位。对于收到 ATT 位置位的 LSP 报文的 Level-1 设备,会生成一条目的地为发送该 LSP 的 Level-1-2 设备地址的缺省路由。以上是协议的默认原则,在实际应用中,可以根据需要对 ATT 比特位进行手动配置以更好地为网络服务。

路由泄露的方式:

import-route isis level-1 into level-2(为默认以配置的命令,dis th 没有回显的)
import-route isis level-2 into level-1(默认渗透所有 L2 里的路由)
import-route isis level-1 into level-2 filter-policy(针对 L2 区域里的特定路由进行渗透到 L1 里面去)

ATT bit 的控制方式

attached-bit advertise always // 配置 L1/2 路由器总是产生 ATT=1 的 LSP(也可以当不满足 ATT 置为为 1 的条件时,该命令也可以强制将其 ATT 置为为 1)
attached-bit advertise never// 配置 L1/2 路由器不产生 ATT=1 的 LSP(也可以实现满足 ATT 置为为 1 的条件,使其不让其置为为 1)
attached-bit avoid-learning // 配置 L1 路由器不进行 ATT bit 的计算
default-route-advertise ? 的相关命令
[Huawei-isis-1] default-route-advertise ? //isis 产生缺省路由时,自带 always 缺省路由属性
always // 总是强制去产生一条缺省路由(isis 产生缺省路由时,自带缺省路由)

avoid-learning // 产生缺省的同时,不计算该进程下其他设备产生的缺省路由。多在 isis 多出口的环境里使用(就是 ospf 下的 permit-calculate-other// 产生缺省路由时,并且可以计算该进程下其他设备产生的缺省路由。)

cost // 引入缺省路由时,修改其 cost 值。
level-1 // 针对 L1 区域产生缺省路由
level-1-2 // 针对 L1/2 区域产生缺省路由
level-2 // 针对 L2 区域产生缺省路由
match default // 当本地存在缺省的时候才可以产生缺省路由
route-policy // 引入缺省路由时,使用 route-policy 对缺省路由进行 apply 的属性的修改。
tag // 引入缺省路由时,修改 tag(注意:在 isis 当中 wide 度量才可以携带 tag 属性的,所以还需要配置,[ar2-isis-1] cost-style wide)

avoid-learning 命令的单独演示

img

[ar2-isis-1] default-route-advertise //
[ar2-isis-1] cost-style wide//
[ar4-isis-1] default-route-advertise //
[ar4-isis-1] cost-style wide//
[ar2] tracert 6.6.6.6// 追踪 ping 0.0.0.0 0 区间的 6.6.6.6

1 24.1.1.2 50 ms 40 ms 50 ms
2 24.1.1.1 30 ms 50 ms 40 ms
3 24.1.1.2 70 ms 60 ms 60 ms
4 24.1.1.1 30 ms 30 ms 40 ms

结果:一直在 ar2 和 ar4 间出环

解决方法

[ar2-isis-1] default-route-advertise avoid-learning // 产生缺省路由的时候,ar2 不计算其他设备产生的缺省,但是对方 ar4 仍会计算 ar2 产生的缺省路由。

LSP 分片

什么是 LSP 的 分片:当 IS-IS 要发布的 PDU 中信息量太大时,IS-IS 路由器将会生成多个 LSP 分片 IS-IS 信息,用来携带更多的 isis 信息。I-S-IS LSP 分片由 LSP ID 中的分片号 (LSP Number ) 字段进行标识,这个字段的长度是 1Byte 。因此,一个 ISIS 进程最多可产生 256 个 LSP 分片,携带的信息量有限。所以 isis 的 LSP 分片 id 时用来表示不同的路由器产生的 lsp 的

LSP 分片的具体展示

0000.0000.0002.00-00
0000.0000.0002.00-01
0000.0000.0002.00-02
0000.0000.0002.00-03
0000.0000.0002.00-04

  • 伪节点,伪节点标识符,分片 ID 2 的 8 次方 2 8bit 256 取值 范围 0-255, 所以一共可以产生 256 个 lsp 分片.
  • LSP 分片扩展基本概念和专业术语:IS-IS 可以配置虚拟的系统 ID,并生成虚拟 IS-IS 的 LSP 报文来携带路由等信息。

1 初始系统( Originating System ):初始系统是实际运行 IS-IS 的路由器。允许一个单独的 IS-IS 进程像多个虚拟路由器一样发布 LSP,而 “ Originating System” 指的是那个 “真正” 的 IS-IS 进程。

2 系统 ID ( Normal System-ID ):初始系统的系统 ID 。

3 虚拟系统( Virtual System ):由附加系统 ID 标识的系统,生成扩展 LSP 分片。这些分片在其 LSP ID 中携带附加系统 ID 。

4 附加系统 ID (AdditionalSystem-D): 虚拟系统的系统 ID,由网络管理器统一分配。每个附加系统 ID 都允许生成 256 个扩展的 LSP 分片。

5 24 号 TLV ( IS Alias ID TLV ): LSP 分片携带该 TLV 信息,用来表示初始系统与虚拟系统之间的关系的

6 就是等价于:让 ar1 路由器(初始系统)虚拟出多个 ar1 撇路由器(虚拟系统)。ar1 路由器的系统 id 为初始系统的系统 ID,在给 ar1 撇路由器上也配置对应的系统 id(虚拟系统的系统 ID),这样每个路由器都可以产生 255 个 lsp 分片了,当 ar1 顶不住时,ar1 撇来承担 lsp 的转发。

总结:使能分片扩展功能之后,如果存在由于报文装满而丢失的信息,系统会提醒重启 IS-IS 。重启之后,初始系统会尽最大能力装载路由信息,装不下的信息将放入虚拟系统的 LSP 中发送出去,并通过 24 号 TLV 来告知其他路由器此虚拟系统和自己的关系。

LSP 分片扩展工作原理

  • 在 IS-IS 中,每个系统 ID 都标识一个系统,每个系统都最多可生成 256 个 LSP 分片。通过增加附加系统 ID,可以最多配置 50 个虚拟系统,从而使得 IS-IS 进程最多可生成 13056 个 LSP 分片

  • IS-IS 路由器可以在两种模式下运行 LSP 分片扩展特性

Mode-1:用于网络中的部分路由器不支持 LSP 分片扩展特性的情况

由于 ar2 不支持分片扩展功能,使用 tlv24 去描述用来表示初始系统与虚拟系统之间的关系是描述不了的,所以 ar2 没有办法去识别 TLV24 的。

如图: R1 将一部分路由信息放入 R1-1 和 R1-2 的 LSP 报文中向外发送。R2 收到 R1、 R1-1 和 R1-2 的报文时(收到三个设备发的 lsp),认为对端有三台独立的路由器,并进行正常的路由计算。同时 设置 R1 到 R1-1 和 R1-2 的开销都是 0,所以 R2 到 R1 的路由开销值与 R2 到 R1-1 和 R1-2 的路由开销值都相等的。

img

Mode-2:用于网终中所有路由器都支持 LSP 分片扩展特性的情况。

如图: R1 将一部分路由信息放入 R1-1 和 R1-2 的 LSP 报文中向外发送。当 R2 收到 R1-1 和 R1-2 的 LSP 时,通过 24 号 TLV 知道它们的(R1-1 和 R1-2)初始系统是 R1(在 TLV24 里面会有初始系统和虚拟系统的 id),则把 R1-1 和 R1-2 所发布的信息都视为 R1 的信息。

img

lsp 分片的配置命令 (但是对该所扩展 lsp 抓包分析只有 TLV24 字段,没有详细的解析了.)

[ar1-isis-1] lsp-fragments-extend ? // 配置 lsp 的分片扩展

level-1 // 对 L1 来进行 lsp 的分片扩展
level-1-2 // 对 L1-2 来进行 lsp 的分片扩展
level-2 // 对 L2 来进行 lsp 的分片扩展
mode-1 // 在默认级别的情况下配置 mode-1
mode-2 // 在默认级别的情况下配置 mode-2

1 [ar1-isis-1] lsp-fragments-extend level-1 mode-2 // 针对 L1 配置 lsp 的分片扩展功能模式 mode-2

缺省情况下,设备未使能 IS-IS 进程的 LSP 分片扩展功能。配置 LSP 分片扩展时,如果不指定 mode 和 level 级别,则默认为 mode-1 和 level-1-2 。

2 [ar1-isis-1] virtual-system 0000.0000.1111 // 配置一个虚拟系统的 system id(可以配置多个,分别对应的是多个虚拟系统)

缺省情况下,设备没有配置虚拟系统。为了使设备生成扩展 LSP 分片,应至少配置一个虚拟系统的系统 ID 。这个虚拟系统的系统 ID 在整个路由域中必须唯一。一个 IS-IS 进程最多可配置 50 个虚拟系统的 System ID

3 注意:以上两条命令是配合使用的,只有使能了 LSP 分片扩展,并用 reset isis all 命令重启了 IS-IS 进程后,配置的虚拟系统 ID 才会生效。

posted @ 2023-10-17 21:30


IS-IS LSP 分片扩展

.huawei.

当 IS-IS 要发布的链路状态协议数据报文 PDU(Protocol Data Unit)中的信息量太大时,IS-IS 路由器将会生成多个 LSP 分片,用来携带更多的 IS-IS 信息。

IS-IS LSP 分片由 LSP ID 中的 LSP Number 字段进行标识,这个字段的长度是 1 字节。因此,一个 IS-IS 进程最多可产生 256 个 LSP 分片,携带的信息量有限。在 RFC3786 中规定,IS-IS 可以配置虚拟的 SystemID ,并生成虚拟 IS-IS 的 LSP 报文来携带路由等信息。

基本概念

  • 初始系统(Originating System):初始系统是实际运行 IS-IS 协议的路由器。允许一个单独的 IS-IS 进程像多个虚拟路由器一样发布 LSP,而 “Originating System” 指的是那个 “真正” 的 IS-IS 进程。

  • 系统 ID(Normal System-ID):初始系统的系统 ID。

  • 虚拟系统(Virtual System):由附加系统 ID 标识的系统,用来生成扩展 LSP 分片。这些分片在其 LSP ID 中携带附加系统 ID。

  • 附加系统 ID(Additional System-ID):虚拟系统的系统 ID,由网络管理器统一分配。每个附加系统 ID 都允许生成 256 个扩展的 LSP 分片。

说明

附加系统 ID 和系统 ID 一样,在整个路由域中必须唯一。

  • 24 号 TLV(IS Alias ID TLV):用来表示初始系统与虚拟系统的关系。

工作原理

在 IS-IS 中,每个系统 ID 都标识一个系统,每个系统都最多可生成 256 个 LSP 分片。通过增加附加系统 ID,可以最多配置 50 个虚拟系统,从而使得 IS-IS 进程最多可生成 13056 个 LSP 分片。

使能分片扩展功能之后,如果存在由于报文装满而丢失的信息,系统会提醒重启 IS-IS。重启之后,初始系统会尽最大能力装载路由信息,装不下的信息将放入虚拟系统的 LSP 中发送出去,并通过 24 号 TLV 来告知其他路由器此虚拟系统和自己的关系。

工作模式

IS-IS 路由器可以在两种模式下运行 LSP 分片扩展特性:

图 7-13 IS-IS LSP 分片扩展

在这里插入图片描述

模式应用场景工作原理举例说明注意事项
Mode-1用于网络中的部分路由器不支持 LSP 分片扩展特性的情况。虚拟系统参与路由 SPF 计算,初始系统发布的 LSP 中携带了到每个虚拟系统的链路信息。类似地,虚拟系统发布的 LSP 也包含到初始系统的链路信息。这样,在网络中虚拟系统看起来与初始系统相连的真实路由器是一样的。这种方式是为了兼容不支持分片扩展的老版本所做的一个过渡模式。
在老版本中,IS-IS 无法识别 IS Alias ID TLV,所以虚拟系统的 LSP 必须表现的像一个普通 IS-IS 发出的报文。
如图 7-13 所示,RouterB 是不支持分片扩展的路由器,RouterA 设置为 Mode-1 模式的分片扩展,RouterA1 和 RouterA2 是 RouterA 的虚拟系统,RouterA 将一部分路由信息放入 RouterA1 和 RouterA2 的 LSP 报文中向外发送。
RouterB 收到 RouterA,RouterA1 和 RouterA2 的报文时,认为对端有三台独立的路由器,并进行正常的路由计算。同时 RouterA 到 RouterA1 和 RouterA2 的开销都是 0,所以,RouterB 到 RouterA 的路由开销值与 RouterB 到 RouterA1 路由开销值都相等。
虚拟系统的 LSP 中包含和原 LSP 中相同的区域地址和过载标志位。如果还有其它特性的 TLV,也必须保持一致。虚拟系统所携带的邻居信息指向初始系统,metric 为最大值减 1;初始系统所携带的邻居信息指向虚拟系统,metric 必须为 0。
这样就保证了其它路由器在进行路由计算的时候,虚拟系统一定会成为初始系统的下游节点。
Mode-2用于网络中所有路由器都支持 LSP 分片扩展特性的情况。虚拟系统不参与路由 SPF 计算,网络中所有路由器都知道虚拟系统生成的 LSP 实际属于初始系统。
在该模式下工作的 IS-IS,可以识别 IS Alias ID TLV 的内容,并作为计算树和路由的依据。
如图 7-13 所示,RouterB 是支持分片扩展的路由器,RouterA 设置为 Mode-2 模式的分片扩展,RouterA1 和 RouterA2 是 RouterA 的虚拟系统,RouterA 将一部分路由信息放入到 RouterA1 和 RouterA2 的 LSP 报文中向外发送。
当 RouterB 收到 RouterA1 和 RouterA2 的 LSP 时,通过 IS Alias ID TLV 知道它们的初始系统是 RouterA,则把 RouterA1,RouterA2 所发布的信息都视为 RouterA 的信息。
-

说明

无论在哪种方式下,初始系统和虚拟系统的 LSP 零分片中,都必须包含 IS Alias ID TLV 来表示初始系统是谁。


via:

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值