Gratuitous ARP bir çeşit “ön bildirim“dir, başka sistemlerde ARP önbelleğindeki güncel olmayan bilgileri ARP isteği olmaksızın günceller. Bir ARP Paketinde, paketin bir istek veya yanıt olup olmadığını belirten bir ” Opcode ” alanı bulunur. Gratuitous ARP’de , Opcode alanı bir Yanıt olduğunu belirten 2
olarak ayarlanmıştır:
Gratuitous ARP paketi aşağıdaki özelliklere sahiptir:
- Paket içindeki source ve destination IP’si, aritmetik ARP’yi veren ana bilgisayarın IP’sidir.
- Hedef MAC adresi, broadcast MAC adresidir (
ff:ff:ff:ff:ff:ff
).- Paketin bir switch’teki tüm portlara flood yapılacağı anlamına gelir.
- Cevap beklenmez.
Gratuitous ARP aşağıdaki nedenlerden dolayı kullanılır:
- Bir MAC adresinde IP değişiklikliği sonrası ARP tablolarının güncellenmesi (failover, yeni NIC, vb.)
- L2 cihazlarında (switch), bir MAC adresinin port değişikliğinde MAC adres tablolarını güncellemesi.
- Interface UP duruma geçtiğinde, yeni MAC / IP gibi bilgiler ağdaki diğer hostlara bildirmesi durumunda Gratuitous ARP istekleri gönderilir, böylece ARP istekleri kullanılmak zorunda kalmaz.
- Gratuitous ARP isteğine bir yanıt alınıyorsa, ağda bir IP adresi çakışması var demektir.
HSRP , VRRP vb. L2 cihazlarındaki (switch) MAC adres tablolarını güncellemek için Gratuitous ARP kullanır. Ayrıca, “sanal” olan yerine, HSRP için yazılan BIA, “Burned-in–Address” (İzi Kalan Adres) MAC adresini kullanma seçeneği vardır. Bu durumda, Gratuitous ARP, L3 cihazları / hostlardaki ARP tablolarını da güncelleyecektir.
Aşağıdaki animasyonda HSRP‘nin Gratuitous ARP’yi nasıl kullandığını görebilirsiniz.