First Hop Redundancy Protocol (FHRP) används för att säkerställa att enheter i ett nätverk alltid har tillgång till en fungerande gateway, även om den aktiva routern misslyckas. FHRP gör det möjligt att använda flera routrar för att skapa en redundant gateway med hjälp av en virtuell IP-adress.
Det finns flera varianter av FHRP som används för att uppnå denna redundans, inklusive HSRP, VRRP, och GLBP.
HSRP – Hot Standby Router Protocol
HSRP är ett Cisco-proprietär protokoll som gör det möjligt för flera routrar att samarbeta och tillhandahålla en virtuell gateway (given IP-address och virtuell MAC-adress 0000.0C9F.FX01). En aktiv router hanterar all trafik medan en standby-router är redo att ta över om den aktiva routern misslyckas.
Hur kommunicerar routrar i HSRP-grupp?
- Multicast-adress: HSRP version 1 använder multicast-adressen 224.0.0.2 för att skicka meddelanden mellan routrarna i samma grupp. HSRP version 2 använder multicast 224.0.0.102
- Hello-meddelanden: Routrarna skickar Hello-meddelanden till varandra var 3 sekund (standardinställning) för att säkerställa att alla routrar är fungerande.
- Failover: Om den aktiva routern slutar skicka Hello-meddelanden, tar standby-routern över efter 10 sekunder (standardinställning).
VRRP – Virtual Router Redundancy Protocol
VRRP är en öppen standard som fungerar liknande HSRP. En router blir master router och hanterar all trafik, medan de andra routrarna i samma grupp fungerar som backup-routers.
Hur kommunicerar routrar i VRRP-grupp?
- Multicast-adress: VRRP använder multicast-adressen 224.0.0.18 för att skicka meddelanden mellan routrarna.
- Advertisement-interval: Master-routern skickar annonserings meddelanden var 1 sekund (standard) för att hålla backup-routrar informerade.
- Failover: Om master-routern inte skickar meddelanden inom 3 sekunder (standard), blir den router med högst prioritet master.
GLBP – Gateway Load Balancing Protocol
GLBP är ett Cisco-protokoll som både ger redundans och en form av lastdelning via load sharing. GLBP möjliggör att trafik kan skickas genom flera gateways inom en grupp, vilket ger både redundans och bättre utnyttjande av nätverksresurser. Dock är detta tekniskt sett inte fullständig lastbalansering, eftersom GLBP inte aktivt övervakar belastningen på varje router och justerar trafiken därefter. Istället använder GLBP en statisk fördelnings mekanism, där trafiken fördelas baserat på den valda algoritmen (per-MAC eller per-destination).
I riktig lastbalansering skulle protokollet aktivt övervaka trafikbelastningen och dynamiskt justera fördelningen för att säkerställa att alla routrar delar bördan jämnt. GLBP gör däremot ingen sådan dynamisk justering, utan fördelar trafiken enligt den valda algoritmen, oavsett om vissa routrar blir mer belastade än andra.
Hur fungerar GLBP?
- Multicast-adress: GLBP använder multicast-adressen 224.0.0.102 för att koordinera lastbalansering mellan routrarna.
- Lastbalansering: GLBP tilldelar varje router en unik MAC-adress för den gemensamma gateway och sprider trafiken jämnt mellan routrarna. GLBP hanterar lastbalansering på två sätt:
- Per-MAC – GLBP tilldelar varje router en unik MAC-adress som används av klienter för att skicka trafik. Klienterna fördelas mellan dessa MAC-adresser, vilket innebär att trafiken fördelas jämnt mellan routrarna.
- Per-destination – GLBP kan även fördela trafiken baserat på destinationen för varje paket. Detta innebär att varje router ansvarar för olika destinationer i nätverket, vilket hjälper till att optimera belastningen.
Den automatiserade valprocessen i FHRP
Efter att routrarna har fått sina initiala konfigurationer i ett FHRP-protokoll (HSRP, VRRP, eller GLBP), börjar en automatiserad valprocess för att bestämma vilken router som ska fungera som den aktiva routern i nätverket, baserat på de initiala konfigurationerna. När routrarna i samma grupp har konfigurerats och är deltagande på nätverket, kommunicerar de med varandra via multicast-meddelanden. Routrarna utbyter Hello-meddelanden (eller liknande beroende på protokollet) för att meddela sin närvaro och synkronisera sin status.
Prioritet
Under den initiala valprocessen används två huvudsakliga kriterier för att avgöra vilken router som ska bli den aktiva routern. Det första kriteriet är prioritet. Routern med den högsta prioriteten blir den aktiva routern och hanterar all trafik till den virtuella IP-adressen som delas av routrarna i gruppen. Om prioriteten inte är manuellt konfigurerad, tilldelas routrarna standardvärdet 100.
Tiebreaker
Om två eller fler routrar har samma prioritet, används den högsta IP-adressen som ”tiebreaker” för att bestämma den aktiva routern. Routern med den högsta IP-adressen på det interfacet som är konfigurerat för FHRP-gruppen blir då den aktiva routern. På detta sätt säkerställs att även om prioriteten är lika, kan systemet ändå avgöra vilken router som ska ta rollen som aktiv.
Failover
Om ett fel inträffar på den aktiva routern, till exempel om den slutar fungera eller slutar svara, triggas den automatiserade failover-processen. Standby-routern, som har övervakat den aktiva routerns Hello-meddelanden, inser då att den aktiva routern inte längre är tillgänglig. Efter att ha väntat under en konfigurerad Hold-timer (10 sekunder i HSRP som standard), tar standby-routern över och blir den nya aktiva routern.
Om den ursprungliga aktiva routern senare återvänder online och har en högre prioritet än den nuvarande aktiva routern, kan den återfå sin roll som aktiv router om kommandot preempt har konfigurerats. Denna process säkerställer att den router med högst prioritet, eller i vissa fall högsta IP-adress, alltid blir den aktiva routern, även om den varit offline under en period. Allt detta sker i bakgrunden utan att det påverkar nätverksanvändarna.
Timers i FHRP och failover-processen
Timers är viktiga i FHRP-protokoll för att styra hur länge routrar väntar innan failover sker:
- Hello-timer: Hello-timern bestämmer hur ofta den aktiva routern skickar Hello-meddelanden till standby-routern för att meddela att den är aktiv (HSRP 3 sekunder, VRRP 1 sekund).
- Hold-timer: Hold-timern är den tid som standby-routern väntar på att få ett Hello-meddelande från den aktiva routern. Om standby-routern inte får något meddelande under denna tid, tar den över rollen som aktiv router (HSRP 10 sekunder, VRRP 3 sekunder).