Değerli arkadaşlar, merhaba! Bu yazımızda size, 'Subnet Mask' kavramından söz edeceğiz. Başlamadan önce aşağıda linkleri verilen blogları okumayı ihmal etmeyiniz.
IP Bölüm 2 | Sayı Sistemleri Bölüm 1
IP Bölüm 2 | Sayı Sistemleri Bölüm 2
Türkçe'ye 'Alt Ağ Maskesi' olarak çevirilen Subnet Mask, bir IP adresinin hangi bölümünün network (ağ), hangi bölümünün host (kullanıcı) olduğunu belirtir. Bununla beraber kullanıcı olarak belirlenen bölümden, o network üzerinde ne kadar IP adresi kullanabileceğimizi gösterir.
Başka bir anlatım ile; bildiğiniz gibi bir bilgisayarın başka bir bilgisayar ile iletişime geçebilmesi için aynı network (ağ) üzerinde olması gerekir. Aynı network üzerinde olmalarından ziyade bu bilgisayarların, aynı network'te olduklarını bilmeleri gerekir. İşte, Subnet Mask tam olarak bu işi yapıyor. Yani bilgisayarlar, Subnet Mask'ı kullanarak aynı ağ içerisinde olup olmadıklarına karar verirler.
IP (Internet Protocol) adlı blogda IP adreslerinin temel olarak A, B, C ve D şeklinde sınıflara ayrıldığından ve IPv4'ün 4 oktetten oluştuğundan söz etmiştik. Orada bahsetmediğimiz ufak bir detay var: A, B ve C sınıfı IP adresleri default (varsayılan) bir Subnet Mask'a sahiptir. Hemen hatırlatıcı bir IP örneği verelim.

Devam etmeden önce dilerseniz IP Bölüm 2 | Sayı Sistemleri Bölüm 1 içerisinde bulunan ve IP adreslerini Binary sisteme çevirmemizde yardımcı olan tabloyu da gözümüzün önüne getirelim. Eğer tabloyu kullanmayı bilmiyorsanız lütfen yukarıda linkleri bulunan bloglarımızı okuyun.

Şimdi, varsayılan A sınıfı IP adreslerinde IP'nin ilk okteti sadece 1'lerden oluşur. Bu ne anlama geliyor? Tablodaki her bit'i dahil ettiğimiz ve hepsini 1 olarak aldığımız anlamına geliyor. Eğer hepsini 1 olarak alırsak bunun bize vereceği sonuç 255 olacaktır. Yani 255 sayısını gördüğünüz zaman bunun Binary karşılığının 11111111 olduğunu bilmeniz gerekir.
Buna bağlı olarak varsayılan A sınıfı bir IP adresinin 255.0.0.0 şeklinde görüneceğini de bilmemiz gerekir. Varsayılan A sınıfı IP adresinin Binary şeklinde gösterimi de şöyle olacaktır: 11111111.00000000.00000000.00000000

Peki B ve C sınıfı IP adreslerinin varsayılan değerleri nedir?

Bu koşulda B ve C sınıfı IP adreslerinin Binary karşılığı aşağıdaki gibidir.
B Class: 11111111.11111111.00000000.00000000
C Class: 11111111.11111111.11111111.00000000
Kendi IP adresinizin varsayılan Subnet Mask'ını görmek isterseniz Komut İstemi'ne 'ipconfig' yazmanız yeterli olacaktır.

Yukarıdaki görselde varsayılan Subnet Mask adresimizi 255.255.255.0 olarak görüyoruz. Bunun Binary karşılığının da 11111111.11111111.11111111.00000000 olduğunu biliyoruz. Elbette, bu Subnet Mask adresimiz öylesine verilmedi. Hemen üstündeki IPv4 Address: yazan kısıma bakın; IP adresimiz 192 ile başlıyor. Hatırlayın; IP adresinin başı 192 ile 223 arasında ise bu IP adresi C sınıf IP adresidir. Aşağı, hatırlatıcı bir görsel bırakıyorum.

Şimdiye kadar sürekli varsayılan Subnet Mask'lar ile ilgilendik. Fakat Subnet Mask'ın, cihazların hangi network üzerinde olduklarını belirlediğini de belirtmiştik. Peki bir cihazın IP adresinin hangi network üzerinde olduğunu nasıl anlarız?
Bu örnekte yine önceden kullandığımız IP adresi olan 192.158.1.38'i kullanacağız. Bu işlemi yapabilmek için öncelikle IP adresimizi Binary sisteme çevirmemiz, daha sonra Default Subnet Mask'ımızı Binary sisteme çevirmemiz gerekiyor. Biz, 192 ile başlayan bir IP adresinin C sınıfı IP olduğunu ve bunun; 255.255.255.0 şeklinde gözüktüğünü biliyoruz. Bu varsayılan IP adresinin ise Binary olarak 11111111.11111111.11111111.00000000 şeklinde ifade edildiğini de biliyoruz. Bu bilgiyi saklayalım.
Daha sonra IP adresimiz olan 192.158.1.38 adresini de Binary sisteme çevirmemiz gerekir. Bu çevirme işlemini daha önceki bloglarda yaptığımız için tekrar anlatmayacağım ve direkt olarak yazacağım. IP adresimizin Binary karşılığı da 11000000.10011110.00000001.00100110 şeklindedir.
Adım adım gideceğiz. Şimdi, az önce Binary karşılıklarını verdiğimiz IP adreslerini şöyle bir alalım.

