7

Say for example two routers (R1 and R2) are connected to the same switch (SW1) and both routers have Gateway Load Balancing Protocol (GLBP) correctly configured as the First-Hop Redundancy Protocol (FHRP) solution. Router 1 has been elected the Active Virtual Gateway (AVG) and is in charge of assigning virtual MAC addresses to the Active Virtual Forwarders (AVF).

MY QUESTION: Since Router 1 is the AVG, it is the only router responding to ARP Requests, when it is performing load balancing (alternating the virtual MAC address used in the ARP Replies) won't that confuse the MAC address table on the switch? Won't the switch think that both virtual MAC addresses are on that one interface connected to R1 by learning it from the ARP Replies? So now, the switch will forward frames with the destination of R2's virtual MAC address through the interface connected to R1 (where the ARP Replies came from) instead of the interface that R2 is connected to.

Does GLBP correct this by automatically making R2 send a gratuitous ARP Reply right after R1 makes the initial reply?

9

GLBP doesn't use gratuituous ARP. When someone asks which MAC does the virtual IP have, the AVG will reply saying "This IP is at this MAC", using the field "Sender MAC Address", which is invisible to the switch's CAM table. The source address is still the AVG MAC.

EDIT: I said it wrong. The IP address requested is actually the Sender, the Target address is the address of the host that sent the arp request in the first place. I'll just upload here an example of ARP Request and Reply and when I get home I'll simulate on GNS so you can see how it really works and not just an example capture.

enter image description here

Cadant device asks which is the MAC for x.x.128.77 and if anyone has the answer, please direct it to x.x.128.164.

Oracle device then replies with a broadcast saying that x.x.128.77 is himself, at the MAC 00:14:4f:fb:c3:16, at the sender MAC address. The target is x.x.128.164, who was the one requesting.

If this was the case of a GLBP host, it would state the virtual MAC in the sender MAC address field. It's called Proxy ARP. Just hold tight, I'll upload the actual GLBP capture in about 10 hours.

GLBP Capture:

R2 is the AVG, R1 the AVF: enter image description here

HOST 192.168.0.200 asked for the MAC of 192.168.0.1, the GLBP VIP. He received an answer from C001.3270.0000, which is the real MAC of the interface fa0/0 from R2, stating that 192.168.0.1 was located at 0007.B400.0101, one of the virtual MAC .

Later on, HOST 192.168.0.201 asked for the MAC of 192.168.0.1 and received an answer from the same C001.3270.0000 saying that this IP was with the MAC 0007.B400.0102, the other virtual MAC. Wireshark even throws a yellow line saying that "Hey, lookout, this IP is in use by another host".

When issuing "show glbp" from both routers, the AVG output have a little more detailing, including how many times it answered and ARP request with this or that virtual MAC address. You can see the MAC and IP addresses of the interfaces in "Group Members", present in both outputs.

3

The answer is actually on Wikipedia:

Sender hardware address (SHA)

Media address of the sender. In an ARP request this field is used to indicate the address of the host sending the request. In an ARP reply this field is used to indicate the address of the host that the request was looking for. (Not necessarily address of the host replying as in the case of virtual media.) Note that switches do not pay attention to this field, particularly in learning MAC addresses. The ARP PDU is encapsulated in Ethernet frame, and that is what Layer 2 devices examine.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.