7. IP (INTERNET PROTOCOL)

Benzer belgeler
Bilgisayar Programcılığı

Şekil 9.1 IP paket yapısı

Elbistan Meslek Yüksek Okulu Güz Yarıyılı

Bölüm 12: UDP ve TCP UDP (User Datagram Protocol)

Gazi Üniversitesi Mühendislik Fakültesi Bilgisayar Mühendisliği Bölümü. Bilgisayar Ağları Dersi Lab. 2. İçerik. IP ICMP MAC Tracert

Gazi Üniversitesi Mühendislik Fakültesi Bilgisayar Mühendisliği Bölümü. Bilgisayar Ağları Dersi Lab. 2

OSI REFERANS MODELI-II

TCP/IP. TCP (Transmission Control Protocol) Paketlerin iletimi. IP (Internet Protocol) Paketlerin yönlendirmesi TCP / IP

Ağ Temelleri Semineri. erbil KARAMAN

BM 402 Bilgisayar Ağları (Computer Networks)

Bölüm3 Taşıma Katmanı. Transport Layer 3-1

Elbistan Meslek Yüksek Okulu GÜZ Yarıyılı Kas Salı, Çarşamba Öğr. Gör. Murat KEÇECİOĞLU

TRANSPORT KATMANI. Akış kontrolu yapar. Bütün bu işlevleri yerine getiren protokollerden önemlileri şunlardır: 1 *TCP, * UDP, *SPX

4. AĞLAR, KÖPRÜLER, GATEWAY LER ve ROUTER LARA GİRİŞ

Elbistan Meslek Yüksek Okulu GÜZ Yarıyılı Kas Salı, Çarşamba Öğr. Gör. Murat KEÇECİOĞLU

22/03/2016. OSI and Equipment. Networking Hardware YİNELEYİCİ (REPEATER) YİNELEYİCİ (REPEATER) Yineleyici. Hub

10. ROTA BULMA PROTOKOLLERİ

Internet in Kısa Tarihçesi

Datagram, bir başlık eklenerek, kaynak uçtan alıcı uca gönderilen veri birimidir. Her datagram sıra ile gönderilir.

BİLGİSAYAR AĞLARI VE İLETİŞİM

Bölüm 5 İletim(Transport) Katmanı

Lab7-Dinamik Yönlendirme ve RIP

Elbistan Meslek Yüksek Okulu Güz Yarıyılı

AĞ TEMELLERI. İSİM SOYİSİM: EMRE BOSTAN BÖLÜM: BİLGİSAYAR PROGRAMCILIĞI ÜNİVERSİTE: NİŞANTAŞI KONU: Konu 5. TCP/IP

Yönlendiriciler ve Yönlendirme Temelleri

Internetin Yapı Taşları

OSPF PROTOKOLÜNÜ KULLANAN ROUTER LARIN MALİYET BİLGİSİNİN BULANIK MANTIKLA BELİRLENMESİ

Protocol Mimari, TCP/IP ve Internet Tabanlı Uygulamalar

03/03/2015. OSI ve cihazlar. Ağ Donanımları Cihazlar YİNELEYİCİ (REPEATER) YİNELEYİCİ (REPEATER) Yineleyici REPEATER

YÖNLENDİRİCİLER. Temel Bilgiler. Vize Hazırlık Notları

BLM 6196 Bilgisayar Ağları ve Haberleşme Protokolleri

Öğr. Gör. Ümit ATİLA

Alt Ağ Maskesi (Subnet Mask)

Serdar SEVİL. TCP/IP Protokolü

Bilgisayar Programcılığı

Meşrutiyet Caddesi 12/ Kızılay/ANKARA T: +90 (312) info@cliguru.com

Bölüm 8 : PROTOKOLLER VE KATMANLI YAPI: OSI, TCP/IP REFERANS MODELLERİ.

Active Directory için Fiziksel Ağ Altyapısını Tasarlamak

Hazırlayan: Barış Şimşek. Bitirme Çalışması Sunumu. Ocak 2001, Trabzon KTÜ

Maltepe Üniversitesi Bilgisayar Mühendisliği Bölümü Bilgisayar Ağları - 1 (BİL 403)

P-661HNU F1 ve P-660HNU F1 QoS Yönetimi

HAFTA-3 ARP (Address Resolution Protocol) (Adres Çözümleme Protokolü)

Active Directory Shema

Prensipler Çoklu ortam uygulamalarının sınıflandırılması Uygulamaların ihtiyaç duyacağı ağ servislerini belirlemek Uygulamaların gerçek zamanlı

Bölüm 10: ADRES ÇÖZÜMLEME. ADRES ÇÖZÜMLEME PROTOKOLÜ. IP DATAGRAMLARI.

Yönlendirme. Yönlendirme Protokolleri

Computer Networks 5. Öğr. Gör. Yeşim AKTAŞ Bilgisayar Mühendisliği A.B.D.

Computer Networks 7. Öğr. Gör. Yeşim AKTAŞ Bilgisayar Mühendisliği A.B.D.

Bilgisayar Ağları Computer Networks

Ağ Yönetiminin Fonksiyonel Mimarisi

Ayni sistem(host) üzerinde IPC. Ağ(network) aracılığı ile IPC

Computer Networks 4. Öğr. Gör. Yeşim AKTAŞ Bilgisayar Mühendisliği A.B.D.

Elbistan Meslek Yüksek Okulu GÜZ Yarıyılı EKi Salı, Çarşamba Öğr. Gör. Murat KEÇECĠOĞLU

BIL321 VERİ İLETİŞİMİ LABORATUVARI

Paket Anahtarlama ve Yönlendirme

Yeni Nesil Ağ Güvenliği

Algoritmalar. Çizge Algoritmaları. Bahar 2017 Doç. Dr. Suat Özdemir 1

Elbistan Meslek Yüksek Okulu GÜZ Yarıyılı Ara Salı, Çarşamba Öğr. Gör. Murat KEÇECĠOĞLU

