IPv4

İnternet Protokolünün 4. sürümü

İnternet Protokol Versiyon 4 (IPv4), İnternet Protokolü'nün (IP) dördüncü versiyonudur.

Internet Protocol version 4
KısaltmaIPv4
Amaçinternetworking protokolü
Geliştirici(ler)DARPA
Kullanıma giriş1981 (43 yıl önce) (1981)
EtkilediğiIPv6
OSI katmanıAğ katmanı
RFC(ler)791
İnternet iletişim kuralları dizisi

OSI modeli

Katman İletişim kuralları
7. Uygulama katmanı HTTP, DNS, SMTP, FTP, TFTP, UUCP, NNTP, SSL, SSH, IRC, SNMP, SIP, RTP, Telnet, ...
6. Sunum katmanı ISO 8822, ISO 8823, ISO 8824, ITU-T T.73, ITU-T X.409, ...
5. Oturum katmanı NFS, SMB, ISO 8326, ISO 8327, ITU-T T.6299, ...
4. Ulaşım katmanı TCP, UDP, SCTP, DCCP, ...
3. Ağ katmanı IP, IPv4, IPv6, ICMP, ARP, İnternet Grup Yönetim Protokolü, IPX,...
2. Veri bağlantısı katmanı Ethernet, HDLC, Wi-Fi, Token ring, FDDI, PPP, L2TP...
1. Donanım katmanı ISDN, RS-232, EIA-422, RS-449, EIA-485, ...

IPv4, 32-bitlik adreslerden oluşmaktadır ve (232) tekil adres sağlamaktadır.[1]

Tarihçe

değiştir

IPv4, RFC 791'de tanımlanmıştır (Eylül 1981).[2] Bir önceki versiyonu olan RFC 760'ın (Ocak 1980) yerini almıştır.[3]

IPv4 paket anahtarlamalı bağlantı katman (internet layer) ağları üzerinde kullanım için bir bağlantısız protokoldür. En iyi çabayla dağıtım (best effort delivery) modeli üzerinde çalışır. Bilgi bütünlüğü içeren bu yönleri bir üst katman taşıma protokolü tarafından adreslenirler. (Örn.: TCP)

Adresleme

değiştir

IPv4 adresleri 32 bittir. 32 bit ile en fazla 4,294,967,296 (232) IPv4 adreslemesi yapmak mümkündür. Bazı IPv4 adresleri; özel ağlar (private network) (~18 milyon adres ) ya da çok yöne yayın (multicast) adresleri (~270 milyon adres ) gibi özel amaçlarla ayrılmıştır. Bu, genel internet üzerinde yönlendirme için muhtemelen ayrılacak olan adres sayısını azaltır. Ağ adresleme mimarisinin sınıflı ağ (classful network) dizaynı aracılığıyla yeniden düzenlenmesine, sınıfsız alanlar arası yönlendirme (Classless Inter Domain Routing) ve ağ adres çevirisinin (NAT) kaçınılmaz tüketimi büyük oranda ertelemesine rağmen adresler artarak son kullanıcılara verildikçe bir IPv4 adres eksikliği ortaya çıkmaktadır.

IPv4 uzayındaki adres sınırı, yeni yeni kullanılmaya başlayan fakat bu konuda uzun dönemli tek çözüm olan IPv6'nın gelişimini teşvik etmektedir.

Adres Gösterimleri

değiştir

IPv4 adresleri, genellikle noktalarla ayrılan ve onluklar şeklinde ifade edilen, 4 oktetli notasyonda yazılırlar.

IPv4 yazım formatları aşağıdaki tabloda gösterilmiştir:

Gösterim Değer Noktalı onluk gösterime çevirim
Dot-decimal notation 192.0.2.235 N/A
Noktalı Onaltılık 0xC0.0x00.0x02.0xEB Her oktet bireysel olarak onaltılık şekle dönüştürülür
Noktalı Sekizlik 0300.0000.0002.0353 Her oktet bireysel olarak sekizlik şekle dönüştürülür
Onaltılık 0xC00002EB Dotted-hexadecimalden oktetlerin birleştirilmesi
Onluk 3221226219 Onluk düzende belirtilmiş 32 bit sayı
Sekizlik 030000001353 Sekizlik düzende belirtilmiş 32 bit sayı

Adres Atamaları

değiştir

Sınıflı IP Adresleme

değiştir

Bir IPv4 adresi iki kısımdan oluşur: Ağ adresi ve host adresi. Host adresine (İngilizce: rest field) de denmekteydi. Başlangıçta kullanılan bu yapıda en fazla 256 adet ağ adresi tanımlanabilmekteydi. Daha sonraları bu ağ adresleme modeli yetersiz kaldı.

