Protokoli za “Layer 3” redundanciju : HSRP
[toc]
Zbog čega nam uopće treba Layer 3 redundancija ?
(Layer 3 : OSI i/ili TCP/IP model – sloj 3 tj. IP)
U slučajevima kada nam je bitan ulaz odnosno izlaz prema internetu, prva stvar koju moramo osigurati uz postojeću (primarnu) vezu prema internetu, je druga (backup) veza. preko istog ili drugog internet providera (ISP-a). Bez obzira da li se radi o istom ili drugačijem tipu veze (pr. optika, ADSL, SDSL ili drugo),sa strane mreže, prema korisničkim računalim ili poslužiteljima, potrebno je osigurati jedinstvenu metodu izlaza na internet (tj. u konačnici jedinstvenu IP adresu).
Tu IP adresu zapravo koristimo kao “Default Gateway”.
Koje najčešće opcije imamo:
a.) Primarni Router (Router1) i pripadajući link su stalno aktivni a sekundarni (Router2) tj. backup ručno uključujemo po potrebi (u slučaju kvara primarnog) – ovo nije baš najsretnije riješenje.
b.) Oba uređaja su aktivna, svaki ima svoju inside IP adresu (pr. 20.20.20.x) i svima je preko DHCP poslužitelja kao Default Gateway postavljena IP adresa prvog Routera (pr. 20.20.20.1). U slučaju kvara prvog, na DHCP poslužitelju mijenjamo svima Default Gateway u drugi Router (pr. 20.20.20.2) te svi korisnici moraju ponovno pokupiti IP parametre sa DHCP poslužitelja (iz GUI-a ili komandne linije) ili restartati računalo – ovo je malo bolje ali i dalje primitivno riješenje
c.) Ili nešto slično kao a.) i b.)
d.) Upotreba protokola za Layer 3 redundanciju (nazivaju se i “First Hop Redundancy Protocols” ili protokoli koji osiguravaju dostupnost “Default Gateway-a”)
- (1) : HSRP (Cisco only, razvijen 1994)
- (2) : VRRP (Industrijski standard , opisan u RFC 2338, razvijen 1999, po uzoru na HSRP )
- (3) : GLBP (Cisco only, razvijen 2005)
Dakle zaključili smo da želimo automatizam koji će riješiti ovaj problem.
(1) Što nam nudi HSRP i kako on radi:
HSRP (Hot Standby Routing Protocol) je razvio Cisco te se koristi (i radi) samo na Cisco uređajima. On pojednostavljeno radi tako da dva ili više uređaja preko HSRP protokola dijele jednu virtualnu IP adresu (koju mi koristimo kao Default Gateway). Na tu virtualnu IP adresu svaki puta odgovara Router koji je Aktivan HSRP Router a ostali ništa ne rade, osim što svako malo provjeravaju da li su svi živi i koji od živih routera ima najviši prioritet.
Naime onaj Router koji u određenom trenutku ima najviši HSRP prioritet, on postaje i aktivan i preko njega zapravo teće sav promet. Kao na slici.
Mana HSRP protokola je u tome što je u svakom trenutku samo jedan aktivan Router te se drugi (tj. svi ostali ako imamo više Routera/ISP-ova) ne koriste za promet, kao što se ne iskorištavaju niti sekundarni/backup linkovi prema internetu.
Postoji i poluautomatsko riješenje za to.
Naime HSRP protokol, sa Virtualnom IP adresom, svim routerima koji učestvuju u HSRP “razgovoru/dogovoru” te prioritetima istih (uz potencijalnu autentikaciju) se definira na nivou tkzv. “HSRP grupe”, kojih može biti više istovremeno.
Dakle krenimo malo dublje.
Sve gore navedeno za HSRP se definira za HSRP grupu, što znači da možemo imati jednu grupu u kojoj je Router 1 aktivan i drugu grupu u kojoj je Router 2 aktivan, problem je samo kako konfigurirati klijente.
Konfiguracija klijenata (pr. PC računala) za ovaj slučaj je najpraktičnija tako da se na DHCP poslužitelju podjele DHCP rezervacije na pola te da se prvoj polovici konfigurira kao Default Gateway prva Virtualna IP (gdje je Router 1 aktivan) a drugoj polovici Virtualna IP adresa od druge HSRP grupe , u kojoj je Router 2 aktivan. Na ovaj način smo iskoristili oba routera i oba linka prema internetu.
HSRP osnovni dio konfiguracije Routera bi tada izgledao ovako:
Napomena:
FastEthernet 0/0 ⇒ Veza prema ISP-u i internetu
FastEthernet 0/1 ⇒ LAN mreža
Router 1 :
========
interface Fast Ethernet 0/1 ip address 20.20.20.1 255.255.255.0 standby 1 priority 105 standby 1 ip 20.20.20.254 standby 10 priority 100 standby 10 ip 20.20.20.253
Router 2 :
========
interface Fast Ethernet 0/1 ip address 20.20.20.2 255.255.255.0 standby 1 priority 100 standby 1 ip 20.20.20.254 standby 10 priority 105 standby 10 ip 20.20.20.253
Konfiguracija DHCP Poslužitelja (DHCP rezervacije klijenata):
PC1 : 20.20.20.100 : ……. , Default gateway : 20.20.20.254 ,….
PC2 : 20.20.20.101 : ……. , Default gateway : 20.20.20.254 ,….
… … … …
PC10 : 20.20.20.110 : ……. , Default gateway : 20.20.20.253 ,….
PC11 : 20.20.20.111 : ……. , Default gateway : 20.20.20.253 ,….
Što će se dogoditi ako jedan od routera ili link ne rade ?
1. U slučaju da Router uopće ne radi , prvi Router u istoj HSRP grupi će preuzeti ulogu aktivnog i proslijeđivati promet, te će ostati aktivan do daljnjeg !
⇒ Osim ako smo konfigurirali tkzv “preemptive”:
U slučaju da smo samo konfigurirali preemptive (za HSRP grupe 1 i 10) pr.:
standby 1 preempt standby 10 preempt
Tada će Router koji je inicijalno bio aktivan, kada se ponovno uključi preuzeti ulogu aktivnog od onoga koji je trenutno aktivan.
Ovdje postoji problem, jer ako Router koji je prvi bio aktivan, pa je otišao u standby (zbog metode objašjene nekoliko rečenica dolje [točka 2.]) zbog toga što mu se pokvario mrežni interface te se stalno pali i gasi (što zna biti slučaj u praksi), prvi router će malo malo postajati standby pa ponovno active, jer smo uključili “preempt” .
“Preempt”
Zbog toga se preporuča uz “preempt” dodati i timere tj. vremenski odmak (delay) koji mora proći, prije nego router preuzme ulogu aktivnog, naredba bi u našem slučaju bila
((za HSRP grupe 1 i 10)):
standby 1 preempt delay minimum 180 standby 10 preempt delay minimum 180
Dakle 180 sekundi je okvirno potencijalno dovoljno sigurno da se gore opisana greška vrlo vjerojatno neće dogoditi.
Osim parametra minimum , postoje i reload i sync od kojih je praktičan i reload .jer čeka – ako se router restartao, nakon restarta definiran period vremena : pr.:
standby 1 preempt delay reload 180 standby 10 preempt delay reload 180
U praksi je najsigurnije ne koristiti “preempt” osim ako stvarno ne znate što radite.
Interface tracking
2.Došli smo i do slučaja da samo link prema internetu ne radi, što onda ?
Moramo dodati još jedan parametar u konfiguraciji koji će pratiti i stanje krucijalnih interface-a (indirektno ili direktno, linka prema internetu u našem slučaju).
Ako naši routeri 1 i 2 imaju opremu ISP-a, spojenu na mrežne interface FastEthernet 0/0 , tada bi naša konfiguracija trebala izgledati ovako ((za HSRP grupe 1 i 10)):
standby 1 track FastEthernet 0/0 standby 10 track FastEthernet 0/0
Na ovaj način se prati stanje interface-a FastEthernet 0/0 i ako se on sruši, prioritet HSRP grupe 1 , se spušta za vrijednost 10 (default), te pada na 95 , što znaći da router sa većim prioritetom – u našem slućaju 100 (Router 2) , preuzima ulogu aktivnog. Isti sistem vrijedi i za HSRP grupu 10.
Ako želimo promjeniti smanjivanje prioriteta (decrement) sa 10 na neku drugu vrijednost tu vrijednost dodajemo na kraj naredbi od prije – neka bude za 20
standby 1 track FastEthernet 0/0 20 standby 10 track FastEthernet 0/0 20
Dodatne opcije HSRP-a, su :
Autentikacija
Autentikacija – za svaku HSRP grupu moguće je i definirati iautentikaciju (dakle lozinku).
Postoji nekoliko opcija.:
- 1.) Plain text
- 2.) MD5
U našem slučaju koristiti ćemo običnu “plain text“ lozinku, a to se radi ovako
(u našem slučaju za HSRP grupe 1 i 10):
standby 1 authentication Lozinka1 standby 10 authentication Lozinka10
Mana “plain text” lozinke je sigurnosne prirode jer se lozinka šalje preko mreže nekriptirana.
Pogledajmo komunikaciju sa Routera 1, na mreži, u slučaju da smo ostavili HSRP grupu bez definirane autentikacije:
Vidljivo je da se unatoč činjenici da nismo defnirali lozinku, u pozadini ipak koristi “default” lozinka (cisco).
Sada ćemo probati definirati lozinku (Lozinka), te pogledajmo kako sada izgleda isti paket na mreži:
Dakle vidimo da se sada koristi lozinka (Lozinka), koju smo kreirali.
Iz oba primjera potvrdili smo i to da se lozinke šalju nekriptirane.
Upotreba MD5 metode riješava ovaj problem jer se više ne šalje nekriptirani ključ, ali o njoj nekom drugom prilikom.
“Hello” poruke
Hello Message Timeri – dakle svako malo Routeri unutar svake HSRP grupe šalju određene pakete , koji sadrže slijedeće poruke (za router koji šalje paket):
Prioritet routera : 0 – 255 (veći ima prioritet)
Hello Time (default 3.s.) : Svakih koliko sekundi (moguće je konfigurirati i msec) se šalje paket
Holdtime (default 10.s) : Vrijeme unutar kojeg se smatra da su “Hello Time” poruke važeće i da je sve u redu.
Dijagram toka HSRP poruka
Rad HSRP-a pojednostavljeno radi ovako:
1. Kreiramo HSRP grupe,pripadajuće IP adrese i druge parametre, na svim Routerima
2. Šalju se Hello paketi od strane svih Routera koji koriste HSRP, svake 3 sekunde na sve routere (zapravo na multicast adresu 224.0.0.2 na koju su “pretplačeni” svi routeri)
3. Na osnovi ovih paketa se odlučuje (rade se izbori [election]) koji Router će postati “Active”.
4. Kreira se Virtualna IP adresa i virtualna MAC adresa za koju je zadužen aktivni router
Oblik virtualne MAC adrese za svaku HSRP grupu je :
00:00:0C | 07:AC | _ _ |
Cisco ID | HSRP ID | ID (broj) HSRP grupe |
Potom virtualnu MAC adresu zapamti prvi Switch i stavi ju u svoju tablicu (MAC → Port Nr.)
Dakle “ljepi” se MAC adresa na port na switchu na kojem je aktivni HSRP Router, prema kojoj se svi paketi prosljeđuju na njega.
5. Šalju se (i očekuju) paketi unutar 10. sekundi, nakon toga ponovno se šalju i primaju novi, ako je sve po starom ništa se ne mijenja a ako se pojavio Router sa većim HSRP prioritetom (ovo se dešava za svaku HSRP grupu) skače se na točku 2 te se preskače na točku 4.
Standardno se svake 3 sekunde šalju poruke i drže se 10 sekundi. Dakle može se reći i ovako – ako poruka ne stigne od trenutno aktivnog routera unutar Holdtime-a (default 10 sekundi) , nakon toga dolazi do reizbora novog aktivnog routera koji switchevima šalje promijenu za virtualnu MAC adresu – dakle sada switchevi imaju port spojen na njega kao destination virtualnu MAC adresu od virtualne IP adrese (tako za svaku HSRP grupu)
5.1 Poseban slučaj tj. iznimka je slučaj kada smo uključili praćenje (track) nekog interface-a, pr:
standby 1 track FastEthernet 0/0
⇒ Ako se dogodi ispad interface-a, koji se prati, u roku od nekoliko milisekundi isti router šalje Hello paket sa porukom u kojoj se vidi da mu je pao prioritet. Gotovo trenutno prvi slijedeći Router (po HSRP prioritetu) preuzima ulogu aktivnog.
6.Povratak na točku 1.
Sada se možemo vratiti na Hello Time i Hold Time.
Ako želimo optimizirati/mijenjati timere, osnovno pravilo kaže:
Hold Time = min. 3 x Hello Time
Zbog čega 3 x Hello Time → jer je nedolazak 3 paketa ili isticanje Hold Time-a okidač za reizbore unutar HSRP grupe.
Naš primjer bi bio tuning HSRP-a sa brzinama VRRP-a:, dakle smanjivanje na slanja paketa svake sekunde i istek vremena na 4 sekunde, što je dovoljno da 3 paketa dođu.
standby 1 timers 1 4 standby 10 timers 1 4
Možemo ići i dalje (brže), te smanjiti vrijeme u milisekunde (150ms i 600ms)
standby 1 timers msec 150 msec 600 standby 10 timers msec 150 msec 600
Sa ovim zadnjim postavkama možemo biti sigurni da će se sve odigrati ispod jedne sekunde.
Napomena : treba biti oprezan i ne pretjerivati jer pr. ovako generiramo pakete svakih 150ms i dodatno opterečujemo Router (ili Layer3/4 Switch) !! .
Nakon što smo oba routera konfigurirali za dvije HSRP grupe, pogledajmo što nam govore HSRP statusi:
Router 1
Router1#sh standby FastEthernet0/1 - Group 1 State is Active 2 state changes, last state change 00:01:27 Virtual IP address is 20.20.20.254 Active virtual MAC address is 0000.0c07.ac01 Local virtual MAC address is 0000.0c07.ac01 (v1 default) Hello time 3 sec, hold time 10 sec Next hello sent in 2.676 secs Preemption disabled Active router is local Standby router is 20.20.20.2, priority 100 (expires in 8.052 sec) Priority 105 (configured 105) IP redundancy name is "hsrp-Fa0/1-1" (default) FastEthernet0/1 - Group 10 State is Standby 2 state changes, last state change 00:01:03 Virtual IP address is 20.20.20.253 Active virtual MAC address is 0000.0c07.ac0a Local virtual MAC address is 0000.0c07.ac0a (v1 default) Hello time 3 sec, hold time 10 sec Next hello sent in 2.644 secs Preemption disabled Active router is 20.20.20.2 priority 105 (expires in 8.524 sec) Standby router is local Priority 100 (default 100) IP redundancy name is "hsrp-Fa0/1-10" (default)
Router 2:
Router2#sh standby FastEthernet0/1 - Group 1 State is Standby 1 state change, last state change 00:01:32 Virtual IP address is 20.20.20.254 Active virtual MAC address is 0000.0c07.ac01 Local virtual MAC address is 0000.0c07.ac01 (v1 default) Hello time 3 sec, hold time 10 sec Next hello sent in 0.876 secs Preemption disabled Active router is 20.20.20.1, priority 105 (expires in 9.560 sec) Standby router is local Priority 100 (default 100) IP redundancy name is "hsrp-Fa0/1-1" (default) FastEthernet0/1 - Group 10 State is Active 1 state change, last state change 00:01:24 Virtual IP address is 20.20.20.253 Active virtual MAC address is 0000.0c07.ac0a Local virtual MAC address is 0000.0c07.ac0a (v1 default) Hello time 3 sec, hold time 10 sec Next hello sent in 0.000 secs Preemption disabled Active router is local Standby router is 20.20.20.1, priority 100 (expires in 9.556 sec) Priority 105 (configured 105) IP redundancy name is "hsrp-Fa0/1-10" (default)
Iz ispisa statusa HSRP-a, vidljivo je :
Za HSRP grupu 1 :
State is Active , – Za Router 1 , za Router 2 : Standby
Vidimo da Hello paketi istiću za 8.052 tj .
Virtualna IP : 20.20.20.254,
Virtualna MAC – podsjetimo se opisa : 0000.0C07.ac01
Hello time : 3.sec, HoldTime 10.s ec. (dakle vidljivo da smo ostavili default parametre)
Vidimo i da je preemption isključen.
Za HSRP grupu 10 :
State is Active , – Za Router 2 , za Router 1 : Standby
Vidimo da Hello paketi istiću za 9.556 sec.
Virtualna IP : 20.20.20.253,
Virtualna MAC – podsjetimo se opisa : 0000.0C07.ac0a
Hello time : 3.sec, HoldTime 10.s ec. (dakle vidljivo da smo ostavili default parametre)
Vidimo i da je preemption isključen.
Brza usporedba HSRP i VRRP protokola:
Razlike između HSRP i VRRP su minimalne, praktično u brzini konvergencije (koja je po default-u na strani VRRP ali se može konfigurirati u HSRP na istu ili bržu razinu).
Osim toga HSRP radi samo na Cisco opremi dok VRRP radi na opremi svih proizvođaća (uključujući Cisco)
Timeri :
=======
HSRP : Hello time : 3 sekunde , Hold Time 10 sekundi
VRRP: Hello time : 1 sekunda , Hold Time 3 sekunde
Brza usporedab HSRP/VRRP i GLBP protokola :
HSRP i VRRP rade na principu Active/Standby (prema VRRP terminolgiji : Master/Backup) tj. samo jedan uređaj u svakoj grupi je aktivan te se iskorištava samo link aktivnog uređaja.
Kod GLBP (Gateway Load Balancing Protocol) protokola promet ide kroz sve uređaje te se iskorištavaju svi linkovi istovremeno, prema nekom od ponuđenih Load Balancing algoritama:
1. Round-robin : Na osnovi liste aktivnih (živih) routera se prosljeđuje promet sa krajnjih računala sekvencijalno prema routerima:
Pr. Ako imamo dva routera i 4 PC računala:
PC1 <==> Router 1
PC2 <==> Router 2
PC3 <==> Router 1
PC4 <==> Router 2
…
2. Weighted load-balancing : Load Balancing algoritam koji na osnovi “težinskog” koeficjenta daje veći ili manji prioritet u opterečenju (slanju prometa) na određeni GLBP router u odnosu na ostale GLBP Routere.
3. Host-dependent : Promet će se raspoređivati prema GLBP routerima tako da će svaki puta isti host (krajnje računalo) prolaziti kroz isti Router:
Pr. Dva routera i 4 PC računala :
PC1 <==> Router 1 (svaki puta PC1 ide samo na Router 1),
PC2 <==> Router 2 (svaki puta PC2 ide samo na Router 2),
PC3 <==>Router 1 (svaki puta PC3 ide samo na Router 1),
PC4 <==> Router 2 (svaki puta PC4 ide samo na Router 2)
ali o detaljima o GLBP u nekom drugom članku.
Autor: Horvat Hrvoje