BIL411 - BİLGİSAYAR AĞLARI LABORATUVARI

sayısının decimal karşılığı dur.

Elbistan Meslek Yüksek Okulu GÜZ Yarıyılı EKi Salı, Çarşamba Öğr. Gör. Murat KEÇECĠOĞLU

Elbistan Meslek Yüksek Okulu Güz Yarıyılı EKi Salı, Perşembe Öğr. Gör. Murat KEÇECĠOĞLU

DOD / DEPARMENT OF DEFENCE

Yazılım Tanımlı Ağlar Ders 2 Kontrol ve Veri Düzlemlerinin Ayrılması. Mehmet Demirci

CISCO AĞLARDA YÖNLENDĐRME

Elbistan Meslek Yüksek Okulu Güz Yarıyılı

IP ve MAC Adresleri. IP Adresleme. IP Adresleme. IP Terminolojisi. IPv4. IP Adresleme Standartları

Elbistan Meslek Yüksek Okulu Güz Yarıyılı

Bilgisayar Ağları Computer Networks

9. TCP ve UDP. 9.1 TCP nin Ana Özellikleri. TCP üst katmanlara aşağıdaki servisleri sağlar:

Ağ Nedir? Birden fazla bilgisayarın iletişimini sağlayan printer vb. kaynakları, daha iyi ve ortaklaşa kullanımı sağlayan yapılara denir.

TCP / IP NEDİR? TCP / IP SORUN ÇÖZME

Hping ile IP, ICMP ve UDP Paketleri Oluşturma

Öğr. Gör. Serkan AKSU

BLGM 343 DENEY 8 * TCP İLE VERİ İLETİŞİMİ


Elbistan Meslek Yüksek Okulu GÜZ Yarıyılı Kas Salı, Çarşamba Öğr. Gör. Murat KEÇECĠOĞLU

TEMEL NETWORK CİHAZLARI

HACETTEPE ÜNİVERSİTESİ BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜMÜ BİLGİSAYAR AĞLARI LABORATUVARI DENEY 7

Görsel Programlama DERS 12. Görsel Programlama - Ders12/

SERNET ET232CAS x2 RS232 Seri Kanal Sunucu KULLANICI KILAVUZU. Telif Hakkı Uyarısı. >>> Otomasyon Ürünleri

Bölüm 28 ve 29 : İstemci Sunucu Etkileşimi ve Soket API sine Giriş. Internet Protokolleri ve Ağ Uygulamaları. Internet Protokolleri Üzerinden İletişim

IP Alt Ağlara Bölmek (Subnetting)

Saldırı Tespit ve Engelleme Sistemleri Eğitimi Ön Hazırlık Soruları

BIL411 - BİLGİSAYAR AĞLARI LABORATUVARI

Uygulama 6. Sunum 5. Oturum 4. Taşıma 3. Ağ 2. Veri iletim 1

IPv6 Başlığında Bulunan Akış Etiketi Alanının Kullanım Yaklaşımları. Okt. Sadettin DEMİR Yrd. Doç. Dr. İbrahim Özçelik

Katmanı Tasarımı kaydet-yönlendir

OSI Referans Modeli. OSI Referans Modeli. OSI Başvuru Modeli Nedir? OSI Başvuru Modeli Nedir?

BLGM 344 DENEY 3 * AĞ PROGRAMLAMAYA GİRİŞ

SOME-Bus Mimarisi Üzerinde Mesaj Geçişi Protokolünün Başarımını Artırmaya Yönelik Bir Algoritma

SERNET ET232CAS x2 RS232 Seri Kanal Sunucu KULLANICI KILAVUZU. Telif Hakkı Uyarısı. >>> Otomasyon Ürünleri

AĞ TEMELLERİ 4.HAFTA CELAL BAYAR ÜNİVERSİTESİ AKHİSAR MESLEK YÜKSEKOKULU

Gökhan AKIN ĐTÜ/BĐDB Ağ Grubu Başkanı ULAK/CSIRT. Sınmaz KETENCĐ ĐTÜ/BĐDB Ağ Uzmanı

Bilgisayar Sistemleri ilk ortaya çıktığında...

EC-485. Ethernet RS485 Çevirici. İstanbul Yazılım ve Elektronik Teknolojileri

Bölüm. Internet: Dayandığı Teknik Temeller

6. DOMAIN NAME SYSTEM

İÇİNDEKİLER Ön söz... İçindekiler...

Transkript:

7. IP (INTERNET PROTOCOL) IP nin sorumluluğu üst katmandan gelen segmentleri birbirine bağlı ağlar üzerinden iletmektir. IP bu segmentleri TCP veya UDP den alır. Her bir segment, IP tarafından bir başlık eklenerek IP datagramı haline getirilir ve her bir IP datagramı birbirinden bağımsız varlıklar olarak varış host una gönderilebilir. Internet teki tüm host lar üzerinde IP protokol grubu çalışmak zorundadır. IP paketleri, ağlar arası dolaşımda pek çok host a uğrar ve her bir host ta aynı kurallara göre çalışan IP protokolleri ile karşılanır. 7.1 IP nin ana özellikleri IP, ISO8473 tanımlamasına (bağlantısız ağ protokolü veya CLND) oldukça benzerdir. Birçok ISO 8473 kavramı IP den türetilmiştir. IP bağlantısız servise bir örnektir. İki host bilgisayarı arasında ön bir çağrı kurulmadan trafik alışverişi yapılmasını sağlar. IP bağlantısız olduğundan, datagramlar iki son kullanıcı istasyon arasında kaybolabilir. Örneğin; IP router ı bir maksimum kuyruk uzunluğunu zorlarsa, ve eğer kuyruk uzunluğu bozulursa, tamponlar taşar. Fazla datagramlar daha sonra ağda bertaraf edilir. Böylece, bu sorunların telafi edilmesi bir yüksek-katman protokolünün (TCP gibi) asli görevi olur. IP, altındaki altağı son kullanıcılardan saklar. Bu açıdan IP son kullanıcıya hayali bir ağ yaratır. Bir IP gateway ine farklı tiplerde ağlar bağlanabilir. Bunun bir sonucu, IP nin kurulması oldukça kolaydır ve bağlantısız yapısından dolayı oldukça sağlamdır. Ancak IP güvenilir olmayan, yüksek-zorluklu (best effort), datagram-tipi bir protokol olduğundan, hiç bir güvenilirlik mekanizması yoktur. Altındaki altağlar için hiçbir hata telafisi sağlamaz. Hiç bir akış-kontrol mekanizması bulunmaz. Kullanıcı verisi (datagramlar) kaybolabilir, çiftlenebilir veya hedefe sırası bozuk olarak ulaşabilir. Bu problemlerin bir çoğu ile IP uğraşmaz. Daha sonra anlatacağımız gibi, bu sorunların çözümü bir üst katman protokolünün (TCP) asli görevidir. IP fragmantasyon işlemini destekler. Fragmantasyon, bir PDU nun daha küçük parçalara bölünmesi işlemine denir. Bu özellik oldukça kullanışlıdır çünkü ağların çoğu aynı büyüklükte PDU lar kullanmazlar. Örneğin, X.25 tabanlı WAN lar tipik olarak 128 oktet veri alanlı bir PDU (X.25 te bir paket denir) kullanırlar. Ethernet standardı, bir PDU büyüklüğünü 1500 oktetle sınırlar. Aksine, pronet-10 2000 oktetlik bir PDU şart koşar. Fragmantasyon kullanılmasaydı, ağlar arasındaki birbirine uymayan PDU büyüklükleri sorununu çözmeye çalışmakla bir router görevlendirilecekti. IP router larda fragmantasyon yaparak ve alıcı host ta reassembly (yeniden-birleştirme) yaparak bu problemi çözer. 7.2 IP ve Altağlar IP, altağların en üstünde yerleşmek üzere tasarlanmıştır ve olabildiğince transparandır. Bu; IP, altındaki ağ veya ağların karakteristikleri ile çok az ilgilenir demektir. Mühendisler açısından bu durum oldukça çekicidir. Çünkü IP, altağları göreceli olarak kendisinden bağımsız tutar.

Datagramlar IP içeren bir router a geldikçe, datagramların IP adresleri bir rotalama tablosu ile eşleştirilir. Router daki IP, rotalama tablosundaki girişleri baz alarak, datagramı bir sonraki ağa veya doğrudan alıcı host a rotalar. Tahmin edebileceğiniz gibi, transparanlık her katmanda yeniden paketleme yapılarak başarılır. Host bilgisayarının gönderdiği veri bir IP datagramı olarak paketlenir ve IP başlığı alıcı host bilgisayarın adresini tanımlar. IP datagramı ve başlığı daha sonra transit ağın özel protokolüne göre tekrar paketlenir. Örneğin transit ağ bir X.25 ağı veya Ethernet LAN ı olabilir. Transit ağ trafiği bir IP gateway ine gönderilince, transit ağın kontrol bilgisi atılır. Router daha sonra datagram başlığındaki varış adresine bakarak trafiği nereye rotalayacağına karar verir. Tipik olarak datagram daha sonra altağ giriş protokolü himayesinde bir altağa geçer (Örnek olarak bir LAN daki Ethernet veya bir WAN daki X.25). Bu protokol, datagram başlığı ve kullanıcı verisini altağın kullanacağı başlıklar ve fragmanlara paketler. Bu işlem her bir router da tekrarlanır ve neticede datagram son varış yerine ulaşır ki buradan da alıcı istasyona geçer. Bir IP router ı kendine bağlı bir altağın giriş protokolü ile tamamen ilgisiz değildir. IP de sihirli bir şey yoktur; router arabirimi kendine bağlı ağa nasıl giriş yapabileceğini bilmelidir. Netice olarak, bazı haberleşme şekilleri (sınırlı da olsa) router ve ona bağlı altağ arasında olmak zorundadır. Önemli nokta şudur ki IP ağların içişleri ile ilgilenmez. 7.3 IP Datagramı (n) = Alandaki bitlerin sayısı Şekil 7-1 IP Datagramı Şekil 7-1 de bir IP datagramı görülmektedir. Tablo 7-1 de datagramlardaki alanların kısaltılmış birer tanımlamaları yapılmıştır: Tablo 7-1 IP PDU su

Versiyon alanı kullanımdaki IP sürümünü tanımlar. Çoğu protokolde bu alan vardır çünkü bazı ağ düğümlerinde protokolün son sürümleri bulunmayabilir. Başlık uzunluğu (header lenght) alanının 4 biti kullanılarak datagram başlığının uzunluğu gösterilir. Uzunluk 32-bit kelimelerle ölçülür. Tipik olarak, QOS (quality-of-service) opsiyonu olmayan bir başlık 20 oktet içerir. Böylece uzunluk alanındaki değer genelde 5 olur. Servis-tipi (type-of-service (TOS)) alanı bir internetin sağladığı belirli QOS fonksiyonlarını tanımlamak için kullanılabilir. CLNP PDU sunda bulunan servis alanına oldukça benzerdir. Transit gecikmesi, akış, öncelik hakkı ve güvenilirlik bu alanda istenebilir. TOS alanı Şekil 7-2 de resmedilmiştir. Toplam 8 bit yer tutan beş girişe sahiptir. 0,1 ve 2 bitleri bir öncelik bilgisi taşıyarak datagramın göreceli önemini gösterirler. Değerler 0 dan 7 ye değişir. 0 set edilmesi bir rutin önceliği gösterir. Öncelik alanı tüm sistemlerde kullanılmaz, gerçi 7 değeri bazı uygulamalarda bir ağ kontrol datagramını göstermek üzere kullanılır. Öncelik alanı aynı zamanda bir ağdaki akış kontrol ve tıkanıklık mekanizmalarının kurulmasında kullanılabilir. Bu gateway ve host, düğümlerin sıkışıklık durumlarında datagramları yok etme sırasına karar vermelerini sağlar. Takip eden 3 bit diğer servisler için kullanılır. 3 biti gecikme bitidir. 1 e set edilince, bu TOS internet üzerinde kısa bir gecikme ister. Gecikme durumu standartlarda tanımlanmamıştır ve satıcı servisi geliştirmelidir. Diğer bit akış bitidir (througput). Bu 1 e set edilerek internet üzerinde hızlı bir akış isteği yapılır. Bunun da standartlarla özel bir yolu belirlenmemiştir. 5 biti güvenilirlik bitidir ki kullanıcıya datagramı için yüksek bir güvenilirlik isteme olanağı tanır. 6 ve 7 bitleri şimdilik kullanılmamaktadır.