Bu yetersizliği aşmak için, 1981 yılında most-significant address octet'leri ağ adresleri sınıfları oluşturmak amacıyla yeniden tanımlandı. Bu metod zaman içerisinde Classful networking olarak isimlendirildi. Bu sistemde 5 adet sınıf tanımlandı: A sınıfı, B sınıfı, C sınıfı, D sınıfı ve E sınıfı. A, B ve C sınıflarındaki ağ adresleri farklı uzunluklarına sahiptirler.

D sınıfı adresler multicast adreslemesi için ayrılırken ve E sınıfı adresler gelecekteki bazı uygulamaları için ayrılmıştır.[4]

Mevcut Classful adreslerin Subnet'lere bölünmesi 1985 yılında RFC 950 ile başlamıştır. Bu adres bölünmesi, oldukça esnek bir yöntem olan 'değişken uzunluklu alt ağ maskeleme' (variable-length subnet mask (VLSM)) ile RFC 1109 içinde tanımlanmıştır.

1993'te yayınlanan IETF standardı RFC 1517 temel alınarak bu kategoriler sistemi resmi olarak sınıfsız alanlar arası yönlendirme (CIDR)’nin yerini aldı ve aksine sınıflandırma temelli düzene sınıflı adreslendirme (classful) adı verildi. CIDR herhangi bir adres yüzeyinin yeniden parçalara ayrılmasına izin vermesi için tasarlanmıştı. Böylece tüm kullanıcılar için daha küçük ya da daha büyük adres blokları tahsis edilebilirdi. CIDR tarafından yaratılan hiyerarşik yapı IANA ve RIRs tarafından idare edilmektedir. Her bir RIR, IP adresi görevleriyle, hakkında bilgi sağlayan alenen incelenebilir bir WHOIS veritabanı tutar.

Sınıfsız IP Adresleme

değiştir
Alt Ağ Oluşturma (Subnetting)
değiştir

IP uzaylarının alt ağlara bölünmesi işlemine alt ağlandırma (subnetting) diyoruz. Alt ağlara bölme işleminin bize sağladıklarını;

1. Ağ performansını ve hızını artırır. Yönlendiricilerin kullanıldığı ortamlarda yoğun ağ trafiği mevcuttur ve yönlendiriciler yayın alanı yaratmaktadır. Yayın alanı (broadcast domain), ağda bir ağın üyesi olan istemcilerin yönlendiriciye ulaşmadan diğer istemci cihazlarla veri iletişiminde bulunabildiği yapıdır. Yayın alanı sayısı arttıkça o alan içerisindeki ağ trafiği, tek bir yayın alanına sahip yapıya göre azalacaktır.

2. Ağ tıkanıklığını azaltır

3. Ağın yönetimini kolaylaştırır. İzole edilmiş ağlarda problemlerin tespit edilmesi daha kolay ve anlaşılır olmaktadır.

4. Ağ güvenliğine yardımcı olur.

şeklinde sıralayabiliriz.[5]

Subnetting İşlemi

Bir ağı alt ağlara bölerken sıklıkla kullanacağımız iki formül vardır. Birincisi alt ağda yer alacak host sayısı, ikincisi ise kaç adet alt ağ olacağını bulmamıza yarar:

   2^n -2 >= bir alt ağdaki host sayısı
   2^m >= alt ağ sayısı

Örnek: 192.168.0.0 255.255.255.0 ağını 2 alt ağa ayıralım.

Alt ağların sayısını bildiğim için “2^m >= alt ağ sayısı” formülünü kullanacağım. 2^m >= 2 ifadesinde m değeri için 1 vermek yeterlidir. 1 değeri yeni ağların yeni alt ağ maskesini hesaplarken kullanılacaktır. Bu host bitlerinden 1 bitin kullanılacağı anlamına gelmektedir. Host biti alt ağ maskesindeki 0'lar ile gösterilen alandir. Ağ biti ise 1'ler ile gösterilen alandır.

Örnekte verilen maske bilgisi 255.255.255.0

11111111.11111111.11111111.00000000: 255.255.255.0 (Şu anki subnet mask)
11111111.11111111.11111111.10000000: 255.255.255.128 (Yeni subnet mask)

Yeni durumda host bitlerinin sayısı 7 oldu. Bu durumda her ağda kullanılacak IP sayısı ise 2^7-2= 126 olacaktır. Burada sayıyı 2 eksiltmemizin sebebi bir tane IP'nin alt ağ kimliği için, bir tanesinin de yayın adresi için kullanılacağıdır. Alt ağ kimliği ve yayın adresleri bu amaçlarla özel olarak ayrılmış adresler olduğundan bu adresleri bir hosta vermek mümkün değildir. Peki alt ağ kimliği ve yayın adresi nasıl bulacağız? Alt ağlandırma alt ağ kimliği ve yayın adresini bulmak için alt ağ kimliği, ilk IP, son IP, yayın adresi sıralamasını kullanınız.

