Subnetting or VLSM (Variable Lenght Subnet Mask) for IPv4

Bu dersimizde elimden geldiğince sizlere bir networkçü nün olmazsa olmazı olan Subnetting i anlatmaya çalışacağım.

Elimizde olan herhangi bir şeyi karşı tarafa göndermek için karşı tarafın adresini bilmemiz gerekir. Network ümüzde de bu durumun söz konusu olduğunu biliyoruz. Bunun içinde genel olarak kullanılan adres IP protokolümüzün kullanmış olduğu IP adresidir ( genel olarak diyorum çünkü layer 3 te kullanılan IPX ve AppleTalk adında 2 protokolümüz daha var ). IP adresinin ne olduğunu bildiğimizi var sayarak direk olarak konumuza giriş yapıyorum.

Network bilim adamlarımız ilk oktetine göre 1-255 arasında bulunan adresleri A, B, C, D, E diye 5 sınıfa (class) ayırmışlar.

Bunun nasıl yapıldığını inceleyelim.

Öncelikle IP adresini bitler halinde gösterelim.

00000000.00000000.00000000.00000000

gördüğümüz üzere IP adresi 4 oktetten oluşan 32 bitlik bir yapıdan ibaret. Bilim adaları ilk oktetini almışlar var sol baştan olmak üzere 0 larımızı 1 e cevirerek sınıflara (class) ayırmışlardır.

Buna göre:

A Class : 1 – 127    ( 00000001 – 01111111 )

B Class : 128 – 191  ( 10000000 – 10111111 )

C Class : 192 – 223  ( 11000000 – 11011111 )

D Class : 224 – 247  ( 11100000 – 11101111 )

E Class : 248 – 255  ( 11110000 – 11111111 )

Networkte A, B, C sınıf adresler kullanılırlar. D sınıf adresler Multicast veri iletiminde E sınıf ise bilimsel çalışmalarda kullanılır.

Network te packet iletimimizi posta iletimine benzetebiliriz. Daha açık şekilde söylemek istersek posta dağıtımları genelden özele doğru gider, network te de aynı durum söz konusudur. Yani packet önce network e yönlendirilir daha sonra hostumuza packetimiz iletilir. Dikkat edersek yukarıda “ network e yönlendirilir ” ifadesini kullandık. Network geneli ifade eder yani bir grubu. Bu ifadeyi cihazlarımıza bildirmemiz için IP adresi yanında Subnet Mask denilen bir değer kullanılır.Subnet Mask ımızda IP gibi 4 oktetten oluşan 32 bitlik bir değerdir.

Sınıflandırdığımız IP lerimiz için varsayılan Subnet Mask değerleri aşağıdaki gibidir.

A Class : 255.  0.  0.  0

B Class : 255.255.  0.   0

C Class : 255.255.255. 0

Layer 3 te çalışan cihazlarımız IP adresi ile Subnet Mask ı AND (mantıksal çarpma) işlemiyle süzerek onun hangi network e ait olduğunu görürler ve kendilerinde bulunan routing table ( yönlendirme tablosu ) a göre ilgili yere gönderir. AND işlemini bir örnekle görelim ;

192.168.1.1 IP miz olsun bunun üstteki tablomuza göre subnet mask ı 255.255.255.0 olur.

AND işlemi yapmadan önce bitlerine ayırmamız gerekir.

192.168.1.1 bitler şeklinde gösterimi :

11100000.10101000.00000001.00000001

255.255.255.0 bitler şeklinde gösterimi :

11111111.11111111.11111111.00000000

AND işlemi :

11000000.10101000.00000001.00000001

x 11111111.11111111.11111111.00000000

——————————————-

11000000.10101000.00000001.00000000

Sonucumuzu onluk sisteme tekrar çeviriyoruz ve Network adresimizi görüyoruz. Buna göre Network adresimiz: 192.168.1.0

NOT : Önemli gördüğüm aklınızdan çıkarmamanız gereken Subnet Mask’ ı bitlerine ayırdığınız da 1 ler Network kısmını 0 lar ise host ların bulunduğu kısmı gösterir buna göre :

A Class : N . H . H . H

B Class : N . N . H . H

C Class : N . N . N . H

( N = Network partition H = Host partition )

Ağ uzmanlarımız görmüşler ki eğer default olarak verilen subnet masklar kullanılırsa ortaya IP açısından büyük bir israf söz konusu oluyor, bunu önlemek için Subnet Mask ta yaptıkları host partition bitlerinden ödünç alarak bu israfı en aza indirmeyi ön görmüşlerdir.Bir örnekle bunu açıklayalım;

192.168.0.0 255.255.255.192  subnet mask ına sahip bir network adresimiz olsun. Dikkat edelim adresimiz C class ta bir adrestir.

Subnet Maskı bitlerine ayırdığımızda:

11111111.11111111.11111111.11000000

( Turuncu = network part. Pembe = ödünç alınan bitler

mavi = host part. )