Şekil 7-2 TOS Alanı Bazı satıcılar IP yi gerçekleştiren TOS alanını kullanmamaktadırlar. Bununla beraber, Internetin kapasitesi arttıkça gelecekte TOS alanının kullanımı artacaktır. Örneğin, open shortest path first (OSPF) protokolünde kullanılır. Toplam uzunluk (total lenght) alanı IP datagramının toplam uzunluğunu gösterir. Oktetler cinsinden ölçülür ve, başlık ve veri uzunluğunu içerir. IP, toplam uzunluktan başlık uzunluğunu çıkararak veri alanı için ayrılmış alanın büyüklüğünü hesap eder. Bir datagramın maksimum olası uzunluğu 65535 oktet (216) dır. IP datagramlarına servis veren bir router ın, kendine bağlı ağların datagramlarına sağladığı maksimum PDU uzunluklarını desteklemesi gerekir. Ek olarak, tüm router lar 576 oktetlik datagramları destekleyebilmelidir. IP protokolü, başlığındaki üç alanı kullanarak fragmantasyon ve yeniden-birleştirme işlemlerini kontrol eder. Tanımlayıcı (identifier) alanı orijinal bir datagramdan oluşturulan tüm fragmanlarını biricik olarak tanımlar. Tanımlayıcı alanından gelen bilgi ile kaynak adresi birlikte, alıcı host a gelen her bir fragmanı tanımlarlar. Bayrak alanları kullanılarak, datagramın fragmantasyona müsait olup olmadığına karar verilir. Eğer müsaitse, bitlerden biri set edilerek bu fragmanın datagramın son fragmanı olup olmadığına karar verilebilir. Fragmantasyon offset alanı fragmanın orijinal datagrama olan göreceli pozisyonunu belirten değeri içerir. Değer önce 0 dır ve sonra router fragmantasyon yaparsa sıradaki değerler set edilir. Değer sekiz oktet birimi ile ölçülür. Yaşama zamanı (time-to-live (TTL)) parametresi bir datagramın bir internet üzerinde kalma süresinin ölçüsüdür. CLNP nin hayat zamanı alanına oldukça benzerdir. Her bir router kendisine gelen datagramın TTL alanına bakar ve eğer değer 0 ise datagramı yok eder. Ayrıca bir router işlemden geçirdiği her datagramının TTL alanı değerini azaltır. Doğru uygulamalarda TTL alanı datagramın aşacağı hop sayısını belirtir. Böylece, bir datagram IP düğümünde (bir hop) ilerleyince, alanın değeri 1 azaltılır. IP uygulamaları bu alanda bir zaman sayıcısı kullanabilirler ve azaltma saniyede bir olur. TTL alanı yalnızca sonsuz döngüleri engellemek için kullanılmaz. Aynı zamanda bu alan, host tarafından internetteki segmentlerin yaşama sürelerinin kısıtlanmasında da kullanılır. Dikkat etmek gerekir ki bir host bir router gibi davranırsa, TTL alanına router kuralları ile

muamele yapmalıdır. Satıcınızla birlikte, host un datagramı ne zaman yok edeceğine karar vererek, TTL değerini atayınız. İdealde TTL değeri internet başarımı gözlemlenerek şekillendirilebilir ve değeri atanır. Ek olarak ağ yönetim bilgi protokolleri (SNMP de olanlar gibi) TTL değerini teşhis amaçları için set etmek isteyebilirler. Son olarak, eğer satıcınız TTL alanı için yeniden belirlenemeyen sabit bir değer kullanıyorsa, bu sabit değerin internetinizin büyümesine engel olamayacağından emin olun. Protokol alanı, son varış host unda IP üzerindeki katmanda bulunan protokollerden hangisinin datagramı alacağını tanımlar. Ethernet çerçevesinde bulunan tip alanı ile oldukça benzerdir. Internet standartları, çokça kullanılan üst-katman protokollerini tanıtan bir numaralandırma sistemi geliştirmiştir. Tablo 7-2 de bu protokollerin listesi ve çok kısa açıklamaları verilmiştir. Tablo 7-2 IP numaraları (Örnekler)

