ARP Protokolü ve Detayları
Merhaba arkadaşlar bu yazımda sizlere ARP (Address Resolving Protocol) Protokolünü anlatacağım.Öncelikle ARP Protokolü nedir? Ne iş yapar bundan bahsedelim.
ARP Protokolü ...
TCP/IP tabanlı yazılımların kullandığı IP bilgisini,herhangi bir LAN donanımları tarafından kullanılan fiziksel adreslere çözümlemeye yarar.Aslına bakılırsa bir senaryo uyduralım.Elimizde hizmet protokolü olarak TCP/IP olduğunu donanımsal LAN protokolü olarak ise Ethernet olduğunu düşünelim.İşte ARP TCP/IP'den gelen IP bilgisini kullanarak,karşı düğümün(bilgisayarın) MAC (fiziksel) adresini bulmaya yarar.Bu işlemler sonucunda her iki bilgisayardaki ARP tabloları güncellenir.Aşağıda ARP Protokolünün yeri şematize edilmiştir.
ARP Protokolü üzerine TCP yerine UDP protokolüde binebilir,veya alt katmanda yer alan donanımsal LAN protokolü Ethernet yerine Token Ring'de olabilir.ARP bu iki katmanın haberleştirilmesi için arada yer alır.Zaten o yüzdendir ki,IP protokolü altında LAN protokollerinin üzerinde konumlandırılmıştır.
ARP İşleyişi ...
ARP protokolünün işleyişinde request ve reply'lar önemlidir.Bir request oluşması için;gönderen ve alan düğümler ARP önbelleği denen bir ARP tablosu tutarlar,işte eğerki aranan IP bu tabloda yer almıyorsa bir ARP requesti oluşturulur.ARP requesti içinde karşı düğümün IP adresi ve request gönderen düğümün fiziksel adresi bulunur.Bu istek bütün düğümlere yollanır.IP adresi örtüşen düğüm(bilgisayar) bu isteğe kendi fiziksel adresini döndürür.Eğerki Ethernet kullanıyorsa,MAC adresi denen bilgiyi döndürür.Bunu yaparken request gönderenin düğümün fiziksel adresini ARP tablosuna kaydeder.Request gönderen düğüm gelen fiziksel adresi bilgisini alır,ardından ARP tablosuna kaydeder.Eğer aynı IP'ye ait bir daha işlem gerekirse,ARP tablosu kontrol edilir.Kayıtlı ise request oluşmaz.
Windows İşletim Sistemlerinde :
1-)Her dinamik ARP girdisi potansiyel olarak 10 dakikalık bir ömre sahiptir.
2-)Önbelleğe eklenen yeni girdilere zaman bilgisi girilir.
3-)Bir girdi eklendikten sonra 2 dakika içinde yeniden kullanılmazsa zaman aşımına uğrar ve silinir.
4-)Bir girdi arka arkaya 5 kez önbellekte kalabilir.Yani bu süre 10 dakikadır.
Aşağıda ARP çalışması resim edilmiştir.
Yukarıda yapılan işlemleri açıklayalım:
1 numaralı etikette istek gönderecek olan düğümün ARP tablosu kontrol edilir.Eğerki ilgili IP adresi yoksa istek oluşturulur.Bizim IP adresimiz ; 10.9.45.200 olsun.
2 numaralı etikette ise istek gönderme işlemi yapılır.Ağdaki bütün düğümlere broadcast(yayın) tabanlı olarak istek gönderilir.İlgili IP'yle örtüşen düğümü bulur.
3 numaralı etikette ise B bilgisayarı reply (cevap) vermeden önce request(istek) gönderen düğümün fiziksel adresini kendi ARP tablosuna kaydeder.
4 numaralı etikette reply(cevap) oluşturulur.Bu reply içinde ise B bilgisayarının fiziksel adresi bulunur.
5 numaralı etikette ise gelen reply içindeki fiziksel adres A bilgisayarının ARP tablosuna kaydedilir.
Proxy ARP ...
Bu yöntemde ortada bir router(yönlendirici) bulunur.Bu gelen ping isteklerine vekillik eder.Request gönderen düğüm router'ın fiziksel adresini bilir.İsteği router alır.Bunu başka çıkış arayüzünden,başka LAN'da veya WAN'da bulunan bilgisayara iletir.İstek gönderen düğüm sadece router ile muhatap olur.İstek gönderen düğümün ARP tablosuna karşı uç düğümdeki bilgisayarın değil,router'ın fiziksel adresi yazılır.
ARP Paket Formatı ...
ARP çerçevesi Ethernet çerçevesindeki Data(Veri) alanına yerleştirilir.Bu nedenle uyum sıkıntısı oluşmaz.Aşağıda bir paket formatı görülmektedir.
Görüldüğü üzere Ethernet'in Data alanına ARP yapısı oturtuldu.İncelediğimizde Kaynak IP ve fiziksel adresler dışında,önemli olan alan tip alanıdır.Eğerki tip alanına 0x0806 değerini yazarsak bunun ARP protokolü olduğunu algılar.
Kısaca ARP ile teorik bilgiler bu kadardır.Bir sonraki makalemde sizlere "WireShark" adlı programı kullanarak paket yakalamayı ve bunları yorumlamayı anlatacağım.Bir sonraki makalemde görüşmek dileğiyle ...