D
deja-vu
Misafir
İnternet’in yaygınlaşmasıyla birlikte TCP/IP kısaltmasını çok sık duymaya başladık. Bu kısaltmanın bir bilgisayar ağı protokolü olduğu, İnternet’in bu protokol üzerine kurulu olduğu hep tekrarlandı. Buraya kadar anladık. Ama hiç kimsede çıkıp bu TCP/IP’yi doğru düzgün anlatmadı. Internet’e bağlanırken girdiğimiz değerler (IP, Subnet Mask, Default Gateway vs. vs.) ne anlama geliyor. Bunları yanlış girince niye İnternet’e çıkış yapamıyoruz, kısacası nasıl oluyor da oluyor, hiç bilemedik. Ama artık yeter. Size bu yazıda TCP/IP’nin ne olduğunu bir bir anlatacağım. Artık gerçekler karanlıkta kalmayacak. TCP/IP, Transmission Control Protocol/Internet Protocol ifadesinin kısaltması. Türkçesi, İletim Kontrolü/İnternet Protokolü oluyor. Protokol belli bir işi düzenleyen kurallar dizisi demek.. Örneğin, devlet protokolü devlet erkanının nerede duracağını, nasıl oturup kalkacağını düzenler. Ağ protokolleri de bilgisayarlar arası bağlantıyı, iletişimi düzenliyor. TCP/IP’nin adına bakıp tek bir protokol olduğunu düşünmeyin. TCP/IP, bir protokoller kümesi. Herbiri değişik işler yapan bir yığın protokolden oluşuyor.
TCP/IP’nin kökleri, 1960’ların sonunda 1970’lerin başında Amerikan Savunma Bakanlığı’na bağlı İleri Araştırma Projeleri Ajansının (Advanced Research Projects Agecncy, ARPA) yürüttüğü paket anahtarlamalı ağ deneylerine kadar uzanır. TCP/IP’nin yaratılmasını sağlayan proje ABD’deki bilgisayarların bir felaket anında da ayakta kalabilmesini, birbirleriyle iletişimin devam etmesini amaçlıyordu. Şimdi baktığımız zaman projenin fazlasıyla amacına ulaştığını ve daha başka şeyleri de başardığını görüyoruz.
Bu projenin ilk aşamasında, 1970’de ARPANET bilgisayarları Network Control Protocol’ünü kullanmaya başladılar. 1972’de ilk telnet spesifikasyonu tanımlandı. 1973’de FTP (File Transfer Protocol) tanımlandı. 1974’te Transmission Control Program ayrıntılı bir şekilde tanımlandı. 1981’de IP standartı yayımlandı. 1982’de Defence Communications Agency (DCA) ve ARPA, TCP ile IP’yi TCP/IP Protokol suiti olarak tanımladı. 1983’de, ARPANET NCT’den TCP/IP’ye geçti. 1984’de Domain Name System (DNS) tanıtıldı.
Yukarıda kısaca verdiğimiz tarihçe aynı zamanda Internet’in tarihçesidir. Internet ile TCP/IP ayrılmaz kardeşlerdir. TCP/IP, İnternet’in temelidir.
Bu kısa tarihçeden sonra, bir yerel alan bilgisayar ağı üzerinde TCP/IP’yi anlatmaya geçelim. Burada anlatılanlar İnternet üzerinden de geçerlidir. TCP/IP ile kurulan bir bilgisayar ağında bir bilgisayarı üç parametre ile tanımlarız. Bu parametreler bilgisayarın adı, IP adresi ve MAC adresidir. TCP/IP protokoller kümesi bu 3 parametreyi kullanarak bilgisayarları birbirine bağlar.
Bilgisayar adı kullanıcı tarafından İşletim Sistemi yüklenirken bilgisayara verilen addır. (Bilgisayarlara MUHASEBE, SATIS, ye da AHMET gibi açıklayıcı ve kolay adlar verilmelidir.). MAC (Media Access Control, Ortama Erişim Kontrolü) adresi, bilgisayrların ağ kartının ya da benzer ağ cihazlarının içine değiştirilemez bir şekilde yerleştirilmiş bulunan bir adrestir. (0020AFF8E771 örneğinde olduğu gibi onaltılı düzende rakamlardan oluşur). MAC adresine donanım adresi de denir. IP adresi ise 131.107.2.101 örnek adresinde olduğu gibi, 4 bölümden oluşan bir adrestir. Nokta ile biri diğerinden ayrılan bu bölümlerin her biri 0 ile 255 arasında değer alabilir.
IP adresinin ilk bölümü adresinin gösterir. IP adresleri kabaca 3 sınıftır: Bu sınıflar A, B ve C olarak sınıflandırılır. A sınıfı adreslerin ilk bölümü 1 ile 126 arasında bir değer alabilir. B sınıfı adreslerin ilk bölümü ise 128 ile 191 arasında yer alır. C sınıfı adresler 192 ile 233 arasında bulunur. 223’ten sonrası ne oldu diye sorabilirsiniz. 223’ten sonrası bizi hiç ilgilendirmeyen işler için ayrılmıştır.
Dikkatli okuyucu arada 127 ile başlayan adreslerin kayıp olduğunu farketmiştir. 127 ile başlayan adresler özel işler için ayrılmıştır. Bu adreslerin bir tanesi bizi ilgilendirir ve sık sık kullanmamız gerekir. Bu adres 127.0.0.1’dir ve kendi bilgisayarımızı gösterir. İşlerin yolunda gidip gitmediğini öğrenmek için ilk önce bu adresi kullanırız.
İnternette A sınıfı adresler çok değerli adreslerdir ve büyük ağlardaki bilgisayarlar için ayrılmıştır. Örneğin IBM’in adresleri A sınıfı adreslerdir. Şu anda İnternette A sınıfı adres tükenmiştir, kimseye verilmemektedir. A sınıfı adres alan bir işletme yaklaşık 16 milyon adres tanımlayabilir. İnternet’te B sınıfı adresler de şu anda tükenmiştir. Bir B sınıfı adreste yaklaşık 65000 bilgisayar tanımlanabilir. Örneğin, Microsoft’a bir B sınıfı adres alanı ayrılmıştır. C sınıfı adresler halen boldur, kullanılabilir. Ama C sınıfı bir adres alanı ile de ancak 250 küsür adres alanı tanımlanabilir. Bir yerel ağ kurarken İnternet’teki adres kısıtlamaları bizi bağlamaz. Kendi ağımız için her sınıftan bir adres verebiliriz. Burada verilen adreslerin İnternet ile bir bağlantısı yoktur. Bu noktaya dikkat ediniz. TCP/IP’yi anlamak için kendimizi bir yerel, daha sonra dageniş bir ağ ile ksıtlayacağız. Böyle bir ağın İnternet bağlantısı ise bambaşka bir konudur. Şimdi kendi bilgisayar ağımız için bir C sınıfı adres alanı tanımlayalım. Bilgisayarlarımıza vereceğimiz adresler 220.107.2.100 ile 220.107.2.200 arasında yer alsın. Örnek adresler:
Birinci bilgisayar için 220.107.2.100
İkinci bilgisayar için 220.107.2.101
Üçüncü bilgisayar için 220.107.2.102
..........
Sonuncu bilgisayar için 220.107.2.200
Dikkat ederseniz, bütün bilgisayarların adreslerinin ilk üç hanesi sabit: 220.107.2. Bu adrese, tam olarak söylemek gerekirse 220.107.2.0 adresine, ağ tanımlayıcısı (Network ID) denir. Yani, sizin ağınızın adresi nedir derlerse 220.107.2.0 diyebiliriz. Buradan çıkaracağımız ilk sonuç şu: Hiç bir bilgisayara, sonu 0 ile biten bir adres veremeyiz. Sonu 0 ile biten adresler ağı tanımlar.
Bilgisayarımıza veremeyeceğimiz ikinci bir adres de, sonu 255 ile biten bir adrestir. Örnek ağımızdaki bilgisayarların adresleri araasında 220.107.2.255 yer alamaz. Sonu 255 ile biten adresler broadcast adresleridir. Broadcaast yayın demektir; Aynen radyo televizyon yayınlarındaki gibi. Yani, belli bir bilgisayara değil de tüm ağa mesaj göndereceğimiz zaman sonu 255’le biten bir adres kullanırız, böylece ağa yayın yaparız. Örnek ağımızda herkese gidecek mesajın hedef adresi 220.107.2.255 olur.
Şimdi biraz toplayalım. IP adresleri iki bölümden oluşur. İlk bölüm ağın adresidir. İkinci bölüm ağ içindeki bilgisayarların adresleridir. Örneğimizdeki adreslerde "220.107.2." ifadesini içeren bölüm, ağı tanımlar. Geri kalan kısım ise (100,101,...,200 gibi) ağdaki bilgisayarların her birini tanımlar. Başka bir ağda ağ adresleri 131.107.0.0 şeklinde, bir başkasında ise 90.0.0.0 şeklinde olabilir. Ağ adresleri seçtiğimiz sınıfa bağlıdır.
Bir bilgisayar, IP adresinin hangi bölümünün ağı tanımladığını, hangi bölümünün ise bilgisayarı tanımladığını bilmek zorundadır. Bunun için Subnet Mask bilgisini kullanır. Subnet Mask’i AĞ MASKESİ şeklinde çevirebiliriz. Subnet Mask’da bir IP adresidir; Dört bölümden oluşur ve ağ adresinin hangi bölüme kadar geldiğni göstermek için kullanılır. Örneğimizde Subnet Mask 255.255.255.0’dır. Yani örneğimizde ağ adresi IP adresinin ilk üç hanesi ile tanımlanmaktadır. Bilgisayarlar kendi ağ tanımlayıcılarını bulmak için Subnet Mask’i kullanırlar. Bu yüzden Subnet Mask’in doğru bir şekilde girilmesi ağımızın çalışması açısından önemlidir. Yanlış girilen subnet mask değeri, bilgisayarın diğer bilgisayarlarla iletişimini engeller.
Bilgisayarlar ağ tanımlayıcılarını bulmak için Subnet Mask’ı nasıl kullanırlar? Şimdi örnek bilgisayarımızdaki üç bilgisayarın adres bilgilerini Şekil-1’ deki gibi girdiğimizi varsayalım:
ŞEKİL 1
Yukarıdaki şekilde MUHASEBE ve SATIŞ bilgisayarlarının Subnet Mask’i doğru, AHMET bilgisayarının Subnet Mask’i yanlış girilmiştir. Şimdi Ahmet adlı bilgisayarın MUHASEBE adlı bilgisayara bir bilgi iletmek istedigini varsayalım. AHMET bilgisayarı MUHASEBE’nin IP adresini kullanacaktır. AHMET, bilgi göndereceği bilgisayarın, yani MUHASEBE’nin, kendi ağında olup olmadığını anlamak için şu işlemleri yapar.
Önce kendi IP adresi ile Subnet Mask’ini AND işleminden geçirir; sonuç 220.107.2.96’dır. (inanmayan bu rakamları 0 ve 1 lerden oluşan ikili düzendeki rakamlara çevirip AND işlemini kontrol edebilir.) Bu rakam ona göre, içinde bulunduğu ağın tanımlayıcısıdır.
Sonra kendi Subnet Mask’i ile MUHASEBE’nin IP adresini AND işleminden geçirir; sonuç 220.107.2.112’dir. Bu iki adres ayni olmadığı için AHMET bilgisayarı, MUHASEBE bilgisayarının başka br ağda olduğunu varsayar. Bu da yanlış bir varsayım olduğu için MUHASEBE bilgisayarına bilgi gönderemez. Bu hatanın giderilmesi oldukça basittir. AHMET’in Subnet Mask değerini diğer bilgisayarlarla aynı yaparsanız, bütün bilgisayarlar aynı ağ üzerinde bulunduklarını hesaplayıp birbirlerine bilgi gönderebilirler. Bir bilgisayar ancak kendi ağı üzerindeki bir bilgisayara bilgi gönderebilirler. Bir bilgisayar ancak kendi ağı üzerindeki bir bilgisayara bilgi gönderebilir. Başka bir ağda bulunan bilgisayarlara bilgi göndermek gerekirse, yönlendirici (ROUTER) adı verilen cihazlar kullanılır. Cihaz dedik ama, üzerinde birden fazla ağ kartı bulunan bilgisayarlar da yönlendirici görevi görebilirler.
TCP/IP’nin kökleri, 1960’ların sonunda 1970’lerin başında Amerikan Savunma Bakanlığı’na bağlı İleri Araştırma Projeleri Ajansının (Advanced Research Projects Agecncy, ARPA) yürüttüğü paket anahtarlamalı ağ deneylerine kadar uzanır. TCP/IP’nin yaratılmasını sağlayan proje ABD’deki bilgisayarların bir felaket anında da ayakta kalabilmesini, birbirleriyle iletişimin devam etmesini amaçlıyordu. Şimdi baktığımız zaman projenin fazlasıyla amacına ulaştığını ve daha başka şeyleri de başardığını görüyoruz.
Bu projenin ilk aşamasında, 1970’de ARPANET bilgisayarları Network Control Protocol’ünü kullanmaya başladılar. 1972’de ilk telnet spesifikasyonu tanımlandı. 1973’de FTP (File Transfer Protocol) tanımlandı. 1974’te Transmission Control Program ayrıntılı bir şekilde tanımlandı. 1981’de IP standartı yayımlandı. 1982’de Defence Communications Agency (DCA) ve ARPA, TCP ile IP’yi TCP/IP Protokol suiti olarak tanımladı. 1983’de, ARPANET NCT’den TCP/IP’ye geçti. 1984’de Domain Name System (DNS) tanıtıldı.
Yukarıda kısaca verdiğimiz tarihçe aynı zamanda Internet’in tarihçesidir. Internet ile TCP/IP ayrılmaz kardeşlerdir. TCP/IP, İnternet’in temelidir.
Bu kısa tarihçeden sonra, bir yerel alan bilgisayar ağı üzerinde TCP/IP’yi anlatmaya geçelim. Burada anlatılanlar İnternet üzerinden de geçerlidir. TCP/IP ile kurulan bir bilgisayar ağında bir bilgisayarı üç parametre ile tanımlarız. Bu parametreler bilgisayarın adı, IP adresi ve MAC adresidir. TCP/IP protokoller kümesi bu 3 parametreyi kullanarak bilgisayarları birbirine bağlar.
Bilgisayar adı kullanıcı tarafından İşletim Sistemi yüklenirken bilgisayara verilen addır. (Bilgisayarlara MUHASEBE, SATIS, ye da AHMET gibi açıklayıcı ve kolay adlar verilmelidir.). MAC (Media Access Control, Ortama Erişim Kontrolü) adresi, bilgisayrların ağ kartının ya da benzer ağ cihazlarının içine değiştirilemez bir şekilde yerleştirilmiş bulunan bir adrestir. (0020AFF8E771 örneğinde olduğu gibi onaltılı düzende rakamlardan oluşur). MAC adresine donanım adresi de denir. IP adresi ise 131.107.2.101 örnek adresinde olduğu gibi, 4 bölümden oluşan bir adrestir. Nokta ile biri diğerinden ayrılan bu bölümlerin her biri 0 ile 255 arasında değer alabilir.
IP adresinin ilk bölümü adresinin gösterir. IP adresleri kabaca 3 sınıftır: Bu sınıflar A, B ve C olarak sınıflandırılır. A sınıfı adreslerin ilk bölümü 1 ile 126 arasında bir değer alabilir. B sınıfı adreslerin ilk bölümü ise 128 ile 191 arasında yer alır. C sınıfı adresler 192 ile 233 arasında bulunur. 223’ten sonrası ne oldu diye sorabilirsiniz. 223’ten sonrası bizi hiç ilgilendirmeyen işler için ayrılmıştır.
Dikkatli okuyucu arada 127 ile başlayan adreslerin kayıp olduğunu farketmiştir. 127 ile başlayan adresler özel işler için ayrılmıştır. Bu adreslerin bir tanesi bizi ilgilendirir ve sık sık kullanmamız gerekir. Bu adres 127.0.0.1’dir ve kendi bilgisayarımızı gösterir. İşlerin yolunda gidip gitmediğini öğrenmek için ilk önce bu adresi kullanırız.
İnternette A sınıfı adresler çok değerli adreslerdir ve büyük ağlardaki bilgisayarlar için ayrılmıştır. Örneğin IBM’in adresleri A sınıfı adreslerdir. Şu anda İnternette A sınıfı adres tükenmiştir, kimseye verilmemektedir. A sınıfı adres alan bir işletme yaklaşık 16 milyon adres tanımlayabilir. İnternet’te B sınıfı adresler de şu anda tükenmiştir. Bir B sınıfı adreste yaklaşık 65000 bilgisayar tanımlanabilir. Örneğin, Microsoft’a bir B sınıfı adres alanı ayrılmıştır. C sınıfı adresler halen boldur, kullanılabilir. Ama C sınıfı bir adres alanı ile de ancak 250 küsür adres alanı tanımlanabilir. Bir yerel ağ kurarken İnternet’teki adres kısıtlamaları bizi bağlamaz. Kendi ağımız için her sınıftan bir adres verebiliriz. Burada verilen adreslerin İnternet ile bir bağlantısı yoktur. Bu noktaya dikkat ediniz. TCP/IP’yi anlamak için kendimizi bir yerel, daha sonra dageniş bir ağ ile ksıtlayacağız. Böyle bir ağın İnternet bağlantısı ise bambaşka bir konudur. Şimdi kendi bilgisayar ağımız için bir C sınıfı adres alanı tanımlayalım. Bilgisayarlarımıza vereceğimiz adresler 220.107.2.100 ile 220.107.2.200 arasında yer alsın. Örnek adresler:
Birinci bilgisayar için 220.107.2.100
İkinci bilgisayar için 220.107.2.101
Üçüncü bilgisayar için 220.107.2.102
..........
Sonuncu bilgisayar için 220.107.2.200
Dikkat ederseniz, bütün bilgisayarların adreslerinin ilk üç hanesi sabit: 220.107.2. Bu adrese, tam olarak söylemek gerekirse 220.107.2.0 adresine, ağ tanımlayıcısı (Network ID) denir. Yani, sizin ağınızın adresi nedir derlerse 220.107.2.0 diyebiliriz. Buradan çıkaracağımız ilk sonuç şu: Hiç bir bilgisayara, sonu 0 ile biten bir adres veremeyiz. Sonu 0 ile biten adresler ağı tanımlar.
Bilgisayarımıza veremeyeceğimiz ikinci bir adres de, sonu 255 ile biten bir adrestir. Örnek ağımızdaki bilgisayarların adresleri araasında 220.107.2.255 yer alamaz. Sonu 255 ile biten adresler broadcast adresleridir. Broadcaast yayın demektir; Aynen radyo televizyon yayınlarındaki gibi. Yani, belli bir bilgisayara değil de tüm ağa mesaj göndereceğimiz zaman sonu 255’le biten bir adres kullanırız, böylece ağa yayın yaparız. Örnek ağımızda herkese gidecek mesajın hedef adresi 220.107.2.255 olur.
Şimdi biraz toplayalım. IP adresleri iki bölümden oluşur. İlk bölüm ağın adresidir. İkinci bölüm ağ içindeki bilgisayarların adresleridir. Örneğimizdeki adreslerde "220.107.2." ifadesini içeren bölüm, ağı tanımlar. Geri kalan kısım ise (100,101,...,200 gibi) ağdaki bilgisayarların her birini tanımlar. Başka bir ağda ağ adresleri 131.107.0.0 şeklinde, bir başkasında ise 90.0.0.0 şeklinde olabilir. Ağ adresleri seçtiğimiz sınıfa bağlıdır.
Bir bilgisayar, IP adresinin hangi bölümünün ağı tanımladığını, hangi bölümünün ise bilgisayarı tanımladığını bilmek zorundadır. Bunun için Subnet Mask bilgisini kullanır. Subnet Mask’i AĞ MASKESİ şeklinde çevirebiliriz. Subnet Mask’da bir IP adresidir; Dört bölümden oluşur ve ağ adresinin hangi bölüme kadar geldiğni göstermek için kullanılır. Örneğimizde Subnet Mask 255.255.255.0’dır. Yani örneğimizde ağ adresi IP adresinin ilk üç hanesi ile tanımlanmaktadır. Bilgisayarlar kendi ağ tanımlayıcılarını bulmak için Subnet Mask’i kullanırlar. Bu yüzden Subnet Mask’in doğru bir şekilde girilmesi ağımızın çalışması açısından önemlidir. Yanlış girilen subnet mask değeri, bilgisayarın diğer bilgisayarlarla iletişimini engeller.
Bilgisayarlar ağ tanımlayıcılarını bulmak için Subnet Mask’ı nasıl kullanırlar? Şimdi örnek bilgisayarımızdaki üç bilgisayarın adres bilgilerini Şekil-1’ deki gibi girdiğimizi varsayalım:
ŞEKİL 1
Yukarıdaki şekilde MUHASEBE ve SATIŞ bilgisayarlarının Subnet Mask’i doğru, AHMET bilgisayarının Subnet Mask’i yanlış girilmiştir. Şimdi Ahmet adlı bilgisayarın MUHASEBE adlı bilgisayara bir bilgi iletmek istedigini varsayalım. AHMET bilgisayarı MUHASEBE’nin IP adresini kullanacaktır. AHMET, bilgi göndereceği bilgisayarın, yani MUHASEBE’nin, kendi ağında olup olmadığını anlamak için şu işlemleri yapar.
Önce kendi IP adresi ile Subnet Mask’ini AND işleminden geçirir; sonuç 220.107.2.96’dır. (inanmayan bu rakamları 0 ve 1 lerden oluşan ikili düzendeki rakamlara çevirip AND işlemini kontrol edebilir.) Bu rakam ona göre, içinde bulunduğu ağın tanımlayıcısıdır.
Sonra kendi Subnet Mask’i ile MUHASEBE’nin IP adresini AND işleminden geçirir; sonuç 220.107.2.112’dir. Bu iki adres ayni olmadığı için AHMET bilgisayarı, MUHASEBE bilgisayarının başka br ağda olduğunu varsayar. Bu da yanlış bir varsayım olduğu için MUHASEBE bilgisayarına bilgi gönderemez. Bu hatanın giderilmesi oldukça basittir. AHMET’in Subnet Mask değerini diğer bilgisayarlarla aynı yaparsanız, bütün bilgisayarlar aynı ağ üzerinde bulunduklarını hesaplayıp birbirlerine bilgi gönderebilirler. Bir bilgisayar ancak kendi ağı üzerindeki bir bilgisayara bilgi gönderebilirler. Bir bilgisayar ancak kendi ağı üzerindeki bir bilgisayara bilgi gönderebilir. Başka bir ağda bulunan bilgisayarlara bilgi göndermek gerekirse, yönlendirici (ROUTER) adı verilen cihazlar kullanılır. Cihaz dedik ama, üzerinde birden fazla ağ kartı bulunan bilgisayarlar da yönlendirici görevi görebilirler.