Header checksum kullanılarak başlıkta olabilecek bozulmalar algılanır. Kontrol veri akışı sırasında olmaz. IP yi eleştiren bazı kişiler kullanıcı verisinde bir hata öngörmenin router ın en azından alıcı host a sorunların oluştuğunu bildirmesini sağlayabileceğini söylemişlerdir. Aslında bu servis, IP standardına kardeş ICMP (Internet Control Message Protocol) tarafından sağlanmaktadır. Görüşler her ne ise, IP nin bugünkü checksum (toplamsal-hata) algoritması oldukça basittir. IP toplamsal-hata algoritmasının birçok oktet için çalıştırılmasına gerek yoktur. Ancak alıcı host ta bulunan bir yüksek katman protokolünün (eğer alıcı host verinin doğruluğu ile ilgileniyorsa) kullanıcı verisi üzerinde hata kontrol işlemlerini yapması gerekir. IP datagramında, iki adres taşınır. Bunlar kaynak ve varış adresleri olarak etiketlenir ve datagram yaşadıkça bu değerler aynı kalır. Bu alanlar 5. bölümde bahsettiğimiz internet adreslerini içerirler. Opsiyonlar alanı belirli ek servisleri tanımlamada kullanılırlar. Opsiyonlar alanı tüm datagramlarda kullanılmaz. Uygulamaların çoğu bu alanı ağ yönetimi ve teşhisler için kullanırlar. Şekil 7-3 te opsiyonlar alanına yerleşecek bir opsiyon alanının formatı gösterilmektedir. Tablo 7-3 şu ana kadar standartlar ile tanımlanmış değerleri verir. Opsiyon alanının uzunluğu değişkendir çünkü bazı opsiyonların uzunluğu değişir. Her opsiyonun 3 alanı mevcuttur. İlk alan tek bir oktetten oluşan opsiyon kodunu içerir. Opsiyon kodunun kendisi de üç alandan oluşur. Bunların fonksiyonları aşağıdaki gibidir: Şekil 7-3 IP Opsiyon Alanı Flag Copy (1 bit): 0 = Fragmantasyonlu bir datagramın yalnızca ilk fragmanı içinde kopya opsiyonu vardır. 1 = Fragmantasyonlu bir datagramın tüm fragmanları içinde kopya opsiyonu vardır. Sınıf (2 bit): Opsiyon sınıfını belirler (Tablo 7-3): 0 = Kullanıcı veya ağ kontrol datagramı 1 = Ayrılmıştır (reserved) 2 = Hata giderme ve ölçme teşhis amaçlı 3 = Ayrılmıştır Opsiyon numarası: Opsiyon numarasını tanıtır (Tablo 7-3). Diğer oktet opsiyonun uzunluğunu içerir. Üçüncü alan opsiyonun veri değerlerini içerir. Padding (dolgu) alanı datagram başlığını 32-bit e tamamlamak için kullanılır. Son olarak, veri alanı kullanıcı verisini içerir. IP, veri alanı ve başlığının toplamının 65,535 okteti geçmesine izin vermez.

Tablo 7-3 Opsiyon Kodları 7.4 Ana IP Servisleri Bu başlık altında ana IP servislerini inceleyeceğiz. Şu da var ki satıcılar IP için farklı ürünlere sahip olabilirler ve bazı ürünler bu bölümde anlattığımız tüm özellikleri desteklemeyebilir. 7.4.1 Internet başlık kontrol programı Bir router datagramı alınca, başlığına bakarak işleteceği trafik tipine karar verir. Eğer trafik bir internet datagramı ise, datagram internet başlık kontrol programı modülüne iletilir. Bu modül IP datagram başlığı üzerinde bir takım düzenlemeler ve doğruluk testleri yapar. Başlık üzerinde aşağıdaki testler yapılır: Geçerli IP başlık uzunluğu Doğru IP sürüm numarası Geçerli IP mesaj uzunluğu Geçerli IP başlık checksum ı Sıfırlanmamış TTL geçerliliği Eğer datagram testleri geçemezse yok edilir. Eğer testler yapılır ve datagram testleri geçerse, datagramın internet varış adresi incelenerek, bu router a mı, başka bir router a mı ait olduğuna karar verilir. Eğer datagram bu gateway için değilse, IP ilerletme programı modülüne atılarak rotalanır. 7.4.2 IP kaynak rotalama IP, kaynak rotalama denilen bir mekanizmayı, rotalama algoritmasının parçası olarak kullanabilir. Kaynak rotalama bir ULP nin (üst katman protokolü) IP router ına nasıl rotalama yapacağını bildirmesini sağlar. ULP, IP modülüne bir internet adresleri listesi verme opsiyonuna sahiptir. Liste, datagramların son varışa giderken geçecekleri ara IP düğümlerini içerir. Listedeki son adres bir ara düğümün son varışıdır. IP bir datagramı alınca, bir sonraki ara düğümü belirlemek için kaynak rotalama alanındaki adresleri kullanır. Şekil 7-4 te gösterildiği gibi bir IP, diğer IP adresini öğrenmek için bir işaretçi alanı kullanır. İşaretçi ve uzunluk alanları listenin tamamlandığını gösterirse varış IP alanı rotalama için kullanılır. Eğer liste bitmemişse IP modülü işaretçinin gösterdiği adresi kullanır.

IP modülü sonra kaynak rotalama listesindeki değerin yerine kendi adresini yerleştirir. Daha sonra ise işaretçiyi bir adres (4 bayt) arttırarak diğer hop un sıradaki adresi kullanabilmesini sağlar. Bu yaklaşım ile datagram ULP tarafından dikte edilen rotayı izler ve rota yol boyunca kayıt edilir. Şekil 7-5 de rota kaydı ile ilgili bir örnek sağlanmıştır. İlk adımda IP, işaretçiyi kullanarak rota verisi alanındaki sıradaki adrese kilitlenir. Bu örnekte IP, 128.2.3.4 adresine kilitlenir ve bu adrese dayanarak bir rotalama kararı alır. İkinci adımda, şimdiki varış adresini belirtmek üzere rota verisi alanındaki 128.2.3.4 adresi yerine kendi adresini koyar. Üçüncü adımda, işaretçi değerini arttırarak sıradaki IP modülünün rotadaki bir sonraki (veya son) hop u kararlaştırabilmesini sağlar. Şekil 7-4 Kaynak Rotalama

