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.