Bunları önümüze koyduk. Şimdi, anlamamız gereken bir mantık konusu var. Programcı arkadaşlar bunun nasıl çalıştığını bilir ama bunu hepimiz öğreneceğiz. Bu mantık konusunun ismi 've' veya 'and' şeklindedir. Günlük hayatta 've' bağlacı ile size bir koşul sunulduğu zaman o koşulun iki tarafını da gerçekleştirirsiniz. Örnek:
"Mehmet'i veya Aleda'yı beraberinde getir." Cümlesinde kişi, bizden ya Mehmet'i ya da Aleda'yı getirmemizi ister. Fakat;
"Mehmet'i ve Aleda'yı beraberinde getir." Bu cümleden, ikisini de yanımıza almamız gerektiğini anlıyoruz. İşte, 've' mantığı tam olarak budur.
Bizim bu mantığı, Binary rakamları üzerinde de anlamamız gerek. Linklerini verdiğimiz blogları okuduysanız zaten biliyorsunuzdur ama yine de söyleyelim. Bilgisayarlarca '1' demek, 'sinyal var, iletim var, elektrik var' şeklinde algılanır. '0' demek ise 'sinyal yok, iletim yok, elektrik yok' şeklinde algılanır.
Şimdi burada, bir kablodan geçen elektrik noktalarını görelim.

Yukarıda, üstteki şekillere bir bakalım. Mavi daireler elektrik noktaları, yeşil ok ise verinin akış yönünü temsil ediyor. Burada, her elektrik noktasında '1' bulunduğunu görüyoruz. Bu, buradaki her elektrik noktasında sinyal olduğu anlamına geliyor. Dolayısıyla veri, herhangi bir engele takılmadan yoluna devam edebiliyor.
Aşağıdakinde ise durum biraz farkllı. Üçüncü elektrik bölgesinde '0' olduğunu görüyoruz. Veri, buradan geçerken orada takılı kalacaktır çünkü 0, her şeyi mahveden bir yapıdır; sinyal yok, iletim yok, elektrik yok.
Buradan da anlayacağımız üzere biz;
1 ve 0'ı alırsak bunun sonucu 0 olacaktır.
0 ve 0'ı alırsak bunun sonucu 0 olacaktır.
1 ve 1'i alırsak bunun sonucu 1 olacaktır.
İşte, şimdi yapacağımız karşılaştırma da tam olarak buna göre olacak.

Burada, IP adreslerimizin Binary değerlerini alt alta yazdık. Şimdi sırasıyla, kendisine karşılık gelen Binary değerini az önce verdiğimiz mantık sayesinde aşağıdaki ile karşılaştıracağız. Ben ilk okteti yapacağım, gerisi sizde.
192 ile başlayan IP'mizim ilk oktetine baktığımızda ilk değerin '1' olduğunu görüyoruz. 255 ile başlayan IP adresimizin ilk değeri de '1' olarak geçiyor. Dolayısıyla 1 + 1 = 1 sonucunu veriyor ve biz, mavi kısımda ilk değerimize '1' veriyoruz.
Daha sonra ikinci değere geldiğimizde yukarıdakinin de aşağıdakininde '1' olduğunu görüyoruz. Bu yüzden almamız gereken değer '1' olacaktır; mavi kısıma yazıyoruz.
Daha sonra yukarıda kalan değerlerin hepsi '0', aşağıdakilerin ise '1' olduğunu görüyoruz. '0' değerinin yok eden olduğunu zaten biliyoruz yani tek bir koşulda '0' değerinin olması, diğer koşulları da '0' yapacaktır (0 + 0 = 0). Dolayısıyla mavi kısıma da '0'larımızı yazıyoruz ve ilk oktetimizi tamamlamış oluyoruz.
Bu işlemi bitirdikten sonra bu Binary değeri Decimal değere dönüştürdüğümüzde bir 192.158.1.0 şeklinde IP adresi ile karşılaşıyoruz. Bu adres, 192.158.1.38 IP adresinin network adresidir. Fakat burada kuracağımız cümle şu şekilde olmalıdır: "C sınıfı bir IP adresimiz var. Default Subnet Mask kullanıldığında bu IP'nin network'ü 192.158.1.0'dır."
Dilerseniz, az önce parça parça verdiğim görselleri tek parça olarak vereyim; tekrar bakmak istediğinizde rahatça erişebilin.

Burada, dikkatli olmanız gereken bir nokta var. 192.158.1.38 IP adresini kullandık; bunun yerine 192.158.1.30 kullanmış olsaydık network yine 192.158.1.0 olacaktır. Çünkü bu network adresidir; özel bir IP adresi değildir. Bunun anlamı, farklı cihazların aynı ağda olduğudur ve bunların birbirleriyle iletişime geçebildiğidir.
Şimdi, aynı ağ içerisinde olan farklı cihazların haberleştiğini biliyoruz. Peki, farklı bir network'e (ağa) sahip olan cihazlar ne yapacak? Elbette, normal bir şekilde haberleşmek yerine bir yönlendirici ile haberleşmek zorunda kalırlar.
Lütfen siz de, başka IP adresleri ile pratik yapın. Pratik yapmazsanız kısa sürede unutursunuz.
Yayınlanma Tarihi: 2022-08-02 22:13:35
Son Düzenleme Tarihi: 2022-08-04 22:56:13