La disponibilità del default gateway è un punto critico: se l’unico router di uscita di una subnet cade, tutti gli host restano isolati anche se esiste un secondo router perfettamente funzionante. Il problema è che gli host puntano a un singolo indirizzo IP di gateway statico e non sanno reagire da soli a un guasto. I protocolli FHRP (First Hop Redundancy Protocol) risolvono esattamente questo: fanno condividere a due o più router un IP e un MAC virtuali, così gli host continuano a usare sempre lo stesso gateway mentre, dietro le quinte, i router si coordinano su chi inoltra realmente il traffico.
Come funziona HSRP
HSRP (Hot Standby Router Protocol) è il FHRP proprietario Cisco. I router di un gruppo condividono:
- un virtual IP address, che è quello configurato come default gateway sugli host;
- un virtual MAC address, generato automaticamente in base al numero di gruppo.
Con HSRPv1 il virtual MAC ha forma 0000.0C07.ac**XX**, dove XX è il numero di gruppo in esadecimale (gruppi 0–255). Con HSRPv2 il formato è 0000.0C9F.F**XXX** e i gruppi arrivano a 0–4095. Gli host risolvono via ARP il virtual IP e ottengono il virtual MAC: non conoscono i MAC fisici dei router, quindi un failover è per loro completamente trasparente.
Ruoli active e standby
In ogni gruppo un solo router è active (inoltra il traffico destinato al virtual IP/MAC) e uno è standby (pronto a subentrare). Gli altri restano in stato listen. I router si scambiano pacchetti hello in multicast su UDP 1985 (224.0.0.2 in v1, 224.0.0.102 in v2), con timer di default hello 3 s e hold 10 s. Se lo standby non riceve hello dall’active entro l’hold time, promuove sé stesso ad active e riprende l’inoltro, mantenendo lo stesso virtual IP e virtual MAC.
Priority e preemption
La scelta dell’active si basa sulla priority (default 100, range 0–255, vince il valore più alto; a parità decide l’IP più alto sull’interfaccia). Configurando standby 1 priority 110 si designa il router preferito.
C’è però un punto decisivo: la preemption è disabilitata di default. Senza standby 1 preempt, un router con priority alta che rientra dopo un guasto non riprende il ruolo active; resta standby e lascia active il router con priority più bassa che nel frattempo aveva preso il controllo. Per avere un active deterministico bisogna abilitare esplicitamente la preemption sul router a priority maggiore.
interface Vlan10
ip address 10.0.10.2 255.255.255.0
standby version 2
standby 10 ip 10.0.10.1
standby 10 priority 110
standby 10 preempt
HSRP vs VRRP vs GLBP
| Caratteristica | HSRP | VRRP | GLBP |
|---|---|---|---|
| Standard | Cisco proprietario | Aperto (RFC 5798) | Cisco proprietario |
| Ruoli | Active / Standby | Master / Backup | AVG + più AVF |
| Virtual MAC | 0000.0C07.acXX (v1) |
0000.5E00.01XX |
0007.B400.XXYY |
| Preemption default | Disabilitata | Abilitata | Abilitata |
| Load balancing | No (per-group) | No | Sì, nativo |
VRRP è lo standard aperto interoperabile fra vendor; a differenza di HSRP la preemption è attiva di default e può usare come virtual IP l’indirizzo reale di un’interfaccia (address owner, priority 255). GLBP è l’unico a fare load balancing nativo: un AVG (Active Virtual Gateway) assegna virtual MAC diversi agli AVF (Active Virtual Forwarder), così più router inoltrano contemporaneamente. HSRP e VRRP bilanciano solo “manualmente”, creando più gruppi e alternando il router active tra le VLAN.
Trappole tipiche d’esame
- Preemption dimenticata → scenario: il router con
priority 110è tornato online ma il traffico esce ancora dal router conpriority 100. Risposta giusta: mancastandby preempt; senza di esso la priority più alta non riconquista il ruolo active. - Virtual IP diverso dal default gateway → scenario: HSRP configurato ma gli host non raggiungono altre reti. Verifica che il virtual IP coincida esattamente con il default gateway impostato sugli host, non con l’IP fisico dell’interfaccia del router.
- Serve interoperabilità multi-vendor → scegli VRRP, non HSRP (proprietario Cisco).
- Richiesta di load balancing automatico → la risposta è GLBP, che distribuisce il traffico su più forwarder; HSRP/VRRP hanno un solo active per gruppo.
- Mismatch di versione o gruppo → scenario: due router mostrano entrambi stato active (active/active). Cause tipiche: versioni HSRP diverse, numeri di gruppo non allineati o problema di connettività L2 che blocca gli hello tra i peer.