User Tools

Site Tools


wiki:site:cisco:glbp

GLBP Gateway Load Balancing Protocol

(Cisco)

  • Podpora na MLS Cat6500 Supervizor 2
  • vychází z principu HSRP/VRRP + vylepšuje Load Balancing
  • Ve skupině je více aktivních routerů pro jednu virt.IP
  • Klienti dostávají v odpovědích na ARP dotazy (dotazující se na virt.IP) MAC adresy vybraných routerů ve skupině
  • Všichni klienti používají stejnou IP adresu vých.brány, ale různou MAC

AVG Active Virtual Gateway

  • router s nejvyšší prioritou nebo IP
  • odpovídá na všechny ARP requesty týkající se virt.IP
  • v odpovědích posílá virtuální MAC jednoho z routerů ve skupině v závislosti na zvoleném load balancing algorytmu
  • ostatním routerům určuje jejich virt. MAC adresy (max.4)
  • routery s přidělenou virt. MAC adresou jsou AVF - Active Virtual Forwarder
  • ostatní routery ve skupině slouží jako záloha AVF, v případě výpadku
  • v případě výpadku AVG, převezme jeho fci jiný router
  • v případě obnovení funkčnosti původního AVG nemůže tento router převzít roli AVG, dokud neselže současný AVG, nebo pokud není nakonfigurováno preempt stejně jako v HSRP
  • AVG pravidelně rozesílá “Hello” def. každé 3 s
  • pokud Hello nepřichází po dobu “holdtime” timeru (def. 10 s), převezme fci AVG někdo jiný
  • timery se konfigurují na AVG, ten je propaguje ostatním
Switch(config-if)# glbp group(0-1023) priority level(1-255, def.100)
Switch(config-if)# glbp group preempt [delay minimum seconds]
Switch(config-if)# glbp group timers [msec] hellotime [msec] holdtime
  • hellotime - 1-60s nebo 50-60000ms
  • holdtime - až 180s nebo 180000ms, musí být větší (ideálně třikrát) než hellotime

AVF Active Virtual Forwarder

  • virtual MAC: 0007.b4xx.xxyy
  • xx.xx = 16 bitů, 6 bitů = 0, zbylých 10 bitů = č. GLBP skupiny
  • yy = 8 bitů, Virtual Forwarder Number
  • Všechny routery v GLBP skupině posílají “Hello”
  • Pokud AVG nepřijímá hello od AVF, je MAC virt. adresa přiřazena jinému routeru, který se tak stane AVF
  • běžně se může stát, že zaskakující router již je AVF s jinou MAC, to však nevadí, router se může tvářit jako AVF se dvěma virt. MAC adresami zároveň
  • AVG nabízí starou virt. MAC adresu po ještě dobu “redirect timeru”
  • AVF se dvěmi MAC funguje maximálně po dobu “timeout” timeru, pak starou MAC zahodí a klienti, kteří ji používali musí poslat nový ARP request, aby si aktualizovali ARP tabulku

>Switch(config-if)# glbp group timers redirect redirect timeout

  • “redirect timer” - 0-3600 s, defaultně 600 s
  • “timeout timer” - 700-64800 s (18h), def. 14400 s (4h)
  • GLBP má nástroje na rozhodování, který router bude AVF v závislosti na aktivních interfejsech.
  • Každý router začíná s maximání váhou (weight 1-254), při pádu sledovaného interfejsu, je hodnota snížena o definovanou velikost.
  • GLBP používá prahy “tresholds” dle kterých rozhoduje zda router může či nemůže být AVF
  • Klesne li váha routeru pod spodní práh, musí se vzdát své AVF role.
  • Jestliže se váha zvedne nad horní práh, může se router opět stát AVF.
  • Defaultně je váha routeru 100
Switch(config)# track object-number(1-500) interface type mod/num {line-protocol | ip routing}
  • line-protocol - sleduje line protocol up/down
  • ip routing - sleduje zapnutý routing, nastavenou IP adresu, a line protocol na interfejsu
Switch(config-if)# glbp group weighting maximum [lower lower] [upper upper]
  • lower - 1-254, def. 1
  • upper - 1-254, def. = 100 (defaultně = max weight)
Switch(config-if)# glbp group weighting track object-number [decrement value]
  • value - 1-254. def. 10

GLBP Load Balancing

  • provádí se “rozdáváním” MAC adres výchozí brány klientům v ARP odpovědích
  • MAC adresy se rozdávají dle určitého algorytmu
    • Round robin - Defaultní metoda. MAC adresy jsou rovnoměrně rozdělovány mezi klienty, každý AVF obsluhuje přibližně stejný počet hostů.
    • Weighted - MAC adr. AVF s vyšší “váhou” jsou v ARP odpovědích odesílány častěji
    • Host dependent - každý klient dostává pořád stejnou MAC adresu brány