Subnet ID+1 = İlk IP

Son IP + 1 = Broadcast Adresi

Subnet ID -1 = Broadcast Adresi

Ilk networkun Subnet ID' si ile ikinci networkun Subnet ID' si arasındaki fark 2^n kadardır. Bu bilgiler doğrultusunda rahatlıkla Subnet ID ve Broadcast adresi bulabilirsiniz.

Son durumda 2 alt networkum aşağıdaki gibi olacaktır:

Subnet ID İlk IP Adresi Son IP Adresi Broadcast Adresi
192.168.0.0 192.168.0.1 192.168.0.126 192.168.0.127
192.168.0.128 192.168.0.129 192.168.0.254 192.168.0.255
VLSM (Variable Length Subnet Mask)
değiştir

VLSM, Aralık 1995'te RFC 1878[6] ile yayımlanmıştır. Değişken uzunluklu alt ağ maskesi, ([[Sınıfsız alanlar arası yönlendirme |Variable Length Subnet Mask (VLSM)]]) farklı boyutlardaki alt ağları tanımlamak için kullanılır.

CIDR ve Üst ağ oluşturma (Supernetting)
değiştir

1993 yılında adres sınıfından bağımsız yönlendirme (CIDR) (İngilizceClassless Inter-Domain Routing) tanıtıldı. CIDR üst ağ oluşturma (İngilizce: Supernetting)yı gerçekleştirmek için kullanılır. Üst ağ oluşturma yön kümeleme (İngilizce: Route Aggregation ) ye olanak sağlar. CIDR, CIDR notasyonu olarak da bilinen önek notasyonunu tanıttı. Önek/CIDR notasyonu sınıfsız IP adreslemenin 3 şeklinde kullanılıyor: Alt ağ oluşturma, VLSM/farklı boyutların alt ağları, CIDR / Üst ağ oluşturma.

IP adres sınıflarının orijinal sistemi CIDR ile yer değiştirdi ve sınıf-tabanlı şema karşılaştırma amacıyla sınıflı (classful) olarak adlandırıldı. CIDR'ın en temel avantajı; herhangi bir adres alanının, daha küçük ya da daha büyük adres blokları kullanıcılara ayrılabilmesi amacıyla yeniden bölümlendirilmesine izin vermesidir.

CIDR tarafından oluşturulan, IANA (Internet Assigned Numbers Authority ) ve RIRs (Regional Internet registry) tarafından denetlenen hiyerarşik yapı, internet adreslerinin dünya çapında uygulamasını yönetir. Her RIR, IP adresi uygulamaları hakkında bilgi sunan genel araştırılabilen WHOIS veritabanını muhafaza eder. Bu veritabanlarından gelen bilgi IP adreslerini coğrafik olarak konumlandırmaya çabalayan çok sayıda araçta merkezi bir rol oynar.

Özel Kullanım Adresleri

değiştir
Özel Adres Blokları
Adres bloğu Adres aralığı Adres sayısı RFC Tanım
0.0.0.0/8 0.0.0.0–0.255.255.255 16,777,216 RFC 5735 Mevcut Ağ (Yalnızca kaynak adres olarak geçerlidir.)[7]
10.0.0.0/8 10.0.0.0–10.255.255.255 16,777,216 RFC 1918 Özel ağlar[8]
100.64.0.0/10 100.64.0.0–100.127.255.255 4,194,304 RFC 6598 Özel ağlar, CGNAT vs.
127.0.0.0/8 127.0.0.0–127.255.255.255 16,777,216 RFC 5735 Loopback adresi[7]
169.254.0.0/16 169.254.0.0–169.254.255.255 65,536 RFC 3927 Link-local address[9]
172.16.0.0/12 172.16.0.0–172.31.255.255 1,048,576 RFC 1918 Özel ağlar[8]
192.0.0.0/24 192.0.0.0–192.0.0.255 256 RFC 5735 IANA için ayrılmıştır.[7]
192.0.2.0/24 192.0.2.0–192.0.2.255 256 RFC 5737 TEST-NET-1. Dokümantasyon için ayrılmıştır.[10]
192.88.99.0/24 192.88.99.0–192.88.99.255 256 RFC 3068 Rezerve. IPv6 IPv4 geçişi için kullanulmıştır.[11]
192.168.0.0/16 192.168.0.0–192.168.255.255 65,536 RFC 1918 Özel ağlar[8]
198.18.0.0/15 198.18.0.0–198.19.255.255 131,072 RFC 5735 Ağlar arası kalite testleri için kullanılmıştır.[7]
198.51.100.0/24 198.51.100.0–198.51.100.255 256 RFC 5737 TEST-NET-2. Dokümantasyon için ayrılmıştır.[10]
203.0.113.0/24 203.0.113.0–203.0.113.255 256 RFC 5737 TEST-NET-3. Dokümantasyon için ayrılmıştır.[10]
224.0.0.0/4 224.0.0.0–239.255.255.255 268,435,456 RFC 3171 Multicast adresleri (Önceki D sınıfı adresleri)[12]
240.0.0.0/4 240.0.0.0–255.255.255.254 268,435,456 RFC 5735 Rezerve. (Önceki E sınıfı adresleri)[7]
255.255.255.255 255.255.255.255 1 RFC 919 Broadcast adresi[13]

