Yerel Ağda ARP (Address Resolution Protocol) ile İletişim

Yerel ağda iletişimi gerçekleştirmek için IP adresleri yerine düğümlerin fiziksel adresleri kullanılır. Yerel ağdaki düğümlerin birbirini tanımaları ve iletişimi ARP üzerinden gerçekleşir. Bu yazıda yerel ağlarda ARP (Address Resolution Protocol) ile iletişim incelenecektir.

 

Not – 1: ARP protokolü, TCP/IP modeli için tasarlanmış olup bağlantı katmanında (en alt seviye) yer alır. OSI modeline göre ise IP katmanında (3. katman) çalıştığı söylense de veri bağlantısı katmanı (2. katmanında) ile IP katmanı (3. katman) arasında dönüşüm işlemi gerçekleştirmek amacı ile kullanılır.

Not – 2: ARP ile düğümün fiziksel adres öğrenilir. Ethernet kullanıldığında bu fizinsel adres MAC bilgisi döner. Bu yazı Ethernet kullanıldığı varsayılarak hazırlanmıştır.

Yerel ağda bilgisayarlar haberleşmek için IP adresi yerine 48 bitlik gerçek fiziksel adreslerini (MAC adresi gibi) kullanırlar. IP adresinden MAC adresini öğrenmek için de ARP (Address Resolution Protocol) kullanılır. Bu protokol ile aynı alt ağdaki IP adreslerinde bulunun MAC adresleri öğrenilir ve iletişim bu MAC adresi üzerinden sağlanır.

MAC adresinin ilk yarısı ağ kartının üreticisini, ikinci yarısı ile o ürünün ID bilgisini verir. Örneğin “00:0c:29:cf:90:b7” MAC adresine sahip bir ağ kartının üreticisinin “VMware, Inc.” olduğu bilinebilir.

ifconfig eth0
macchanger -l | grep “00:0c:29”

address-resolution-protocol-arp-on-computer-networks-01

 

ARP protokolü için bilgisayarlar ARP tablosunu kullanırlar. Bu tabloda IP-MAC eşleşmesi tutulur. Arp tablosunun içeriği aşağıdaki gibi olabilir.

arp -a

address-resolution-protocol-arp-on-computer-networks-02

 

Bilgisayar yerel ağdaki bir IP adresine erişmek istediğinde önce bu tabloyu kontrol eder ve erişmek istediği IP adresine ait kayıt mevcut ise, kayıttaki MAC adresi üzerinden haberleşme başlar. Şayet ilgili kayıt mevcut değil ise, aynı ağdaki her IP adresine (broadcast) bir ARP isteği (ARP Request) gönderir ve gelen cevaba (ARP Reply) göre IP adresinin bulunduğu MAC adresini öğrenir ve ARP tablosuna ekler. Bundan sonraki iletişimlerde ARP isteği göndermez, bu tablodaki kayıda göre haberleşme başlar.

 

ARP Çeşitleri

Temel olarak 2 tip ARP mesajı vardır:

  • ARP Request
  • ARP Reply

Bunun yanında bir sistem kendi IP adresi için de ARP mesajları yayınlayabilir.

  • Gratuitous ARP Request
  • Gratuitous ARP Reply

 

1) ARP Request

ARP Request paketi ile yapılan işlem şu şekildedir:

Benim ile aynı ağda olan “x.x.x.x” IP adresine sahip olan sistem ile konuşmak istiyorum. Bu sistem kim ise bana MAC adresini söylesin. O sistemin MAC adresini ARP tablona ekleyeceğim ve bu kayıt silinene (veya değiştirilene) kadar o sistem ile MAC üzerinden iletişim kuracağım.

Aynı ağdaki tüm IP adresine yapılan (Broadcast / Multicast) ARP Request örneği aşağıdaki gibidir.

address-resolution-protocol-arp-on-computer-networks-03

 

