Články
Cisco IOS 16 - HSRP - Hot Standby Routing Protocol
Článek byl doplněn o stručné informace o dalších protokolech pro zajištění redundance gatewaye.
Princip HSRP
V praxi je běžné, že máme v lokální síti redundantní cesty na L2 (podle OSI modelu), takže výpadek některého aktivního prvku nebo propojovacího kabelu nepřeruší komunikaci v celé síti. V takovéto síti běžně provozujeme celou řadu VLAN a ty jsou mezi sebou spojené pomocí inter-VLAN routingu. Tato komunikace je již na L3 a my potřebujeme řešit výpadek switche/routeru, který všechny VLANy propojuje a slouží jako brána (gateway). Je to o to složitější, že všechny stanice mají zadánu IP adresu tohoto routeru jako svoji gateway. Právě tuto situaci nám řeší HSRP, kdy sice potřebujeme záložní router, ale v případě výpadku se komunikace automaticky přepne na tento záložní. Navíc záložní router může být méně výkonný.
Pozn.: Stejná je i situace, kdy se jedná o centrální bránu, kterou jsme připojeni do internetu. Ovšem bývá to složitější o to, že zde většinou běží Firewall.
HSRP je proprietární protokol firmy Cisco. Existuje i standardizovaný protokol, svou funkcí shodný, který se jmenuje Virtual Router Redundancy Protocol - VRRP. Podle mých zkušeností se však v praxi více používá právě verze od Cisca, tedy HSRP.
Princip funkce je takový, že máme virtuální IP adresu (interfacu) brány, kterou používají klienti, a k ní virtuální MAC adresu. Tyto virtuální adresy sdílí nakonfigurovaná skupina routerů (jejich rozhraní mají svoji vlastní IP a MAC adresu). Jeden z routerů je vybraný jako aktivní, ten drží virtuální adresy, a ostatní jsou standby (záložní). HSRP detekuje výpadek aktivního routeru a v tom případě standby router převezme virtuální IP a MAC adresu a tím se stane aktivním zařízením, které routuje provoz. Informace o dostupnosti routeru se provádí pomocí Hello paketů.

