In questo documento viene introdotto il comando di configurazione set-overload-bit Intermediate System-to-Intermediate System (IS-IS) e viene spiegato come e quando utilizzarlo con le parole chiave wait-for-bgp e suppress. In questo documento, i termini Intermediate System (IS) e router sono intercambiabili.
I lettori di questo documento devono avere una conoscenza di base di:
Border Gateway Protocol (BGP) e protocolli di routing IS-IS.
Le informazioni fornite in questo documento si basano sulle seguenti versioni software e hardware:
Software Cisco IOS® versione 12.1(9)
Cisco serie 2500 e 3600 router
Le informazioni discusse in questo documento fanno riferimento a dispositivi usati in uno specifico ambiente di emulazione. Su tutti i dispositivi menzionati nel documento la configurazione è stata ripristinata ai valori predefiniti. Se la rete è operativa, valutare attentamente eventuali conseguenze derivanti dall'uso dei comandi.
Per ulteriori informazioni sulle convenzioni usate, consultare il documento Cisco sulle convenzioni nei suggerimenti tecnici.
Quando un router ha esaurito le risorse di sistema (memoria o CPU), non può archiviare il database dello stato del collegamento o eseguire prima il percorso più breve (SPF, Short Path First). In questo caso, il router deve avvisare gli altri router della propria area impostando un bit specifico nei propri pacchetti allo stato del collegamento (LSP). Quando altri router rilevano che questo bit è impostato, non utilizzeranno il router per il traffico di transito ma lo useranno per i pacchetti destinati alle reti e ai prefissi IP direttamente connessi del router in sovraccarico.
Nel sistema IS-IS, un router scarica immediatamente il proprio LSP prima di inviare i pacchetti PDU (CSNP) con numero di sequenza completo. Il bit di overload viene quindi utilizzato per indicare al resto della rete di non indirizzare il traffico di transito attraverso il router appena ricaricato.
Per ciascun LSP, lo standard ISO/IEC 10589:1992 definisce un bit speciale denominato LSP Database Overload Bit. La bozza menziona la condizione di sovraccarico (al punto 7.3.19): "A causa di una configurazione errata della rete o di alcune condizioni transitorie, è possibile che le risorse di memoria disponibili non siano sufficienti per archiviare una PDU dello stato del collegamento ricevuta. In questo caso, un IS deve adottare determinate misure per garantire che, se il relativo database LSP diventa incoerente con quello degli altri IS, questi non si basino sui percorsi di inoltro attraverso l'IS in sovraccarico."
Quando un IS si trova in questa condizione, imposta questo bit nel frammento 0 LSP non pseudonoide che genera.
Inoltre, nella bozza, la sezione 7.2.8.1 fa notare che altri IS non dovrebbero utilizzare l'IS sovraccarico come router di transito, ma possono raggiungere i sistemi terminali (ES) collegati direttamente. Durante questo periodo, le interfacce collegate direttamente e i prefissi IP sono ancora raggiungibili. Cisco IOS non utilizza il bit di overload per questa funzionalità, sebbene la possibilità di impostare in modo permanente il bit di overload sia stata introdotta in IOS con l'ID bug CSCdj18100 di Cisco. Nell'implementazione Cisco, quando il bit di overload è impostato, le interfacce/prefissi IP direttamente connessi sono raggiungibili.
La tecnica di bit di overload IS-IS è stata ampliata con l'ID bug Cisco CSCdp01872 (solo utenti registrati). È possibile configurare un router in modo che annunci il proprio LSP con il bit di overload per un periodo di tempo specifico dopo un ricaricamento. Alla scadenza del timer, il bit di overload viene annullato e l'LSP viene riattivato.
Questa nuova funzionalità è utile per i provider di servizi Internet (ISP) che eseguono sia Border Gateway Protocol (BGP) che IS-IS per evitare due scenari da "buco nero". Impostando il bit di overload per un periodo di tempo fisso subito dopo un ricaricamento, si garantisce che il router non riceva il traffico di transito mentre il protocollo di routing è ancora in fase di convergenza.
La tecnica per impostare questo bit per un determinato periodo di tempo dopo un ricaricamento è implementata utilizzando il comando seguente. Questo comando impiega da 5 a 86400 secondi affinché il bit di overload rimanga impostato dopo il riavvio.
router isis set-overload-bit [on-startup [| wait-for-bgp] ]
Ad esempio:
Router(config-router)#set-overload-bit on-startup 3500 wait-for-bgp !--- Set the overload bit for 5 minutes (default is 10 minutes).
Questa funzione ha reso possibile anche configurare un router in modo che disabiliti automaticamente il bit di overload quando il protocollo BGP converge. Per ulteriori informazioni sull'attesa di BGP, vedere RFC3277 Intermediate System to Intermediate System (IS-IS) Transient Blackhole Avoidance .
In base alla specifica BGP, un router BGP non deve inviare pacchetti keepalive finché invia gli aggiornamenti. Pertanto, i pacchetti keepalive verranno inviati solo dopo l'invio di tutti gli aggiornamenti. Si ritiene che il protocollo BGP converga quando i pacchetti keepalive vengono ricevuti da tutti i router BGP adiacenti.
Se i pacchetti keepalive BGP non vengono ricevuti da tutti i router BGP adiacenti e l'opzione wait-for-bgp è configurata, IS-IS disabiliterà il bit di overload dopo 10 minuti.
È possibile che gli ISP desiderino impedire l'annuncio di determinati prefissi IP negli LSP del router quando è configurato set-overload-bit. Ad esempio, potrebbe non essere desiderabile consentire la propagazione del prefisso IP di livello 1 al prefisso IP di livello 2, in modo da rendere il router un nodo di transito per il traffico IP.
L'ID bug Cisco CSCdr98046 (solo utenti registrati) offre un maggiore controllo su ciò che accade quando il bit di overload viene utilizzato nella sua capacità espansa. Questo miglioramento consente a un router IS-IS di livello 1 - livello 2 (L1L2) che ridistribuisce le route IP dal livello 1 al livello 2 o dal livello 2 al livello 1 di continuare a pubblicizzare queste route ridistribuite nel relativo LSP quando il bit di sovraccarico è stato impostato.
Utilizzando la parola chiave suppress, è possibile configurare un router L1L2 per ridistribuire e annunciare le route IP dal livello 1 al livello 2 o viceversa, anche quando è configurato set-overload-bit. La sintassi del comando è la seguente:
[no] set-overload-bit [on-startup [| wait-for-bgp]] | [suppress [interlevel | external]]
La parola chiave suppress interlevel indica al router di non annunciare i prefissi IP appresi da un altro livello IS-IS se il bit di overload è impostato. La parola chiave suppress external indica al router di non annunciare i prefissi IP appresi da altri protocolli se il bit di overload è impostato. Per impostazione predefinita, il comportamento dell'ID bug Cisco CSCdp01872 (solo utenti registrati) non viene eliminato e mantenuto.
L'opzione suppress ha effetto solo quando il bit di overload è impostato e non quando viene ricevuto o configurato (ad esempio, è possibile che set-overload-bit sia impostato all'avvio e il bit non sia impostato).
router isis set-overload-bit on-startup 40 suppress interlevel
Nel caso illustrato sopra, il bit di overload non è effettivamente impostato finché il router non viene ricaricato, quindi è necessario continuare a perdere i prefissi IP tra i livelli. Quando ricaricate e impostate effettivamente il bit, dovete sopprimere gli annunci interlivello.
Nel diagramma di rete seguente vengono illustrati il comando set-overload-bit e le opzioni wait-for-bgp e suppress.
Di seguito è riportata la configurazione contenente l'opzione wait-for-bgp sul router 2.
Configurazione router 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. |
Il router è stato ricaricato di recente e prima che eBGP converga è possibile verificare che il bit di overload è impostato sull'LSP del router 2 nel database IS-IS di livello 1.
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
Di seguito viene riportato l'output del comando debug isis update che mostra la convergenza di BGP sul router 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
Il router 2 ricostruisce ora il proprio LSP di livello 1 perché il BGP ha eseguito la convergenza e il bit di overload è stato annullato. Ecco perché viene visualizzato il messaggio "Importante fields changed" nell'output del comando debug isis update (debug isis aggiornamento) riportato di seguito.
*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
Ora possiamo vedere che il router 2 ha completato la sessione di aggiornamento BGP con il router adiacente:
*Mar 1 00:00:52.127 UTC: BGP: 135.8.1.1 initial update completed
Se si controlla di nuovo l'LSP di livello 1 del router 2, si osserverà che il router 2 ha annullato il bit di sovraccarico (perché BGP ha convergente) e che il campo Num seq LSP è aumentato di 1 (a causa della creazione di un nuovo 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
Ecco la configurazione del router 2 con la perdita del percorso L1L2 configurata e il bit di overload annullato.
Configurazione router 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. |
Si noti che il database di livello 1 del router 2 indica che il bit di overload non è impostato nell'LSP L1 del router 2.
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
Se si esaminano i percorsi IP appresi dal router 3, si osserverà che l'indirizzo di loopback 1.1.1.1 del router 1 è stato appreso da una perdita di percorso L2L1. Notare anche che il router 3 riceve la route statica ridistribuita 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
A questo punto, è possibile configurare set-overload-bit sul router 2 con l'opzione suppress. Sopprimeremo sia le rotte interne che quelle esterne. La sintassi del comando è la seguente:
[no] set-overload-bit [on-startup [| wait-for-bgp]] | [suppress [interlevel | external]]
sopprimi interlivello impedisce al router di annunciare i prefissi appresi dal livello 2. sopprimi esterno impedisce la ridistribuzione.
r2(config-router)#set-overload-bit suppress interlevel external
Se si controlla il database di livello 1 del router 2, si osserverà che il bit di overload è ora impostato nell'LSP di livello 1 del router 2. Sia 200.200.200.200/32 che 1.1.1.1/32 sono stati soppressi. Non vengono inseriti nel database di livello 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
Quando si abilitano i pacchetti di aggiornamento ISIS di debug sul router 2, nell'output vengono visualizzati i "campi importanti modificati" quando vengono compilati gli LSP di livello 1 e 2. Ciò indica che il contenuto dell'LSP è cambiato, in altre parole, abbiamo ricevuto un LSP con il bit di overload impostato. Un nuovo provider di servizi di traduzione richiede l'esecuzione di un SPF completo.
*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
La tabella di routing aggiornata del router 3 non include più le reti IP 200.200.200.200 e 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 (solo utenti registrati): ha introdotto la possibilità di impostare manualmente il bit di overload.
Cisco bug ID CSCdp01872 (solo utenti registrati) - Ha introdotto la possibilità di impostare il bit di overload all'avvio. Attendere che BGP segnali la convergenza o impostare un timer per cancellare il bit di overload.
Cisco ID bug CSCdr98046 (solo utenti registrati) - Un router IS-IS L1L2 che ridistribuisce le route IP dal livello 1 al livello 2 o 2 al livello 1 può continuare a pubblicizzare queste route ridistribuite nel relativo LSP quando il bit di sovraccarico è stato impostato.
Revisione | Data di pubblicazione | Commenti |
---|---|---|
1.0 |
25-Oct-2005 |
Versione iniziale |