FHRP (First Hop Redundancy Protocol) — protokollide perekond, mis on mõeldud vaikeväravate üleliia loomiseks. Ühise ideena on nende protokollide eesmärgiks ühendamine mitmeid ruutereid üheks virtuaalseks ruuteriks, millel on ühine IP-aadress. See IP-aadress määratakse hostidele vaikevärava aadressina. Vaba lahendus sellele ideele on protokoll VRRP (Virtual Router Redundancy Protocol). Selles artiklis käsitleme VRRP protokolli aluseid.

VRRP ruuterid ühendatakse üheks virtuaalseks ruuteriks. Kõigil rühma ruuteritel on ühine virtuaalne IP (VIP) aadress ja ühine grupi number ehk VRID (Virtual Router Identifier). Üks ruuter võib olla mitmes grupis samal ajal, millest igal peab olema oma unikaalne VIP/VRID paar.
Cisco puhul määratakse virtuaalne ruuter huvipakkuval liidesel käsuga:
R1(config-if)# vrrp ipKõik ruuterid jagunevad kaheks tüübiks: VRRP Master ja VRRP Backup.
VRRP Master — see on ruuter, mis vastutab pakettide edastamise eest antud virtuaalses grupis.
VRRP Backup — see on ruuter, mis ootab paketti Masterilt. Kui Masterilt pakettide saamine lõpetatakse, proovib Backup minna Masteri seisu.
Ruuter muutub Masteriks, kui tal on kõrgeim prioriteet. Master saadab pidevalt sõnumeid laiaulatuslikule aadressile 224.0.0.18, et teavitada Backup ruutereid, et ta töötab. Master saadab sõnumeid vastavalt Adver Timer'ile, mille vaikeväärtus on 1 sekund.

Saatja MAC-aadressina kasutatakse grupiaadressi 00:00:5E:00:01:xx, kus xx on VRID kuhexakoodina. Antud näites kasutatakse esimest gruppi.

Kui Backup ruuterid ei saa sõnumeid kolme Adver Timer'i (Master Down Timer) jooksul, siis saab uueks Masteriks ruuter, millel on kõrgeim prioriteet, või ruuter, millel on kõrgeim IP. Samuti haarab Backup ruuter, millel on kõrgem prioriteet, Master'i rolli, kui Masteril on madalam prioriteet. Kuid kui Backup'i režiim on välja lülitatud preempt, ei püüa Backup Master'i rolli haarata.
R1(config-if)# no vrrp preemptKui VRRP ruuter on VIP aadressi omanik, haarab ta alati Master'i rolli.
VRRP prioriteet määratakse vahemikus 1 kuni 254. Väärtus 0 on reserveeritud juhtudeks, kui Master peab end vabastama marsruutimise eest. Väärtus 255 määratakse VIP-i omaniku ruuteri jaoks. Vaikeprioriteet on 100, kuid seda saab määrata haldaja:
R1(config-if)#vrrp prioritySiin näeme ruuteri prioriteeti, kui see on haldamise kaudu määratud:

Ja siin on näidatud juhtum, kui ruuter on VIP-i omanik:

VRRP ruuter võib olla kolmes olekus: Initialize, Backup, Master. Need olekud vahetuvad järjestikku.
Olekus Initialize ootab ruuter töö algust. Kui see ruuter on VIP-aadressi omanik (prioriteet on 255), siis saadab ruuter sõnumeid, et muutuda Master'iks. Ta saadab samuti , mille puhul allika MAC-aadress on virtuaalse ruuteri aadress. Seejärel läheb ta olekusse Master. Kui ruuter ei ole VIP-i omanik, siis läheb ta olekusse Backup.

Backup-režiimis ootab ruuter Masterilt pakette. Ruuter ei vasta selles olekus VIP-aadressilt tulnud ARP-päringutele. Samuti ei aktsepteeri ta pakette, mille sihtaadressiks on virtuaalse ruuteri MAC-aadress.
Kui Backup ei saa Masterilt sõnumeid Master Down Timer'i jooksul, saadab see VRRP sõnumi, et kavatseb saada Masteriks. Seejärel saadab see laiali VRRP sõnumi, mille allika MAC-aadress on selle virtuaalse ruuteri aadress. Selles sõnumis teatab ruuter oma prioriteedist.
Master-režiimis töötab ruuter pakettide töötlemisega, mis on adresseeritud virtuaalsele ruuterile. Ta vastab ka VIP-i ARP-päringutele. Master saadab VRRP sõnumeid iga Adver Timer'i järel, et kinnitada, et ta töötab.
*May 13 19:52:18.531: %VRRP-6-STATECHANGE: Et1/0 Grp 1 olek Init -> Backup
*May 13 19:52:21.751: %VRRP-6-STATECHANGE: Et1/0 Grp 1 olek Backup -> MasterVRRP võimaldab ka koormuse tasakaalustamist mitme ruuteri vahel. Selleks luuakse ühel liidese kahte VRRP gruppi. Ühele grupile antakse kõrgem prioriteet kui teisele. Teise ruuteri puhul määratakse prioriteet vastupidiselt. Ehk kui ühe ruuteri esimese grupi prioriteet on 100 ja teise grupi prioriteet 200, siis teisel ruuteril on esimese grupi prioriteet 200 ja teise 100.
Kuidas mainitud, peab igal grupil olema oma ainulaadne VIP. Lõpuks saame kaks IP-aadressi, mida teenindavad kaks ruuteri, millest igaüks võib olla vaikimisi värav.

Pooltele arvutitele määratakse üks vaikimisi värava aadress, teisele poolele teine. Nii läheb pool liiklust läbi ühe ruuteri ja pool läbi teise. Ühe ruuteri rikke korral võtab teine enda kanda mõlema VIP-i töö.

Seeläbi võimaldab VRRP korraldada vaikevärava talitlushäiret, suurendades võrgu usaldusväärsust. Ja mitme virtuaalse ruuteriga kasutamisel saab ka koormust tasakaalustada reaalsed ruuterid. Vea põhjendamise reageerimiskiirus võib lüheneda, vähendades taimerite aega.
Allikas: habr.com