Özel Ağlar

değiştir

IPv4'te yer alan adreslerin üç bloğu özel ağlarda (Private networks) için kullanılmak üzere ayrılmıştır. Bu IP adres blokları özel ağların dışında yönlendirilmezler. Özel ağ IP adreslerine sahip olan bilgisayarlar ancak ağ adresi dönüştürme (NAT) yapılarak internete erişim sağlayabilirler.

Aşağıdaki tabloda özel ağlar için ayrılmış olan adres blokları gösterilmiştir:

Özel Ağ Blokları[8]
İsim Adres aralığı Adres sayısı Tanım CIDR bloğu
24-bit blok 10.0.0.0–10.255.255.255 16,777,216 Tek A Sınıfı 10.0.0.0/8
20-bit blok 172.16.0.0–172.31.255.255 1,048,576 16 adet ardışık B sınıfı bloğu 172.16.0.0/12
16-bit blok 192.168.0.0–192.168.255.255 65,536 256 adet ardışık C sınıfı bloğu 192.168.0.0/16
değiştir

RFC 5735 169.254.0.0/16 adres bloğunu yerel bağlantı adreslemede özel kullanım için tanımlar. Bu adresler yalnızca hostun bağlı olduğu noktadan noktaya bağlantı ve yerel ağ segmenti gibi linklerde geçerlidir. Bu adresler yönlendirilebilir değildir ve özel adresler gibi internette dolaşan hedef ya da kaynak paketler olamazlar. Yerel bağlantı adresleri, bir host bir IP adresini DHCPserverından ya da diğer içsel yapılandırma methodlarından alamadığında yerel olarak adres oto yapılandırılması için kullanılır.

Adres boğu ayrıldığında, adres oto yapılandırılmasının mekanizmaları için herhangi bir standart oluşmaz. Microsoft Otomatik Özel IP Adresleme - APIPA adında bir uygulama oluşturarak bu boşluğu doldurmuştur. Microsoft'un pazarlama gücüne göre APIPA milyonlarca makineye yayıldı ve dolayısıyla endüstride De facto standardı haline geldi. Pek çok yıl sonra IETF, IPv4 yerel bağlantı adreslerinin dinamik yapılandırılması olarak anılan RFC 3927 fonksiyonellik için resmi bir standart tanımladı.

Localhost

değiştir

127.0.0.0–127.255.255.255 (127.0.0.0/8 CIDR notasyonunda) adres bloğu [localhost] iletişimi için ayrılmıştır. Bu blok içerisindeki adresler host bilgisayarı dışında asla dışarı çıkmamalıdır ve bu adrese gönderilen paketler aynı sanal ağ aygıtında gelen paketler olarak çevrilirler (geri döngü veya loopback olarak bilinir).

0 ya da 255 ile Biten Adresler

değiştir

0 veya 255 oktetiyle biten adreslerin hiçbir zaman hostlara atanamadıkları yaygın bir yanlış anlaşılmadır. Bu sadece en azından 24 bitlik alt ağ maskeli ağları, eski sınıflı adresleme şemasındaki C sınıfı ağlar ve /24'ten /32'ye maskeli ağlar içeren CIDR için doğrudur.

