Gateway Load Balancing Protocol (GLBP)
Gateway Load Balancing Protocol (GLBP) is one of First Hop Redundancy Protocol (FHRP) which provides redundancy like other First Hop Redundancy Protocol, also provides load Balancing. It is a Cisco proprietary protocol which can perform both functions. It provides load Balancing over multiple routers using single virtual IP address and multiple virtual Mac address.
GLBP terms :
- Virtual IP address : An IP address is assigned as a virtual IP address from the local subnet which is configured as a default gateway for all the local hosts.
- Actual Virtual Gateway (AVG) : It is one of the router operating GLBP in a single group which is responsible for assigning virtual Mac address for each member in the group and for responding of the ARP request coming from the devices. The AVG has the highest priority value or IP address in the group.
- Actual Virtual forwarder (AVF) : These are the routers including the AVG in a single GLBP group. These are actually responsible for forwarding the data after they are assigned by the AVG for the task. If in case AVG goes down, one of the AVFs can become the AVG.
- Preempt : It is a state in which the one of the AVF will become the AVG router (when the AVG router goes down). Also, when the AVG router comes up again, it will become the AVG router as it’s priority is still higher (assumed).
- Object tracking : GLBP uses a weighting scheme to determine the forwarding capacity of each router in the GLBP group. GLBP tracks interface and adjusts it’s weighting i.e if the tracked interface goes down then it reduces by certain value (according to the configuration).
GLBP concepts :
The Actual Virtual Gateway (AVG) provides virtual Mac addresses to all the other routers operating GLBP of the same group. The remaining routers are Actual Virtual Forwarder (AVF). When an ARP request comes from subnet device to know the Mac address of the virtual IP address, one of the virtual Mac addresses is provided by the AVG. AVG will provide the virtual Mac address by using Round Robin algorithm or other algorithms that have been applied. In this way, all devices running GLBP are used to forward traffic.
GLBP virtual Mac address Assignment : When a subnet device (host) wants to send traffic, it requests a Mac address for the virtual IP (gateway) by sending an ARP request. In response to the ARP request, AVG will provide one of the virtual Mac address (provided to AVF by AVG).
Virtual Gateway Redundancy : To detect a gateway failure, GLBP members communicate with each other through hello messages, sent in every 3-seconds to the multicast address 184.108.40.206. If AVG fails, then the AVF having highest priority will become the AVG i.e responsible for providing the Mac address of AVFs.
Virtual forwarder Redundancy : Just like in HSRP, if one of the AVF fails then the other AVF in the same GLBP group will take the responsibility of forwarding the packets. There can be maximum 4 routers in a GLBP group.
GLBP load Balancing :
GLBP uses 3 algorithm for load Balancing –
- Round-Robin : AVG will assign the virtual Mac addresses serial wise, like first virtual Mac address is assigned to AVF1, then to AVF2 etc.
- Host-dependent : If particular host needs specific virtual Mac address every time then specific AVF is assigned to the hosts by the AVG.
- Weighted : The load will be distributed according to the requirement i.e assigning virtual Mac address in proportions. If we want some AVFs to handle more traffic than other, then change the weight.
In given topology, there are 2 routers named R1 and R2 where R1 is connected via fa0/0 ip address is 10.1.1.1/24 and R2 is connected via fa0/0 ip address is 10.1.1.2/24.
Assigning IP address to router R1.
r1(config)# int fa0/0 r1(config-if)# ip add 10.1.1.1 255.255.255.0
Assigning IP address to router R2.
r2(config)# int fa0/0 r2(config-if)# ip address 10.1.1.2 255.255.255.0
Now, configure virtual IP, GLBP priority, preemption and type of load Balancing.
r1(config-if)# glbp 1 ip 10.1.1.100 r1(config-if)# glbp 1 priority 120 r1(config-if)# glbp 1 preempt r1(config-if)# glbp 1 load-balancing round-robin
Here, assign the virtual IP as 10.1.1.100 from the local subnet and priority(assign R1 with higher priority as we want this router to become AVG). Also, preempt has been enabled and load Balancing of type round-robin. Now, configure same GLBP for r2.
r2(config-if)# glbp 1 ip 10.1.1.100 r2(config-if)# glbp 1 priority 100 r2(config-if)# glbp 1 preempt r2(config-if)# glbp 1 load-balancing round-robin
Note : Here, switch resides between the AVG and AVF, then how switch will learn the same Mac address on another port, when AVG goes down? When AVG goes down, then the newly elected AVG will produce a gratuitous ARP to flush the CAM table of switches and the host ARP cache.
- GLBP supports clear text and MD5 password Authentication.
- It supports up to 1024 virtual routers(GLBP groups).
- Allows load sharing using single virtual IP and multiple virtual Mac address.