Gateway Load Balancing Protocol or GLBP differs from Cisco Hot Standby Redundancy Protocol or HSRP and IETF RFC 3768 Virtual Router Redundancy Protocol or VRRP in that it has the ability to load balance over multiple gateways. Like HSRP and VRRP an election occurs, but rather than a single active router winning the election GLBP elects an Active Virtual Gateway or AVG. The job of the AVG is to assign virtual MAC addresses to each of the other GLBP routers and to assign each network host to one of the GLBP routers.
Load Balancing Options
- None
- Weighted
- Host dependent
- Round robin
Priority
- Priority 1 – 255
- Default 100
Features / Benefits
- Supports up 1024 virtual Routers
- Can load balance traffic across a maximum of 4 Routers
- Supports clear text and MD5 authentication
Multicast Address
- Hello Messages every 3 seconds
- Dead Interval at 10 seconds
- Address = 224.0.0.102
- UDP 3222
Modes Of Operation
- AVG – Active Virtual Gateway
- AVF – Active Virtual Forwarder
None
If no load-balance algorithm is specified then GLBP will operate in an identical fashion to HSRP, the AVG will only respond to Address Resolution Protocol (ARP) requests with its own Virtual Forwarder or VF MAC address, and all traffic will be directed to the AVG with no occurrence of load balancing.
Weighted
This is the ability GLBP has to place a weight on each device or host when calculating the amount of load sharing that will occur through MAC assignment. Each GLBP Router in the group will advertise its weighting and assignment that way AVG can act based on that value.
Host Dependent
The MAC address of a host is used to determine which VF MAC address the host is directed towards. This ensures that a host will be guaranteed to use the same virtual MAC address as long as the number of VFs in the GLBP group is constant.
Round Robin
With Round Robin each VF MAC address is used sequentially in ARP replies for the virtual IP address. Round Robin load balancing is suitable for any number of end hosts.
How It Works
The GLBP is a Cisco proprietary load balancing option. Host still point to a single default GW IP address, but GLBP causes different hosts to send their traffic to one of up to four Routers in a GLBP group. This is accomplished by GLBP Active Virtual Gateway or AVG which assigns each Router in the group a unique virtual MAC address in the following format 0007.B400.XXYY where XX is the GLBP group number and YY is a different number for each Router in the group ( 01, 02, 03, 04 ). When a Client ARPs for the virtual IP address of it’s default gateway, the GLBP Active Virtual Gateway or AVG replies with one of four possible virtual MAC addresses.
The Weighted Load Balancing Topology
SP S0/0 = 10.0.1.1 255.255.255.252
SP S0/1 = 10.0.2.1 255.255.255.252
SP S0/2 = 10.0.3.1 255.255.255.252
SP S0/3 = 10.0.4.1 255.255.255.252
R1 S0/0 = 10.0.1.2 255.255.255.252
R1 E0/0 = 172.16.0.2 255.255.255.0
R1 GLBP Priority = 101
R2 S0/0 = 10.0.2.2 255.255.255.252
R2 E0/0 = 172.16.0.3 255.255.255.0
R2 GLBP Priority = 102
R3 S0/0 = 10.0.3.2 255.255.255.252
R3 E0/0 = 172.16.0.4 255.255.255.0
R3 GLBP Priority = 100 – Default
R4 S0/0 = 10.0.4.2 255.255.255.252
R4 E0/0 = 172.16.0.5 255.255.255.0
R4 GLBP Priority = 99
Lets get the Service Providers WAN Interfaces up and running
SP#config t SP(config)# interface Serial0/0 SP(config-interface)#description R1 SP(config-interface)#ip address 10.0.1.1 255.255.255.252 SP(config-interface)#serial restart-delay 0 SP(config-interface)#exit SP(config)#
SP(config)#interface Serial0/1 SP(config-interface)#description R2 SP(config-interface)#ip address 10.0.2.1 255.255.255.252 SP(config-interface)#serial restart-delay 0 SP(config-interface)#exit SP(config)#
SP(config)#interface Serial0/2 SP(config-interface)#description R3 SP(config-interface)#ip address 10.0.3.1 255.255.255.252 SP(config-interface)#serial restart-delay 0 SP(config-interface)#exit SP(config)#
SP(config)# interface Serial0/3 SP(config-interface)#description R4 SP(config-interface)#ip address 10.0.4.1 255.255.255.252 SP(config-interface)#serial restart-delay 0 SP(config-interface)#exit SP(config)#exit SP#
Lets get R1’s Serial Interface configured
R1#config t R1(config)#interface Serial1/0 R1(config-interface)#description SP R1(config-interface)#ip address 10.0.1.2 255.255.255.252 R1(config-interface)#serial restart-delay 0 R1(config-interface)#exit R1(config)#
Lets get R1’s Ethernet Interface configured and GLBP up and running
R1(config)#interface Ethernet0/0 R1(config-interface)#ip address 172.16.0.2 255.255.255.0 R1(config-interface)#duplex full R1(config-interface)#speed 100 R1(config-interface)#glbp 1 priority 101 R1(config-interface)#glbp 1 ip 172.16.0.1 R1(config-interface)#glbp 1 preempt R1(config-interface)#glbp 1 load-balancing weighted R1(config-interface)#exit R1(config)#
Lets get R2’s Serial Interface configured
R2#config t R2(config)#interface Serial1/0 R2(config-interface)#description SP R2(config-interface)#ip address 10.0.2.2 255.255.255.252 R2(config-interface)#serial restart-delay 0 R2(config-interface)#exit R2(config)#
Lets get R2’s Ethernet Interface configured and GLBP up and running
R2(config)# interface Ethernet0/0 R2(config-interface)#ip address 172.16.0.3 255.255.255.0 R2(config-interface)#duplex full R2(config-interface)#speed 100 R2(config-interface)#glbp 1 priority 102 R2(config-interface)#glbp 1 ip 172.16.0.1 R2(config-interface)#glbp 1 preempt R2(config-interface)#glbp 1 load-balancing weighted R2(config-interface)#exit R2(config)#
Lets get R3’s Serial Interface configured
R3#config t R3(config)# interface Serial1/0 R3(config-interface)#description SP R3(config-interface)#ip address 10.0.3.2 255.255.255.252 R3(config-interface)#serial restart-delay 0 R3(config-interface)#exit R3(config)#
Lets get R3’s Ethernet Interface configured and GLBP up and running
R3(config)# interface Ethernet0/0 R3(config-interface)#ip address 172.16.0.4 255.255.255.0 R3(config-interface)#duplex full R3(config-interface)#speed 100 R3(config-interface)#glbp 1 priority 100 R3(config-interface)#glbp 1 ip 172.16.0.1 R3(config-interface)#glbp 1 preempt R3(config-interface)#glbp 1 load-balancing weighted R3(config-interface)#exit R3(config)#
Lets get R4’s Serial Interface configured
R4#config t R4(config)#interface Serial1/0 R4(config-interface)#description SP R4(config-interface)#ip address 10.0.4.2 255.255.255.252 R4(config-interface)#serial restart-delay 0 R4(config-interface)#exit R4(config)#
Lets get R4’s Ethernet Interface configured and GLBP up and running
R4(config)#interface Ethernet0/0 R4(config-interface)#ip address 172.16.0.5 255.255.255.0 R4(config-interface)#duplex full R4(config-interface)#speed 100 R4(config-interface)#glbp 1 priority 99 R4(config-interface)#glbp 1 ip 172.16.0.1 R4(config-interface)#glbp 1 preempt R4(config-interface)#glbp 1 load-balancing weighted R4(config-interface)#exit R4(config)#
Lets take a look at the CDP Neighbors from Router R2 perspective
R2#show cdp neighbors
Capability Codes:R-Router,T-Trans Bridge,B - Source Route Bridge
S - Switch, H - Host, I - IGMP, r - Repeater
Device ID Local Intrfce Holdtme Capability Platform Port ID
SP.lab.local Ser 1/0 179 R S I 3640 Ser 0/1
R1.lab.local Eth 0/0 176 R S I 3640 Eth 0/0
R3.lab.local Eth 0/0 179 R S I 3640 Eth 0/0
R4.lab.local Eth 0/0 174 R S I 3640 Eth 0/0
Lets take a quick look at the GLBP status on Router R2
R2#show glbp brief
Interface Grp Fwd Pri State Address Active router Standby router
Et0/0 1 - 100 Listen 172.16.0.1 172.16.0.5 172.16.0.4
Et0/0 1 1 - Listen 0007.b400.0101 172.16.0.5 -
Et0/0 1 2 - Listen 0007.b400.0102 172.16.0.2 -
Et0/0 1 3 - Listen 0007.b400.0103 172.16.0.4 -
Et0/0 1 4 - Active 0007.b400.0104 local -
I hope you found this post on GLBP helpful and informative. Be sure to let me know what you think by leaving suggestions, and feedback in the comments section below. You can find out more about these and other articles be checking out recent posts and archives. To learn more about me be sure to check out the About page. And as always thanks again for visiting The Packet.