本文档介绍set-overload-bit Intermediate System-to-Intermediate System(IS-IS)配置命令,以及如何和何时将其与wait-for-bgp和suppress关键字一起使用。在本文档中,术语“中间系统”(IS)和路由器是可互换的。
本文档的读者应具备以下基本知识:
边界网关协议(BGP)和IS-IS路由协议。
本文档中的信息基于以下软件和硬件版本:
Cisco IOS® 软件版本 12.1(9)
Cisco 2500 和 3600 系列路由器
本文档中的信息都是基于特定实验室环境中的设备编写的。本文档中使用的所有设备最初均采用原始(默认)配置。如果您使用的是真实网络,请确保您已经了解所有命令的潜在影响。
有关文件规则的更多信息请参见“ Cisco技术提示规则”。
当路由器耗尽系统资源(内存或CPU)时,它无法存储链路状态数据库或运行最短路径优先(SPF)。 在这种情况下,路由器应通过在其链路状态数据包(LSP)中设置特定位来向其区域内的其他路由器发出警报。 当其他路由器检测到此位已设置时,它们不会将此路由器用于中转流量,但会将其用于发往过载路由器的直连网络和IP前缀的数据包。
在IS-IS中,路由器甚至在发送完整序列号PDU(CSNP)数据包之前立即泛洪其自己的LSP。因此,过载位用于通知网络的其余部分不通过新重新加载的路由器路由中转流量。
对于每个LSP,ISO/IEC 10589:1992定 义一个称为LSP数据库过载位的特殊位。草案提及过载条件(第7.3.19节):“由于网络配置错误或某些暂时性情况,可能没有足够的内存资源来存储收到的链路状态PDU。发生这种情况时,IS需要采取某些步骤来确保如果其LSP数据库与其他IS不一致,这些IS不依赖通过过载IS的转发路径。”
当IS处于此情况时,它会在其生成的非伪节点LSP分片0中设置此位。
此外,在草案中,第7.2.8.1节还指出,其他IS不应将过载的IS用作中转路由器,而应能到达直接连接的终端系统(ES)。在此期间,直连接口和IP前缀仍可访问。Cisco IOS不使用此功能的过载位,但是使用Cisco Bug ID CSCdj18100将永久设置过载位的功能引入IOS中。在Cisco实施中,当设置过载位时,直连接口/IP前缀是可到达的。
IS-IS过载位技术扩展为Cisco Bug ID CSCdp01872(仅限注册客户)。 您可以配置路由器,使其在重新加载后的特定时间段内使用过载位通告其LSP。计时器到期时,过载位被清除,LSP被重新泛洪。
此新功能对同时运行边界网关协议(BGP)和IS-IS的互联网服务提供商(ISP)非常有用,以避免出现两种“黑洞”场景。在重新加载后将过载位设置为固定的时间量可确保路由器在路由协议仍收敛时不会接收中转流量。
在重新加载后,使用以下命令将此位设置一段时间。此命令需要5到86400秒的时间,才能在重新加载后保持设置过载位。
router isis set-overload-bit [on-startup [| wait-for-bgp] ]
例如:
Router(config-router)#set-overload-bit on-startup 3500 wait-for-bgp !--- Set the overload bit for 5 minutes (default is 10 minutes).
此功能还使路由器能够在BGP收敛时自动禁用过载位。有关等待BGP的详细信息,请参阅RFC3277中间系统到中间系统(IS-IS)临时黑洞避免 。
根据BGP规范,只要BGP路由器发送更新,就无需发送keepalive。因此,只有在发送所有更新后,才会发送keepalive。当从所有BGP邻居收到keepalive时,BGP被视为已收敛。
如果未从所有BGP邻居接收到BGP Keepalive,并且已配置wait-for-bgp,则IS-IS将在10分钟后禁用过载位。
当配置set-overload-bit时,ISP可能希望抑制某些IP前缀在路由器自己的LSP中被通告。例如,可能不希望允许第1级传播到第2级IP前缀,这会使路由器成为IP流量的中转节点。
Cisco Bug ID CSCdr98046(仅限注册客户)使用户能够更好地控制过载位用于其扩展容量时会发生什么情况。此增强功能允许IS-IS 1级 — 2级(L1L2)路由器在设置过载位后继续在其LSP中通告这些重分发的路由,该路由器将IP路由从1级重分发到2级或2级重分发到1级。
使用suppress关键字,您可以配置L1L2路由器,以将IP路由从1级重分布并通告到2级,反之亦然,即使配置了set-overload-bit。命令语法如下:
[no] set-overload-bit [on-startup [| wait-for-bgp]] | [suppress [interlevel | external]]
如果设置了过载位,suppress interlevel关键字会告知路由器不要通告从另一个IS-IS级别获取的IP前缀。如果设置了过载位,suppress external关键字会告知路由器不要通告从其他协议获取的IP前缀。默认不是抑制和维护Cisco Bug ID CSCdp01872(仅限注册客户)行为。
suppress 选项仅在设置了您自己的过载位时生效,而不是在接收或配置过载位时生效(例如,启动时可以设置过载位,而未设置该位)。
router isis set-overload-bit on-startup 40 suppress interlevel
在上述情况下,在重新加载路由器之前,实际上不会设置过载位,因此您应继续在不同级别之间泄漏IP前缀。重新加载并实际设置位时,应抑制级别间通告。
以下网络图用于演示set-overload-bit命令和wait-for-bgp 和suppress 选项。
以下是路由器2上包含wait-for-bgp选项的配置。
路由器 2 配置 |
---|
! interface Loopback0 ip address 2.2.2.2 255.255.255.255 !--- Creates loopback interface and assigns !--- IP address to interface Loopback0. ! interface Ethernet0/0 ip address 135.8.1.1 255.255.255.0 ip router isis ! !--- Assigns IP address to interface Ethernet0/0 !--- and enables IS-IS for IP on the interface. ! ! interface Ethernet1/0 ip address 135.8.2.1 255.255.255.0 ip router isis ! !--- Assigns IP address to interface Ethernet1/0 !--- and enables IS-IS for IP on the interface. ! ! router isis passive-interface Loopback0 net 12.0020.0200.2002.00 set-overload-bit on-startup wait-for-bgp ! !--- Enables the IS-IS process on the router. !--- Makes loopback interface passive !--- (does not send IS-IS packets on interface). !--- Assigns area and system ID to router. !--- Sets the overload bit on startup to wait for BGP !--- using the default timeout of 10 minutes. |
路由器已重新加载,在eBGP融合之前,您可以看到过载位已在IS-IS 1级数据库中的路由器2的LSP上设置。
IS-IS Level-1 Link State Database: LSPID LSP Seq Num LSP Checksum LSP Holdtime ATT/P/OL r2.00-00 0x00000017 0x2372 284 0/0/1
下面,在debug isis update的输出中,我们看到BGP已在路由器2上收敛:
*Mar 1 00:00:51.015 UTC: BGP(0): Revise route installing 1.1.1.1/32 -> 135.8.1.1 to main IP table
路由器2现在重建其1级LSP,因为BGP已收敛且过载位已清除。这就是您在下面debug isis update的输出中看到“重要字段已更改”的原因。
*Mar 1 00:00:51.087 UTC: ISIS-Upd: Building L1 LSP *Mar 1 00:00:51.087 UTC: ISIS-Upd: Important fields changed *Mar 1 00:00:51.087 UTC: ISIS-Upd: Full SPF required
现在,我们可以看到路由器2已与邻居完成其BGP更新会话:
*Mar 1 00:00:52.127 UTC: BGP: 135.8.1.1 initial update completed
再次查看路由器2的1级LSP时,我们看到路由器2已清除过载位(因为BGP已收敛),并且LSP Seq Num字段增加了1(因为创建了新的LSP):
IS-IS Level-1 Link State Database: LSPID LSP Seq Num LSP Checksum LSP Holdtime ATT/P/OL r2.00-00 0x00000018 0xAD87 287 0/0/0
这是配置了L1L2路由泄漏并清除了过载位的路由器2配置。
路由器 2 配置 |
---|
! interface Loopback0 ip address 2.2.2.2 255.255.255.255 !--- Creates loopback interface and assigns !--- IP address to interface Loopback0. ! interface Ethernet0/0 ip address 135.8.1.1 255.255.255.0 ip router isis !--- Assigns IP address to interface Ethernet0/0 !--- and enables IS-IS for IP on the interface. ! ! ! interface Ethernet1/0 ip address 135.8.2.1 255.255.255.0 ip router isis ! !--- Assigns IP address to interface Ethernet1/0 !--- and enables IS-IS for IP on the interface. ! ! router isis redistribute static ip metric 11 level-1 redistribute isis ip level-2 into level-1 distribute-list 100 passive-interface Loopback0 net 12.0020.0200.2002.00 ! !--- Enables the IS-IS process on the router. !--- Configured L2 to L1 route leaking !--- Makes loopback interface passive !--- (does not send IS-IS packets on interface). !--- Assigns area and system ID to router. ! ip route 200.200.200.200 255.255.255.255 loopback0 !--- Static route to 200.200.200.200 via loopback0. access-list 100 permit ip any any !--- Access list 100 is used to control which route !--- gets leaked from Level 2 to Level 1. |
请注意,Router 2的1级数据库显示,在Router 2的L1 LSP中,过载位是清除的。
IS-IS Level-1 LSP r2.00-00 LSPID LSP Seq Num LSP Checksum LSP Holdtime ATT/P/OL r2.00-00 * 0x0000005D 0xC252 180 0/0/0 Area Address: 12 NLPID: 0xCC Hostname: r2 IP Address: 2.2.2.2 Metric: 10 IP 135.8.2.0 255.255.255.0 Metric: 10 IP 135.8.1.0 255.255.255.0 Metric: 0 IP 2.2.2.2 255.255.255.255 Metric: 10 IS r2.02 Metric: 10 IS r3.01 Metric: 11 IP-External 200.200.200.200 255.255.255.255 Metric:138 IP-Interarea 1.1.1.1 255.255.255.255
当我们查看路由器3正在学习的IP路由时,我们可以看到它从L2L1路由泄漏中获知了路由器1的环回地址1.1.1.1。另请注意,路由器3也收到重分发的静态路由200.200.200.0/32。
r3#show ip route isis 200.200.200.0/32 is subnetted, 1 subnets i L1 200.200.200.200 [115/21] via 135.8.2.2, Ethernet0/0 1.0.0.0/32 is subnetted, 1 subnets i ia 1.1.1.1 [115/148] via 135.8.2.2, Ethernet0/0 2.0.0.0/32 is subnetted, 1 subnets i L1 2.2.2.2 [115/10] via 135.8.2.2, Ethernet0/0 135.8.0.0/24 is subnetted, 2 subnets i L1 135.8.1.0 [115/20] via 135.8.2.2, Ethernet0/0
现在,我们使用suppress选项在路由器2上配置set-overload位。我们将同时抑制内部路由和外部路由。命令语法如下:
[no] set-overload-bit [on-startup [| wait-for-bgp]] | [suppress [interlevel | external]]
suppress interlevel可以阻止路由器通告从级别2获知的前缀。suppress external可以防止重分发。
r2(config-router)#set-overload-bit suppress interlevel external
查看路由器2的1级数据库,我们可以看到过载位现在在路由器2的1级LSP中设置。200.200.200.200/32和1.1.1.1/32均被抑制。它们未注入到1级数据库。
IS-IS Level-1 LSP r2.00-00 LSPID LSP Seq Num LSP Checksum LSP Holdtime ATT/P/OL r2.00-00 * 0x0000005F 0x23C6 266 0/0/1 Area Address: 12 NLPID: 0xCC Hostname: r2 IP Address: 2.2.2.2 Metric: 10 IP 135.8.2.0 255.255.255.0 Metric: 10 IP 135.8.1.0 255.255.255.0 Metric: 0 IP 2.2.2.2 255.255.255.255 Metric: 10 IS r2.02 Metric: 10 IS r3.01
在路由器2上启用debug isis update-packets时,当构建1级和2级LSP时,我们在输出中看到“重要字段已更改”。这表示LSP内容已更改,即,我们已收到设置了过载位的LSP。新LSP需要运行完整的SPF。
*Mar 1 03:16:08.987 UTC: ISIS-Upd: Building L1 LSP *Mar 1 03:16:08.987 UTC: ISIS-Upd: Important fields changed *Mar 1 03:16:08.987 UTC: ISIS-Upd: Full SPF required *Mar 1 03:16:08.987 UTC: ISIS-Upd: Building L2 LSP *Mar 1 03:16:08.987 UTC: ISIS-Upd: Important fields changed *Mar 1 03:16:08.987 UTC: ISIS-Upd: Full SPF required *Mar 1 03:16:09.035 UTC: ISIS-Upd: Sending L1 LSP 0020.0200.2002.00-00, seq 61, ht 299 on Ethernet0/0 *Mar 1 03:16:09.095 UTC: ISIS-Upd: Sending L2 LSP 0020.0200.2002.00-00, seq 65, ht 299 on Ethernet1/0
路由器3的更新路由表不再包含IP网络200.200.200.200和1.1.1.1。
r3#show ip route isis 2.0.0.0/32 is subnetted, 1 subnets i L1 2.2.2.2 [115/10] via 135.8.2.2, Ethernet0/0 135.8.0.0/24 is subnetted, 2 subnets i L1 135.8.1.0 [115/20] via 135.8.2.2, Ethernet0/0
Cisco Bug ID CSCdj18100(仅注册客户) — 引入了手动设置过载位的功能。
Cisco Bug ID CSCdp01872(仅注册客户) — 引入了在启动时设置过载位的功能。等待BGP发出收敛信号或设置计时器以清除过载位。
Cisco Bug ID CSCdr98046(仅注册客户) — IS-IS L1L2路由器将IP路由从1级重分发到2级或2级重分发到1级,当过载位设置时,该路由器可以继续在其LSP中通告这些重分发的路由。
版本 | 发布日期 | 备注 |
---|---|---|
1.0 |
25-Oct-2005 |
初始版本 |