FHRP (First Hop Redundancy Protocol) — en familie af protokoller, der er designet til at skabe redundans for standardgatewayen. Den fælles idé for disse protokoller er at samle flere routere i en enkelt virtuel router med en fælles IP-adresse. Denne IP-adresse vil blive tildelt til værter som standardgatewayens adresse. En fri implementering af denne idé er protokollen VRRP (Virtual Router Redundancy Protocol). I denne artikel vil vi se på grundlæggende funktioner i VRRP-protokollen.

VRRP-routere samles i en enkelt virtuel router. Alle routere i gruppen har en fælles virtuel IP (VIP) adresse samt et fælles gruppenummer eller VRID (Virtual Router Identifier). Én router kan være en del af flere grupper, hvor hver gruppe skal have sit unikke par VIP/VRID.
I tilfælde af Cisco angives den virtuelle router på den relevante grænseflade med følgende kommando:
R1(config-if)# vrrp ipAlle routere opdeles i to typer: VRRP Master og VRRP Backup.
VRRP Master — er den router, der håndterer videresendelse af pakker for denne virtuelle gruppe.
VRRP Backup — er den router, der venter på pakker fra Master. Hvis pakkerne fra Master stopper med at ankomme, forsøger Backup at overgå til Master-tilstand.
Routeren bliver Master, hvis den har den højeste prioritet. Master sender konstant beskeder til den broadcast-adresse 224.0.0.18 for at informere Backup-routerne om, at den er aktiv. Master sender beskeder i henhold til Adver Timer, der som standard er 1 sekund.

Her bruges gruppens MAC-adresse som afsenderadresse 00:00:5E:00:01:xx, hvor xx er VRID i hexadecimalt format. I dette eksempel bruges den første gruppe.

Hvis Backup-routere ikke modtager beskeder i løbet af tre Adver Timer (Master Down Timer), bliver den router med den højeste prioritet den nye Master, eller den router med den højeste IP. Backup-routeren med den højeste prioritet vil overtage rollen som Master fra den med lavere prioritet. Men når Backup har fravalgt preempt-tilstand, vil Backup ikke overtage rollen fra Master.
R1(config-if)# no vrrp preemptHvis VRRP-routeren ejer VIP-adressen, overtager den altid rollen som Master.
VRRP-prioritet angives som værdier fra 1 til 254. Værdi 0 er reserveret til tilfælde, hvor Master skal fratræde tage ansvaret for routingen. Værdien 255 tildeles routeren som ejer af VIP. Standardprioriteten er 100, men kan angives administrativt:
R1(config-if)#vrrp priorityHer kan vi se routerens prioritet, når den er angivet administrativt:

Og her er et tilfælde, hvor routeren er ejer af VIP:

VRRP-routeren kan have tre tilstande: Initialize, Backup, Master. Disse tilstande ændrer routeren sekventielt.
I tilstanden Initialize venter routeren på at begynde sit arbejde. Hvis denne router er ejer af VIP-adressen (prioriteten er 255), sender routeren meddelelser om, at den bliver Master. Den sender også , hvor MAC-adressen for kilden er lig med adressen på den virtuelle router. Derefter skifter den til tilstanden Master. Hvis routeren ikke er ejer af VIP, skifter den til tilstanden Backup.

I Backup-tilstanden venter routeren på pakker fra Master. Routeren i denne tilstand responderer ikke på ARP-anmodninger fra VIP-adressen. Den accepterer heller ikke pakker, der har MAC-adressen for den virtuelle router som destinationsadresse.
Hvis Backup ikke modtager meddelelser fra Master inden for Master Down Timer, sender den en VRRP-meddelelse om, at den er ved at blive Master. Derefter sender den en broadcast VRRP-meddelelse, hvor MAC-adressen for kilden er lig med adressen på denne virtuelle router. I denne meddelelse angiver routeren sin prioritet.
I Master-tilstanden behandler routeren pakker, der er adresseret til den virtuelle router. Den svarer også på ARP-anmodninger til VIP. Master sender VRRP-meddelelser hver Adver Timer for at bekræfte, at den fungerer.
*May 13 19:52:18.531: %VRRP-6-STATECHANGE: Et1/0 Grp 1 tilstand Init -> Backup
*May 13 19:52:21.751: %VRRP-6-STATECHANGE: Et1/0 Grp 1 tilstand Backup -> MasterVRRP muliggør også lastbalancering mellem flere routere. For dette formål oprettes der to VRRP-grupper på ét interface. Den ene gruppe får tildelt en højere prioritet end den anden. Prioriteten på den anden router angives derimod omvendt. Dvs. hvis prioriteten for første gruppe på én router er 100, og for den anden gruppe - 200, så vil prioriteten for første gruppe på den anden router være 200, og for den anden 100.
Som nævnt før, skal der i hver gruppe være sin unikke VIP. Resultatet er, at vi har to IP-adresser, der betjenes af to routere, hvoraf hver kan fungere som standardgateway.

Halvdelen af computerne får tildelt én standardgatewayadresse, mens den anden halvdel får tildelt en anden. På den måde vil halvdelen af trafikken gå gennem den ene router, og halvdelen gennem den anden. Hvis en af routerne svigter, overtager den anden arbejdet for begge VIP'er.

Dermed gør VRRP det muligt at organisere failover for standardgatewayen og øge netværkets pålidelighed. Ved brug af flere virtuelle routere kan man også balancere belastningen mellem de fysiske routere. Reaktionstiden ved svigt kan forkortes ved at reducere timerne.
Kilde: habr.com
