ADRES ÇÖZÜMLEME. ADRES ÇÖZÜMLEME PROTOKOLÜ. IP

advertisement
İTÜ Bilgisayar Mühendisliği Bölümü, BLG433-Bilgisayar Haberleşmesi ders notları, Dr. Sema Oktuğ
Bölüm 10:
ADRES ÇÖZÜMLEME. ADRES ÇÖZÜMLEME PROTOKOLÜ. IP
DATAGRAMLARI.
Türkçe (İngilizce) karşılıklar
Adres çözümleme (Address resolution)
Ayarlanabilir (Reconfigurable)
Dağıtılmış (distributed)
Parçalama (fragmentation)
Birleştirme (reassembly)
Bölüm Hedefi
Bu bölümü bitirdiğinizde
• Adres çözümlemeyi
• Adres Çözümleme Protokolünü
• IP datagramlarının kapsüllenmesini
• MTU’yu
• Datagramların parçalanmasını ve
• Datagramların birleştirilmesini
öğrenmiş olacaksınız.
9.1 Adres Çözümleme
Yönlendiriciler kendilerine gelen IP paketlerini varış adreslerine bakarak bir sonraki
düğüme gönderirler ancak bu aktarım sırasında paketlerin farklı özelliklere sahip altağlar
üzerinden geçmesi söz konusu olabilir. Ethernet ortamında yaratılmış bir paket daha
sonra bir FDDI ağından, daha sonra bir ATM ağından geçebilir. Üstteki IP yapısına
destek veren alttaki ağlara fiziksel ağlar (ya da altağlar) diyebiliriz.
Fiziksel ağların da kendilerine has bir adresleme ve çerçeve mekanizması vardır. Örneğin
Ethernet ağlarına bağlı her bilgisayarın bir Ethernet adresi vardır. Bu adres üretim
sırasında değişmeyecek şekilde Ethernet kartının üzerine kaydedilir. Bu adrese fiziksel
adres, donanım adresi ya da mac (medium access control) adresi denir. Bu durumda bir
IP paketi her geçtiği fiziksel ağ üzerinde o ağın çerçevesinin içine konur ve varış IP
adresine ulaşabilecek şekilde fiziksel ağ içinde yönlendirilir.
Adres çözümleme IP adresine bakarak ilgili fiziksel adresin bulunmasıdır. Kaynak ve
varış düğümleri aynı fiziksel ağ üzerinde ise varış düğümünün adresi tam olarak
çözümlenebilir (Şekil 10.1’deki A ve B düğümleri gibi). İki düğüm farklı fiziksel ağlar
üzerindeyse (A ve C düğümleri gibi) fiziksel adres çözümlenemez ve yaratılan çerçeve
diğer ağlarla bağlantı sağlayan yönlendiricilere gönderilir ve adres çözümlemenin ilgili
yönlendirici tarafından yapılması beklenir.
A ile D arasındaki haberleşmede, D farklı bir ağda olduğu için paket önce Y1
(Yönlendirici 1), sonra Y2’ye gönderilir. Adres çözümlemesi aşağıdaki gibidir:
-A düğümü, Y1’in adresini çözümler,
İTÜ Bilgisayar Mühendisliği Bölümü, BLG433-Bilgisayar Haberleşmesi ders notları, Dr. Sema Oktuğ
-Y1, Y2’nin adresini çözümler ve
-Y2 de D’nin adresini çözümler.
Şekil 10.1 Üç altağdan oluşmuş bir ağ
10.2 Adres Çözümleme Teknikleri
Kullanılan protokol ve donanım adresleme yöntemine bağlı olarak adres çözümleme
teknikleri farklılık gösterebilir. Farklı ağ tiplerine bağlanmış bir yönlendirici ya da düğüm
her bir ağ üzerinde o ortama uygun bir adres çözümleme tekniği kullanabilir. Adres
çözümleme tekniklerini üç başlık altında toplayabiliriz: 1) tablodan bakma, 2) hesaplama
ve 3) mesajlaşma.
10.2.1 Tablodan Bakma
Düğümlerde protokol ve fiziksel adreslerin saklandığı tablolar bulunur. Gerektiğinde bu
tablolara bakılarak fiziksel adresler bulunur. Bu uygulaması en kolay adres çözümleme
yöntemlerinden biridir. Yerel ağdaki bilgisayar sayısı az ise tablo ardışıl olarak
incelenerek gerekli adres bulunur. Büyük tablolarda, daha hızlı erişim için indeksleme
yapılabilir. Şekil 10.2’de bir Ethernet ağında IP adresi-donanım adresi çözümlemesi
yapmak için kullanılan tablo verilmiştir.
IP adresi
160.75.26.24
160.75.26.31
160.75.26.34
160.75.26.40
160.75.26.47
160.75.26.50
160.75.26.55
160.75.26.57
160.75.26.60
Fiziksel Adres (Donanım Adresi)
00:02:44:66:D1:04
00:08:02:B9:19:68
00:02:44:65:DD:69
00:02:3F:68:06:E1
00:50:FC:5C:FD:8F
00:50:FC:69:1B:86
00:0E:7F:62:26:0D
00:20:ED:54:2B:75
00:04:75:c8:62:0d
Şekil 10.2 Bir Ethernet ağında Ethernet adreslerinin, IP adresleri ile eşleştirilmesi
İTÜ Bilgisayar Mühendisliği Bölümü, BLG433-Bilgisayar Haberleşmesi ders notları, Dr. Sema Oktuğ
Aynı yerel alan ağı içindeki düğümlerin protokol adresi (IP) aynı ağ adresine sahiptir.
Bellekten tasarruf etmek için tabloda ağ adresini gösteren önekler tutulmayabilir.
Tablodan bakma yönteminde, olası adres değişiklikleri tüm düğümlerin tablolarının
değiştirilmesine neden olur.
10.2.2 Hesaplama
Çoğu ağlarda statik fiziksel adres kullanılmasına karşın, bazı ağ teknolojileri
ayarlanabilir (reconfigurable) adres kullanır. Ayarlanabilir adres kullanımında port
adresleri dinamik olarak yaratılır. Bu ortamlarda, adres çözümlemede kolaylık olması için
protokol adresinden hesaplanabilecek (türetilebilecek) fiziksel adresler kullanılabilir.
Örneğin C sınıfı bir IP ağında, ağ adresindeki son sekizli fiziksel adres olarak
kullanılabilir. Bu durumda fiziksel adresler basit bir şekilde bulunabilir (hesaplanabilir).
IP Adresi
221.123.5.1
223.123.5.2
223.123.5.3
223.123.5.4
.
. gibi
Fiziksel adres (Donanım adresi)
1
2
3
4
Bu örnek için fiziksel adres aşağıdaki gibi hesaplanabilir.
Fiziksel_adres = IP_adresi & 0xFF
Hesaplama tekniğinde tablo tutmak gerekmediği için bellek harcanmaz.
10.2.3 Mesajlaşma
Daha önceki yöntemlerde adres çözümleme tek bir bilgisayar üzerinde gerçeklenebilirdi.
Mesajlaşma yaklaşımında ise adres çözümlemek için birden fazla düğüme ihtiyaç vardır.
Mesajlaşma tekniği iki farklı şekilde gerçeklenebilir:
1) Ağdaki bilgisayarlardan biri adres çözümleme isteklerine cevap sunmakla
görevlendirilmiştir. Fiziksel adrese ihtiyaç duyan düğümler isteklerini bu sunucuya
gönderirler. Bazı durumlarda birden fazla adres çözümleme sunucusu olabilir. İstekler
cevap gelene kadar sırasıyla farklı sunuculara gönderilir.
2) Belli bir adres çözümleyicisi yoktur. Ağ üzerindeki her bilgisayar adres çözümlemeye
yardımcı olur. Dağıtılmış (distributed) bir yaklaşımdır. Adres çözümlemesi isteyen
bilgisayar isteğini ağa yayar (broadcast). Yayılan mesajdaki protokol adresine sahip
bilgisayar da mesaja cevap verir.
Mesajlaşma tekniğinde fiziksel adresin bulunması diğer tekniklerden daha uzun sürer.
İTÜ Bilgisayar Mühendisliği Bölümü, BLG433-Bilgisayar Haberleşmesi ders notları, Dr. Sema Oktuğ
10.3 Adres Çözümleme Protokolü (Address Resolution Protocol, ARP)
TCP/IP protokolü ağın yapısına bağlı olarak yukarıda tanıtılan adres çözümleme
tekniklerinin hepsini kullanabilir. Gerekli durumlardaki mesajlaşmalarda kolaylık
sağlaması için bir ARP mesaj yapısı oluşturulmuştur. Bu mesaj yapısı herhangi bir
protokol için fiziksel/donanım adres çözümlemesi amaçlasa da genelde IP ağlarında
Ethernet adresine ulaşmak için kullanılır. Kullanılan mesaj formatı aşağıda verilmiştir.
0
Donanım Adres Tipi
Donanım Adr. Uzunl.
8
16
24
31
Protokol Adres Tipi
Protokol Adr. Uzunl.
Operasyon
Gönderen Donanım Adresi (ilk dört sekizli)
Gönderen Donanım Adresi (son iki sekizli)
Gönderen Protokol Adresi (ilk iki sekizli)
Gönderen Protokol Adresi (son iki sekizli)
Varış Donanım Adresi (ilk iki sekizli)
Varış Donanım Adresi (son dört sekizli)
Varış Protokol Adresi (tümü)
Donanım Adres Tipi, Ethernet için 1 değerini alır. Protokol Adres Tipi olarak IP için
0x0800 verilir. Operasyon alanı donanım adresi isteği için 1, cevabı için 2 değerini alır.
Bir istek mesaji gönderilirken Varış Donanım Adresi’nin tamamı sıfır yapılır.
Bir ARP mesaji gönderileceği ağın çerçevesinin veri alanına yerleştirilir (Şekil 10.3’deki
gibi). Ethernet ortamında bu bir Ethernet çerçevesidir.
ARP Mesajı
Çerçeve Başlığı
Çerçeve Veri Alanı
Son ek
Şekil 10.3 Bir ARP mesajının yerel alan ağı çerçevesi içinde taşınması
Ethernet üzerinde adres çözümleme, mesajlaşma tekniği kullanılarak yapılır. ARP istek
mesajının Ethernet ağı üzerinde yayılması ve ilgili bilgisayardan cevap mesajının gelmesi
Şekil 10.4’te gösterilmiştir.
İTÜ Bilgisayar Mühendisliği Bölümü, BLG433-Bilgisayar Haberleşmesi ders notları, Dr. Sema Oktuğ
A
B
C
D
C
D
C
D
(a)
A
B
(b)
A
B
(c)
Şekil 10.4 Ethernet’te mesajlaşarak donanım adresinin öğrenilmesi
10.4 Bir ARP Mesajının İşlenmesi
Mesajlaşarak adres çözümlemesi nedeniyle, bir IP datagramını göndermeden önce
Ethernet ağlarında iki paket daha aktarılır ve datagram’ın gönderileceği düğümün fiziksel
adresi bulunur. Bu işlemi aynı varış düğümüne gidecek datagramlar için tekrar tekrar
yapmak anlamsızdır. Bu nedenle bir IP_adresi-Donanım_adresi eşlemesi (binding)
yapıldığında bu bilgi bir süre ARP cep belleğinde tutulur. Belli bir süre kullanılmamış
adresler, bellekte yer sorunu varsa silinir.
Bir ARP mesajı alan düğüm aşağıdaki işlemleri gerçekleştirir:
1) Mesaji gönderenin IP ve donanım adreslerinin ARP cep belleğinde bulunup
bulunmadığı kontrol edilir. Varsa eski donanım adresinin yerine gelen mesajdaki
donanım adresi yazılır.
2) Mesajın operasyon bölümüne bakılır:
• İstek mesajı ise bir cevap mesajı hazırlanır. Cevap mesajında, gelen mesajdaki
gönderen ve varış adreslerinin yerleri değiştirilir. Gönderen donanım adresi
bölümüne mesajı hazırlayan bilgisayarın donanım adresi yazılır. Operasyon alanına 2
değeri verilir.
• Cevap mesajı ise daha önce istek gönderilmiştir. Gelen bilgiler cep belleğe eklenir.
İTÜ Bilgisayar Mühendisliği Bölümü, BLG433-Bilgisayar Haberleşmesi ders notları, Dr. Sema Oktuğ
Yayın yolu ile Ethernet ağına gönderilmiş ARP çerçevelerini bütün bilgisayarlar
okuyabilirler ve içlerindeki protokol ve donanım adreslerine erişebilirler. Ancak
yayınlanan tüm ARP mesajlarındaki verilerin ARP cep belleğine konması cep belleğin
kısa sürede dolmasına neden olur. Bu nedenle, bilgisayarlar sadece kendilerini hedef
alan ARP mesajları ile ilgilenirler.
10.5 Ters ARP (RARP, Reverse Address Resolution Protocol)
RARP yeni çalıştırılmış (new-booted) bilgisayarların Ethernet adreslerini ağa duyurması
ve kendi IP adreseini sormasını sağlar. Bunlar disksiz bilgisayarlardır. RARP sunucusu
bu sorulara cevap verir. IP adres istekleri yerel alan ağı dışına çıkamadığı için isteklerin
oluştuğu yerel alan ağlarında bir RARP sunucusu olması gerekir. Bu sorunu çözmek için
alternative bir başlangıç protokolü (bootstrap) önerilmiştir: BOOTP. BOOTP UDP
mesajları ile haberleşir bu nedenle yerel alan ağlarını geçebilir. BOOTP gerekli adresleri
ve maskeyi disksiz bilgisayara bildirir. BOOTP’nin detayları RFC 951, 1048 ve 1084’te
verilmiştir.
BOOTP’nin dezavantajı IP ve Ethernet address eşlemesinin manuel olarak yapılmasıdır.
Daha sonra önerilen DHCP (Dynamic Host Configuration Protocol) ile hem RARP’nin
hem de BOOTP’nin yarattığı sorunların çözülmesi amaçlanmıştır. Şekil 10.5’te
görüldüğü gibi, DHCP sunucusu olmayan yerel alan ağlarında DHCP aktarım ajanları
(DHCP Relay Agents) bulunur.
Şekil 10.5 DHCP’nin çalışması
Yeni çalışan bilgisayar DHCP DISCOVER mesajı yayar. Bu mesaj DHCP aktarım ajanı
tarafından alınır ve DHCP sunucusuna gönderilir. IP adresi otomatik olarak DHCP
sunucusundan verilir. Verilen adresin ne süre ile aktif olacağı önemlidir. Burada kiralama
(leasing) yöntemi kullanılır. Belli bir süre için verilen IP adreslerinin kullanım süresini
uzatmak için kullanıcı bilgisayardan yenileme (renewal) isteği gitmelidir. Aksi halde süre
bittiğinde bu adresler başka bilgisayarlara kiralanabilir.
10.6 IP Datagramlarının Kapsüllenmesi
İTÜ Bilgisayar Mühendisliği Bölümü, BLG433-Bilgisayar Haberleşmesi ders notları, Dr. Sema Oktuğ
Yaratılan IP datagramları geçtikleri fiziksel ağlarda o ağın çerçevesi içinde taşınırlar. Bu
işleme kapsülleme denir. Şekil 10.6’da gösterildiği gibi kapsüllenen bir datagram ilgili
çerçeve yapısında çerçeve verisi bölümüne yerleştirilir. Çerçevelerin başlığı vardır ancak
sonek bazı çerçevelerin yapısında bulunmayabilir. Çerçeve uzunluğu ve yapısı ağdan ağa
değişim gösterir.
Datagram
Çerçeve Başlığı
Çerçeve Veri Alanı
Son ek
Şekil 10.6 IP datagramlarının kapsüllenmesi
Kapsülleme işlemi Şekil 10.7’de da gösterildiği gibi varış düğümüne ulaşana kadar
geçilen her fiziksel ağda tekrarlanır.
İTÜ Bilgisayar Mühendisliği Bölümü, BLG433-Bilgisayar Haberleşmesi ders notları, Dr. Sema Oktuğ
Şekil 10.7 Pek çok altağ üzerinden geçen bir datagramın kapsüllenmesi
10.7 MTU (Maksimum Transmission Unit)
Fiziksel bir ağın çerçevesindeki veri bölümünde taşıyabileceği en fazla veri miktarı
bellidir. Bu miktara MTU (Maksimum Transmission Unit) denir. MTU değeri ağdan ağa
değişebilir. Şekil 10.8’de farklı MTU değerlerine sahip bir altağ grubu gösterilmiştir.
İTÜ Bilgisayar Mühendisliği Bölümü, BLG433-Bilgisayar Haberleşmesi ders notları, Dr. Sema Oktuğ
Şekil 10.8 Farklı MTU’lara sahip altağlar
10.8 Parçalama ve Birleştirme
Şekil 10.8’deki altağların MTU değerleri sırası ile 1500, 1000 ve 2000 sekizlidir. Bu
durumda A düğümünden gönderilen 1500 sekizli uzunluğundaki bir datagram, Ağ2’nin
MTU değeri 1000 sekizli olduğu için Y1 yönlendiricisi tarafından parçalanacaktır. Ancak
datagramın DF (Don’t Fragment) alanı bir değerine sahip ise datagram parçalanmaz.
Parçalama (fragmentation) işlemi Şekil 10.9’da gösterildiği gibi yapılır.
Datagram Veri Alanı
IP Başlığı
IP Başlığı1
Veri 1
IP Başlığı2
Veri 2
IP Başlığı3
Şekil 10.9 Bir IP datagramının parçalanması
Parçalanan datagramdan oluşan parçalara orijinal datagramın IP başlığı kullanılarak yeni
başlıklar hazırlanır. Bu başlıklar yardımı ile datagramın parçalandığı ve parçaların
numaraları gösterilir.
Son parça, MF alanına yazılmış sıfır değeri ile gösterilir.
Parçalanmış paketlerden orijinal datagramı oluşturmaya birleştirme (reassembly) denir.
Parçalanmış bir datagramın varış noktasından önce birleştirilmesi mümkün değildir.
Veri 3
İTÜ Bilgisayar Mühendisliği Bölümü, BLG433-Bilgisayar Haberleşmesi ders notları, Dr. Sema Oktuğ
Varış noktasında, parçalanmış datagram, tanıtıcı alanı (identification) ve parça
numaraları (fragment offset) yardımı ile birleştirilir.
Bir datagramın parçaları varış noktasına sıraları bozulmuş olarak ulaşabilir. Çünkü
parçalar farklı yolları takip edebilir. Bu durumda parçalar sıralanır.
Parçalanmış bir datagramın parçaları varış noktasına ilerlerken tekrar parçalanabilir.
Bir datagram ancak tüm parçaları geldiğinde birleştirilir. Varış düğümüne parçalanmış bir
datagramın bir parçası geldiğinde bir sayaç (timer) çalıştırılır. Eğer sayacın süresi
dolmadan tüm parçalar gelirse datagram oluşturulur. Aksi halde gelen parçalar yok edilir
ve datagram oluşturulamaz. IP’de kaybolan parçaların tekrar gönderilmesi mümkün
değildir.
Download