Quando si esegue il protocollo HSRP (Hot Standby Router Protocol) tra due router connessi tramite uno switch LAN, è possibile che l'instabilità di HSRP risulti evidente. Questo si verifica spesso durante un'interruzione della rete o una transizione di router attiva, ad esempio un router HSRP con una priorità più alta e con diritti di priorità configurati per l'aggiunta alla LAN. Questo documento spiega perché si verifica questa instabilità e come evitarla.
Nessun requisito specifico previsto per questo documento.
Il documento può essere consultato per tutte le versioni software o hardware.
Per ulteriori informazioni sulle convenzioni usate, consultare il documento Cisco sulle convenzioni nei suggerimenti tecnici.
In questa sezione vengono presentate le informazioni necessarie per configurare le funzionalità descritte più avanti nel documento.
Nota: per ulteriori informazioni sui comandi menzionati in questo documento, usare lo strumento di ricerca dei comandi (solo utenti registrati).
Questo documento utilizza le impostazioni di rete mostrate nel diagramma sottostante.
Nel documento vengono usate queste configurazioni:
Router A |
---|
interface FastEthernet1/0 ip address 10.144.220.3 255.255.252.0 standby priority 120 standby preempt standby ip 10.144.220.1 |
Router B |
---|
interface FastEthernet3/0 ip address 10.144.220.2 255.255.252.0 standby priority 110 standby preempt standby ip 10.144.220.1 |
Attualmente non è disponibile una procedura di verifica per questa configurazione.
Le informazioni contenute in questa sezione permettono di risolvere i problemi relativi alla configurazione.
Alcuni comandi show sono supportati dallo strumento Output Interpreter (solo utenti registrati); lo strumento permette di visualizzare un'analisi dell'output del comando show.
Nota: prima di usare i comandi di debug, consultare le informazioni importanti sui comandi di debug.
debug standby
Nel diagramma sopra riportato, quando si aggiunge il router A alla rete, è possibile osservare lo stato HSRP del router B che cambia da Attivo a Standby. L'esecuzione del comando debug standby sul router B restituisce il seguente output:
RouterB# debug standby *Mar 1 02:55:56: SB0:FastEthernet3/0 Hello out 10.144.220.2 Active pri 110 hel 3 hol 10 ip 10.144.220.1 *Mar 1 02:56:08: SB0:FastEthernet3/0 Hello in 10.144.220.3 Active pri 120 hel 3 hol 10 ip 10.144.220.1 *Mar 1 02:56:08: SB0: FastEthernet3/0 state Active -> Speak *Mar 1 02:56:08: SB0:FastEthernet3/0 Resign out 10.144.220.2 Speak pri 110 hel 3 hol 10 ip 10.144.220.1 *Mar 1 02:56:08: SB0:FastEthernet3/0 Hello out 10.144.220.2 Speak pri 110 hel 3 hol 10 ip 10.144.220.1 *Mar 1 02:56:09: %LINEPROTO-5-UPDOWN: Line protocol on Interface FastEthernet3/0, changed state to down *Mar 1 02:56:11: SB0: FastEthernet3/0 state Speak -> Init *Mar 1 02:56:13: %LINEPROTO-5-UPDOWN: Line protocol on Interface FastEthernet3/0, changed state to up *Mar 1 02:56:13: SB0: FastEthernet3/0 state Init -> Listen *Mar 1 02:56:14: %LINEPROTO-5-UPDOWN: Line protocol on Interface FastEthernet3/0, changed state to down *Mar 1 02:56:14: SB0: FastEthernet3/0 state Listen -> Init *Mar 1 02:56:20: %LINEPROTO-5-UPDOWN: Line protocol on Interface FastEthernet3/0, changed state to up *Mar 1 02:56:20: SB0: FastEthernet3/0 state Init -> Listen *Mar 1 02:56:30: SB0: FastEthernet3/0 state Listen -> Speak *Mar 1 02:56:40: SB0: FastEthernet3/0 state Speak -> Standby *Mar 1 02:56:41: SB0: FastEthernet3/0 state Standby -> Active *Mar 1 02:56:41: SB: FastEthernet3/0 Adding 0000.0c07.ac00 to address filter *Mar 1 02:56:41: SB0:FastEthernet3/0 Hello out 10.144.220.2 Active pri 110 hel 3 hol 10 ip 10.144.220.1 *Mar 1 02:56:44: SB0:FastEthernet3/0 Hello in 10.144.220.3 Active pri 120 hel 3 hol 10 ip 10.144.220.1 *Mar 1 02:56:44: SB0: FastEthernet3/0 state Active -> Speak
Dall'output mostrato sopra, è chiaro che lo stato HSRP del router B sta cambiando continuamente da Attivo a Parlato, in Standby e così via.
Il processo HSRP utilizza l'indirizzo multicast 224.0.0.2 per comunicare i pacchetti Hello con gli altri router HSRP. In caso di perdita della connettività o di aggiunta di un router HSRP con priorità più alta a una rete, gli stati HSRP possono iniziare a lampeggiare come mostrato in precedenza. Quando si esegue HSRP su determinate piattaforme di router (vedere la nota di seguito) e alla rete viene aggiunto un router con priorità superiore, lo stato HSRP del router con priorità inferiore cambia da Attivo a Parlante e si verifica una modifica dello stato del collegamento. La porta dello switch rileva la modifica dello stato del collegamento e ha luogo una transizione del protocollo Spanning Tree. La porta impiega circa 30 secondi per attraversare le fasi di ascolto, apprendimento e inoltro. Questo periodo di tempo supera i timeout predefiniti dei processi hello dell'HSRP, in modo che il router con priorità inferiore, dopo aver raggiunto lo stato di standby, diventi attivo perché non è stato ricevuto alcun pacchetto hello dal router attivo.
Poiché i router non vedono i pacchetti hello HSRP dell'altro router, diventano entrambi attivi. Quando le porte dello switch passano allo stato Learning, è possibile che lo switch riconosca lo stesso indirizzo MAC virtuale su due porte diverse.
Nota: le modifiche fisiche allo stato del collegamento causate da modifiche dello stato HSRP si verificano in modo specifico sulle interfacce Fast Ethernet (NM-FE) del modulo di rete sui router Cisco serie 2600, Cisco 3600 e Cisco 7200. Questo comportamento non è più presente nel software Cisco IOS® versione 12.1(3) e successive.
Per ulteriori informazioni, vedere l'ID bug Cisco CSCdr02376 (solo utenti registrati).
Per risolvere il problema descritto in precedenza, eseguire una delle attività seguenti.
Configurare lo switch con il comando set spantree portfast enable, che consente allo switch di ignorare gli stati dello spanttree e passare direttamente allo stato Forwarding.
Se il router è configurato per collegare i pacchetti su questa interfaccia/porta, non sarà possibile usare questa soluzione. L'inoltro immediato su un collegamento di questo tipo potrebbe rendere la rete incline a un'interruzione del loop di inoltro.
Nota: questa restrizione è valida anche per le porte degli switch connesse ad altri switch o bridge.
Modificare i timer HSRP in modo che il ritardo in avanti dello Spanning Tree (impostazione predefinita: 15 secondi) sia inferiore alla metà del tempo di attesa HSRP (impostazione predefinita: 10 secondi).
Suggeriamo un tempo di attesa HSRP di 40 secondi.
Nota: l'aumento del tempo di attesa per l'HSRP rallenta il rilevamento dell'inattività del router attivo e rende attivo il router di standby.
Verificare che non vi siano tempeste di pacchetti sulla rete (il protocollo IPX è soggetto a tempeste di pacchetti).
Configurare il comando standby use-bia , che forza il router attivo HSRP a utilizzare l'indirizzo incorporato.
Ciò consente di ottenere due risultati. Poiché HSRP non deve più modificare (o aggiungere) un indirizzo MAC unicast all'elenco di filtri indirizzi MAC, l'interfaccia Ethernet non viene reimpostata. Impedisce inoltre allo switch di acquisire lo stesso indirizzo su due porte diverse. Per ulteriori informazioni, fare riferimento al documento Cos'è il comando standby use-bia e come funziona? per ulteriori informazioni.
Nota: l'uso del comando standby use-bia presenta i seguenti svantaggi:
Quando un router diventa attivo, l'indirizzo IP virtuale viene spostato su un altro indirizzo MAC. Il router appena attivo invia una risposta ARP (Address Resolution Protocol) gratuita, ma non tutte le implementazioni host gestiscono correttamente l'ARP gratuito.
L'ARP del proxy si interrompe quando è configurato l'uso in standby. Un router in standby non è in grado di coprire il database ARP proxy perso del router in errore.
A causa dei limiti interni, il comando standby use-bia non è supportato sul modulo Multilayer Switch Feature Card 2 (MSFC2). Per ulteriori informazioni, fare riferimento alla sezione Configuration Guidelines and Restrictions in Configurazione dello switching IP Unicast Layer 3 su Supervisor Engine 2.
Revisione | Data di pubblicazione | Commenti |
---|---|---|
1.0 |
02-Jun-2008 |
Versione iniziale |