varsayılan olarak C class bir adresin subnet mask ı 255.255.255.0 dır, bu durumda biz host partition bitlerinden 2 bit ödünç alarak network partition bitine eklemiş olduk. Bu bize ne kazandırmış oldu ?

Bunun bize ne kazandırdığını görmeden önce birkaç açıklama daha yapalım. Aslında yaptığımız işlem network ümüzü alt networklere bölerek network başına düşen host sayısını azaltmaktır. Eğer subnet mask ı mız varsayılan olarak kalsaydı sadece tek networkümüz olacaktı ve bu network başına düşen host sayımız 254 olacaktı. İspat olarak hesaplayalım dersek.

Network     : 192.168.0.0

Subnet Mask : 255.255.255.0

Birinci host adresi : 192.168.0.1

Sonuncu host adresi : 192.168.0.254

Broadcast adresi    : 192.168.0.255

Gördüğümüz üzere 254 tane kullanılabilir host adresimiz mevcut.Peki neden 192.168.0.255 adresini kullanmıyoruz ? sorumuzun cevabı şu şekilde. Her network te broadcast yayınları olmaktadır( Broadcast yayını – bir network te ki tüm host lara gitmesi gereken pakettir. Örneğin ARP.. ). Broadcast adresini her zaman çıkarırız.

Kolay yoldan network’ ümüzü kaç altnetwork e ( subnet ), ve böldüğümüz subnet başına düşen subnet başına kaç host düşer bunların kolay yoldan bulmak için formüllerimizi de görelim.

1)  2^n  formülü kaç tane subnette böldüğümüzü bulmamıza yarar. Burada ki “n” host partitiondan aldığımız bitlerin sayısıdır, yani varsayılan subnet mask haricindeki borç alınan bitlerin sayısı örneğimizde bunların sayısı 2 dir.

2)  2^n-2 formülü subnet başına düşen host sayısını bulmamıza yarar. Burada ki “n” sayısı subnet mask ta bulunan host bitlerinin yani sıfırların sayısıdır. İki çıkarmamızın sebebi her network te 1 tane broadcast adresinin ve Network adresinin hostlar tarafından kullanılmamasıdır.

Şimdi örneğimiz de formüllerimizi uygulayarak görelim.

Network adres : 192.168.0.0

Subnet mask   : 255.255.255.192

Yapmamız gereken ilk önce verilen network adresinin hangi sınıf (class) a ait olduğunu bulmaktır ( A class, B class, C class ). Bunu bulduktan sonra verilen Subnet Mask ımızı Varsayılan Subnet Mask ile karşılaştırarak kaç tane ödünç bit host partition dan alınmış, kaç tane host bit kalmış görürüz…

Örneğimizde adresimiz C Class ta bulunur buna göre :

Varsayılan Subnet Mask : 11111111.11111111.11111111.00000000

Verilen Subnet Mask : 11111111.11111111.11111111.11000000

( Turuncu = network part. Pembe = ödünç alınan bitler mavi = host part. )

Formüllerimizi uygulayalım:

Bit ödünç alarak networkümüzü alt networklere böldük. Örneğimiz de 2 tane bit almıştık buna göre :

Kaç subnetwork: 2^2 = 4 tane subnetwork e böldük. Böldüğümüz network aralıklarını bulalım.

Network aralığı : 256-192 = 64 bu işlemlenden çıkaracağımız anlam her 64 adresten sonra bir diğer subnetwork ümüze geçtiğimizdir.buna kısaca blokta diyebiliriz.

Subnetwork başına düşen host sayısı  : 2^6 – 2 = 62 tane subnetwork başına düşen host sayımız.

Şimdi yaptığımız işlemleri görsel olarak tablo oluşturalım ve ispatlayalım.

Network adresi192.168.0.0192.168.0.64192.168.0.128192.168.0.192
İlk Host adresi192.168.0.1192.168.0.65192.168.0.129192.168.0.193
Son Host adresi192.168.0.62192.168.0.126192.168.0.190192.168.0.254
Broadcast adresi192.168.0.63192.168.0.127192.168.0.191192.168.0.255

Bu bloklardan seçeceğimiz bir adresi AND işlemi yapalım ve o blok a oturuyor mu görelim !!

Ben örnek için tek IP seçicem siz isterseniz her bloktan seçi deneyebilirsiniz.

192.168.0.100 seçelim. Subnet Maskımız 255.255.255.192 idi. AND işlemi yapalım ve bakalım hangi blok network blogunda oturuyor. İlk adım bitlerine ayıralım.

IP               : 11000000.10101000.00000000.01100100

X    Subnet Mask  : 11111111.11111111.11111111.11000000

——————————————————————

Network      :  11000000.10101000.00000000.01000000

192  .          168.            0.              64

Gerçek hayatta ve sorularda size Subnet Mask açık şekilde verilmez Maskımızın bit sayısı IP nin yanına yazılır.Örneğin ;

192.168.0.100 255.255.255.192 —- 192.168.0.100 /26 şeklinde yazılabilir.

Bu şekilde “ / ” işaretiyle gösterime prefix te denilir.

