Alt Ağlara Bölme (Subnetting)
Alt Ağlara Bölme (Subnetting)
Internet Protokolü (IP) vasıtasıyla haberleşmek durumunda olan tüm cihazlar bu haberleşmeyi sağlayabilmek için dinamik ya da statik mutlaka bir ip adresine sahip olmalıdırlar. Cihazlar ip adresleri vasıtasıyla diğer cihazlarla kolayca iletişim kurabilirler, ancak herşey filmlerdeki kadar kolay olmaz, bunu bir örnek ile basitce izah edelim; bir okul düşünelim, siz bu okulun tüm öğrencilerini tek bir sınıfta toplayıp ders verebilir misiniz? Oldukça güç olur değil mi, herkes konuşacak ama çok fazla gürültü olmayacak… Bu karmaşanın önüne geçebilmek için öğrenciler sınıflara dağıtılır…
Mevcut network yapısı genişleyince broadcast etki alanı da büyüyecek ve tüm networkteki bilgisayarlar yoğun bir broadcast trafiğinin ortasında sıkışıp kalacaklardır. Bu da ağ performansını olumsuz yönde ciddi şekilde etkileyecektir.
IP adreslerini de yine aynı şekilde ortamda gürültü (broadcast trafiği) olmaması ve iletişimin daha sağlıklı yapılabilmesi için ya da gereksinimden kaynaklanan çeşitli network senaryoları için alt sınıflara ayırırız, bu alt sınıflara bölme işlemine Alt ağlara bölme(Subnetting) denilir.
Herhangi bir sınıf IP ağ adresinin uç bitlerinden bir kısmını alt ağ için ayırarak alt ağlar oluşturabiliriz, Alt ağlara ayırma işlemi yaparken;
“-Gerek duyulan kullanıcı sayısı
-Gerek duyulan alt ağ sayısı” olmak üzere iki farklı kriter kullanılabilir, biz örneklerimizde gerek duyulan alt ağ sayısından yola çıkacağız.
Örneklere geçmeden önce bir kaç temel bilgiyi vermekte fayda olacak.
Oktet
IP adresi 4 oktetten(oktet;kısım) oluşur ve her bir oktet 8 bitliktir. Her bir oktetin değeri onluk sistemde minimum 0, maksimum 255 olabilmektedir.
İkilik Sayı Sistemi
IP hesaplaması yapılırken onluk sayı sistemleri ikilik sayı sistemine matematik kuralları çerçevesinde çevrilir, ancak bu konu burada bahsedilecek kadar kısa değildir…
Sizlere burada onluk sayı sistemin nasıl ikilik sayı sistemine çevrildiğini matematiksel olarak anlatmayı gözüm pek kesmedi diyebilirim, bunun için matematik kaynaklarına bir göz atmanızda büyük yarar olacaktır.
Ancak size güzel bir ipucu vereceğim:
|
7.bit |
6.bit |
5.bit |
4.bit |
3.bit |
2.bit |
1.bit |
0.bit |
Toplam 8 bit |
Yukarıdaki tabloya dikkat edecek olursak, oktette “1” bit değerine sahip olan onluk değerlerin toplanarak 224 oktet değerinin ortaya çıktığını görebiliriz.
“IP Adres Sınıfları
A sınıfı:1-126 Öngörülen Ağ Maskesi:255.0.0.0
B sınıfı:128-191 Öngörülen Ağ Maskesi:255.255.0.0
C Sınıfı:192-223 Öngörülen Ağ Maskesi:255.255.255.0
D sınıfı:224-239 Çoklu yayın (Multicast)
E sınıfı:240-254 Araştırma için ayrılmıştır.”
172.16.122.204 ip adresi için;
Oktet ayrımı;
1.Oktet:172 (Onluk) = 10101100 (İkilik)
2.Oktet:16 (Onluk) = 00010000 (İkilik)
3.Oktet:122 (Onluk) = 01111010 (İkilik)
4.Oktet:204 (Onluk) = 11001100 (İkilik)
Network ID(Ağ Adresi):172.16.122.0 yukarıdaki ip için ağ adresidir; “bir grup bilgisayarı temsil eden ve o grupta bulunan bütün bilgisayarlarda aynı olan bölümdür ve IP olarak bir cihaza atanamazlar.”
Broadcast Adresi:172.16.122.255 yukarıdaki ip için broadcast adresidir; “Herhangi bir ağda bütün adresleri temsil etmek için kullanılan adreslere Broadcast adres denir. Broadcast adresinin uç bölümünün bütün bitleri ağ adresinin tersine 1’dir.” Bu adresler de ağ adresi gibi ağdaki herhangi bir bilgisayara IP adresi olarak atanamazlar.
Network ID Nasıl bulunur?
Ağ adresi konusu biz sistemcilerin ve özellikle network işi ile haşır neşir olan insanların bilmesi gereken olmazsa olmaz bir konudur, bir ip adresinin ağ adresini bulabilmek için; o ip adresi ile kendi subnet maskının(ağ maskesi) ‘Ve’ işlemine tabi tutulması gerekmektedir. IP adresi ve Subnet mask ikilik sayı sistemine çevrilerek alt alta yazılır, her iki taraftada ‘1’ bit değerine sahip bölümler aynen (yani 1 olarak) aktarılır, diğerleri ise 0 olarak değerlendirilir. bir örnek verecek olursak;
|
Ip adress: |
132.15.78.202 |
10000100 |
00001111 |
01001110 |
11001010 |
Network ID Karşımıza nerede çıkar?
Burada yazacağım örnekleri(a ve b) incelediğinizde Ağ adresinin nerede ve nasıl karşınıza bekçi gibi dikileceğini anlamış olacağınızı düşünüyorum, ancak burada ikilik sayı sistemini kullanmayacağım, ben örneklerimi onluk sayı sisteminde anlatacağım.
Örnek-a: Aynı localde bulunan 192.168.10.17 li pc 192.168.10.18 li adrese ulaşmak istesin ve her ikisinde subnet maskı:255.255.255.240 olsun.
Diyelimki 192.168.10.17 ip adresine sahip pc 192.168.10.18 nolu bilgisayar ile iletişime geçecek. Ağ adreslerine bakalım;
192.168.10.17 Ve 255.255.255.240 Ağ adresi:192.168.10.16
192.168.10.18 Ve 255.255.255.240 Ağ adresi:192.168.10.16
.17 ve .18 ip adreslerine sahip bilgisayarlar aynı bölümdeler ve işlemlerde de gördüğünüz gibi ağ adresleri aynıdır, .17 nolu ip .18 e gitmek istediğinde .18’in bulunduğu ağ adresini hesaplar ve görürki ağ adresleri aynıdır, şunu der; “hımm… demek bu bilgisayar ile ben aynı localdeyim, o halde ağ geçidine gitmeme gerek yok!”
Sonuç: Haberleşme sağlanır, çünkü aynı ağ adresindeler.
Bu sefer farklı lokallerde bulunan .17 li ip .33 nolu adrese gitmek istesin ve subnet mask yine 255.255.255.240 olsun.
.17 nin ağ adresi zaten yukarıda belli olmuştu:192.168.10.16
.17 nolu ip .33 e gitmek istediğinde .33 ü ve kendi subnetini ve işlemine tabi tutarak hangi ağ adresinde olduğunu çözecek;
192.168.10.33 Ve 255.255.255.240 Ağ adresi: 192.168.10.32
.17 li adres .33 lü adresin ağ adresini buldu ve bu ağ adresi ile kendi ağ adresinin aynı olmadığını gördü, “hımm demek bu benim local de değil! O halde ben ağ geçidine bir gidip danışayım” der… ve router da .17 yi .33 e götürür, haberleşme sağlanır, router bu iyiliği neden yaptı? Çünkü görevi bu yönlendirmeyi yapmak.
Dikkat!: demekki router ağ adresi aynı olunca bir görev üstlenmiyor ama ağ adresleri farklı olunca görev alıyor…
Örnek-b: Şimdi yine farklı lokallerde bulunan .17 li adres .33 e gitmek istesin fakat bu kez ağ maskeleri 255.255.255.0 olsun
192.168.10.17 Ve 255.255.255.0 Ağ adresi:192.168.10.0
192.168.10.33 Ve 255.255.255.0 Ağ adresi:192.168.10.0
.17 li ip .33 e gitmek istedi ve .33 ün ağ adresini hesapladı, baktı ki ağ adresleri aynı, “demekki bu benim local de…” dedi! ama nafile, çünkü bu adresler farklı alt ağlardalardı, aradı taradı bulamadı, router’a da gidip sormuyor! Sonuç: iletişim sağlanamadı.
Yani sen iletişim kurmak istiyor musun, istemiyor musun, kararını verip ağ maskeni yazıyorsun…
Başlıyoruz…
Bilgi: ‘/24’ değeri; subnet mask’ın mevcut 1 sayısını ifade eder.
2^n: “iki üzeri en” diye okunur.
>= : “Büyük eşit” diye okunur.
* “2^n>=alt ağ sayısı” formulü ile n değeri bulunur, bu n değeri alt ağ bitini verecektir, yani burada bulunan değer öngörülen Subnet Mask’a eklenecek olan 1 lerin kaç tane olduğunu ifade eder. Ekleme yapıldıktan sonra bulunan Subnet Mask yeni subnet maskımız(ağ maskesi) olacaktır. (Yeni Subnet: Eski subnet + n )
* 2^m-2 formulü ile bir aralığa atanabilecek ip sayısı bulunur, m değeri oktette kalan 0 sayısı kadardır. [m = host id(uç bit)]
C Sınıfı İçin çalışmalarımız;
Genelde C sınıfı ip ler kullanıldığından, konunun daha iyi pekişmesi için C sınıfı üzerinde daha fazla duracağız.
Örnek1:
192.168.0.0/24 ip aralığını 2 subnet(alt ağ) olacak şekilde ayıralım.
2^n >=2 [subnet(alt ağ) sayısı] formulü ile n değerini 1 olarak buluruz.
N değeri aynı zamanda artan bit değeridir. Yukarıdaki ip adresi C sınıfı bir ip adresi olduğundan öngörülen Ağ maskesi:255.255.255.0 olacaktır.
Yeni(ortak) subnet mask:255.255.255.10000000 (128) şeklinde olacaktır.
Oktette kalan sıfır sayısı bize host id(m) yi verir, toplam 7 sıfır vardır ve bu durumda
2^7-2=126 (2^m-2) tane ip tanımlanabilir.
Tek subnette 126 ip, 2 subnet olduğundan toplam 252 ip atanabilir.
İlk subnet: 192.168.0.1 – 192.168.0.126 (arttırım 2^m-2 kadar yapılır.)
192.168.0.0 Netwok ID olur ve kullanılamaz.
192.168.0.127 Broadcast adresi olur ve kullanılamaz.
İkinci Subnet:192.168.0.129 – 192.168.0.254
192.168.0.128 Netwok ID olur ve kullanılamaz.
192.168.0.255 Broadcast adresi olur ve kullanılamaz.
Örnek2:
192.168.0.0/24 ip aralığını 5 subnete bölelim.
2^n>=5 formülü ile n=3 bit olarak bulunur. Fakat iki üzeri üç =8 yapar ve 8 subnete bölmemiz gerekir.
Ortak subnet mask=255.255.255.224 (11100000) host id(m)=5
224 nereden geldi?: 1 1 1 0 0 0 0 0 (n=3 bulunca SM’a 3 tane 1 ekliyoruz.)
224=128 + 64 + 32
SM:Subnet Mask
Bu durumda 2^5(m)-2=30 ip atanabilir.
1. Subnet: 192.168.0.1 – 192.168.0.30
2. Subnet: 192.168.0.33 – 192.168.0.62
3. Subnet: 192.168.0.65 – 192.168.0.94
4. Subnet: 192.168.0.97 – 192.168.0.126
5. Subnet: 192.168.0.129 – 192.168.0.158
6. Subnet: 192.168.0.161 – 192.168.0.190
7. Subnet: 192.168.0.193 – 192.168.0.222
8. Subnet: 192.168.0.225 – 192.168.0.254
1-33-65-97-129-161-193-225 ; bu sıraya dikkat ederseniz aralarındaki fark 2^n (n=host id) kadardır ve ilk sayı tek olduğu için diğerleride tek olarak devam etmiştir.
30-62-94-126-158-190-222-254; bu sırada da aradaki fark 2^n kadardır ve çift değer ile başlayıp çift değer ile devam etmiştir.
Örnek3:
192.168.5.0/24 ip aralığı için 6 subnet belirleyelim.
2^n>=6 n=3 bit olarak bulunur. İki üzeri üç(2^3) sekiz yapacağından dolayı; toplam 8 subnet yapmamız gerekir.
255.255.255.224(11100000) m=5 bit bulunur; Subnet maskta kullanılan oktteteki kalan sıfır sayısı host id bit sayısıdır.
2^5-2=30 (Her aralıkta atanabilecek ip sayısı)
1.Subnet: 192.168.5.1 – 192.168.5 30
2.Subnet: 192.168.5.33 – 192.168.5.62
3.Subnet: 192.168.5.65 – 192.168.5.94
4.Subnet: 192.168.5.97 – 192.168.5.126
5.Subnet: 192.168.5.129 – 192.168.5.158
6.Subnet: 192.168.5.161 – 192.168.5.190
7.Subnet: 192.168.5.193 – 192.168.5.222
8.Subnet: 192.168.5.225 – 192.168.5.254
Örnek4:
192.168.25.0/24 networku için 6 subnet belirleyelim.
2^n>=6 n=3 bit olarak bulunur, m=5 bit olarak bulunur. 2^5-2=30 tek subnette tanımlanabilecek ip sayısıdır. 2^3=8 toplam tanımlamamız gereken subnet sayısıdır.
Yeni subnet mask:255.255.255.224 (11100000)
1.Subnet: 192.168.25.1 – 192.168.25.30
2.Subnet: 192.168.25.33 – 192.168.25.62
3.Subnet: 192.168.25.65 – 192.168.25.94
4.Subnet: 192.168.25.97 – 192.168.25.126
5.Subnet: 192.168.25.129 – 192.168.25.158
6.Subnet: 192.168.25.161 – 192.168.25.190
7.Subnet: 192.168.25.193 – 192.168.25.222
8.Subnet: 192.168.25.225 – 192.168.25.254
B Sınıfı İçin;
Örnek1:
159.65.0.0/16 ip aralığını 2 subnet olacak şekilde bölelim.
2^n>=2 n=1 bit değeri bulunur.
255.255.128(10000000).0
Host id=15 sıfır 2^15-2 tane ip tanımlanabilir. Fakat buradaki host id M değerine eşit olmayacaktır! Buradaki host id en sağda kalan toplam sıfır sayısını verir, oysaki M değeri kullanılan oktette kalan sıfır sayısıdır.
1.Subnet: 159.65.0.1 – 159.65.127.254
2.Subnet: 159.65.128.1 – 159.65.255.254
0 ile 127 arasında 128 sayı fark vardır ve bu değer Subnet Mask’ın en sağındaki bit değeridir!
Örnek2:
159.65.0.0/16 ip aralığı için 3 subnet yaratalım.
2^n>=3 n=2 bit 2^2=4 toplam subnet.
255.255.192 (11000000).0
1.Subnet: 159.65.0.1 – 159.65.63.254
2.Subnet: 159.65.64.1 – 159.65.127.254
3.Subnet: 159.65.128.1 – 159.65.191.254
4.Subnet: 159.65.192.1 – 159.65.255.254
0 ile 63 arasında 64 sayı fark vardır, ve bu fark subnet mask taki en sağdaki bitten gelir.!
*** A sınıfında ve B sınıfında aradaki fark 2^m kadardır (m=oktette kalan sıfır sayısı)
Fakat hatırladığınız gibi C sınıfında ise 2^m-2 kadar fark vardır.
Örnek3:
159.65.0.0 /16 ip aralığı için 2 subnet belirleyelim.
2^n>=2 n=1 bit olarak bulunur.
255.255.128(1000000).0
m=7, 2^7=128
1.Subnet: 159.65.0.1 – 159.65.127.254
2.Subnet: 159.65.128.1 – 159.65.255.254
Örnek4:
154.65.0.0/16 networku için 14 subnet belirleyelim.
2^n >=14 n=4 bit olarak bulunur. Host id=4 bit bulunur.
Yeni subnet mask: 255.255.240.0
m=4, 2^4=16
1.Subnet: 154.65.0.1 – 154.65.15.254
2.Subnet: 154.65.16.1 – 154.65.31.254
3.Subnet: 154.65.32.1 – 154.65.47.254
4.Subnet: 154.65.48.1 – 154.65.63.254
5.Subnet: 154.65.64.1 – 154.65.79.254
6.Subnet: 154.65.80.1 – 154.65.95.254
7.Subnet: 154.65.96.1 – 154.65.111.254
8.Subnet: 154.65.112.1 – 154.65.127.254
9.Subnet: 154.65.128.1 – 154.65.143.254
10.Subnet: 154.65.144.1 – 154.65.159.254
11.Subnet: 154.65.160.1 – 154.65.175.254
12.Subnet: 154.65.176.1 – 154.65.191.254
13.Subnet: 154.65.192.1 – 154.65.207.254
14.Subnet: 154.65.208.1 – 154.65.223.254
15.Subnet: 154.65.224.1 – 154.65.239.254
16.Subnet: 154.165.240.1 – 154.65.255.254
A Sınıfı İçin;
Örnek1:
10.0.0.0 / 8 ip aralığı için 2 subnet oluşturalım.
2^n>=2 n=1 bit olarak bulunur.
255.128(10000000).0.0
m=7, 2^7=128
1.Subnet: 10.0.0.1 – 10.127.255.254
2.Subnet: 10.128.0.1 – 10.255.255.254
Örnek2:
15.0.0.0/8 networkünü 2 subnete bölelim.
2^n>=2 n=1 bit olarak bulunur. Ve toplam 2 subnetimiz olacaktır.
255.128(10000000).0.0
m=7, 2^7=128
1.Subnet: 15.0.0.1 – 15.127.255.254
2.Subnet: 15.128.0.1 – 15.255.255.254
Başka bir makalede görüşmek üzere, hoşçakalın.
Yararlandığım kaynak: Ağ Teknolojilerine Giriş-Hulusi Turgut








