Menu Zavrieť

16. HSRP – Hot Standby Routing Protocol

Princíp HSRP

V praxi je bežné, že máme v lokálnej sieti redundantné cesty na L2 (podľa OSI modelu), takže výpadok niektorého aktívneho prvku alebo prepojovacieho kábla nepreruší komunikáciu v celej sieti. V takejto sieti bežne prevádzkujeme celú radu VLAN a tie sú medzi sebou spojené pomocou inter-VLAN routingu . Táto komunikácia je už na L3 a my potrebujeme riešiť výpadok switche / routeru, ktorý všetky VLANy prepája a slúži ako brána (gateway). Je to o to zložitejšie, že všetky stanice majú zadanú IP adresu tohto routera ako svoju gateway. Práve túto situáciu nám rieši HSRP, kedy síce potrebujeme záložný router, ale v prípade výpadku sa komunikácia automaticky prepne na tento záložný. Navyše záložný router môže byť menej výkonný.

Pozn .: Rovnaká je aj situácia, kedy sa jedná o centrálnej bránu, ktorú sme pripojení do internetu. Ovšem býva to zložitejšie o to, že tu väčšinou beží Firewall.

HSRP je proprietárny protokol firmy Cisco. Existuje aj štandardizovaný protokol, svojou funkciou zhodný, ktorý sa volá Virtual Router Redundancy Protocol – VRRP . Podľa mojich skúseností sa však v praxi viac používa práve verzie od Cisca, teda HSRP.

Princíp funkcie je taký, že máme virtuálne IP adresu (interfacu) brány, ktorú používajú klienti, ak nej virtuálne MAC adresu . Tieto virtuálne adresy zdieľa nakonfigurované skupina routerov (ich rozhraní majú svoju vlastnú IP a MAC adresu). Jeden z routerov je vybratý ako aktívny , ten drží virtuálne adresy, a ostatné sú standby (záložné). HSRP detekuje výpadok aktívneho routeru a v tom prípade standby router prevezme virtuálne IP a MAC adresu a tým sa stane aktívnym zariadením, ktoré routuje prevádzku. Informácie o dostupnosti routeru sa vykonáva pomocou Hello paketov.

Ako je vidieť, tak štandardne máme jeden aktívny router, ktorý pracuje, a jeden záložný, ktorý len čaká na výpadok aktívneho. Pomocou Hot Standby group môžeme vytvoriť viac konfigurácií pre rôzne skupiny VLAN a rozdielne nastaviť aktívny a standby router, takže dochádza k vyvažovanie (manuálnemu) záťaže.

Hlavné vlastnosti

  • popísané v RFC 2281
  • z routerov, ktoré sú súčasťou HSRP skupiny, sa jeden zvolí ako primárny – active , jeden ako záložný – standby a ostatní počúvajú – listen
  • HSRP skupiny môžu mať čísla 0 až 255, ale často môžeme použiť maximálne 16 skupín dohromady
  • podporuje Ethernet, FDDI, Token Ring
  • skupina používa virtuálne IP adresu a MAC adresu 0000.0c07.acXX, kde XXje číslo skupiny
  • aktívny router sa volí podľa standby priority , vyššia hodnota víťazí, defaultná je 100 z rozsahu 1 až 255
  • standby track interface priority je 10
  • to že je aktívna router živý sa overuje pomocou hello paketu , ktorý sa štandardne posiela každé 3s
  • ak po dobu holdtime (defaultne 10s) nedostane hello paket , tak vyhlási aktívny router za nefunkčné
  • prechádza sa niekoľko stavov – Disabled, Init, Learn, Listen, Speak (začína posielať hello pakety), Standby, Active

Konfigurácia HSRP

HSRP môžeme konfigurovať na L3 rozhranie:

  1. VLAN interface (SVI)
  2. fyzický routovanie port
  3. EtherChannel

Vlastné zapnutie HSRP na interfacu sa vykonáva príkazom

SWITCH (config-if) # standby 1 ip 192.168.1.1

Kde číslo 1 je číslo skupiny , môže nadobúdať hodnoty 0 až 255, kedy 0 je defaultný a nemusí sa zadávať. IP adresa je virtuálna adresa brány.

Príklad základného nastavenia

Switch1 (config) # interface vlan 100 
Switch1 (config-if) # ip address 192.168.1.2 255.255.255.0   // vlastnú adresa interfacu  
Switch1 (config-if) # standby 1 ip 192.168.1.1               // zapnutie HSRP a nastavenie virtuálnej adresy

Aby malo nastavenie zmysel, tak je treba nakonfigurovať aj druhý router:

Switch2 (config) # interface vlan 100 
Switch2 (config-if) # ip address 192.168.1.3 255.255.255.0 
Switch2 (config-if) # standby 1 ip 192.168.1.1

Ďalším, čo asi v praxi nakonfigurujeme, je určenie priority, podľa ktorej sa volí aktívne router.

Switch1 (config-if) # standby 1 priority 150   // nastaví prioritu na 150, defaultná je 100 (rozsah 1 - 255), vhodné je voliť hodnoty väčšie 
Switch1 (config-if) # standby 1 preempt       // zabezpečí, aby po nabehnutí pôvodného aktívneho routeru sa stal opäť aktívnym

Takže náš predchádzajúci príklad môžeme doplniť tak, aby Switch1 bol primárne aktívny:

Switch1 (config-if) # standby 1 priority 150 
Switch1 (config-if) # standby 1 preempt

Switch2 (config-if) # standby 1 priority 120 
Switch2 (config-if) # standby 1 preempt

Pozn .: Pre inter-VLAN routing samozrejme musíme nakonfigurovať HSRP i pre ďalšie VLANy, ktoré sú routované. Pre rôzne VLANy môžeme použiť jednu HSRP skupinu, ale často je lepšie rozdeliť VLANy do niekoľkých skupín. Celá skupina sa vždy prepína naraz.

Pre zobrazenie informácií o HSRP máme príkaz

SWITCH # show standby

Nasledujúci príkaz nám zobrazí, ktorá strana je aktívna, a či je dostupný ďalší člen.

SWITCH # show standby brief

Pri bežnej prevádzke nesmieme zabudnúť na to, že sa medzi routery v danej VLAN musí šíriť multicasty s hello pakety , inak nám prepínanie nebude fungovať. Takže keď konfigurujeme ACL na VLAN , musíme povoliť túto komunikáciu, napríklad niečo ako:
permit udp any 224.0.0.0 0.0.0.255

Multiple HSRP

Pre load balancing môžeme použiť rozšírenie HSRP nazvanej MHSRP . To nám dovolí zadať do konfigurácie viacerých skupín s rozdielnou prioritou a časť klientov nakonfigurovať pre jeden router a časť pre druhý.

To sa môže hodiť pre niektoré situácie, ale pre bežný inter-VLAN routing skôr využijeme rôzne skupiny, takže niektoré VLANy budú štandardne routované jedným routerom a ostatné druhým.

Príklad nastavenia:

Switch1 (config) # interface g1 / 0/1 
Switch1 (config-if) # no switchport                          // aby sa interface stal iba L3 (routovacie) 
Switch1 (config-if) # ip address 192.168.1.10 255.255.255.0 
Switch1 (config- if) # standby 1 ip 192.168.1.1 
Switch1 (config-if) # standby 1 priority 150 
Switch1 (config-if) # standby 1 preempt 
Switch1 (config-if) # standby 2 ip 192.168.1.2 
Switch1 (config-if) # standby 2 priority 110 
Switch1 (config-if) # standby 2 preempt

Switch2 (config) # interface g1 / 0/1 
Switch2 (config-if) # no switchport                          // aby sa interface stal iba L3 (routovacie) 
Switch2 (config-if) # ip address 192.168.1.11 255.255.255.0 
Switch2 (config- if) # standby 1 ip 192.168.1.1 
Switch2 (config-if) # standby 1 priority 110 
Switch2 (config-if) # standby 1 preempt 
Switch2 (config-if) # standby 2 ip 192.168.1.2 
Switch2 (config-if) # standby 2 priority 150 
Switch2 (config-if) # standby 2 preempt

Pre konfiguráciu HSRP je k dispozícii ešte rad ďalších možností, pre bežnú prax však stačí iba to vyššie uvedené.

ICMP Internet Router Discovery Protocol – IRDP

  • popísané v RFC 1256
  • hosť si pomocou ICMP zistí skutočnú adresu routera (nepoužíva sa virtuálne)
  • počúva multicastovej pakety od routerov a podľa nich nájde GW na svojom subnetu
  • používa správy ICMP router advertisement (periodicky) a router solicitation
  • ak nedostane pravidelnú správu od svojej GW, tak prepne na záložné
  • perióda odosielanie advertisement býva v poriadku minút, takže prepnutie na záložné router môže trvať dlho
  • ak stanica naštartuje, tak nemusíme čakať, než dorazí advertisement , ale môžeme odoslať solicitation správu ako dotaz na údaje

Virtual Router Redundancy Protocol – VRRP

  • štandard opísaný v RFC 2338
  • veľmi podobné HSRP
  • používa virtuálny router, ktorý má virtuálne IP adresu a MAC 0000.5e00.01xx, kdexx je číslo skupiny v hexa (VRID)
  • hlavný router je master, má najvyššiu prioritu (môže nadobúdať hodnoty 1 až 254, 100 je default) v skupine (skupiny majú číslo 0 až 255)
  • ostatné routery sú backup
  • každú 1s (default) posiela advertisement
  • defaultne používa preempt – keď je dostupný router s vyššou prioritou, preberá úlohu master
  • nemá žiadny mechanizmus pre interface tracking (sledovanie stavu interfacu a podľa toho úprava priority)
  • ako virtuálna IP adresa sa môže použiť skutočná IP adresa jedného z routerov

Gateway Load Balancing Protocol – GLBP

  • Cisco proprietárnu protokol, ktorý k vlastnostiam obdobným ako HSRP pridáva Load Balancing
  • všetky routery v skupine forwardují dáta, využíva Load Balancing per hosť pomocou Round Robin (nemá žiadny vzťah k záťaži)
  • Load Balancing je pomocou ARP odpovedí, kedy sa odosiela MAC adresa vybraného routera zo skupiny
  • klienti majú rovnakú IP adresu brány, ale inú MAC adresu
  • routery posielajú (defaultne) hello paket každé 3s na multicast adresu224.0.0.102 UDP port 3222
  • volí Active Virtual Gateway (AVG), ktoré prideľuje virtuálne MAC adresy
  • routery, ktoré prijmú túto MAC, sa označujú ako Active Virtual Forwarder (AVF), môže ich byť max. 4 pre skupinu
  • podporuje Weighting – určuje, či router funguje ako AVF, keď hodnota klesne, pod danú hranicu, tak nie je AVF a tracking – sleduje stav interfacu, a keď ide interface dole, tak sa zníži hodnota Weighting

Príklad funkcie Weighting a interface tracking:

SWITCH (config) # track 1 interface serial 2/0 line-protocol 
SWITCH (config) # interface f0 / 1 
SWITCH (config-if) # glbp 10 Weighting 110 lower 95 upper 105 
SWITCH (config-if) # glbp 10 Weighting track 1 decrement 10