Rafał Rudewicz

14 lutego 2022

Inna Sieć Newsletter


Hot Standby Router Protocol

Routing & Switching | 2 Komentarze

Redundancja bramy domyślnej to jeden z podstawowych mechanizmów podnoszenia niezawodności sieci oraz szybkiej konwergencji w przypadku awarii.
Hot Standby Router Protocol HSRP

i 3 Spis treści

HSRP, czyli Hot Standby Router Protocol to protokół  z grupy FHRP (first-hop redundancy protocol) opatentowany przez Cisco w 1994r. Jego zadaniem jest zapewnienie redundancji bramy domyślnej w przypadku awarii, bez potrzeby zmiany w konfiguracji urządzeń końcowych.

W HSRP urządzenia takie jak routery czy switche L3 przypisujemy do grup od 0 do 255. Przypisanie dokonuje się na poziomie interfejsu fizycznego lub logicznego. Oznacza to, że nasze urządzenie może uczestniczyć w wielu grupach HSRP równocześnie, zapewniając redundancje dla wielu vlanów.

Grupa HSRP powinna zawierać przynajmniej dwa routery i każdy z nich może przyjąć jedną z następujących ról:

  • ActiveJeden router, odpowiedzialny za przekazywanie ruchu w grupie.
  • Standby – Jeder router, czeka w gotowości, aby przejąć rolę Active.
  • Listen – Pozostałe urządzenia w grupie oczekują, aby przejąć rolę standby.

Konfiguracja HSRP

Konfiguracja HSRP jest bardzo prosta i sprowadza się do użycia słówka kluczowego standby numer grupy oraz wirtualny adres IP.

R1(config)# interface vlan 100
R1(config-if)# ip address 192.168.0.2 R1(config-if)# standby 100 ip 192.168.0.1

W konfiguracji mamy więc przypisany adres IP interfejsu oraz wirtualny dla grupy HSRP. Na podstawie tego ostatniego tworzony jest wirtualny adres MAC, którym router Active odpowiada na zapytanie ARP urządzeń końcowych o adres MAC bramy domyślnej.

Router pełniący rolę Active, domyślnie wysyła pakiety Hello co 3 sekundy. Wysyłane one są na adres multicastowy 224.0.0.2 przy użyciu UDP 1985. Router Standby nasłuchuje tych pakietów przez 10s (domyślny timer Hold-Time), po tym czasie stwierdza awarię routera Active i przejmuje jego rolę. Oba timery mogą być modyfikowane i zejść nawet do poziomu milisekund.

R1(config-if)# standby 100 timers msec 100 msec 300

Urządzenia w grupie HSRP możemy zabezpieczyć, konfigurując uwierzytelnianie (jawnym hasłem, MD5 lub za pomocą key-chain):

R1(config-if)# standby 100 authentication innasiec
R1(config-if)# standby 100 authentication md5 key-string 0 innasiec
R1(config-if)# standby 100 authentication md5 key-string 7 ab2805223b065a411824ca95063bf51c
R1(config-if)# standby 100 authentication md5 key-chain innasiec

Wybór routera active HSRP

W grupie HSRP routerem Active zostaje ten z najwyższym priorytetem. Wartość tego parametru może przyjmować wartość od 0 do 255. Domyślnie każde urządzenie ma ten parametr ustawiony na 100. Jeśli mamy remis, wygrywa router z najwyższym adresem IP w danej grupie.

Priorytet konfigurujemy w następujący sposób:

R1(config)# interface vlan 100
R1(config-if)# standby 100 priority 110

Preemption HSRP

Domyślnie router, który przyjął rolę Active, będzie ją utrzymywał, nawet jeśli w sieci pojawi się urządzenie z wyższym priorytetem. Preemption jest mechanizmem pozwalającym na przejęcie roli Active. Dodatkowo warto skonfigurować opóźnienie, tak aby flapujące urządzenie nie destabilizowało sieci. Preemption konfigurujemy w następujący sposób:

R1(config)# interface vlan 100
R1(config-if)# standby 100 preempt
R1(config-if)# standby 100 preempt delay 300

Track HSRP

Awaria jednego z routerów, w przypadku HSRP nie stanowi problemu. W zależności od timerów router Standby przejmie rolę Active i zacznie przesyłać ruch. Co jednak w przypadku gdy router Active działa, ale jego łącze uplinkowe (do ISP lub dalej sieć) uległo awarii?

Z pomocą przychodzi opcja track. Monitoruje ona konkretny interfejs i w momencie gdy zmieni on status, odpowiednio zmieni priorytet, tak, aby Standby mógł przejąć rolę Active.

R1(config-if)# standby 100 track gi0/0 20

Stany HSRP

Router, zanim przejmie rolę Active, musi przejść przez szereg stanów:

  1. Disable nieużywany router
  2. Initialize zainicjowanie działania
  3. Learn stan przejściowy między podłączonym do sieci a gotowym do działania routerem, „uczenie się”
  4. Listen nasłuchiwanie na wiadomość „Hello”, czyli informacji o pełnionych funkcjach
  5. Speaknasłuchiwanie i nadawanie własnej wiadomości „Hello”. Wiadomość „Hello” jest wysyłana co 3 sekundy.
  6. Standby – tryb czuwania, który w momencie awarii głównego urządzenia dąży do przejęcia jego roli
  7. Active – działanie jako aktywny router

Load balancing HSRP

Wdrożenie HSRP w sieci oprócz korzyści, niesie ze sobą również pewien problem. Ponieważ tylko router Active przekazuje ruch, router Standby w tym czasie jedynie nasłuchuje czy aktywny nadal pracuje.

W takim wypadku warto odpowiednio podzielić vlany, tak aby jeden z routerów był Active dla połowy, a drugi z pary pełnił rolę Active dla pozostałych.

W ten sposób stosując prostą inżynierię ruchu, osiągamy pewien stopień rozłożenia ruchu w sieci, jednocześnie nie rezygnując z redundancji oferowanej przez HSRP.

Podsumowanie

HSRP jest jednym z kluczowych protokołów podnoszących niezawodność w  sieciach kampusowych.

Pomimo braku wbudowanego mechanizmu load-balancingu, przy odrobinie planowania można ten efekt z powodzeniem uzyskać.

Stosujesz w swojej sieci HSRP?

Rafał Rudewicz

Rafał Rudewicz

Specjalizuję się w rozwiązaniach Enterprise oraz Service Provider. Projektuję, wdrażam oraz naprawiam sieci dla największych firm na świecie.

2 komentarze

  1. SpeX

    A jak wygląda dostępność tego rozwiązania poza Cisco?

    Odpowiedz
    • Rafał Rudewicz

      HSRP jest protokołem Cisco i nie jest dostępny dla innych producentów. VRRP jest jego odpowiednikiem jako standard IEEE.

      Odpowiedz

Wyślij komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *