Dark_Crazy
New member
seLamlar..
İÇİNDEKİLER
1. Veri Bağlantı Adresleri ve Fiziksel Adresler
1.1. Fiziksel Adresler
1.2. Ağ Adresleri
1.3. Fiziksel ve Ağ Adres Çözülmesi
1.4. Üst Katman İsimleri ve Adresleri
1.5. IP Adres Yapısı
2. Address Resolution Protocol - ARP
2.1. ARP
2.2. Ters ARP (InARP )
2.2.1 Paket Formatı
2.2.2 Protokol İşlemi
2.3. Directed ARP (DARP)
2.3.1 ARP Helper Adresi
2.3.2 Adres Çözümleme Prosedürleri
2.3.3 ARP İsteği Gönderme
2.3.4 Prosedür Süzme
2.4. Reverse Address Resolution Protokol -RARP
2.4.1 RARP Paket Formatı
2.4.2 İstek ve Cevap Alma-Gönderme
1. VERİ BAĞLANTI ADRESLERİ ve FİZİKSEL ADRESLER
Veri ağlarındaki adresler, posta adreslerine ve telefon numaralandırma şemalarına benzerdir. Bugün kullanılan birçok ağ, adresleme yapılarını telefon numaralandırma kavramlarına dayandırmışlardır.
Bir isim bir varlığı tanımlar (fiziksel yerinden bağımsız olarak). Bu bir insan, bir uygulama programı veya bir bilgisayar olabilir. Bir adres de aynı zamanda bir tanımlamadır, ancak varlıkla ilgili ek bilgiler içerir. Bu ek bilgiler temel olarak varlığın ağ içerisindeki fiziksel veya mantıksal yeri ile ilgilidir. Bir rota, trafiği bir fiziksel yere (veya adrese) nasıl nakledeceğimiz bilgisidir.
Bir ağ, genelde bir ağ kullanıcısının kendisine bir isim vermesine izin verir. Ağ, trafiği bu isimle alır. Bir ağdaki isim sunucusu, alınan varlıkların isimlerine bakarak adresine karar vermekte kullanılır. Bu adres daha sonra rotalama protokolü tarafından kullanılır ve alıcının fiziksel rotası bulunur.
Bu yaklaşım sonucu, ağ kullanıcısı diğer kullanıcılar ve ağ kaynaklarının ne fiziksel adresleri ne de fiziksel yerleşimleri ile meşgul olur. Böylece ağ yöneticisi son kullanıcıları etkilemeden ağ kaynaklarının yerlerini değiştirebilir ve ağ kaynaklarını yeniden şekillendirilebilir. Benzer biçimde, kullanıcılar da isimlerini değiştirmeden fiziksel yerlerini değiştirebilirler. Ağ, daha sonra basitçe isimlendirme/rotalama tablolarını kullanıcıların yeni yerine göre değiştirir.
Bir veri ağında iki kullanıcının haberleşebilmesi için bir çeşit adresleme şekli gereklidir. Genelde, iki veya üç adres gerekir. Bazı sistemlerde bir fiziksel adres, bir veri bağlantı adresi ve bir ağ adresi kullanılır. Daha yaygın bir yaklaşım, yalnızca fiziksel ve ağ adreslerini kullanmaktır. Bu yaklaşımda, fiziksel ve veri bağlantı adresi aynıdır. Pratik olarak konuşursak, üst katman isimleri ve port numaraları gibi diğer adresler, iki kullanıcı arasında belirli uçtan-uca haberleşme yapılacağında gerekli olur.
1.1 Fİzİksel adresler
Bir haberleşme linkindeki veya ağındaki her bir cihaz (bir bilgisayar veya iş istasyonu gibi) bir fiziksel adres ile tanımlanır. Bu adrese donanım adresi de denir. Birçok üretici fiziksel adresi cihazın içindeki bir lojik board’a veya cihaza doğrudan bağlanabilen bir arabirim ünitesine yerleştirir. Bir haberleşme diyalogunda iki fiziksel adres görev alır; bu adreslerden biri göndericiyi (kaynak) diğeri de alıcıyı (varış) tanımlar. Fiziksel adresin uzunluğu değişir. Çoğu sistem iki 48-bit adres kullanır, fakat başka adres büyüklükleri de kullanılmaktadır. 48-bit adres yapısı Ethernet ve IEEE protokollerinde kullanılır. Bu adrese MAC (Media Access Control) adresi denir.
Katmanlı veri haberleşme modeli açısından bakarsak, fiziksel adres, fiziksel veya veri bağlantı katmanlarında kullanılır. Alıcı cihaz, gelen bir PDU (Protocol Data Unit, Ağda dolaşan bir paketlik veri)’nun varış adresini inceler. Eğer adres cihazın adresi ile aynı ise PDU üst katmanlara iletilir. Eğer adres cihazın adresi ile uyuşmuyorsa PDU atılır. Böylece, alt katmanlardaki adres algılaması verinin gereksiz yere üst katmanlara geçişini önler.
Şekil 1. Fiziksel adres algılanması
Şekil 1’de bir LAN üzerindeki adres algılanması gösterilmiştir. A cihazı kanala bir çerçeve gönderir ve bu çerçeve kanala bağlı tüm istasyonlara (B, C, D istasyonları) yayınlanır. Varış fiziksel adresinin (DPA) C değerinde olduğunu düşünelim. Netice olarak, B ve D istasyonları çerçeveyi dikkate almazlar. C istasyonu ise PDU’yu bir üst katmanına iletir.
1.2.Ağ adreslerİ
Bir ağ adresi tanımlamanın kolay yolu; adresin ağı tanımlamasıdır. Ağ adresinin belirli bir parçası aynı zamanda bir bilgisayarı veya terminali betimleyebilir. Ancak, Internet standartları bir IP adresinin neyi tanımlayabileceğine dair sıkı kurallar koymuştur.
Bir ağ adresi fiziksel veya veri bağlantı adreslerinden daha yüksek katmandadır. Yüksek katmandaki adresler, daha alt katmandaki adreslerle ilgilenmezler. Böylece, bir ağ veya internette bulunan ağ adresleri ile ilgilenen parçalar, veri fiziksel cihazın bağlı olduğu ağ linkine gelene kadar son varış fiziksel adresleri ile ilgilenmezler.
Bu önemli kavram Şekil 2’de gösterilmiştir. Farz edelim ki Los Angeles’taki bir kullanıcı (bir host bilgisayarı) bir paket ağına, Londra’da bir LAN’da bulunan iş istasyonuna nakledilmek üzere paketler göndersin. Londra’daki ağın ağ adresi 128.1’dir. Paketler paket ağında ilerleyerek New York’taki paket anahtarına gelirler. New York’taki paket anahtarı, paketi Londra’da bulunan gateway’e rotalar. Bu gateway paketteki varış ağ adresini inceler ve paketi 128.1 ağına rotalamaya karar verir. Daha sonra LAN’ın Londra gateway’i ile bağlantı kurduğu düğüme uygun haberleşme kanalı ile paketler iletilir. 128.1 ağındaki bu düğüm, Şekil 2’de B olarak etiketlenmiştir.
Şekil 2. Ağ seviyesinde adresleme
Görüldüğü gibi varış fiziksel adresi bu rotalama işlemlerinde kullanılmamıştır. Paket anahtarı ve gateway yalnızca varış ağ adresi ile ilgilendiler. Fiziksel adresler hala kullanılmamaktadır. Ağ adresleri, son varış makinesini değil trafiği alacak bir sonraki cihazı tanımlamaktadır.
1.3. Fİzİksel adres ve ağ adresİ çözülmesİ
Lonra’daki LAN, paketi doğru cihaza nasıl iletiyor? Daha önce de söylediğimiz gibi, bir fiziksel adres, bir paketin ağa bağlı tüm cihazların daha üst katmanlarına geçmesini engeller. Böylece, cevap; "son varış ağı (veya gateway) yüksek-katman ağ varış adresini, alçak katman fiziksel varış adresine çevirebilmelidir" olacaktır.
Şekil 3 Ağ adreslerinin fiziksel adreslere haritalanması
Bu görevi açıklayabilmek için Şekil 3’e bakacağız. LAN üzerindeki B düğümü adres çözümleme görevindedir. Farz edelim ki varış ağ adresi 128.1 ve host adresi 3.2’den oluşsun. Bu adresler birleştirilerek tam bir ağ adresi elde edilir. Bu da 128.1.3.2 olarak IP PDU’sunun varış adres alanında bulunur.
LAN düğümü datagramı gateway’den alınca, host adresini incelemeli ve, ya tablodaki adrese bakarak ağ adresini karşılayan yerel fiziksel adresi bulmalı ya da onun fiziksel adresi için istasyonu sorgulamalıdır. Böylece düğüm, doğru fiziksel adresi bularak kullanıcı verisini fiziksel katman çerçevesi olarak düzenler, çerçevenin varış adresine uygun fiziksel katman adresini yerleştirir ve çerçeveyi LAN kanalına yollar. Ağdaki tüm cihazlar fiziksel adresi inceler. Eğer adres cihazın adresi ile uyuşuyorsa, PDU üst katmana aktarılır; tersi durumda PDU ihmal edilir.
Host adresi 3.2’nin aynı zamanda fiziksel adres olması akla uygundur, ancak host adresi ve donanım fiziksel adresinin farklı değerlerde tahsis edilmesi daha yaygındır. Örneğin 128.1.3.2 bir IEEE MAC 48-bit fiziksel adresine haritalanabilir.
1.4. Üst katman adreslerİ ve İsİmlerİ
Fiziksel, veri bağlantı ve ağ katmanı adresleri paketi host cihazı içerisindeki son ‘varış’a iletmekte başarısız kalırlar. Bunun için diğer yüksek-katman adresleri gereklidir. Örneğin; paket elektronik posta veya dosya transfer sistemi gibi özel bir yazılım uygulamasına ait olabilir. İki uygulama da aynı üst katmanda olduğundan dolayı (uygulama katmanı) bir şekilde uygulamayı tanıtarak paketi işleme koymalıyız. Böylece, host cihazı kendisine hangi uygulamanın geldiğini anlamak için ULP (Upper Layer Protocol) isim veya adreslerini kullanır.
1.5. IP Adres YapIsI
TCP/IP ağları host cihazını ve host’un bağlı olduğu ağı 32-bit bir adresle tanımlar. IP adresinin yapısı Şekil 5-4’de gösterilmiştir. Formatı şöyledir: IP adresi = Ağ adresi + Host adresi.
Bir IP adresi tek başına host’u tanımlamaz, fakat bir host’u ağa olan bağlantısını tanımlar. Netice olarak, host cihazı başka bir ağa giderse, adres boşluğu değiştirilmelidir.
Şekil 4. IP adres formatları
IP adresleri formatlarına göre sınıflandırılırlar. Dört format mevcuttur. Bunlar A sınıfı, B sınıfı, C sınıfı ve D sınıfı olarak tanınırlar. Şekil 4’de de görüldüğü gibi ilk bitler adresin formatını belirler.
Tablo 1 IP Adres Formatları
A sınıfı bir adres, ağa birçok host bağlanmasına olanak sağlar. Host ID alanı 24 bittir. Böylece 224 host tanımlanabilir. Ağ ID için 7 bit ayrılmıştır, yani 127 ağ tanımlama olanağı olur. B sınıfı adresler orta büyüklükteki ağlar için kullanılır. 14 bit ağ ID’si ve 16 bit host ID’si için kullanılır. C sınıfı adresler ancak 256 host’tan daha azına izin verebilir. C sınıfı adreslerde ağ ID’sine 21 bit ayrılmıştır. Son olarak D sınıfı adresler multicasting (çoklu-yayın) için ayrılmıştır. Multicasting, broadcast’e (yayına) benzerdir ancak belirli sayıda kişiye yayın yapılır.
Özetlersek, IP adresi Tablo 1’de gösterilen boşluk şekillerini alabilir. A, B, C sınıfı adreslerin sağlayabildiği maksimum ağ ve host adresleri Tablo 2’de gösterilmiştir.
Tablo 2.Maksimum Ağ ve Host Adresleri
2. arP - Adres Çözümleme Protokolü
2.1 ARP
IP yığınında, adres çözümlemesi yapan protokoller vardır. Adres çözümleme protokolü (ARP) IP adreslerinin fiziksel adreslere dönüştürülmesi sağlar ve bu fiziksel adresleri üst katmanlardan gizler.
Genelde ARP, ARP belleği olarak bilinen haritalama tabloları ile çalışır. Tablo, bir IP adres ile bir fiziksel adres arasında haritalama yapılmasını sağlar. Bir LAN’da (Ethernet veya IEEE 802 ağı gibi), ARP hedef IP adresini alır ve haritalama tablosundan bunun karşıladığı hedef fiziksel adresi arar. Eğer ARP adresi bulursa, bulduğu fiziksel adresi; isteği yapan cihaza yollar.
Gerekli adres ARP belleğinden bulunamazsa, ARP modülü ağa bir yayın yapar. Yayına ARP request denir. Bu yayın bir IP hedef adresi içerir. Netice olarak yayını alan cihazlardan biri ARP request’teki IP adresinin kendisine ait olduğunu sezerse, isteği yapan host’a bir ARP reply gönderir. Bu çerçeve, sorgulanan host’un fiziksel donanım adresini içerir. İsteği yapan host bu çerçeveyi alınca onu kendi ARP belleğine yerleştirir. Daha sonra, bu belirli IP adresine gönderilecek datagramlar belleğe başvurularak fiziksel adrese dönüştürülebilir. Sonuç olarak ARP sistemi isteği yapan host’un, başka bir host’un fiziksel adresini, onun IP adresi ile bulmasına olanak sağlar.
ARP isteği ve cevabı kavramları Şekil 5’de gösterilmiştir. A host’u C’nin fiziksel adresini bulmak istemektedir. A bu yüzden B, C, D’ye datagram yayınlar. Bu yayına yalnızca C cevap verir çünkü gelen ARP istek datagramında kendi IP adresinin olduğunu görür. C host’u kendi adresini ARP cevabı formunda bir IP datagramına yerleştirir.
Şekil 5-ARP İsteği ve Cevabı
ARP, IP adreslerini fiziksel adreslere haritalaması yanında, özel donanım tiplerinin tanımlanmasına da izin verir. Böylece sorgulanan host ARP datagramı alınca, datagramdaki bir alana bakarak, cihazın hangi tipte bir donanım kullandığını (bir Ethernet arabirimi veya paket radyo gibi) anlayabilir.
ARP PAKET FORMATI:
Şekil 6 ARP İstek ve Cevap Paketi
Bu ARP paketi bir fiziksel katman PDU’su olacak biçimde paketlenir. Örneğin; fiziksel katman PDU’su bir Ethernet çerçevesi olsun. EtherType alanı 803516 (veya 3282110) kurularak bir ARP çerçevesi tanımlanır. EtherType alanı, Şekil 6’da ‘fiziksel katman başlığı’ olarak etiketlenmiş alanın bir parçasıdır.
Aşağıda ARP paketinin alanlarının kısa bir açıklaması mevcuttur:
Fiziksel katman başlığı: Fiziksel katman paketinin başlığıdır.
Donanım: Donanım arabirim tipini belirtir (Ethernet, paket radyo vs.).
Protokol: Göndericinin kullandığı protokol tipini tanımlar; tipik olarak EtherType’dır.
Donanım adres uzunluğu: Paketteki donanım adreslerinin bCahil team olarak uzunluğunu belirtir.
Protokol adres uzunluğu: Paketteki protokol adreslerinin bCahil team olarak uzunluğunu belirtir (Ör, IP adresleri).
Opcode: Paketin bir ARP request (1) veya bir ARP reply (0) olduğunu belirtir.
Gönderici donanım adresi: Göndericinin donanım adresini içerir.
Gönderici protokol adresi: Göndericinin IP adresini içerir.
Hedef donanım adresi: Sorgulanan host’un donanım adresini içerir.
Hedef protokol adresi: Sorgulanan host’un IP adresini içerir.
Request paketinde hedef donanım adresi alanı dışındaki tüm alanlar kullanılır. Reply paketinde ise tüm alanlar kullanılır.
Her ARP modülü bir ARP paketi kullanarak belleğini güncelleştirebilir. Modül, gönderici IP adresini ve donanım adresini inceler ve belleğinde olup olmadığına bakar. Böylece trafiği inceleyerek belleğinde olmayan bilgileri ekler. Bu işleme ‘gleening’ denir; fakat tüm üreticiler bunu desteklemez.
Bununla birlikte adres çözümlemesi için Proxy ARP ve RARP protokolleri de bulunur. Proxy ARP’de ağ parçaları birbirlerinden gateway aracılığı ile saklanır. Saklayan gateway, sakladığı kısmın bilgilerini istek yapan host’a verir. RARP’de ise host kendi IP adresini bilmez. Yayın yaparak ağdaki cihaza donanım adresini yollar ve ağın RARP sunucusu bu host’a IP adresini bildirir.
2.2. ters arp (inverse address resolution protocol)
InARP, bir Frame Relay istasyonunun sanal devrelerle oluşan bir istasyonun protokol adresini bulmasını sağlar. Aynı mesajın kopyalarıyla yapılan yayını taklit etmekten daha etkili, statik konfigürasyonlara bağlı kalmadığı için daha esnektir.
2.2.1. Paket Formatı:
Paket formatı standart ARP ile aynıdır. Sadece donanım ve protokol adres uzunlukları InARP’nin çalıştığı ortama bağlı olarak değişir. Örneğin; IP Frame Relay üzerinde çalışıyorsa donanım adres uzunluğu 2 ile 4 arası değer alır, protokol adres uzunluğu ise 4 değerini alır. İşlem kodu mesaj tipinin istek yada cevap olduğunu gösterir.
InARP request = 8 ( istek )
InARP reply = 9 ( cevap )
2.2.2 Protokol İşlemİ:
InARP istek yayını yapmak dışında ARP ile aynı işlemleri görür. Bunun nedeni, mesaj gönderilecek istasyonun donanım adresinin biliniyor olmasıdır. İstek gönderen istastosyon, kendi kaynak donanım ve protokol adreslerini ve bilinen hedef donanım adresi içinde olan basit bir istek hazırlar. Sonra hedef protokol adres alanını 0’la doldurur. Son olarak paketi ağın özelliklerine göre hazırlayıp verir ve direk olarak hedef istasyona gönderir. Bir istasyon InARP isteği alması üzerine, istemcinin protokol/donanım adresini ARP belleğine haritalayarak isteğin ARP belleğine yerleştirir ve başka istek almasını önler. Diğer ARP isteklerinden farklı olmasına rağmen, alıcı istasyon gelen her InARP isteğinin kendisi için olduğunu zanneder. Her InARP isteği için isteğin kaynak adreslerini cevabın hedef adresleri gibi kullanarak gerçek bir hazırlar. İstasyon erişilebilir değilse veya cevaplamak istemiyorsa isteği görmemezlikten gelir. İstemci istasyon InARP cevabını aldığı zaman ARP toblo girişini tamamlarve gereken adres bilgisini kullanır.
2.3. directed ARP (DARP)
Aynı link seviye arayüzü aracılığıyla iki IP ağında arayüzü bulunan bir yönlendirici, bu iki IP ağının aynı link düzeyindeki ağı paylaştığını bilir ve bu bilgiyi sunuculara (ICMP Redirects yoluyla) ve yönlendiricilere ( dinamik routing protokolleri yoluyla) bildirir Ama, herhangi bir taraftaki IP ağındaki sunucu veya yönlendirici, yabancı IP ağdaki IP adreslerine kendine uygun link düzey adreslerine çevirebildiği sürece bu bilgiyi diğer ağdaki sunucular ve yönlendiricilerle iletişim için kullanmaz. DARP, sunuculara ve yönlendiricilere, bildirilen, potansiyel geçiş IP adreslerinin , link düzey adresleri birleştirilen yabancı ağlarda çözümü için imkan tanıyan dinamik bir adres çözümleme prosedürüdür. DARP, normal ARP paket formatını kullanır.
2.3.1 ARP Helper Adresİ:
ARP prosedürlerini uygulayan sunucu veya yönlendirici, yönlendirme tablosundaki girdilerle ARP Helper Adresini birleştirir. Eğer sunucu veya yönlendirici, bağlantı düzey adresiyle birleştirilen bir sonraki IP adresini çözmek için düzenlendiyse(veya bir sonraki IP adresi NULL değeri aldığında gönderilecek yerin IP adresini bulmak için), birleştirilmiş ARP Helper adresi NULL olur. Aksi takdirde ARP Helper adresi, yönlendiricinin IP adresidir.
2.3.2 Adres Çözümleme Prosedürlerİ:
Bir IP paketi göndermek için, sunucu veya yönlendirici, paketinin gideceği yerin IP adrese göre en uygun eşleşmeyi bulmak için yönlendirme tablosunda bir giriş arar. Seçilen giriş, bir sonraki yönlendiricinin IP adresini (NULL olabilir), paketin geçmesi gereken fiziksel arabirimi, ARP Helper adresi (NULL olabilir) ve diğer bilgileri içerir. Yönlendirme fonksiyonu, bir sonraki IP adresini, fiziksel arabirimi, ve ARP Helper adresi adres çözümleme fonksiyonuna gönderir.Daha sonra adres çözümleme fonksiyonu bir sonraki adresi çözümler. IP paketi, paketin gönderileceği bağlantı düzey adresi ve gönderilecek arabirim, fiziksel arayüzle birlikte çalışan bağlantı düzeyi sürücüsüne yollar. Bu sürücü, IP paketini bir yada daha fazla bağlantı çerçeveleri halinde birleşmiş bağlantı adresine postalar ve bu çerçeveleri uygun fiziksel arabirim aracılığıyla gönderir.
2.3.4 ARP İsteklerİ Gönderme:
DARP prosedürlerini kullanan bir sunucu, gelen ARP isteklerini işlemek için normal prosedürü kullanır. Yani; eğer hedef IP adresi sunucunun adresi ise, sunucu ARP isteğini cevaplamak için normal prosedür kullanır. Eğer hedef IP adresi sunucunun adresi değilse, sunucu ARP isteğini geri çevirir. Yönlendirici aldığı bir ARP isteğinin hedef IP adresi kendi adresi ise isteği cevaplar, değilse paketin geldiği arabirimden tekrar geri gönderir.
2.3.5 Prosedür Süzme (Filtreleme):
DARP prosedürlerini kullanan bir yönlendirici, sunucu veya yönlendirici hataları sonucu oluşan potansiyel ARP taşmalarına engel olmak ve kullanıcıdan kaynaklanan yanlış düzenlemeler sonucu oluşabilecek yada yönlendirme protokul kararsızlığı esnasında oluşabilecek düğümleri ortadan kaldırmak için ARP paketi çoğalmasını süzmeli, kontrol etmelidir. Yönlendirici, çoğalmayı kontrol etmek için benzer ARP isteklerinin(aynı kaynak IP adresi ve aynı hedef IP adresi gibi...) sayısını sınırlayabilir. Böylece, küçük zaman aralıklarında gönderme yapılır(saniyede sadece bir ARP isteği gibi). ARP taşmalarını kontrol etmek için kullanılan prosedürler, bazı ARP düğümlerini yok edebilir ama düğümden geçmek için gereken zaman, ARP taşmalarında harcanan zamandan uzunsa ek prosedürler gerekir.
Bir yönlendirici, T ve N sahipli numaralar olduklarında, her T dakikada N ARP isteğini göndermeyi reddedebilir. Eğer T ve N seçilmişse T/N süresi, düğümden geçmek için gereken zamandan baha uzun olacağından ilmik yok edilir.
Sunucu gereksinimleri ortaya koyuyor ki; IP ve bağlantı katmanı arasındaki paket alma arabirimi, gelen paketin bağlantı düzey yayın adresine gönderildiğini belirten bir bayrak içermelidir. Yönlendiriciler bağlantı düzey yayın adresine postalanan ARP isteklerini göndermezse basit ARP taşmalarının büyük bir bölümü engellenmiş olur.
2.4. Reverse Address Resolution Protocol - RARP
Diski olmayan iş istasyonları gibi ağ sunucuları, çoğunlula kendi adreslerini bilmezler. Sadece donanım arabirim adreslerini bilirler.IP gibi yüksek düzey protokoller kullanarak dış kaynaklarla iletişim kurup bu kaynaklardan kendi protokol adreslerini bulmak zorunda kalırlar. Bir sunucunun donanım adresleri verilip protokol adreslerini çözümleme problemini çözen bir protokoldür. ARP ve RARP birbirinden farklı işlemlerdir. ARP her sunucunun kendi donanım adresi ve protokol adresi arasındaki haritalamayı bildiğini farzeder. Diğer sunucular hakkında edinilen bilgi küçük bir bellekte tutulur. Bütün sunucular eşit statüdedir. İstemci ve sunucu arasında hiçbir ayrım yoktur. RARP’ de ise durum farklıdır. İstemcilerden gelen istekleri cevaplamak ve protokol adresinden donanım adresine veritabanı haritalanması için daha fazla sunucuya gereksinim duyar.
RARP sunuculardan büyük veri tabanlarını muhafaza etmesini ister.Bu istenmeyen bir durumdur ve bazı durumlarda sunucunun işletim sisteminin çekirdeğinde böyle bir veritabanını muhafaza etmek imkansızdır. Bu yüzden çoğu uygulama kernel dışındaki bir programla etkileşim formuna gereksinim duyar. Mevcut sunucu yazılımı üzerinde uygulama kolaylığı ve asgari etkileşim önemlidir. Her sunucu yazılımı üzerinde değişiklik isteyen bir protokol yapmak hata olacaktır.
RARP, veri bağlantı katmanında ayrı ve özel bir protokol olrak tanımlanmıştır. Mevcut sistem üzerimde etkleşim en aza indirilmiştir; mevcur ARP server’ları RARP raketleriyle karıştırılmaz. Bu da RARP’yi donanım adreslerini daha üst katman protokol adreslerine haritalamak için bir kolaylık olarak sunar.
2.4.1 Paket Formatı:
RARP, ARP paket formatıyla aynı formatı kulllanır:
ar$hrd (donanım adres alanı) - 16 bit
ar$pro (protokol adres alanı) - 16 bit
ar$hln (donanım adres uzunluğu) - 8 bit
ar$pln (protokol adres uzunluğu) - 8 bit
ar$op (opcode) - 16 bit
ar$sha (kaynak donanım adresi) - n byte
n, donanım adres uzzunluğundan gelir
ar$spa (kaynak protokol adresi) - m byte,
m , protokol adres uzunluğundan gelir
ar$tha (hedef donanım adresi) - n byte
ar$tpa (hedef protokol adresi) - m byte
2.4.2. İstek ve cevap gönderme -Alma
Donanım adreslerinin 48 bitlik Ethernet adresleri ve protokol adreslerinin 32 bitlik Internet adresleri olduğunu farzedelim.
Internet adreslerini, bilinen Ethernet adreslerine uygun olduğunu belirtelim. Sonra, her RARP paketinde ar$hrd = 1 (Ethernet),
ar$pro = 2048 demical(IP paketlerinin Ethertipi), ar$hln = 6 ve ar$pln = 4 olur.
İki tane opcode vardır. 3(’ request reverse’) ve 4 (’reply reverse’). 1 ve 2 opcode’larına sahip paketler normal ARP koduna geçirilir. Başka herhangi opcode’a sahip bir paket tanınmaz. ARP’de olduğu gibi; gelen istekleği cevaplamak için boş RARP server’ları bulunduğu sürece ’bulunamayan’ (not found) veya ’hata’(error) paketleri olmaz. RARP istek paketini gönderen, eğer belirli bir zaman süresince isteğine cevap almazsa, zaman aşımına uğrar.
RARP paketlerinin ar$sha, ar$spa, $ar$tha ve ar$tpa alanları aşada tanımlanmıştır:
opcode 3 (’request reverse’) olduğunda;
ar$sha, paketin göndericisinin donanım adresi
ar$spa tanımlanmaz
ar$tha ’hedef’ donanım adresidir.
opcode is 4 (’reply reverse’) olduğunda:
ar$sha: cevaplayanın donanım adresi (ceevap paketinin göndericisi).
ar$spa: cevaplayanın protokol adresi
ar$tha hedef donanım adresisidir ve istekte verilen değerle aynı olmalıdır.
ar$tpa hedefin protokol adresi , bu da istenilen adres.
Eğer bir sistem ARP ve RARP kullanıyorsa, geçerli protokol-donanım adres çiftinin ilavesi, bir sonraki ARP isteğine duyulan ihtiyacı ortadan kaldırır.
İÇİNDEKİLER
1. Veri Bağlantı Adresleri ve Fiziksel Adresler
1.1. Fiziksel Adresler
1.2. Ağ Adresleri
1.3. Fiziksel ve Ağ Adres Çözülmesi
1.4. Üst Katman İsimleri ve Adresleri
1.5. IP Adres Yapısı
2. Address Resolution Protocol - ARP
2.1. ARP
2.2. Ters ARP (InARP )
2.2.1 Paket Formatı
2.2.2 Protokol İşlemi
2.3. Directed ARP (DARP)
2.3.1 ARP Helper Adresi
2.3.2 Adres Çözümleme Prosedürleri
2.3.3 ARP İsteği Gönderme
2.3.4 Prosedür Süzme
2.4. Reverse Address Resolution Protokol -RARP
2.4.1 RARP Paket Formatı
2.4.2 İstek ve Cevap Alma-Gönderme
1. VERİ BAĞLANTI ADRESLERİ ve FİZİKSEL ADRESLER
Veri ağlarındaki adresler, posta adreslerine ve telefon numaralandırma şemalarına benzerdir. Bugün kullanılan birçok ağ, adresleme yapılarını telefon numaralandırma kavramlarına dayandırmışlardır.
Bir isim bir varlığı tanımlar (fiziksel yerinden bağımsız olarak). Bu bir insan, bir uygulama programı veya bir bilgisayar olabilir. Bir adres de aynı zamanda bir tanımlamadır, ancak varlıkla ilgili ek bilgiler içerir. Bu ek bilgiler temel olarak varlığın ağ içerisindeki fiziksel veya mantıksal yeri ile ilgilidir. Bir rota, trafiği bir fiziksel yere (veya adrese) nasıl nakledeceğimiz bilgisidir.
Bir ağ, genelde bir ağ kullanıcısının kendisine bir isim vermesine izin verir. Ağ, trafiği bu isimle alır. Bir ağdaki isim sunucusu, alınan varlıkların isimlerine bakarak adresine karar vermekte kullanılır. Bu adres daha sonra rotalama protokolü tarafından kullanılır ve alıcının fiziksel rotası bulunur.
Bu yaklaşım sonucu, ağ kullanıcısı diğer kullanıcılar ve ağ kaynaklarının ne fiziksel adresleri ne de fiziksel yerleşimleri ile meşgul olur. Böylece ağ yöneticisi son kullanıcıları etkilemeden ağ kaynaklarının yerlerini değiştirebilir ve ağ kaynaklarını yeniden şekillendirilebilir. Benzer biçimde, kullanıcılar da isimlerini değiştirmeden fiziksel yerlerini değiştirebilirler. Ağ, daha sonra basitçe isimlendirme/rotalama tablolarını kullanıcıların yeni yerine göre değiştirir.
Bir veri ağında iki kullanıcının haberleşebilmesi için bir çeşit adresleme şekli gereklidir. Genelde, iki veya üç adres gerekir. Bazı sistemlerde bir fiziksel adres, bir veri bağlantı adresi ve bir ağ adresi kullanılır. Daha yaygın bir yaklaşım, yalnızca fiziksel ve ağ adreslerini kullanmaktır. Bu yaklaşımda, fiziksel ve veri bağlantı adresi aynıdır. Pratik olarak konuşursak, üst katman isimleri ve port numaraları gibi diğer adresler, iki kullanıcı arasında belirli uçtan-uca haberleşme yapılacağında gerekli olur.
1.1 Fİzİksel adresler
Bir haberleşme linkindeki veya ağındaki her bir cihaz (bir bilgisayar veya iş istasyonu gibi) bir fiziksel adres ile tanımlanır. Bu adrese donanım adresi de denir. Birçok üretici fiziksel adresi cihazın içindeki bir lojik board’a veya cihaza doğrudan bağlanabilen bir arabirim ünitesine yerleştirir. Bir haberleşme diyalogunda iki fiziksel adres görev alır; bu adreslerden biri göndericiyi (kaynak) diğeri de alıcıyı (varış) tanımlar. Fiziksel adresin uzunluğu değişir. Çoğu sistem iki 48-bit adres kullanır, fakat başka adres büyüklükleri de kullanılmaktadır. 48-bit adres yapısı Ethernet ve IEEE protokollerinde kullanılır. Bu adrese MAC (Media Access Control) adresi denir.
Katmanlı veri haberleşme modeli açısından bakarsak, fiziksel adres, fiziksel veya veri bağlantı katmanlarında kullanılır. Alıcı cihaz, gelen bir PDU (Protocol Data Unit, Ağda dolaşan bir paketlik veri)’nun varış adresini inceler. Eğer adres cihazın adresi ile aynı ise PDU üst katmanlara iletilir. Eğer adres cihazın adresi ile uyuşmuyorsa PDU atılır. Böylece, alt katmanlardaki adres algılaması verinin gereksiz yere üst katmanlara geçişini önler.

Şekil 1. Fiziksel adres algılanması
Şekil 1’de bir LAN üzerindeki adres algılanması gösterilmiştir. A cihazı kanala bir çerçeve gönderir ve bu çerçeve kanala bağlı tüm istasyonlara (B, C, D istasyonları) yayınlanır. Varış fiziksel adresinin (DPA) C değerinde olduğunu düşünelim. Netice olarak, B ve D istasyonları çerçeveyi dikkate almazlar. C istasyonu ise PDU’yu bir üst katmanına iletir.
1.2.Ağ adreslerİ
Bir ağ adresi tanımlamanın kolay yolu; adresin ağı tanımlamasıdır. Ağ adresinin belirli bir parçası aynı zamanda bir bilgisayarı veya terminali betimleyebilir. Ancak, Internet standartları bir IP adresinin neyi tanımlayabileceğine dair sıkı kurallar koymuştur.
Bir ağ adresi fiziksel veya veri bağlantı adreslerinden daha yüksek katmandadır. Yüksek katmandaki adresler, daha alt katmandaki adreslerle ilgilenmezler. Böylece, bir ağ veya internette bulunan ağ adresleri ile ilgilenen parçalar, veri fiziksel cihazın bağlı olduğu ağ linkine gelene kadar son varış fiziksel adresleri ile ilgilenmezler.
Bu önemli kavram Şekil 2’de gösterilmiştir. Farz edelim ki Los Angeles’taki bir kullanıcı (bir host bilgisayarı) bir paket ağına, Londra’da bir LAN’da bulunan iş istasyonuna nakledilmek üzere paketler göndersin. Londra’daki ağın ağ adresi 128.1’dir. Paketler paket ağında ilerleyerek New York’taki paket anahtarına gelirler. New York’taki paket anahtarı, paketi Londra’da bulunan gateway’e rotalar. Bu gateway paketteki varış ağ adresini inceler ve paketi 128.1 ağına rotalamaya karar verir. Daha sonra LAN’ın Londra gateway’i ile bağlantı kurduğu düğüme uygun haberleşme kanalı ile paketler iletilir. 128.1 ağındaki bu düğüm, Şekil 2’de B olarak etiketlenmiştir.

Şekil 2. Ağ seviyesinde adresleme
Görüldüğü gibi varış fiziksel adresi bu rotalama işlemlerinde kullanılmamıştır. Paket anahtarı ve gateway yalnızca varış ağ adresi ile ilgilendiler. Fiziksel adresler hala kullanılmamaktadır. Ağ adresleri, son varış makinesini değil trafiği alacak bir sonraki cihazı tanımlamaktadır.
1.3. Fİzİksel adres ve ağ adresİ çözülmesİ
Lonra’daki LAN, paketi doğru cihaza nasıl iletiyor? Daha önce de söylediğimiz gibi, bir fiziksel adres, bir paketin ağa bağlı tüm cihazların daha üst katmanlarına geçmesini engeller. Böylece, cevap; "son varış ağı (veya gateway) yüksek-katman ağ varış adresini, alçak katman fiziksel varış adresine çevirebilmelidir" olacaktır.

Şekil 3 Ağ adreslerinin fiziksel adreslere haritalanması
Bu görevi açıklayabilmek için Şekil 3’e bakacağız. LAN üzerindeki B düğümü adres çözümleme görevindedir. Farz edelim ki varış ağ adresi 128.1 ve host adresi 3.2’den oluşsun. Bu adresler birleştirilerek tam bir ağ adresi elde edilir. Bu da 128.1.3.2 olarak IP PDU’sunun varış adres alanında bulunur.
LAN düğümü datagramı gateway’den alınca, host adresini incelemeli ve, ya tablodaki adrese bakarak ağ adresini karşılayan yerel fiziksel adresi bulmalı ya da onun fiziksel adresi için istasyonu sorgulamalıdır. Böylece düğüm, doğru fiziksel adresi bularak kullanıcı verisini fiziksel katman çerçevesi olarak düzenler, çerçevenin varış adresine uygun fiziksel katman adresini yerleştirir ve çerçeveyi LAN kanalına yollar. Ağdaki tüm cihazlar fiziksel adresi inceler. Eğer adres cihazın adresi ile uyuşuyorsa, PDU üst katmana aktarılır; tersi durumda PDU ihmal edilir.
Host adresi 3.2’nin aynı zamanda fiziksel adres olması akla uygundur, ancak host adresi ve donanım fiziksel adresinin farklı değerlerde tahsis edilmesi daha yaygındır. Örneğin 128.1.3.2 bir IEEE MAC 48-bit fiziksel adresine haritalanabilir.
1.4. Üst katman adreslerİ ve İsİmlerİ
Fiziksel, veri bağlantı ve ağ katmanı adresleri paketi host cihazı içerisindeki son ‘varış’a iletmekte başarısız kalırlar. Bunun için diğer yüksek-katman adresleri gereklidir. Örneğin; paket elektronik posta veya dosya transfer sistemi gibi özel bir yazılım uygulamasına ait olabilir. İki uygulama da aynı üst katmanda olduğundan dolayı (uygulama katmanı) bir şekilde uygulamayı tanıtarak paketi işleme koymalıyız. Böylece, host cihazı kendisine hangi uygulamanın geldiğini anlamak için ULP (Upper Layer Protocol) isim veya adreslerini kullanır.
1.5. IP Adres YapIsI
TCP/IP ağları host cihazını ve host’un bağlı olduğu ağı 32-bit bir adresle tanımlar. IP adresinin yapısı Şekil 5-4’de gösterilmiştir. Formatı şöyledir: IP adresi = Ağ adresi + Host adresi.
Bir IP adresi tek başına host’u tanımlamaz, fakat bir host’u ağa olan bağlantısını tanımlar. Netice olarak, host cihazı başka bir ağa giderse, adres boşluğu değiştirilmelidir.

Şekil 4. IP adres formatları
IP adresleri formatlarına göre sınıflandırılırlar. Dört format mevcuttur. Bunlar A sınıfı, B sınıfı, C sınıfı ve D sınıfı olarak tanınırlar. Şekil 4’de de görüldüğü gibi ilk bitler adresin formatını belirler.
Tablo 1 IP Adres Formatları

A sınıfı bir adres, ağa birçok host bağlanmasına olanak sağlar. Host ID alanı 24 bittir. Böylece 224 host tanımlanabilir. Ağ ID için 7 bit ayrılmıştır, yani 127 ağ tanımlama olanağı olur. B sınıfı adresler orta büyüklükteki ağlar için kullanılır. 14 bit ağ ID’si ve 16 bit host ID’si için kullanılır. C sınıfı adresler ancak 256 host’tan daha azına izin verebilir. C sınıfı adreslerde ağ ID’sine 21 bit ayrılmıştır. Son olarak D sınıfı adresler multicasting (çoklu-yayın) için ayrılmıştır. Multicasting, broadcast’e (yayına) benzerdir ancak belirli sayıda kişiye yayın yapılır.
Özetlersek, IP adresi Tablo 1’de gösterilen boşluk şekillerini alabilir. A, B, C sınıfı adreslerin sağlayabildiği maksimum ağ ve host adresleri Tablo 2’de gösterilmiştir.
Tablo 2.Maksimum Ağ ve Host Adresleri

2. arP - Adres Çözümleme Protokolü
2.1 ARP
IP yığınında, adres çözümlemesi yapan protokoller vardır. Adres çözümleme protokolü (ARP) IP adreslerinin fiziksel adreslere dönüştürülmesi sağlar ve bu fiziksel adresleri üst katmanlardan gizler.
Genelde ARP, ARP belleği olarak bilinen haritalama tabloları ile çalışır. Tablo, bir IP adres ile bir fiziksel adres arasında haritalama yapılmasını sağlar. Bir LAN’da (Ethernet veya IEEE 802 ağı gibi), ARP hedef IP adresini alır ve haritalama tablosundan bunun karşıladığı hedef fiziksel adresi arar. Eğer ARP adresi bulursa, bulduğu fiziksel adresi; isteği yapan cihaza yollar.
Gerekli adres ARP belleğinden bulunamazsa, ARP modülü ağa bir yayın yapar. Yayına ARP request denir. Bu yayın bir IP hedef adresi içerir. Netice olarak yayını alan cihazlardan biri ARP request’teki IP adresinin kendisine ait olduğunu sezerse, isteği yapan host’a bir ARP reply gönderir. Bu çerçeve, sorgulanan host’un fiziksel donanım adresini içerir. İsteği yapan host bu çerçeveyi alınca onu kendi ARP belleğine yerleştirir. Daha sonra, bu belirli IP adresine gönderilecek datagramlar belleğe başvurularak fiziksel adrese dönüştürülebilir. Sonuç olarak ARP sistemi isteği yapan host’un, başka bir host’un fiziksel adresini, onun IP adresi ile bulmasına olanak sağlar.
ARP isteği ve cevabı kavramları Şekil 5’de gösterilmiştir. A host’u C’nin fiziksel adresini bulmak istemektedir. A bu yüzden B, C, D’ye datagram yayınlar. Bu yayına yalnızca C cevap verir çünkü gelen ARP istek datagramında kendi IP adresinin olduğunu görür. C host’u kendi adresini ARP cevabı formunda bir IP datagramına yerleştirir.

Şekil 5-ARP İsteği ve Cevabı
ARP, IP adreslerini fiziksel adreslere haritalaması yanında, özel donanım tiplerinin tanımlanmasına da izin verir. Böylece sorgulanan host ARP datagramı alınca, datagramdaki bir alana bakarak, cihazın hangi tipte bir donanım kullandığını (bir Ethernet arabirimi veya paket radyo gibi) anlayabilir.
ARP PAKET FORMATI:

Şekil 6 ARP İstek ve Cevap Paketi
Bu ARP paketi bir fiziksel katman PDU’su olacak biçimde paketlenir. Örneğin; fiziksel katman PDU’su bir Ethernet çerçevesi olsun. EtherType alanı 803516 (veya 3282110) kurularak bir ARP çerçevesi tanımlanır. EtherType alanı, Şekil 6’da ‘fiziksel katman başlığı’ olarak etiketlenmiş alanın bir parçasıdır.
Aşağıda ARP paketinin alanlarının kısa bir açıklaması mevcuttur:
Fiziksel katman başlığı: Fiziksel katman paketinin başlığıdır.
Donanım: Donanım arabirim tipini belirtir (Ethernet, paket radyo vs.).
Protokol: Göndericinin kullandığı protokol tipini tanımlar; tipik olarak EtherType’dır.
Donanım adres uzunluğu: Paketteki donanım adreslerinin bCahil team olarak uzunluğunu belirtir.
Protokol adres uzunluğu: Paketteki protokol adreslerinin bCahil team olarak uzunluğunu belirtir (Ör, IP adresleri).
Opcode: Paketin bir ARP request (1) veya bir ARP reply (0) olduğunu belirtir.
Gönderici donanım adresi: Göndericinin donanım adresini içerir.
Gönderici protokol adresi: Göndericinin IP adresini içerir.
Hedef donanım adresi: Sorgulanan host’un donanım adresini içerir.
Hedef protokol adresi: Sorgulanan host’un IP adresini içerir.
Request paketinde hedef donanım adresi alanı dışındaki tüm alanlar kullanılır. Reply paketinde ise tüm alanlar kullanılır.
Her ARP modülü bir ARP paketi kullanarak belleğini güncelleştirebilir. Modül, gönderici IP adresini ve donanım adresini inceler ve belleğinde olup olmadığına bakar. Böylece trafiği inceleyerek belleğinde olmayan bilgileri ekler. Bu işleme ‘gleening’ denir; fakat tüm üreticiler bunu desteklemez.
Bununla birlikte adres çözümlemesi için Proxy ARP ve RARP protokolleri de bulunur. Proxy ARP’de ağ parçaları birbirlerinden gateway aracılığı ile saklanır. Saklayan gateway, sakladığı kısmın bilgilerini istek yapan host’a verir. RARP’de ise host kendi IP adresini bilmez. Yayın yaparak ağdaki cihaza donanım adresini yollar ve ağın RARP sunucusu bu host’a IP adresini bildirir.
2.2. ters arp (inverse address resolution protocol)
InARP, bir Frame Relay istasyonunun sanal devrelerle oluşan bir istasyonun protokol adresini bulmasını sağlar. Aynı mesajın kopyalarıyla yapılan yayını taklit etmekten daha etkili, statik konfigürasyonlara bağlı kalmadığı için daha esnektir.
2.2.1. Paket Formatı:
Paket formatı standart ARP ile aynıdır. Sadece donanım ve protokol adres uzunlukları InARP’nin çalıştığı ortama bağlı olarak değişir. Örneğin; IP Frame Relay üzerinde çalışıyorsa donanım adres uzunluğu 2 ile 4 arası değer alır, protokol adres uzunluğu ise 4 değerini alır. İşlem kodu mesaj tipinin istek yada cevap olduğunu gösterir.
InARP request = 8 ( istek )
InARP reply = 9 ( cevap )
2.2.2 Protokol İşlemİ:
InARP istek yayını yapmak dışında ARP ile aynı işlemleri görür. Bunun nedeni, mesaj gönderilecek istasyonun donanım adresinin biliniyor olmasıdır. İstek gönderen istastosyon, kendi kaynak donanım ve protokol adreslerini ve bilinen hedef donanım adresi içinde olan basit bir istek hazırlar. Sonra hedef protokol adres alanını 0’la doldurur. Son olarak paketi ağın özelliklerine göre hazırlayıp verir ve direk olarak hedef istasyona gönderir. Bir istasyon InARP isteği alması üzerine, istemcinin protokol/donanım adresini ARP belleğine haritalayarak isteğin ARP belleğine yerleştirir ve başka istek almasını önler. Diğer ARP isteklerinden farklı olmasına rağmen, alıcı istasyon gelen her InARP isteğinin kendisi için olduğunu zanneder. Her InARP isteği için isteğin kaynak adreslerini cevabın hedef adresleri gibi kullanarak gerçek bir hazırlar. İstasyon erişilebilir değilse veya cevaplamak istemiyorsa isteği görmemezlikten gelir. İstemci istasyon InARP cevabını aldığı zaman ARP toblo girişini tamamlarve gereken adres bilgisini kullanır.
2.3. directed ARP (DARP)
Aynı link seviye arayüzü aracılığıyla iki IP ağında arayüzü bulunan bir yönlendirici, bu iki IP ağının aynı link düzeyindeki ağı paylaştığını bilir ve bu bilgiyi sunuculara (ICMP Redirects yoluyla) ve yönlendiricilere ( dinamik routing protokolleri yoluyla) bildirir Ama, herhangi bir taraftaki IP ağındaki sunucu veya yönlendirici, yabancı IP ağdaki IP adreslerine kendine uygun link düzey adreslerine çevirebildiği sürece bu bilgiyi diğer ağdaki sunucular ve yönlendiricilerle iletişim için kullanmaz. DARP, sunuculara ve yönlendiricilere, bildirilen, potansiyel geçiş IP adreslerinin , link düzey adresleri birleştirilen yabancı ağlarda çözümü için imkan tanıyan dinamik bir adres çözümleme prosedürüdür. DARP, normal ARP paket formatını kullanır.
2.3.1 ARP Helper Adresİ:
ARP prosedürlerini uygulayan sunucu veya yönlendirici, yönlendirme tablosundaki girdilerle ARP Helper Adresini birleştirir. Eğer sunucu veya yönlendirici, bağlantı düzey adresiyle birleştirilen bir sonraki IP adresini çözmek için düzenlendiyse(veya bir sonraki IP adresi NULL değeri aldığında gönderilecek yerin IP adresini bulmak için), birleştirilmiş ARP Helper adresi NULL olur. Aksi takdirde ARP Helper adresi, yönlendiricinin IP adresidir.
2.3.2 Adres Çözümleme Prosedürlerİ:
Bir IP paketi göndermek için, sunucu veya yönlendirici, paketinin gideceği yerin IP adrese göre en uygun eşleşmeyi bulmak için yönlendirme tablosunda bir giriş arar. Seçilen giriş, bir sonraki yönlendiricinin IP adresini (NULL olabilir), paketin geçmesi gereken fiziksel arabirimi, ARP Helper adresi (NULL olabilir) ve diğer bilgileri içerir. Yönlendirme fonksiyonu, bir sonraki IP adresini, fiziksel arabirimi, ve ARP Helper adresi adres çözümleme fonksiyonuna gönderir.Daha sonra adres çözümleme fonksiyonu bir sonraki adresi çözümler. IP paketi, paketin gönderileceği bağlantı düzey adresi ve gönderilecek arabirim, fiziksel arayüzle birlikte çalışan bağlantı düzeyi sürücüsüne yollar. Bu sürücü, IP paketini bir yada daha fazla bağlantı çerçeveleri halinde birleşmiş bağlantı adresine postalar ve bu çerçeveleri uygun fiziksel arabirim aracılığıyla gönderir.
2.3.4 ARP İsteklerİ Gönderme:
DARP prosedürlerini kullanan bir sunucu, gelen ARP isteklerini işlemek için normal prosedürü kullanır. Yani; eğer hedef IP adresi sunucunun adresi ise, sunucu ARP isteğini cevaplamak için normal prosedür kullanır. Eğer hedef IP adresi sunucunun adresi değilse, sunucu ARP isteğini geri çevirir. Yönlendirici aldığı bir ARP isteğinin hedef IP adresi kendi adresi ise isteği cevaplar, değilse paketin geldiği arabirimden tekrar geri gönderir.
2.3.5 Prosedür Süzme (Filtreleme):
DARP prosedürlerini kullanan bir yönlendirici, sunucu veya yönlendirici hataları sonucu oluşan potansiyel ARP taşmalarına engel olmak ve kullanıcıdan kaynaklanan yanlış düzenlemeler sonucu oluşabilecek yada yönlendirme protokul kararsızlığı esnasında oluşabilecek düğümleri ortadan kaldırmak için ARP paketi çoğalmasını süzmeli, kontrol etmelidir. Yönlendirici, çoğalmayı kontrol etmek için benzer ARP isteklerinin(aynı kaynak IP adresi ve aynı hedef IP adresi gibi...) sayısını sınırlayabilir. Böylece, küçük zaman aralıklarında gönderme yapılır(saniyede sadece bir ARP isteği gibi). ARP taşmalarını kontrol etmek için kullanılan prosedürler, bazı ARP düğümlerini yok edebilir ama düğümden geçmek için gereken zaman, ARP taşmalarında harcanan zamandan uzunsa ek prosedürler gerekir.
Bir yönlendirici, T ve N sahipli numaralar olduklarında, her T dakikada N ARP isteğini göndermeyi reddedebilir. Eğer T ve N seçilmişse T/N süresi, düğümden geçmek için gereken zamandan baha uzun olacağından ilmik yok edilir.
Sunucu gereksinimleri ortaya koyuyor ki; IP ve bağlantı katmanı arasındaki paket alma arabirimi, gelen paketin bağlantı düzey yayın adresine gönderildiğini belirten bir bayrak içermelidir. Yönlendiriciler bağlantı düzey yayın adresine postalanan ARP isteklerini göndermezse basit ARP taşmalarının büyük bir bölümü engellenmiş olur.
2.4. Reverse Address Resolution Protocol - RARP
Diski olmayan iş istasyonları gibi ağ sunucuları, çoğunlula kendi adreslerini bilmezler. Sadece donanım arabirim adreslerini bilirler.IP gibi yüksek düzey protokoller kullanarak dış kaynaklarla iletişim kurup bu kaynaklardan kendi protokol adreslerini bulmak zorunda kalırlar. Bir sunucunun donanım adresleri verilip protokol adreslerini çözümleme problemini çözen bir protokoldür. ARP ve RARP birbirinden farklı işlemlerdir. ARP her sunucunun kendi donanım adresi ve protokol adresi arasındaki haritalamayı bildiğini farzeder. Diğer sunucular hakkında edinilen bilgi küçük bir bellekte tutulur. Bütün sunucular eşit statüdedir. İstemci ve sunucu arasında hiçbir ayrım yoktur. RARP’ de ise durum farklıdır. İstemcilerden gelen istekleri cevaplamak ve protokol adresinden donanım adresine veritabanı haritalanması için daha fazla sunucuya gereksinim duyar.
RARP sunuculardan büyük veri tabanlarını muhafaza etmesini ister.Bu istenmeyen bir durumdur ve bazı durumlarda sunucunun işletim sisteminin çekirdeğinde böyle bir veritabanını muhafaza etmek imkansızdır. Bu yüzden çoğu uygulama kernel dışındaki bir programla etkileşim formuna gereksinim duyar. Mevcut sunucu yazılımı üzerinde uygulama kolaylığı ve asgari etkileşim önemlidir. Her sunucu yazılımı üzerinde değişiklik isteyen bir protokol yapmak hata olacaktır.
RARP, veri bağlantı katmanında ayrı ve özel bir protokol olrak tanımlanmıştır. Mevcut sistem üzerimde etkleşim en aza indirilmiştir; mevcur ARP server’ları RARP raketleriyle karıştırılmaz. Bu da RARP’yi donanım adreslerini daha üst katman protokol adreslerine haritalamak için bir kolaylık olarak sunar.
2.4.1 Paket Formatı:
RARP, ARP paket formatıyla aynı formatı kulllanır:
ar$hrd (donanım adres alanı) - 16 bit
ar$pro (protokol adres alanı) - 16 bit
ar$hln (donanım adres uzunluğu) - 8 bit
ar$pln (protokol adres uzunluğu) - 8 bit
ar$op (opcode) - 16 bit
ar$sha (kaynak donanım adresi) - n byte
n, donanım adres uzzunluğundan gelir
ar$spa (kaynak protokol adresi) - m byte,
m , protokol adres uzunluğundan gelir
ar$tha (hedef donanım adresi) - n byte
ar$tpa (hedef protokol adresi) - m byte
2.4.2. İstek ve cevap gönderme -Alma
Donanım adreslerinin 48 bitlik Ethernet adresleri ve protokol adreslerinin 32 bitlik Internet adresleri olduğunu farzedelim.
Internet adreslerini, bilinen Ethernet adreslerine uygun olduğunu belirtelim. Sonra, her RARP paketinde ar$hrd = 1 (Ethernet),
ar$pro = 2048 demical(IP paketlerinin Ethertipi), ar$hln = 6 ve ar$pln = 4 olur.
İki tane opcode vardır. 3(’ request reverse’) ve 4 (’reply reverse’). 1 ve 2 opcode’larına sahip paketler normal ARP koduna geçirilir. Başka herhangi opcode’a sahip bir paket tanınmaz. ARP’de olduğu gibi; gelen istekleği cevaplamak için boş RARP server’ları bulunduğu sürece ’bulunamayan’ (not found) veya ’hata’(error) paketleri olmaz. RARP istek paketini gönderen, eğer belirli bir zaman süresince isteğine cevap almazsa, zaman aşımına uğrar.
RARP paketlerinin ar$sha, ar$spa, $ar$tha ve ar$tpa alanları aşada tanımlanmıştır:
opcode 3 (’request reverse’) olduğunda;
ar$sha, paketin göndericisinin donanım adresi
ar$spa tanımlanmaz
ar$tha ’hedef’ donanım adresidir.
opcode is 4 (’reply reverse’) olduğunda:
ar$sha: cevaplayanın donanım adresi (ceevap paketinin göndericisi).
ar$spa: cevaplayanın protokol adresi
ar$tha hedef donanım adresisidir ve istekte verilen değerle aynı olmalıdır.
ar$tpa hedefin protokol adresi , bu da istenilen adres.
Eğer bir sistem ARP ve RARP kullanıyorsa, geçerli protokol-donanım adres çiftinin ilavesi, bir sonraki ARP isteğine duyulan ihtiyacı ortadan kaldırır.