Yukarıdaki ekran görüntüsünde aynı ağdaki tüm IP adreslerinin (192.168.2.0, 192.168.2.1, 192.168.2.2, 192.168.2.3,…, 192.168.2.255) MAC adresleri, Broadcast olarak tek tek sorulmaktadır. Örneğin; 192.168.2.71 bilgisayarı, 192.168.2.2 IP adresinin MAC adresinin ne olduğu sorgusunu 00:00:00:00:00:00 (veya FF:FF:FF:FF:FF:FF) hedefine yayın olarak(broadcast) sormuştur.

Gönderilen paketteki Opcode değerinin 1 olması, bu talebin ARP Request olduğunu ifade eder.

Not: Wireshark paketinde de görüldüğü gibi, trafiğin Ethernet tipinin (EtherType) 0x0806 olması ARP paketi olduğunu gösterir.

 

2) ARP Reply

ARP Reply paketi ile yapılan işlem şu şekildedir:

Aynı ağda olduğumuz herkese benim MAC adresimi sormuşsun. Benim MAC adresimi “XX:XX:XX:XX:XX:XX” olarak kaydedebilirsin. Artık benimle konuşmak istiyosan bu MAC adresi üzerinden iletişime geçebilirsin.

Varsayılan durumda yayın (broadcast) olarak gelen ARP Request paketine, sadece ilgili IP adresi (Unicast) ARP Reply ile cevap verir. ARP Reply örneği aşağıdaki gibidir.

address-resolution-protocol-arp-on-computer-networks-04

 

Yukarıdaki ekran görüntüsünde kendisine sorulan MAC sorgusuna cevep verilmektedir. Örneğin; 192.168.2.59 bilgisayarı, 192.168.2.71 IP adresine MAC adresinin “DC:71:44:7A:4B.87” olduğunu söylemektedir.

Gönderilen paketteki Opcode değerinin 2 olması, bu talebin ARP Reply olduğunu ifade eder.

 

3-4) Gratuitous ARP Request & Reply

Bir IP adresi kendi IP adresini yayın yapma ihtiyacı duyabilir. Örneğin; aynı IP adresini kullanan bir ağ kartı işlevsiz kaldığında (down olduğunda) diğer ağ kartı trafiği kendi üzerine alması gerekecektir. Bu gibi bir durumda yerel ağdaki diğer cihazların eski ağ kartı ile değil, kendisi ile iletişim kurması gerektiğini söylemesi ve trafiği üzerine alması gerekir. Bu sebeple yeni ağ kartı kendi IP adresini ve MAC’ini yayın yapar.

Gratuitous ARP Request örneği aşağıdaki gibidir.

address-resolution-protocol-arp-on-computer-networks-05

 

5) Directed ARP

Bir sistem üzerindeki ARP kayıtlarının geçerliliğininm kontrolü için; ARP sorgusunu yayın olarak değil, tüm ağı meşgul etmeden hedefli bir şekilde doğrudan ilgili IP adresine de sorulabilir.

 

Özet

ARP ile iletişimi özetlemek için aşağıdaki tablo örnek olarak kullanılabilir.

address-resolution-protocol-arp-on-computer-networks-06

 

Ayrıca aşağıdaki şema da örnek olarak kullanılabilir.

address-resolution-protocol-arp-on-computer-networks-07

 

 

Kaynak:

https://yazilimcorbasi.blogspot.com.tr/2014/07/address-resolution-protocol.html
http://www.yazilimdilleri.net/YazilimMakale-2134-ARP-Protokolu-ve-Detaylari.aspx
http://omeriyioz.blogspot.com.tr/2014/05/arp-address-resolution-protocol.html
http://ekaragol.blogspot.com.tr/2015/02/arp-zehirlemesi-ile-bilgi-edinme.html

 

Yazarın Bilgileri

Ertuğrul BAŞARANOĞLU
Ertuğrul BAŞARANOĞLU

Bir Cevap Yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

Kullanabileceğiniz HTLM etiketleri ve özellikleri: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code class="" title="" data-url=""> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong> <pre class="" title="" data-url=""> <span class="" title="" data-url="">

Bu sayfada incelenen konulardan doğacak sorunlar kişinin kendi sorumluluğundadır.