SW_AVG(config-if)# glbp group load-balancing [round-robin | weighted | host-dependent]

Aktivace GLBP

  • Virt. IP adresu stačí nakonfigurovat na AVG, ostatní routery v GLBP skupině se oní od AVG dozví
Switch(config-if)# glbp group ip [ip-address [secondary]]
Switch# show glbp [group] [brief]

Na obrázku je vidět funkce algorytmu Round-robin, hosti posílali ARP requesty postupně zleva do prava:

Příklad konfigurace sítě na obrázcích:

CatalystA(config)# interface vlan 50
CatalystA(config-if)# ip address 192.168.1.10 255.255.255.0
CatalystA(config-if)# glbp 1 priority 200
CatalystA(config-if)# glbp 1 preempt
CatalystA(config-if)# glbp 1 ip 192.168.1.1

CatalystB(config)# interface vlan 50
CatalystB(config-if)# ip address 192.168.1.11 255.255.255.0
CatalystB(config-if)# glbp 1 priority 150
CatalystB(config-if)# glbp 1 preempt
CatalystB(config-if)# glbp 1 ip 192.168.1.1

CatalystC(config)# interface vlan 50
CatalystC(config-if)# ip address 192.168.1.12 255.255.255.0
CatalystC(config-if)# glbp 1 priority 100
CatalystC(config-if)# glbp 1 ip 192.168.1.1
CatalystA# show glbp brief
Interface   Grp  Fwd  Pri	State	Address		Active router	Standby router
Vl50 	     1    -   200 	Active 	192.168.1.1 	local 		192.168.1.11
Vl50 	     1    1   7 	Active 	0007.b400.0101 	local 		-
Vl50 	     1    2   7 	Listen 	0007.b400.0102 	192.168.1.11 	-
Vl50 	     1    3   7 	Listen 	0007.b400.0103 	192.168.1.12 	-
CatalystA#

CatalystB# show glbp brief
Interface   Grp  Fwd  Pri	State	Address		Active router	Standby router
Vl50 	     1    -   150 	Standby	192.168.1.1 	192.168.1.10	local
Vl50 	     1    1   7 	Listen 	0007.b400.0101 	192.168.1.10	-
Vl50 	     1    2   7 	Active 	0007.b400.0102 	local 		-
Vl50 	     1    3   7 	Listen 	0007.b400.0103 	192.168.1.12 	-
CatalystB#

CatalystC# show glbp brief
Interface   Grp  Fwd  Pri	State	Address		Active router	Standby router
Vl50 	     1    -   100	Listen	192.168.1.1 	192.168.1.10	192.168.1.11
Vl50 	     1    1   7 	Listen 	0007.b400.0101 	192.168.1.10	-
Vl50 	     1    2   7 	Listen 	0007.b400.0102 	192.168.1.11	-
Vl50 	     1    3   7 	Active 	0007.b400.0103 	local	 	-
CatalystC#
CatalystA# show glbp
Vlan50 - Group 1
   State is Active
      7 state changes, last state change 03:28:05
   Virtual IP address is 192.168.1.1
   Hello time 3 sec, hold time 10 sec
      Next hello sent in 1.672 secs
   Redirect time 600 sec, forwarder time-out 14400 sec
   Preemption enabled, min delay 0 sec
   Active is local
   Standby is 192.168.1.11, priority 150 (expires in 9.632 sec)
   Priority 200 (configured)
   Weighting 100 (default 100), thresholds: lower 1, upper 100
   Load balancing: round-robin
   There are 3 forwarders (1 active)
   Forwarder 1
      State is Active
         3 state changes, last state change 03:27:37
      MAC address is 0007.b400.0101 (default)
      Owner ID is 00d0.0229.b80a
      Redirection enabled
      Preemption enabled, min delay 30 sec
      Active is local, weighting 100
   Forwarder 2
      State is Listen 
      MAC address is 0007.b400.0102 (learnt)
      Owner ID is 0007.b372.dc4a
      Redirection enabled, 598.308 sec remaining (maximum 600 sec)
      Time to live: 14398.308 sec (maximum 14400 sec)
      Preemption enabled, min delay 30 sec
      Active is 192.168.1.11 (primary), weighting 100 (expires in 8.308 sec)
   Forwarder 3
      State is Listen
      MAC address is 0007.b400.0103 (learnt)
      Owner ID is 00d0.ff8a.2c0a
      Redirection enabled, 599.892 sec remaining (maximum 600 sec)
      Time to live: 14399.892 sec (maximum 14400 sec)
      Preemption enabled, min delay 30 sec
      Active is 192.168.1.12 (primary), weighting 100 (expires in 9.892 sec)
CatalystA#
wiki/site/cisco/glbp.txt · Last modified: 2018/01/17 14:19 by root