Şekil 7-5 Rota Kaydı 7.4.2.1 Rotalama işlemleri IP router ı rotalama listesine dayanarak rotalama kararları alır. Eğer varış host u başka bir ağda ise IP router ı, datagramı diğer ağa nasıl rotalayacağına karar vermelidir. Her bir gateway, son varış ağına gitmek için geçilmesi gereken diğer gateway lerin bilgilerini bir rotalama tablosunda tutar. Tablo her bir ulaşılabilir ağın girişini içerir. Tablolar statik veya dinamik olabilir, ancak dinamik tablolar daha yaygındır. IP modülü, aldığı tüm datagramlar için bir rotalama kararı verir. IP modülü rotalama tablosunda her bir erişilebilir ağ için bir IP adresi ve kendine komşu bir router ın adresini saklar (buradaki router doğrudan IP modülünün bulunduğu ağa bağlantılıdır). Komşu router varış ağı için en kısa rotadır. Eğer bir komşu router için hiç bir adres yoksa, IP router mantığı router ın doğrudan bu ağa bağlı olduğunu çıkarır. IP rotalaması, mesafe metrik denen bir kavrama dayanır. Bu değer genelde router ve son varış arasındaki birkaç hop tan ibarettir. Router rotalama tablosuna başvurur ve IP başlığında bulduğu varış ağ adresi ile rotalama tablosunda bulunan bir ağ girişini eşleştirmeye çalışır. Eğer eşleşme yoksa, datagram yok edilir ve IP kaynağına bir ICMP mesajı iletilir. Bu mesaj "varış ulaşılamazdır" kodu içerecektir. Eğer rotalama tablosunda bir eşleşme mevcut ise router bunu kullanarak çıkışın yapılacağı porta karar verir. 7.4.2.2 Esnek ve sert rotalama IP bir datagramı son varışa rotalamak için iki seçenek sağlar. Birincisinde (esnek kaynak rotalama denir) IP modülü kaynak listesinde sağlanan adreslere ulaşmak için ara hopları kullanabilir. Datagram seyahat ettikçe düğümler listelenir. Sert kaynak rotalamada ise datagram yalnızca kaynak listesinde adresleri belirtilen ağlar boyunca seyahat edebilir. Eğer sert kaynak rotası takip edilemezse, datagramı yollayan host un IP sine bir hata mesajı yollanır. Esnek ve sert rotalamanın ikisi de rota kaydı özelliği isterler.

7.4.3 Rota kaydı opsiyonu Rota kaydı opsiyonu kaynak rotalamaya benzer biçimde çalışır, ancak aynı zamanda kayıt özelliğini kullanır. Böylece her bir IP modülü bir datagram alınca, datagramın adresini rota kayıt listesine ekler (Şekil 7-6 ya bakınız). Rota kayıt işleminin yapılması için alıcı IP modülü, işaretçi (pointer) ve uzunluk alanlarını inceleyerek rotayı kayıt etmek için boş yerinin olup olmadığına karar verir. Eğer rota kayıt listesi dolu ise IP modülü datagramın adresini almadan onu ilerletir. Eğer dolu değilse işaretçi kullanılarak ilk boş tam-oktet slotuna adres yerleştirilir ve sonra IP modülü işaretçiyi sıradaki IP slotunu göstermek üzere arttırır. 7.4.4 Zaman-damgası opsiyonu (time-stamp option) IP deki kullanışlı seçeneklerden biri; datagram internet içerisinde her bir IP modülünü geçerken, datagramın zaman-damgasının görülebilmesidir. Bu fikir bir ağ yöneticisinin datagramın internetteki rotasına karar vermesini sağladığı gibi aynı zamanda her bir IP modülünün datagramı işleme zamanını bilmesini de sağlar. Bu özellik ile router ların, ağların ve rotalama algoritmalarının etkinlikleri karşılaştırılabilir. Şekil 7-6 Zaman-damgası Opsiyonu Şekil 7-6 da zaman-damgası işlemlerinin opsiyon alanlarının formatı gösterilmektedir. Önceki opsiyonlarda olduğu gibi bir IP adresini ve onun ilgili zaman damgasını doğru slota yerleştirmek için uzunluk ve işaretçi alanları kullanılır. Oflw alanı yalnızca bir IP modülü kaynak yetersizliği veya çok-küçük opsiyon alanı gibi nedenlerle bir zaman-damgası oluşturamamışsa kullanılır. Böyle bir sorunu olan her bir modül için bu değer arttırılır. 4-bitlik bayrak alanı her bir IP modülüne zaman-damgası işlemleri için rehberlik sağlamak amacı ile kullanılır. Bu alandaki değerleri şöyle açıklarız: 0 = ardışık 32-bitlik kelimelere yalnızca zaman-damgası kaydı ve saklanması yapılacaktır. 1 = her bir zaman damgası, ilgili modülün IP adresinin ardında yer alacaktır. 3 = IP adresleri hali hazırda kaynak modülünce tanımlanmıştır ve router zaman-damgasını kendi ilgili IP adres bölgesi içine kaydetmekle görevlidir. Zaman-damgasında kullanılan zaman milisaniyeler mertebesindedir ve evrensel zamana (Greenwich Mean Time) göredir. Açıkçası, evrensel zamanın kullanımı cihazlar arasında tam doğru zaman damgalarını garanti etmez, çünkü cihazların saatleri biraz değişebilir. Bununla beraber çoğu ağda milisaniyeler mertebesindeki evrensel zaman fark edilir bir doğruluk derecesi sağlar. Ağ zaman protokolü (NTP) bu opsiyon için kullanışlı bir araçtır. 7.4.5 Fragmantasyon ve yeniden-birleştirme

Bir IP datagramı farklı PDU büyüklükleri kullanan çeşitli ağlardan geçebilir. Her ağın bir maksimum PDU büyüklüğü vardır ve buna maksimum iletim birimi (MTU) denir. Bu yüzden IP, bir büyük datagramı daha küçük datagramlara bölecek prosedürler içerir. ULP, IP yi fragmantasyon yapabilir veya yapamaz diye şartlayabilir. Tabii ki IP son varışta bir yenidenbirleştirme mekanizması kullanarak fragmanları orijinal iletimdeki hallerine getirebilmelidir. Bir IP router modülü, transit altağın iletebileceğinden daha büyük bir datagram alınca fragmantasyon işlemlerini kullanır. Datagramı; 8-oktetlik sınırlarla dizecek biçimde iki veya daha çok parçaya böler. Her bir fragmana tanımlama, adres ve orijinal datagrama ait tüm opsiyon bilgilerini içeren bir başlık eklenir. Fragman paketlerine orijinal datagramdaki yerlerini tanımlayan bilgiler de eklenir. Şekil 7-1 i referans alırsak, bayraklar (3-bit) şöyle kullanılır.: Bit 0 : rezervedir Bit 1 : 0 = fragmantasyon 1 = fragmantasyon yapma Bit 2 : 0 = son fragman 1 = daha fragman var İlginçtir ki IP, her bir fragman işlemini ayrık olarak ele alır. Şöyle ki, fragmanlar son varışa gitmek için farklı router lardan geçebilirler ve eğer geçtikleri ağ daha küçük veri birimleri kullanıyorsa tekrar fragmantasyona uğrayabilirler. Fragmanlarda offset değeri bunu belirtmek ve fragman sıralarının karışmasını önlemek üzere set edilir. Şekil 7-7 de iki router boyunca yapılan bir çoklu fragmantasyon gösterilmiştir.

Şekil 7-7 Gateway lerdeki Fragmantasyon İşlemleri Altağ 128.3 1500-oktet PDU büyüklüğü kullanır. 128.3 altağı bu veri birimini A router ına geçirir. A Router ı PDU yu 21.4 altağına rotalamaya karar verir. 21.4 altağı 512-oktet PDU büyüklüğünü desteklemektedir. Router 1500 lük veri birimini 512, 512 ve 476 oktetlik 3 daha küçük parçaya ayırır (1500 = 512 + 512 + 476). 476 oktetlik son parçaya, 8 in tam katına ulaşmak için 0 lar eklenir. Böylece bu veri alanı 480 oktet (476 + 4 = 480, ki 8 in tam katıdır) olur. A router ı veriyi 21.4 altağına iletir. Veri buradan da B router ına iletilir. Bu router, datagram fragmanlarını 21.5 altağına göndermeye karar verir. B router ı 21.5 in 256 oktet büyüklüğünde PDU lar kullandığını bildiğinden, yeni bir fragmantasyon gerçekleştirir. 512 oktet büyüklüğündeki fragmanları daha küçük veri birimlerine böler ve gelen üç fragmanın offset değerlerini kullanarak gereğince yeni veri birimlerinin offset değerlerini ayarlar. Dikkat edelim ki offset değerleri B router ında değiştirilmiştir ve yeni değerler önceki fragmanların offset değerleri kullanılarak türetilmiştir.

Şekil 7-8 Fragmanların yeniden-birleştirilmesi Şekil 7-8 de, alıcı host ta paketlerin yeniden-birleştirilmesi gösterilmektedir. IP modülü ilk fragmanı alınca tampon boşluğunu hazırlar. Her bir fragman için bir tampon ayrılır ve fragman göreceli olarak orijinal datagramdaki yerine göre tampondaki yerine yerleştirilir. Tüm fragmanlar gelince IP modülü veriyi, gönderici ULP den yollandığı orijinal düzeni ile ULP ye geçirir. Konuyu tartışabilmek için Şekil 7-7 de görülen datagram fragmanlarının başka router lara (Y ve Z ye diyelim) rotalandığını varsayalım. Analize devam etmek için Şekil 7-8 de "zaman oku"nun gösterdiği sırayla (en önce n zamanı, en son n + m zamanı) Y ve Z router larından fragmanların IP ye vardıklarını söyleyelim. Böylece fragmanlar aşağıdaki sırayla gelirler: Birinci : offset değeri 96 olan fragman İkinci : offset değeri 128 olan fragman Üçüncü : offset değeri 0 olan fragman Dördüncü : offset değeri 160 olan fragman Beşinci : offset değeri 64 olan fragman Altıncı : offset değeri 32 olan fragman Alıcı cihaz için fragmanları yerleştirmek oldukça kolay bir iştir. IP modülü, fragmanı tamponun hangi slotuna yerleştireceğine karar vermek için offset değerini 8 ile çarpar.

Örneğin ilk gelen fragmanın tampondaki göreceli pozisyonu hafıza adresi 768 olarak hesap edilir (96 8 = 768). Şekil 7-8 deki birleştiren host, dördüncü fragman gelene kadar IP datagramının tam uzunluğunu bilmez. Dördüncü fragman M = 0 biti (son fragman), offset değeri ve fragman uzunluğu bilgilerini içerir. Offset değeri 160 ve uzunluk 220 oktet olduğundan host, artık orijinal datagramın 1500 oktet [(160 offset değeri) (8 oktet her değerde) + (220 oktet son fragman)] olduğunu bilir. Şimdi M bitinin neden çok önemli olduğunu gördük. Fragmandaki uzunluk alanı orijinal datagramın büyüklüğü yerine fragmanın büyüklüğünü gösterdiğinden, orijinal uzunluğu (ve son fragmanı) kararlaştırmanın tek yöntemi M = 0 işaretçisidir. Eğer bazı fragmanlar varışa gelmezlerse veya TTL parametresini aşarlarsa, IP varışa gelen fragmanları yok eder. Ayrıca ilk fragmanın gelmesi ile alıcı bilgisayar bir birleştirme zamanlayıcısı çalıştırır. Ağ yönetici tarafından kurulan bu zamanlayıcı, tüm fragmanların belirli bir sürede gelmesini zorunlu kılar. Eğer zamanlayıcının verdiği süre dolana kadar tüm fragmanlar gelmezse, gelen fragmanlar yok edilir. Eğer kullanıcı, fragmantasyon oluşmasını istemezse, fragman bayrağı 1 yapılır. Bu, datagramlar üzerinde fragmantasyon yapılamayacağını belirtir. Bu alan böyle set edilirse ve MTU geçeceği bir altağ kapasitesini aşarsa datagramlar router tarafından yok edilir. Bağlantısız router lar datagramları birleştiremediği halde bazı bağlantı-yönlendirmeli router lar ara birleştirmeler yapabilirler. 7.5 IP Adres ve Rotalama Tabloları IP, veriyi Internet üzerinde yollamak için rotalama ve adres tabloları kullanır. Rotalama tablolarında rotalar, adres tablolarında ise bir ağdaki varlıkların özel adresleri saklanır. 7.5.1 Adres tabloları Internet Activities Board (IAB) RFC 1213 yayınında IP adres tablosu için tanımlama yapmıştır. Şekil 7-9 da da görüldüğü gibi bu tablo, 5 sütun ve n satır içerir. Her bir satır bir varlığın (bir host, router, vs.) IP adresi ile ilgilidir. Eğer cihazda birden çok IP adresi varsa birden fazla satır girişi olacaktır. Bu tablonun içerikleri aşağıdaki gibidir: Giriş adresi bu girişin arabirimine karşı düşen IP adresini içerir. Giriş ifindex bu varlığın altağ bağlantısı ile ilgili arabirim numarasını (port numarası) içerir. Giriş ağ maskesi sütunu, giriş adresi sütunundaki IP adresi ile ilgili altağ maskesini içerir. Broadcast adresi IP broadcast adresindeki en az ağırlıklı bitin değerini içerir. Broadcast adresi, datagramları bölgesel arabirim üzerine göndermek için kullanılır ve bu satırdaki IP adresi ile ilgilidir. Datagramın maksimum büyüklüğü sütunu bu IP modülünün işleyebileceği bir datagramın maksimum büyüklüğünü verir.

Şekil 7-9 IP Adres Tablosu 7.5.2 Rotalama tablosu 1990 a kadar bir IP rotalama tablosu, ilgili satıcının gerekli gördüğü biçimde tasarlanmaktaydı. Internet Management Information Base (MIB) in yayınlanması ile IP rotalama tablosunun daha resmi bir tanımlaması yapılmış oldu. Şekil 7-10 da, RFC 1213 yayınında tanımlanan MIB standardındaki bir IP rotalama tablosu gösterilmiştir. IP rotalama tablosunun her bir satırı; bu tabloyu saklayan IP nin bildiği her bir rota için bir giriş içerir. Sütunlar her bir satır için bulunabilen bilgileri içerirler. Aşağıda her bir sütun tanıtılacaktır. Varış girişi bu rotanın varışının IP adresini içerir. Eğer bu sütun 0.0.0.0 olarak kodlanmışsa rota, default rota olarak algılanır. IfIndex girişi arabirim indeksini belirtir. Sıradaki hop a ulaşmamızı sağlayacak bölgesel arabirimi (fiziksel port olarak da anılır) tanıtır. Takip eden beş sütun metrik olarak etiketlenmiştir. Metrik girişleri rota kararlaştırmada kullanılan cost metrik bilgilerini içerirler. Çoğu sistemde cost metrik, varışa ulaşırken aşılacak hop sayısıdır. Daha sofistike rota bulma protokollerinin (OSPF gibi) gelişmesi ile rotayı hesaplarken birden fazla cost metrik kullanılabilmesi olanağı doğdu. Rotalama tablosunda en çok beş cost metrik saklanabilir. Sıradaki hop girişi bu rota için bir sonraki hop un IP adresini içerir. Tablodaki diğer sütun ise rota tipidir. Dört değerden birine set edilerek aşağıdaki bilgiler sağlanır: 1 = aşağıdakilerden hiç biri 2 = geçersiz bir rota 3 = doğrudan bağlantılı bir rota (doğrudan bağlantılı bir altağ) 4 = dolaylı (bu varış için dolaylı bir bağlantı var) Rotalama protokolü girişi bu rotayı bulan rota bulma protokolünü belirtir. Eğer rota, rota bilgi protokolü (RIP) ile bulunmuşsa bu sütundaki değer 8 olmalıdır; eğer cisco internal group routing protokolü ile bulunmuşsa, bu değer 11 olmalıdır; vb... Rota yaşı, rotanın güncelleştirilmesinden veya kontrol edilmesinden itibaren geçen zamanı saniyeler cinsinden verir.

Rota maskesi sütunu, bu rotanın maskesini içerir. Bu maske IP datagramındaki varış adresi ile mantıksal VE işleminden geçirilir ve bulunan değer daha sonra bu tablodaki 1. sütun ile (varış etiketli sütun) karşılaştırılır. Rota bilgisi olarak etiketlenen son sütun, belirli bir rotalama protokolü ile ilgili MIB tanımlaması için referans verir. Bunun değeri bu satır girişinde kullanılan rotalama protokolü tipine dayanır. IP rotalama tablosundaki bir satır girişine örnek olarak, 5. bölümdeki Şekil 5-5 e başvuralım. Bu şekilde varış ağlarından biri 14.0.0.0 olarak gösterilmiştir. Sonuç olarak, 8. router daki rotalama tablosunun perspektifi ile bu ağın sütun girişleri şunlardır: varış = 14.0.0.0 arabirim indeksi (ifindex) = 3 metrik 1 = hop sayısı (diğer metrik sütunları boştur) sıradaki hop = 13.0.0.2 rota tipi = dolaylı (4) rotalama protokolü = egp (5) (örneğin) rota yaşı = 5 saniye (örneğin) rota maskesi = belirli opsiyonlar rota bilgisi = değeri rotalama protokolü girişine bağlıdır. Şekil 7-10 Olası bir IP Rotalama Tablosu