Published on

IPV4 Classes(Classful IP) Nedir ?

Authors
  • avatar
    Name
    Alperen Önal
    Twitter

Öncelikle IPV4’ün yapısının 4 oktet’den yani 8bit.8bit.8bit.8bit’den oluştuğunu hatırlayalım.

Her bir oktet 2 üzeri 8’den 256 adet farklı değer alabilir. Biz de adreslemeye 0’dan başlayacağımız için her bir oktet decimal olarak 0-255 değer aralığına sahip olmaktadır.

Classful IPV4 , bir ağın büyüklük ölçeğine göre en uygun class’ın seçilerek o ağa uygulanmasını sağlamaktadır.

Not : Classful IPV4 adresleri IP israfına yol açması ve IPV4 adreslerinin erken tükenmesi sebebiyle 1993 yılında çıkan CIDR (Classless Inter-Domain Routing) günümüzde tercih edilmektedir.

  • Class A: Büyük organizasyonlar için tasarlandı ve geniş bir adres alanı sunar.
  • Class B: Orta ölçekli ağlar için uygundur.
  • Class C: Küçük ağlar için yeterlidir.
  • Class D (Multicast): Aynı veriyi birden fazla alıcıya göndermek için kullanılır.
  • Class E (Deneysel): Gelecek kullanım ve araştırma amaçları için ayrılmıştır.

Aşağıdaki tabloda IPV4 class’ların hangi aralıkta adres alabilecekleri ve subnet mask’ları verilmiştir.

IPv4 Address Classes

ClassAddress RangeSubnet MaskDefault Network BitsUsage
A0.0.0.0 – 127.255.255.255255.0.0.0/8Large networks, ISPs
B128.0.0.0 – 191.255.255.255255.255.0.0/16Medium-sized networks
C192.0.0.0 – 223.255.255.255255.255.255.0/24Small networks
D224.0.0.0 – 239.255.255.255N/AN/AMulticast
E240.0.0.0 – 255.255.255.255N/AN/AExperimental, Future Use

Şimdi IPV4 sınıflandırmasının mantığını anlayarak ezberlemeden bu tabloyu iyice aklımıza kazıyalım.

Öncelikle CLASS A’nın en küçük oktet değer alması gerektiğini ve CLASS E’nin ise en büyük oktet değerini alması gerektiğini biliyoruz. Bu yüzden CLASS A’nın ilk değerine decimal 0 veriyoruz E’nin alabileceği en büyük değerine ise decimal 255 veriyoruz.

Şimdi CLASS A’nın alabileceği max en büyük decimal değer, 128 – 1 = 127’dir . Buradaki mantığımız şu, öncelikle üstteki tablonun en sağından başlıyoruz(128) ve bulunduğumuz class’ın en küçük değerine(0) tablodaki değeri ekliyoruz(128 + 0 = 128 ) ardından -1 çıkartıyoruz(128 – 1 = 127) ve bulunduğumuz class’ın alabileceği en büyük değeri buluyoruz(127). Daha sonra bir sonraki class’a geçiyoruz(CLASS B), bir önceki class’ın aldığı son değere(127) +1 ekleyerek(128) bulunduğumuz class’ın(CLASS B) alabileceği en küçük değeri buluyoruz(128). Ardından tabloda bir sola kayıyoruz(64) ve bu değerle alabileceğimiz en küçük değeri topladıktan sonra (128 + 64 = 192)oluşan bu değerden -1 çıkartarak(192 – 1 = 191) bulunduğumuz class’ın alabileceği en büyük değerini (191) buluyoruz. Bu işlemleri döngü halinde uygulayarak tabloyu tüm tabloyu dolduruyoruz. Mesela C CLASS’ı için 192 en küçük değer olacaktır. C CLASS’ının en büyük değeri ise 192 + 32= 224 =====> 224 – 1 = 223 olacaktır.

Bu işlemi tüm CLASS’lar için yaptığımız zaman aşağıdaki tabloyu elde etmiş olacağız.

Daha sonra bu first octet yani ilk 8 bitin değerini yazıyoruz ve diğer 3 oktet’e en küçük değer için 0 değerini veriyoruz. En büyük değeri yazmaya geldiğimiz zaman ise kalan 3 oktet’e 255 değerini veriyoruz.

Sıra en son Subnet Mask’a geldi. Subnet Mask’ı doldururken CLASS A için ilk okteti, CLASS B için ilk 2 okteti, CLASS C için ilk 3 okteti 255 yapıyoruz. CLASS D ve CLASS E’nin Subnet Mask’ları bulunmadığı için boş bırakıyoruz.