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 con priority 100. Risposta giusta: manca standby 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.