GLBP
Lessons Learned:
The advantage of using over HSPR and VRRP is you can have multiple
active routers at the same time in order to do load-balancing out of the
network.
GLBP
-Cisco proprietary protocol
-extends HSRP Functionality
Adds load balancing function to FHRP
-Every physical gateway may now be active
--Called Active Virtual forwarders (AVF)
--Each AVF assigned a virtual MAC address
-One gateway responds to ARP requests for GLBP IP
--called Active Virtual Gateway
-ARP response uses virtual MACs of AVFs to implement load
balancing.
GLBP extends the HSRP functionality by decoupling the role
of the person in charge of the ARP responses VS the person that actually
forwards the traffic based on the virtual MAC addresses.
Where in HSRP and VRRP – we only have a single role for
active routers.
GLBP has two separate roles, the AVG and the AVF…
The AVF are the routers who have the virtual MAC addresses
assigned that actually forward the packets out of the network. The key is the
additional role which is the AVG – the AVG is in charge of responding to the
SARP requests from the end hosts. The AVG will respond with the MAC address of
the AVF.
The LB is based on the ARP replys and the traffic of the end
hosts.
GLBP Implementation:
AVG elected based on priority
-by default AVG is the only AVF, all other are standby.
-No AVG preemption by default
--enable using glbp preempt
To enable load balancing
-command “glbp xxx loag-balancing weighted Y”
-Assign weights with glbp XXX weighting Y
Weight can be adjusted based on object tracking
Note: The will be one AVG where all the other routers will
be backing up the AVG. The AVG will be the only forwarder unless we configure
load-balancing…
GLBP CFG :
Topology:
GLBP 1 ip 192.168.1.1
Once the routers go through tier initial convergence and
discover who the AVG and who are the AVF.
R2#
*Mar 1 00:08:14.251:
%GLBP-6-STATECHANGE: FastEthernet0/0 Grp 1 state Standby -> Active
R2#
*Mar 1 00:08:24.251:
%GLBP-6-FWDSTATECHANGE: FastEthernet0/0 Grp 1 Fwd 1 state Listen -> Active
Verify:::::::::
From the output we can see that preemption is disabled, the active
router is router 2 and the priority is 100. < - this is talking about the
AVG.
Farther down the output we can see that there is 3 AVF’s and
their MAC addresses.
Technically it doesn’t matter who is the AVG as long as the
AVF’s are correct. Which are the devices that are actually forwarding the
traffic onto the link.
Note: the AVG is basically used as the control plane for the
GLBP feature. All forwarding takes place at the AVF.
R2#sh glbp
FastEthernet0/0 - Group 1
State is Active
2 state changes,
last state change 00:04:15
Virtual IP address
is 192.168.1.254
Hello time 3 sec,
hold time 10 sec
Next hello sent in
2.692 secs
Redirect time 600
sec, forwarder time-out 14400 sec
Preemption disabled
Active is local
Standby is
192.168.1.3, priority 100 (expires in 7.076 sec)
Priority 100
(default)
Weighting 100 (default
100), thresholds: lower 1, upper 100
Load balancing:
round-robin
Group members:
c000.1f40.0000
(192.168.1.1)
c002.1f40.0000
(192.168.1.3)
cc01.1a94.0000
(192.168.1.2) local
There are 3
forwarders (1 active)
R1#sh glbp
FastEthernet0/0 - Group 1
State is Listen
Virtual IP address
is 192.168.1.254
Hello time 3 sec,
hold time 10 sec
Next hello sent in
2.876 secs
Redirect time 600
sec, forwarder time-out 14400 sec
Preemption disabled
Active is
192.168.1.2, priority 100 (expires in 9.692 sec)
Standby is
192.168.1.3, priority 100 (expires in 7.036 sec)
Priority 100
(default)
Weighting 100
(default 100), thresholds: lower 1, upper 100
Load balancing:
round-robin
Group members:
c000.1f40.0000
(192.168.1.1) local
c002.1f40.0000
(192.168.1.3)
cc01.1a94.0000
(192.168.1.2)
There are 3
forwarders (1 active)
R3#sh glbp
FastEthernet0/0 - Group 1
State is Standby
1 state change,
last state change 00:05:47
Virtual IP address
is 192.168.1.254
Hello time 3 sec,
hold time 10 sec
Next hello sent in
0.096 secs
Redirect time 600
sec, forwarder time-out 14400 sec
Preemption disabled
Active is
192.168.1.2, priority 100 (expires in 9.764 sec)
Standby is local
Priority 100
(default)
Weighting 100
(default 100), thresholds: lower 1, upper 100
Load balancing:
round-robin
Group members:
c000.1f40.0000
(192.168.1.1)
c002.1f40.0000
(192.168.1.3) local
cc01.1a94.0000
(192.168.1.2)
There are 3
forwarders (1 active)
Now to configure the weighting of traffic on the AVG.
The weighting is essentially how it responds to the arp replies.
On the router who sis elected the AVG – in this case it’s
R2:
R2(config-if)#int fa0/0
R2(config-if)#glbp 1 weighting 10
R2(config-if)#glbp 1 load-balancing weighted
Basically we’ve configured weighting (we can get into
complex weighting if we have tracking enabled and based on how many upstream
neighbors we have.)
We now have configured and value and said LB based on that
value. On the other two Forwarder I will configure a weight of 5.
The verify output – show that we still have one active and
the original forwarders.
R2#sh glbp
FastEthernet0/0 - Group 1
State is Active
2 state changes,
last state change 00:32:37
Virtual IP address
is 192.168.1.254
Hello time 3 sec,
hold time 10 sec
Next hello sent in
1.356 secs
Redirect time 600
sec, forwarder time-out 14400 sec
Preemption disabled
Active is local
Standby is
192.168.1.3, priority 100 (expires in 8.660 sec)
Priority 100
(default)
Weighting 10
(configured 10), thresholds: lower 1, upper 10
Load balancing:
weighted
Group members:
c000.1f40.0000
(192.168.1.1)
c002.1f40.0000
(192.168.1.3)
cc01.1a94.0000
(192.168.1.2) local
There are 3
forwarders (1 active)
Forwarder 1
State is Active
1 state change,
last state change 00:32:27
MAC address is
0007.b400.0101 (default)
Owner ID is
cc01.1a94.0000
Redirection
enabled
Preemption
enabled, min delay 30 sec
Active is local,
weighting 10
Arp replies sent:
1
We now need to configure all the routers LB to use the
configured weight.
EX: glbp 1 load-balancing weighted
R3#sh glbp
FastEthernet0/0 - Group 1
State is Standby
1 state change,
last state change 00:35:55
Virtual IP address
is 192.168.1.254
Hello time 3 sec,
hold time 10 sec
Next hello sent in
2.320 secs
Redirect time 600
sec, forwarder time-out 14400 sec
Preemption disabled
Active is 192.168.1.2,
priority 100 (expires in 8.568 sec)
Standby is local
Priority 100
(default)
Weighting 5
(configured 5), thresholds: lower 1, upper 5
Load balancing:
weighted
Group members:
c000.1f40.0000
(192.168.1.1)
c002.1f40.0000
(192.168.1.3) local
cc01.1a94.0000
(192.168.1.2)
There are 3
forwarders (1 active)
Forwarder 1
State is Listen
MAC address is
0007.b400.0101 (learnt)
Owner ID is
cc01.1a94.0000
Time to live:
14398.560 sec (maximum 14400 sec)
Preemption
enabled, min delay 30 sec
Active is
192.168.1.2 (primary), weighting 10 (expires in 7.424 sec)
Forwarder 2
State is Listen
MAC address is
0007.b400.0102 (learnt)
Owner ID is
c000.1f40.0000
Time to live: 14397.492
sec (maximum 14400 sec)
Preemption
enabled, min delay 30 sec
Active is
192.168.1.1 (primary), weighting 5 (expires in 7.492 sec)
Forwarder 3
State is Active
1 state change, last state change
00:36:00
MAC address is 0007.b400.0103 (default)
Owner ID is c002.1f40.0000
Preemption enabled, min delay 30 sec
Active is local, weighting 5
R3#
Note: now for forwarder 3 (R3) we are now active and also notice
that preemption is active.
Note: remember the LB is based on ARP request and reply. The
LB is not a pre destination like CEF, it’s a pre ARP request.
If we wanted to us tracking we can configure the weighting
and tracking together.
EX: glbp 1 weighting track 10 decrement (value to decrement)