Örneğimizdeki “/26” subnet msk ta 26 tane bit var demektir.A ve B class IP adreslerinden birer örnek vererek konumuzu bitirelim.

ÖRNEKLER

B Class : 172.16.0.0/25

Network     : 172.16.0.0

10101100.00001000.00000000.00000000

Subnet Mask : 255.255.255.128

11111111.11111111.11111111.10000000

( Turuncu = network part. Pembe = ödünç alınan bitler mavi = host part. )

Kullanılabilir Subnet Sayısı: 2^n formülünden bulalım. n yerine ödünç aldığımız pembe renkle belirttiğimiz 1 bitlerimizin sayısını yazarak hesaplayacağız. Buna göre :

2^9 = 512

Subnetwork Başına Host Sayısı : 2^n-2 formülünden bulalım.n yerine subnetwork ümüzdeki hostları belirten mavi renk ile belirttiğimiz 0 bitlerimizin sayısını yazarak hesaplayacağız. Buna göre :

2^7-2 = 126

Network aralığı (Blok) : normalde 8 bitlik bir ifade onluk sistemde 256 tane sayı eder. Kısaca host bitlerinin bulunduğu bölüm diyebiliriz. Buna göre :

256-128=128

Tablomuzu çıkararak yaptığımız işlemleri görelim:

Network Adresi172.16.0.0172.16.0.128172.16.1.0172.16.1.128
İlk Host Adresi172.16.0.1172.16.0.129172.16.1.1172.16.1.129
Son Host Adresi172.16.0.126172.16.0.254172.16.1.126172.16.1.254
Broadcast Adresi172.16.0.127172.16.0.255172.16.1.127172.16.1.255

Bu şekilde devam ettirirsek en son network ümüz 172.16.255.128 / 25 olur. Yani 0 (sıfır) dan 255 e kadar 256 tane network oluşur dersek ve her network ü de 2 ye böldüğümüzü varsayarsak toplam 512 tane Subnetworkümüz olmuş olur.

A Class : 10.0.0.0 /24

Network     : 10.0.0.0

00001010.00000000.00000000.00000000

Subnet Mask : 255.255.255.0

11111111.11111111.11111111.00000000

( Turuncu = network part. Pembe = ödünç alınan bitler mavi = host part. )

Kullanılabilir Subnet Sayısı : 2^n formülümüzden hemen hesaplayalım.

2^16 = 65536

Subnet Başına Host Sayısı : 2^n-2 formülümüzden hemen hesaplayalım.

2^8-2 = 254

Network aralığı (Blok) : 256-0 = 256

Tablomuzu çıkararak yaptığımız işlemleri görelim:

Network Adresi 10.0.0.010.0.1.0 10.0.2.0 10.0.255.0
İlk Host Adresi 10.0.0.1 10.0.1.1 10.0.2.1 10.0.255.1
Son Host Adresi 10.0.0.254 10.0.1.254 10.0.2.254 10.0.255.254
Broadcast Adresi 10.0.0.255 10.0.1.255 10.0.2.255 10.0.255.255
Network Adresi 10.1.0.010.25.1.0 10.100.2.0 10.255.255.0
İlk Host Adresi 10.1.0.1 10.25.1.1 10.100.2.1 10.255.255.1
Son Host Adresi 10.1.0.254 10.25.1.254 10.100.2.254 10.255.255.254
Broadcast Adresi 10.1.0.255 10.25.1.255 10.100.2.255 10.255.255.255

Eğer sıkılmam diyosanız bunuda tek tek yazıp 65536 sayısını görebilirsiniz. Ama kısaca hesaplayalım. 2 ci ve 3 cü oktette gördüğünüz üzere 0 (sıfır) dan 255 e kadar 256 şar tane network oluşur. Buna göre 256×256 = 65536 sayısınıda elde edebiliriz.

AKLIMA GELMİŞKEN  :

Örneklerimiz de ben private adreslerden örnek verdim. IP adreslerinde iki türlü IP vardır ;

1-  Public IP

2-  Private IP

Public IP : Global yani WAN ağlarında kullanılmak için ayrılmış IP bloklarıdır.

Private IP : Lokal yani LAN ağlarında kullanılmak için ayrılmış IP bloklarıdır. Private IP ler ile WAN ağına daha doğrusu internete çıkış yapamazsınız.

Her class için ayrılmış Private IP blokları aşağıda belirtilmiştir geriye kalan IP ler Public IP blokuna aittir.

           A Class : 10.0.0.0 - 10.255.255.255  (10/8 prefix)
B Class : 172.16.0.0 - 172.31.255.255  (172.16/12 prefix) 

  C Class : 192.168.0.0 - 192.168.255.255 (192.168/16 prefix)

Saygılarımla, İyi çalışmalar… aclmaster….

2 yorum

  1. Elinize sağlık gayet açık ve net anlatmışsınız. Bulduğum tek eksik turuncu, pembe ve mavi renkleri görünmüyor 🙂

Bir Cevap Yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir