本檔案介紹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系列路由器
本文中的資訊是根據特定實驗室環境內的裝置所建立。文中使用到的所有裝置皆從已清除(預設)的組態來啟動。如果您的網路正在作用,請確保您已瞭解任何指令可能造成的影響。
如需文件慣例的詳細資訊,請參閱思科技術提示慣例。
當路由器耗盡系統資源(記憶體或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錯誤ID CSCdj18100的IOS中。在Cisco實施中,設定過載位時,可訪問直接連線的介面/IP字首。
IS-IS過載位技術已使用Cisco錯誤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流量的中轉節點。
思科錯誤ID CSCdr98046(僅供註冊客戶使用)可更有效地控制當超載位以其擴充的容量使用時發生的情況。此增強功能允許IS-IS第1級 — 第2級(L1L2)路由器,該路由器正在將第1級到第2級或第2級到第1級的IP路由重新分配,以便在設定過載位後繼續在其LSP中通告這些重新分配的路由。
使用suppress關鍵字,可以配置L1L2路由器,以將第1級的IP路由重新分發和通告到第2級,反之亦然,即使配置了set-overload-bit也是如此。指令語法如下:
[no] set-overload-bit [on-startup [| wait-for-bgp]] | [suppress [interlevel | external]]
如果設定了過載位,suppress interlevel關鍵字告知路由器不要通告從其他IS-IS級別獲知的IP字首。如果設定了過載位,suppress external關鍵字告訴路由器不要通告從其他協定獲取的IP字首。預設為不抑制並保留思科錯誤ID CSCdp01872(僅限註冊客戶)行為。
suppress選項僅在您自己的過載位被設定時生效,而不是在接收或設定時(例如,您可能在啟動時設定了set-overload-bit ,但並未設定該位)才生效。
router isis set-overload-bit on-startup 40 suppress interlevel
在上述情況下,在重新載入路由器之前,實際上不會設定過載位,因此您應該繼續洩漏級別之間的IP字首。重新載入並實際設定位元時,應抑制層間通告。
以下網路圖表用於演示set-overload-bit 命令和wait-for-bgp和suppress選項。
以下是在Router 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
由於BGP已收斂且已清除過載位,因此路由器2現在重建其第1級LSP。因此,您在下面的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
現在我們可以看到Router2已完成了與鄰居的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路由洩漏且已清除過載位元的Router 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的Level 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
當我們檢視Router 3正在學習的IP路由時,可以看到它從L2L1路由洩漏中獲知了Router 1的環回地址1.1.1.1。另請注意,Router 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
現在讓我們在Router 2上使用suppress選項設定set-overload-bit。我們將同時抑制內部路由和外部路由。指令語法如下:
[no] set-overload-bit [on-startup [| wait-for-bgp]] | [suppress [interlevel | external]]
suppress interlevel可防止路由器通告從第2級獲知的字首。suppress external prevents redistribution。
r2(config-router)#set-overload-bit suppress interlevel external
通過檢視Router 2的1級資料庫,我們可以看到現在在Router 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
在Router 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
Router 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
思科錯誤ID CSCdj18100(僅供註冊客戶使用) — 已引入手動設定過載位元的功能。
思科錯誤ID CSCdp01872(僅供註冊客戶使用) — 已引入在啟動時設定過載位元的功能。等待BGP發出收斂訊號或設定計時器以清除過載位。
思科錯誤ID CSCdr98046(僅限註冊客戶) — 將IP路由從第1級重新分發到第2級或第2級再分發到第1級的IS-IS L1L2路由器,在設定過載位後,可能繼續在其LSP中通告這些重新分發的路由。
修訂 | 發佈日期 | 意見 |
---|---|---|
1.0 |
25-Oct-2005 |
初始版本 |