Sınıflı adreslemede (CIDR'ın ortaya çıkmasıyla yürürlükte olmayan) sadece üç tane muhtemel alt ağ maskesi vardır: A, B ve C sınıfı. Örneğin 192.168.5.0/255.255.255.0 (veya 192.168.5.0/24) alt ağında 192.168.5.0 tanımlayıcısı bütün alt ağı temsil eder ve dolayısıyla aynı anda o alt ağdaki bireysel bir aygıtı temsil edemez.

Paket yapısı

değiştir

IP paketleri başlık kısmı ve veri kısmı olmak üzere iki kısımdan oluşur. IP paketlerinde, bazı veri bağlantısı katmanı protokollerinde olduğu gibi veri sağlama sayısı veya başka herhangi bir altlık içermez. Genellikle veri bağlantısı katmanı tarafından IP paketlerinin sarmalandığı paketlerin döngüsel artıklık denetimi altlıkları tarafından birçok hata tespit edilir. Ayrıca uçtan uca TCP katmanı sağlama toplamı birçok diğer hatayı tespit etmektedir.[14]

Başlık

değiştir

IPv4 paket başlığı 14 alandan oluşur. Bunlardan 13 tanesinin doldurulması zorunludur, (tabloda kırmızı arka plan ile gösterilen) 14. alan ise isteğe bağlıdır seçenekler alanı olarak adlandırılır. Başlıktaki alanlar yüksek basamaklı bayt başta olacak şekilde sıralanır ve diyagram ve tartışmalarda da yüksek basamaklı bitler önce yazılır. En yüksek basamaklı bit 0 numaralı olandır. Dolayısıyla sürüm alanı ilk baytın dört en yüksek basamaklı bitinde bulunur demek daha doğru bir tanımdır.

IPv4 Başlığı
Ofset Oktet 0 1 2 3
Oktet Bit 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
0 0 Sürüm IHL DSCP ECN Toplam Uzunluk
4 32 Kimlik Bayraklar Parçanın Bağıl Konumu
8 64 Time To Live (Paket Ömrü) Protokol Başlık Sağlama Toplamı
12 96 Kaynak IP Adresi
16 128 Hedef IP Adresi
20 160 Seçenekler (IHL > 5 ise)
Sürüm (Version)

IP paket başlıklarındaki ilk alan dört bit uzunluğundaki sürüm alanıdır. IPv4 için bu alana konacak değer 4'tür. (IPv4 adındaki v4 versiyon 4'ü temsil eder)

İnternet Başlık Uzunluğu (IHL)

4 bit uzunluğundaki bu ikinci alan başlıkta bulunan 32 bitlik (word) sayısıdır. Yani bu alandaki değer başlığın kaç adet 32 bitten oluşabileceğini göstermektedir. Başlıkta uzunluğu değişebilen tek alan seçenekler alanı olduğundan başlığın uzunluğunu bu alana belirler. Uzunluğun 32 bitin katı olmaması durumunda en yakın katına yuvarlanacak şekilde doldurma bitleri eklenir. Bu alanın alabileceği en düşük değer 5'tir (RFC 791). Bu da 5×32 = 160 bit = 20 bayta karşılık gelir. Bu alan 4 bitlik uzunlukta olduğundan gelebilecek en büyük değer 15'tir (yani 15×32 bit = 480 bits = 60 bayt).

Sınıflandırılmış Hizmetler Kod Noktası (DSCP)

Aslında ilk olarak Hizmet Türü (ToS veya Type of Service) alanı olarak tanımlanmıştır. Ancak RFC 2474'ten itibaren Sınıflandırılmış Hizmetler (DiffServ veya Differentiated Services) alanı olarak tanımlanmıştır. Gitgide gerçek zamanlı veri akışı gerektiren ve dolayısıyla DSCP alanını kullanan yeni teknolojiler kullanıma girmektedir. Etkileşimli ses verisi takasını sağlayan Voice over IP (VoIP) buna bir örnek olarak gösterilebilir.

Açık Tıkanıklık Bildirimi (Explicit Congestion Notification, ECN)

RFC 3168 ile tanımlanan bu alan, paketleri düşürmeden uçtan uca ağ tıkanıklığı bildiriminin yapılmasını sağlar. İsteğe bağlı olarak kullanılan ECN yalnızca iki üç noktanın da bu özelliği desteklemesi ve kullanmak istemesi durumunda uygulanabilir. Yalnızca üzerinde olunan ağ tarafından desteklenmesi durumunda etkilidir.

Toplam Uzunluk

Paketteki başlık ve verinin birlikte toplam uzunluğunu belirten bu 16 bitlik alanın alabileceği en küçük değer 20 (20 bayt başlık + 0 bayt veri), en büyük değer ise 65.535 bayttır (16 bitlik bir sayının alabileceği en büyük değer). IP paketlerinin mümkün olan en büyük uzunluğu 65.535 olsa da bu paketleri çerçeve adı verilen iletim birimlerine sarmalayıp taşıyan alt katman protokollerinin taşıyabileceği maksimum çerçeve uzunluğu değişkenlik göstermektedir. Standartlara göre tüm hostlar 576 bayta kadar olan tüm veri bloklarını kabul edebilmelidir. Günümüzde birçok host çok daha büyük paketleri taşıyabilmektedir. Ancak bazen bazı alt ağlar maksimum paket büyüklüğü üzerine kısıtlama koymaktadır. Bu durumda bu sınırı aşan veri bloklarının parçalara ayrılarak taşınması gerekmektedir. Bu işleme parçalandırma (fragmentation) denmektedir. Desteklenen maksimum paket büyüklüğünün 576 bayttan az olamayacağı standartla sabitlendiği için 576 bayta kadar olan tüm paketlerin parçalandırılmaya gerek kalmadan taşınabileceği kesindir. IPv4 protokolünde parçalandırma işlemi hostlarda veya yönlendiricilerde gerçekleştirilebilir.