Jak je vidět, tak standardně máme jeden aktivní router, který pracuje, a jeden záložní, který pouze čeká na výpadek aktivního. Pomocí Hot Standby group můžeme vytvořit více konfigurací pro různé skupiny VLAN a rozdílně nastavit aktivní a standby router, takže dochází k vyvažování (manuálnímu) zátěže.
Hlavní vlastnosti
- popsáno v RFC 2281
- z routerů, které jsou součástí HSRP skupiny, se jeden zvolí jako primární – active, jeden jako záložní – standby a ostatní poslouchají – listen
- HSRP skupiny mohou mít čísla 0 až 255, ale často můžeme použít maximálně 16 skupin dohromady
- podporuje Ethernet, FDDI, Token Ring
- skupina používá virtuální IP adresu a MAC adresu
0000.0c07.acXX, kdeXXje číslo skupiny - aktivní router se volí podle standby priority, vyšší hodnota vítězí, defaultní je 100 z rozsahu 1 až 255
- standby track interface priority je 10
- to že je aktivní router živý se ověřuje pomocí hello paketu, který se standardně posílá každé 3s
- pokud po dobu holdtime (defaultně 10s) neobdrží hello paket, tak prohlásí aktivní router za nefunkční
- prochází se několik stavů - Disabled, Init, Learn, Listen, Speak (začíná posílat hello pakety), Standby, Active
Konfigurace HSRP
HSRP můžeme konfigurovat na L3 rozhranní:
- VLAN interface (SVI)
- fyzický routovaný port
- etherchannel
Vlastní zapnutí HSRP na interfacu se provádí příkazem
SWITCH(config-if)#standby 1 ip 192.168.1.1
Kde číslo 1 je číslo skupiny, může nabývat hodnot 0 až 255, kdy 0 je defaultní a nemusí se zadávat. IP adresa je virtuální adresa brány.
Příklad základního nastavení
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 // zapnutí HSRP a nastavení virtuální adresy
Aby mělo nastavení smysl, tak je třeba nakonfigurovat i 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
Dalším, co asi v praxi nakonfigurujeme, je určení priority, podle které se volí aktivní router.
SWITCH1(config-if)#standby 1 priority 150 // nastaví prioritu na 150, defaultní je 100 (rozsah 1 - 255), vhodné je volit hodnoty větší SWITCH1(config-if)#standby 1 preempt // zajistí, aby po naběhnutí původního aktivního routeru se stal opět aktivním
Takže náš předchozí příklad můžeme doplnit tak, aby SWITCH1 byl primárně aktivní:
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.: Pro inter-VLAN routing samozřejmě musíme nakonfigurovat HSRP i pro další VLANy, které jsou routovány. Pro různé VLANy můžeme použít jednu HSRP skupinu, ale často je lepší rozdělit VLANy do několika skupin. Celá skupina se vždy přepíná najednou.
Pro zobrazení informací o HSRP máme příkaz
SWITCH#show standby
Multiple HSRP
Pro load balancing můžeme použít rozšíření HSRP nazvané MHSRP. To nám dovolí zadat do konfigurace více skupin s rozdílnou prioritou a část klientů nakonfigurovat pro jeden router a část pro druhý.
To se může hodit pro některé situace, ale pro běžný inter-VLAN routing spíše využijeme různé skupiny, takže některé VLANy budou standardně routovány jedním routerem a ostatní druhým.
Příklad nastavení:
SWITCH1(config)#interface g1/0/1 SWITCH1(config-if)#no switchport // aby se interface stal pouze L3 (routovací) 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 se interface stal pouze L3 (routovací) 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
Pro konfiguraci HSRP je k dispozici ještě řada dalších možností, pro běžnou praxi však stačí pouze to výše uvedené.
ICMP Internet Router Discovery Protocol - IRDP
- popsáno v RFC 1256
- host si pomocí ICMP zjistí skutečnou adresu routeru (nepoužívá se virtuální)
- poslouchá multicastové pakety od routerů a podle nich nalezne GW na svém subnetu
- používá zprávy ICMP router advertisement (periodicky) a router solicitation
- pokud nedostane pravidelnou zprávu od své GW, tak přepne na záložní
- perioda odesílání advertisement bývá v řádu minut, takže přepnutí na záložní router může trvat dlouho
- pokud stanice nastartuje, tak nemusíme čekat, než dorazí advertisement, ale můžeme odeslat solicitation zprávu jako dotaz na údaje
Virtual Router Redundancy Protocol – VRRP
- standard popsaný v RFC 2338
- velice podobné HSRP
- používá virtuální router, který má virtuální IP adresu a MAC
0000.5e00.01xx, kdexxje číslo skupiny v hexa (VRID) - hlavní router je master, má nejvyšší prioritu (může nabývat hodnot 1 až 254, 100 je default) ve skupině (skupiny mají číslo 0 až 255)
- ostatní routery jsou backup
- každou 1s (default) posílá advertisement
- defaultně používá preempt – když je dostupný router s vyšší prioritou, přebírá roli master
- nemá žádný mechanismus pro interface tracking (sledování stavu interfacu a podle toho úprava priority)
- jako virtuální IP adresa se může použít skutečná IP adresa jednoho z routerů
Gateway Load Balancing Protocol – GLBP
- Cisco proprietární protokol, který k vlastnostem obdobným jako HSRP přidává Load Balancing
- všechny routery ve skupině forwardují data, využívá Load Balancing per host pomocí Round Robin (nemá žádný vztah k zátěži)
- Load Balancing je pomocí ARP odpovědí, kdy se odesílá MAC adresa vybraného routeru ze skupiny
- klienti mají stejnou IP adresu brány, ale jinou MAC adresu
- routery posílají (defaultně) hello paket každé 3s na multicast adresu
224.0.0.102 UDP port 3222 - volí Active Virtual Gateway (AVG), která přiděluje virtuální MAC adresy
- routery, které přijmou tuto MAC, se označují jako Active Virtual Forwarder (AVF), může jich být max. 4 pro skupinu
- podporuje weighting – určuje, zda router funguje jako AVF, když hodnota klesne, pod danou mez, tak není AVF a tracking – sleduje stav interfacu, a když jde interface dolů, tak se sníží hodnota weighting
Příklad funkce 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
Související články:
Cisco IOS
- Cisco IOS 1 - úvod, příkaz show [08.03.2007 13:00]
- Cisco IOS 2 - verze, upgrade a záloha IOSu [16.03.2007 14:28]
- Cisco IOS 3 - nastavení interface/portu - access, trunk, port security [09.04.2007 11:09]
- Cisco IOS 4 - reset, password recovery [25.04.2007 17:34]
- Cisco IOS 5 - komunikace se switchem [16.05.2007 16:15]
- Cisco IOS 6 - úvodní konfigurace switche [08.06.2007 17:31]
- Cisco IOS 7 - konfigurace VLAN, VTP [18.06.2007 14:12]
- Cisco IOS 8 - ACL - Access Control List [10.08.2007 15:40]
- Cisco IOS 9 - Spanning Tree Protocol [20.08.2007 17:55]
- Cisco IOS 10 - Rapid Spanning Tree Protocol [01.09.2007 14:11]
- Cisco IOS 11 - IEEE 802.1x, autentizace k portu, MS IAS [10.10.2007 14:38]
- Cisco IOS 12 - IEEE 802.1x a pokročilejší funkce [24.10.2007 16:42]
- Cisco IOS 13 - DHCP služby na switchi [06.01.2008 11:24]
- Cisco IOS 14 - tipy pro běžnou práci [29.02.2008 08:15]
- Cisco IOS 15 - zálohy a obnovy konfigurace a obrazů [13.03.2008 09:43]
- Cisco IOS 16 - HSRP - Hot Standby Routing Protocol [27.05.2008 16:05] právě čtete
- Cisco IOS 17 - více switchů jako Stack - technologie StackWise [29.07.2008 20:27]
- Cisco IOS 18 - inter-VLAN routing a ACL - směrování mezi VLANy [24.12.2008 11:50]
- Cisco QoS 1 - úvod do Quality of Service a DiffServ [18.01.2009 13:31]
- Cisco QoS 2 - Classification and Marking, Modular QoS CLI [26.01.2009 17:21]
- Cisco QoS 3 - omezování rychlosti - Policing, Shaping [01.02.2009 12:20]
- Cisco QoS 4 - garance rychlosti - řazení do front - Queuing [08.02.2009 13:13]
- Cisco QoS 5 - QoS na switchi, MLS, SRR, Auto QoS [14.02.2009 14:55]
- Cisco QoS 6 - praktické příklady použití QoSu [28.02.2009 16:33]
- TCP/IP - Internet Protocol Version 6 - IPv6 [05.03.2009 15:41]
- TCP/IP - skupinové vysílání IP Multicast a Cisco [10.03.2009 20:05]
- Cisco Routing 1 - obecné vlastnosti směrovacích protokolů [20.03.2009 14:43]
- Cisco Routing 2 - EIGRP - Enhanced Interior Gateway Routing Protocol [29.03.2009 19:04]
- Cisco Routing 3 - OSPF - Open Shortest Path First [03.04.2009 10:54]
- Cisco Routing 4 - IS-IS - Intermediate System to Intermediate System [09.04.2009 08:48]
- Cisco IOS 19 - Private VLAN a Protected Port [20.05.2009 18:41]
- Cisco Routing 5 - BGP - Border Gateway Protocol [18.04.2009 13:50]
- Cisco Routing 6 - srovnání routovacích protokolů [28.04.2009 16:27]
- Cisco IOS 20 - VLAN access-map - VLAN map - VACL [29.05.2009 15:05]
- Cisco IOS 21 - EtherChannel, Link Agregation, PAgP, LACP, NIC Teaming [08.06.2009 09:41]
- Běžné útoky na switche, Cisco Dynamic ARP Inspection [18.06.2009 10:15]
- Cisco - Router Switching metody a související termíny - CAM, FIB, CEF [28.06.2009 17:15]
- Cisco IOS 22 - monitoring/kontrola/zrcadlení provozu - SPAN a RSPAN [15.07.2009 11:52]
- Cisco IOS 23 - Autentizace uživatele na switchi vůči Active Directory [15.09.2009 17:09]
- Cisco QoS 7 - doplňující informace [05.11.2009 09:31]
linkuj.cz | jagg.cz | vybrali.sme.sk | del.icio.us.
Pokud se chcete vyjádřit k tomuto článku, využijte komentáře níže. Pokud chcete poradit s nějakým problémem či diskutovat na nějaké téma, tak použijte fórum.

Komentáře
Možná jenom doplním.
Vrrp nabízí jednu zajímavou vlastnost, můžete využít jako "virtuální ip" ip adresu rozhraní jednoho ze směrovačů.
Ještě existuje GLBP, možná někdy příště o něm napíšete, mezi hodně zajímavou vlastnost u něj patří, že umí loadbalancing mezi směrovači (není zde rozděleno striktně na forwarding a stand-by, takže můžete využívat kapacitu dostupných linků, ale hůře se debuguje chování sítě :) )
Ohľadom HSRP,mi tam niečo chýba...
Najprv musíme na smerovačoch nakonfigurovať objeky pre sledovanie, aby HSRP mohol sledovať stav rozhraní. A to príkazom track xx int [wan rozhranie] line-protocol - kde xx je čislo traku.
Napríklad pri Vašej konfigurácii MHSRP by som doplnil ešte sledovanie WAN rozhrania do sveta, či nieje down.
Napríklad R1 a R2 su smerovače ktoré rutujú pre rôzne VLANy.
SWITCH1(config)#track 10 interface Serial0/0/0 line-protocol
SWITCH1(config)#interface g1/0/1
SWITCH1(config-if)#no switchport
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
SWITCH1(config-if)#track 10
SWITCH2(config)#track 11 interface Serial0/0/0 line-protocol
SWITCH2(config)#interface g1/0/1
SWITCH2(config-if)#no switchport
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
SWITCH2(config-if)#track 11
A ešte by som doplnil k tomu prikazu dielči príkaz decrement xx kde xx je hodnota o ktorú sa zníži priorita rozhrania pri výpadku.
odpověď na [2]MacGyver: Nevím, jestli je to na routerech nějak jinak. Ale na switchi to co píšete nefunguje. Tedy sledování interfacu tam je, ale konfiguruje se jinak a rozhodně není povinné. Je tam pouze kvůli změně priority, pokud bychom ji chtěli.
odpověď na [3]Samuraj: No na rútroch to je tak ako som písal. Layer 3 switche na routing som nskúšal,.. Vychádzal som z toho, že to bude zhodné...