IP alt-ağ maskelerinin nasıl elde edildiğini ve bunların adreslere nasıl uygulandığını doğru olarak anlamak için ikili sayıları (ikilik düzeni) ve bunları ondalık sayılara (ondalık düzene) nasıl çevirebileceğimizi anlamamız gerekir.
Hepimizin oldukça rahat olduğu bir konu ile -yani ondalık sayılarla (üssü 10) başlayalım. Ondalık bir sayıdaki her bir rakam 10’un farklı bir katını simgeler. Örneğin; 7836 sayısını aşağıdaki gibi çevirebilirsiniz:
7*103 + 8*102 + 3*101 + 6*100 =
7*1000 + 8*100 + 3*10 + 6*1 =
7000 + 800 + 30 + 6 =
7836
İkilik düzendeki sayıları (üssü 2) da ondalık sayıları çevirdiğimiz gibi çevirebilirsiniz. Ancak ikilik düzendeki bir sayının her bir sütunu 10’un aksine 2’nin farklı bir katını temsil eder. Öncelikle 2’nin katlarını gözden geçirelim (8-bitlik bir bayt için gitmemiz gerektiği yere kadar gideceğiz çünkü IP adreslerinin 8-bitlik baytları vardır).
20=1 24=16
21=2 25=32
22=4 26=64
23=8 27=128
Bu bilgi elinizde iken 11010011 ikili sayısını ondalık bir sayıya aşağıdaki gibi çevirebilirsiniz:
11010011 =
1*27 + 1*26 + 0*25 + 1*24 + 0*23 + 0*22 + 1*21 + 1*20 =
1*128 + 1*64 + 0*32 + 1*16 + 0*8 + 0*4 + 1*2 + 1*1 =
128 + 64 + 16 + 2 + 1 =
211
IP Adresleri Ve Alt-Ağ Maskeleri
İkili düzen sayıları ile ilgili olarak bildiklerinizi IP adreslerine ve alt-ağ maskelerine uygulayabilirsiniz. IP adresleri uzunluk olarak 32 bit yada 4 tane 8-bitlik bayttan oluşur. Bilgisayarlar IP adreslerini ikilik düzende saklamalarına karşın, genel olarak IP adresleri noktalı ondalık notasyon düzeninde yazılırlar, çünkü bu şekilde okunmaları daha kolaydır. Noktalı ondalık notasyon bir IP adresini bir seferde 1 bayt olmak üzere incelemenize olanak sağlar. Standart sınıflandırılmış adres oluşturmada, Sınıf A adresleri network-ID’sine bir bayt, host-ID’sine üç bayt ayırır. Sınıf C adresleri network-ID’sine üç bayt, host-ID’sine de bir bayt ayırır.
Bir alt-ap maskesi adreslerde, network-ID’si ve host-ID’sini belirleyecek şekilde, IP, yönlendirme kontrolü ve başka yazılımlar sağlar. Tıpkı bir IP adresi gibi, bir alt-ağ maskesi de uzunluk olarak 32 bittir. Alt-ağ maskeleri, 32-bitlik bir değer oluşturmaya yeterli sayıdaki 0 bitlik sayıların ardından gelen 1 bitlik bazı sayılardan oluşur. 1’li bit konumları network-ID’sinin parçası olan IP adreslindeki bit konumlarına tekabül eder. Bundan dolayı da sınıflandırılmış adres oluşturmada alt-ağ maskesinin Sınıf A için sekiz tane 1 biti, Sınıf B için onaltı tane 1 biti ve Sınıf C için de yirmidört tane 1 biti vardır. Bu maskelerin uzunluk olarak 8, 16,24 bit oldukları söylenir, ancak bu sayılar sadece 1 bit sayısına gönderi yaparlar çünkü aslında maskeler daima 24 bit uzunluktadır.
Her zamanki sınıflandırılmış 24-bitlik Sınıf C alt-ağ maskesi olan 255.255.255.0 ile birlikte 192.168.18.55 gibi bir Sınıf C adresiniz olduğunu varsayalım. İkilik düzende adres şöyledir (okunabilmesi açısından boşluklar konmuştur).
11000000 10101000 00010010 00110111
ve maske de şu şekildedir:
11111111 11111111 11111111 00000000
Yazılımın 192.168.18.55 adresinin network-ID kısmını tespit etmeye ihtiyacı olduğunda, adres bitleri ve alt ağ maskesi bitleri ile mantıksal bir AND işlemi gerçekleştirir:
Adres : 11000000 10101000 00010010 00110111
Alt-Ağ Maskesi: 11111111 11111111 11111111 00000000
AND: ________ ________ ________ ________
network-ID: 11000000 10101000 00010010 00000000
AND hesaplamasında, alt-ağ maskesinde 1 bite tekabül eden tüm adres bitleri adres bitinin değerini (0 yada 1) korur ve alt-ağ maskesinde 0 bite kadar tekabül eden tüm adres bitleri 0 olarak kalmaya mecburdur. Bu yüzden yaptığımız hesap network-ID’sinin 192.168.18.0 olduğu sonucunu ortaya koyar.
Değişken Uzunluklu Alt-Ağ Maskeleri
Değişken Uzunluklu Alt-Ağ Maskesi (VLSM) ve Sınıflandırılmamış Domain İçi Yönlendirme (CIDR) notasyonunda 255.255.255.0 maskesinden /24 (kesme 24 olarak okunur) olarak bahsedilir, çünkü yirmidört tane 1 biti vardır. VLSM’ler sınıflandırılmamış adres oluşturmayı desteklemek için gereklidir ve sınıflandırılmış adres oluşturmanın bayt sınırları ile kısıtlı olmayan maskeler oluşturmanıza olanak sağlarlar. Bu şekilde bir yönlerdirme tablosundaki bir çok network-ID’sini bir tek giriş altında, yada kısım 1 Sınıf C adresi alt adres altında toplayabilirsiniz.
Bir maske oluşturmak için 0’lı sayılarla 1’li sayılar yazdığınız için tümü 1’lerden oluşan bir baytın değeri 255, ve tümü 0’lardan oluşan bir baytın değeri de 0’dır. Ancak bir VLSM’nin bir bayt sınırına giren bir maskesi olmayabilir, bu nedenle de baytlardan bir tanesinin değeri 0 yada 255 dışında bir değere sahip olabilir. Aslında, 1 bit sayısını soldan itibaren artırdıkça sekiz bitlik bir baytın sekiz tane muhtemel alt-ağ değeri vardır.
10000000 = 128
11000000 = 192 = (128+64)
11100000 = 224 = (128+64+32)
11110000 = 240 = (128+64+32+16)
11111000 = 248 = (128+64+32+16+8)
11111100 = 252 = (128+64+32+16+8+4)
11111110 = 254 = (128+64+32+16+8+4+2)
11111111 = 255 = (128+64+32+64+8+4+2+1)
VLSM’ler Sınıf C boşluğu içinde birden çok alt-ağ oluşturmak için size büyük esneklik sunarlar. 192.168.18.0 adres boşluğunda sekiz alt-ağ oluşturmak istediğinizi varsayalım. 23 = 8 olduğu için 24-bitlik alt-ağ maskesine 3 bit ilave edin. Şu an elinizde bir /24 yada 255.255.255.254 alt-ağ maskesi vardır. (İlk 24 bitin tamamının 1’lik olduğunu ve bu yüzden de ilk üç baytın 255 olduğunu anımsayın.) Dördüncü baytın içinde üç tane 1 bulunur ve bu nedenle de değeri 244’tür.
Son baytın 3 bitini bir maske olarak kullandığınız için host-ID’leri 5 bit ile sınırlıdır. Bundan dolayı her bir alt-ağ 25 yada 32 bilgisayar ile sınırlıdır. (Aslında, her bir alt-ağ 30 bilgisayar ile sınırlıdır. Tümü 0’lardan oluşan host-ID’si ağ sayısı için 0 yer tutucu olarak kullanılır ve tümü 1’lerden oluşan host-ID’si alt-ağın broadcast adresi olarak ayrılır.)
/27 maskesi gerçekte size sekiz tane alt-ağ verir, ancak bir ağ diyagramı yada bir yönlendirme tablosu oluşturmak için, alt-ağ sayılarını da bilmeniz gerekir. 3-bitlik alt-ağ maskesinin muhtemel sekiz değeri şunlardır:
0 = 000 4 = 100
1 = 001 5 = 101
2 = 010 6 = 110
3 = 011 7 = 111
Bundan dolayı son adresin muhtemel sekiz değeri şunlardır:
000 00000 = 0
001 00000 = 32
010 00000 = 64
011 00000 = 96 (64+32)
100 00000 = 128
101 00000 = 160 (128+32)
110 00000 = 192 (128+64)
111 00000 = 224 (128+64+32)
Ve yönlendirme yapmak amacıyla kullanabileceğiniz sekiz network-ID’si de şunlardır:
192.168.18.0/27 192.168.18.128/27
192.168.18.32/27 192.168.18.160/27
192.168.18.64/27 192.168.18.192/27
192.168.18.96/27 192.168.18.224/27
Belirsizliği ortadan kaldırmak için, adresin kendisi ile birlikte daima alt-ağ maskesini de belirtin. Örneğin 192.168.18.128 adresi uzunluğu 26 ile 30 bit arasında olan bir alt-ağ maskesi ile birlikte kullanılabilir.
Kaynak: Win2000 Mag. – Gary C. Kessler