Kimlik

Tanımlama alanı olarak adlandırılan bu alan parçalandırılmış paketlerin hangi IP paketine ait olduğunu anlamak için her pakete eklenen ve aynı paketin parçaları olan paketlerde aynı olan sayının bulunduğu alandır. Bazı deneysel çalışmalar tanımlama alanının başka amaçlar için de kullanılmasını önermiştir. Örneğin bu alanın kaynak adresi alanında sahte bilgi içeren veri bloklarının takip edilmesini kolaylaştırma amacıyla kullanılabileceği önerisi yapılmış,[15] ancak RFC 6864 tarafından bu tür kullanımlar yasaklanmıştır.

Bayraklar

Üç bitlik bu alan paket parçalarının kontrol edilmesi ve tanımlanabilmesi amacıyla kullanılmaktadır. Yüksek basamaktan düşüğe doğru sıralı olmak üzere bayrak bitleri su şekildedir:

  • bit 0: Ayrılmış; sıfır olmalıdır.[not 1]
  • bit 1: Parçalandırmama işareti (DF, Don't Fragment)
  • bit 2: Daha Parça Var işareti (MF, More Fragments)

Eğer DF bayrağı ayarlanmışsa ama paketin aktarımı esnasında yönlendirilebilmesi için parçalandırılması gerekiyorsa, paket düşürülür ve hata iletisi gönderilir. Bu ayar parçalandırma işlemleriyle ilgilenecek miktarda kaynağı bulunmayan bir hosta paket gönderirken kullanılabilir. Bir diğer kullanım alanı da paketin aktarım yolunun desteklediği maksimum paket boyutunu ölçmektir. Bu ölçme IP yazılımı tarafından kendiliğinden veya ping veya traceroute gibi bazı ağ tanılama araçlarıyla kullanıcı tarafından gerçekleştirilebilir. MF biti, kendisinden sonra gelecek başka parçaların olduğu paketlerde 1 olarak, son paketlerde ise 0 olarak işaretlidir. Parçalandırılmamış paketler de kendilerinin ilk ve son parçası olarak düşünülebileceğinden bu paketlerde MF biti 0'dır. Parçalandırılmış paketlerin de son parçaları hariç tüm parçalarında bu bit 1 olarak ayarlıdır. MF biti 0 olan bir paketin tek başına bir paket mi yoksa bir paketin parçası mı olduğu Parçanın Başlangıç Konumu alanından anlaşılır. Zira o alan tek parçadan oluşan paketlerde 0 olacaktır.

Parçanın Bağıl Konumu (Fragment Offset)

Orijinal paketin başlangıcına göre parçanın bağıl konumunu belirten bu alandaki 13 bit uzunluğunda olan sayının birimi sekiz bayttır (64 bit). Yani parçanın, orijinal paketin kaçıncı 64 bitlik kısmından itibaren olan kısmını içerdiğini belirtir. Bu alanla en fazla (213 – 1) × 8 = 65.528 bayt uzunluğunda konum belirtilebilir ancak bu başlık da dahil edildiğinde maksimum IP paket boyutunu (65.535) aşmaktadır (65.528 + 20 = 65.548 bayt).

Yaşam süresi (Time To Live) (TTL)

Sekiz bitten oluşan yaşam süresi paketlerin internet üzerinde döngülere takılarak sonsuza kadar kalmasını engeller. Teorik olarak bu alan paketin kalan ömrünü saniye türünden belirtir ve yol üzerinde paketin üzerinden geçtiği her düğüm yaşam süresi alanından paketin işlenmesi sırasında geçen süreyi düşer. 1 saniyeden kısa geçen süreler 1 saniyeye yuvarlanır. Günümüzde paketler yönlendiriciler üzerinden 1 saniyeden çok daha küçük sürelerde aktarıldığından uygulamada bu alan atlama sayısının ölçüsü olarak kullanılır. Yönlendiriciler paketi teslim aldığında TTL alanını bir azaltır. Sayı sıfır olduğunda paket düşer ve göndericiye ICMP Zaman Aşımı (ICMP Time Exceeded) iletisi gönderilir.

Traceroute yazılımı da paketin kaynaktan hedefe giderken üzerinden geçtiği yönlendiricilerin listesini oluştururken yönlendiricilerden gelen ICMP Zaman Aşımı iletilerini kullanır.

Protokol

Bu alan IP paketlerinin veri kısmında hangi protokolün kullanıldığını tanımlar. İnternet Tahsisli Sayılar ve İsimler Kurumuna bağlı çalışan İnternet Tahsisli Sayılar Otoritesi, RFC 790 ile belirenmiş IP protokol numaralarının bir listesini tutmakktadır.

Başlık Sağlama Toplamı

16 bit uzunluğundaki sağlama toplamı alanı başlıkta hata denetimi yapmak amacıyla kullanılır. Yönlendiriciye bir paket vardığında, yönlendirici paket başlığının sağlama toplamını hesaplar ve başlıkta yazan sağlamayla karşılaştırır. Eğer değerler bağdaşmıyorsa yönlendirici paketi yok sayar. Veri kısmındaki hatalarla veriyi sarmalayan protokol ilgilenmelidir. Hem UDP'nin hem TCP'nin sağlama toplamı vardır. Yönlendiriciye bir paket vardığında yönlendirici paketin TTL alanını bir azaltır. Sonra da yeni sağlama toplamını hesaplar. RFC 1071 sağlama toplamının hesaplanmasını şöyle tarif etmektedir:

Sağlama toplamı alanı, başlıktaki 16 bitlik tüm sözcüklerin bire tümleyen toplamının bire tümleyeninin alınmasıyla elde edilen 16 bitlik sayıdır. Sağlama toplamı hesaplanırken başlıktaki sağlama toplamı bölümü sıfır olarak alınır.

Örneğin on altılık gösterimi şu şekilde olan başlık verisini ele alalım: 4500003044224000800600008c7c19acae241e2b. Bu veri toplamda 20 bayt uzunluğundaki bir IP paketi başlığıdır. Standart ikinin tümleyeni artimetiğini uygulayan bir makinede:

1. Adım) 4500 + 0030 + 4422 + 4000 + 8006 + 0000 + 8c7c + 19ac + ae24 + 1e2b = 0002BBCF (32-bit toplam)
2. Adım) 0002 + BBCF = BBD1 = 1011101111010001 (16 bitlik bire tümleyen toplamı, bu toplam 32 bitlik ikiye tümleyen toplamını 16 biti aşan basamakların başa taşınıp toplama eklenmesiyle hesaplanır. Toplamın basamak sayısı 16 biti aştıkça bu işlem tekrarlanır)
3. Adım) ~BBD1 = 0100010000101110 = 442E (16-bitlik bire tümleyeni toplamının bire tümleyeni)

Başlığın sağlama toplamını doğrulamak için aynı algoritma kullanılabilir – doğru bir sağlama toplamı bulunduran bir başlığın sağlama toplamı hesaplandığında tamamen 0'dan oluşan bir sözcük elde edilir:

2BBCF + 442E = 2FFFD. 2 + FFFD = FFFF. FFFF'nin bire tümleyeni = 0.
Kaynak adresi

Bu alan paketi gönderenin IPv4 adresidir. Ulaştırma esnasında bu adresin ağ adresi çözümleme aygıtı tarafından değiştirilebileceğine dikkat edin.

Hedef adresi

Bu alan paketin alıcısının IPv4 adresidir. Kaynak adresi gibi bu adres de bir ağ adresi çözümleme aygıtı tarafından ulaştırma esnasında değiştirilebilir.

Seçenekler

Seçenekler alanı çok sık kullanılmaz. IHL başlğında bulunan 32 bitlik sözcüklerin uzunluğunun tüm seçenekleri kapsayacak kadar büyük olması gerektiğine dikkat ediniz, toplam uzunluğun 32 bitin katı olmaması durumunda başlık gereken miktarda dolgu verisiyle doldurulmalıdır. Seçenekler listesi EOL (Seçenekler Listesi Bitimi, 0x00) seçeneği ile bitirilebilir ancak bu yalnızca seçeneklerin sonu başka türlü başlığın sonuyla denk gelmiyorsa gereklidir. Başlığa konulabilecek seçeneklerin listesi şöyledir:

Alan Boyut (bit) Açıklama
Kopyalandı (Copied) 1 Eğer seçeneklerin parçalandırılan paketlerin tüm parçalarına kopyalanması gerekiyorsa 1 olarak ayarlanır.
Seçenek Sınıfı (Option Class) 2 Genel seçenek kategorisi. "kontrol" seçenekleri için 0, "hata ayıklama ve ölçümleme" için 2 kullanılır. 1 ve 3 işlevi daha sonra belirlenmek üzere ayrılmıştır.
Seçenek Numarası (Option Number) 5 Seçeneğin ne olduğunu belirtir.
Seçenek Uzunluğu (Option Length) 8 Tüm seçeneğin boyutunu belirtir (bu alan da dahil). Basit seçenekler için bu alan kullanılamayabilir.
Seçenek Verisi (Option Data) Variable Seçeneğe özgü veriler için kullanılır. Basit seçeneklerde bu alan bulunmayabilir.
  • Not: Eğer başlık uzunluğu 5'ten büyükse, yani 6'dan 15'e kadarsa seçenekler alanı kullanılmış demektir dolayısıyla dikkate alınır.
  • Not: Kopyalandı, Seçenek Sınıfı ve Seçenek Numarasından bazen "Seçenek Türü" adlı sekiz bitlik tek bir alan olarak söz edilir.

Loose Source and Record Route (LSRR) ve Strict Source and Record Route (SSRR) seçeneklerinin kullanılması güvelik kaygıları nedeniyle önerilmemektedir. Bu seçenekleri barındıran paketleri birçok yönlendirici engellemektedir.[16]

Ayrıca bakınız

değiştir
  1. ^ Nisan 1 şakası olarak RFC 3514'te "Evil bit", yani şeytani bit olarak kullanılması önerilmiştir.

Kaynakça

değiştir
  1. ^ "BGP Table Data". 1 Nisan 2004 tarihinde kaynağından arşivlendi. Erişim tarihi: 17 Ocak 2023. 
  2. ^ [1] 17 Ocak 2023 tarihinde Wayback Machine sitesinde arşivlendi.
  3. ^ [2] 17 Ocak 2023 tarihinde Wayback Machine sitesinde arşivlendi.
  4. ^ "Transmission Control Protocol (TCP)". Ekim 2020. 18 Ağustos 2022 tarihinde kaynağından arşivlendi. Erişim tarihi: 17 Ocak 2023. 
  5. ^ CBT Nuggets (Ocak 2017). "5 Subnetting Benefits". 24 Mart 2019 tarihinde kaynağından arşivlendi. Erişim tarihi: 31 Ocak 2023. 
  6. ^ Internet Engineering Task Force (IETF) (Aralık 1995). "Variable Length Subnet Table For IPv4". 20 Aralık 2018 tarihinde kaynağından arşivlendi. Erişim tarihi: 18 Ocak 2023. 
  7. ^ a b c d e Internet Engineering Task Force (IETF) (Ocak 2010). "Special Use IPv4 Addresses". 1 Mart 2020 tarihinde kaynağından arşivlendi. Erişim tarihi: 17 Ocak 2023. 
  8. ^ a b c d Internet Engineering Task Force (IETF) (Şubat 1996). "Address Allocation for Private Internets". 15 Ekim 2010 tarihinde kaynağından arşivlendi. Erişim tarihi: 17 Ocak 2023. 
  9. ^ Internet Engineering Task Force (IETF) (Mayıs 2005). "Dynamic Configuration of IPv4 Link-Local Addresses". 1 Mart 2020 tarihinde kaynağından arşivlendi. Erişim tarihi: 17 Ocak 2023. 
  10. ^ a b c Internet Engineering Task Force (IETF) (Mayıs 2005). "IPv4 Address Blocks Reserved for Documentation". 24 Temmuz 2021 tarihinde kaynağından arşivlendi. Erişim tarihi: 17 Ocak 2023. 
  11. ^ Internet Engineering Task Force (IETF) (Haziran 2001). "An Anycast Prefix for 6to4 Relay Routers". 1 Mart 2020 tarihinde kaynağından arşivlendi. Erişim tarihi: 17 Ocak 2023. 
  12. ^ Internet Engineering Task Force (IETF) (Ağustos 2001). "IANA Guidelines for IPv4 Multicast Address Assignments". 1 Mart 2020 tarihinde kaynağından arşivlendi. Erişim tarihi: 17 Ocak 2023. 
  13. ^ Internet Engineering Task Force (IETF) (Ekim 1984). "BROADCASTING INTERNET DATAGRAMS". 1 Mart 2020 tarihinde kaynağından arşivlendi. Erişim tarihi: 17 Ocak 2023. 
  14. ^ RFC 1726 section 6.2
  15. ^ Savage, Stefan. "Practical network support for IP traceback". Erişim tarihi: 6 Eylül 2010. 
  16. ^ "Cisco gayriresmî SSS sayfası". 26 Haziran 2015 tarihinde kaynağından arşivlendi. Erişim tarihi: 10 Mayıs 2012.