Interneti anlamak ve Internet Protokolü

Internet nedir sorusuna cevabınız var mı?
Herkes interneti kullanıyor, internetten yararlanıyor, bugüne kadar hiç bilgisayar kullanmamış kişiler de internetin sunduğu nimetlerden yararlanınca bu uçsuz bucaksız mecrayı öğrenmek istiyorlar.

Internetin ne olduğunu anlayabilmek için tcp ip protokolünü bilmek gerekiyor bunun içinde biraz matematik. Internette bir web sayfasına ulaşmak için onun adresini bilmek gerekir. Bu adres "http://www" ile başlar. WWW - world wide web dünya çapında ağ demektir. Ağ dan kastedilen ise bilgisayarların oluşturduğu kümedir ve bu bilgisayarlara ulaşmak için kullandığımız bilgisayarlarda bazı protokoller kullanılır. Bu protokollerin nasıl çalıştığını ve birbirleri ile bağlantılarını incelemek ayrı bir mühendislik konusudur. Biz kısaca tcp/ip protokolünü inceleyerek internet denilen ağ ın nasıl çalıştığı hakkında kafanızdaki soru işaretlerini gidermeye çalışacağız.

TCP/IP - Transmission Control Protocol / Internet Protocol (Transfer kontrol protokolü/ Internet protokolü) Bu protokol internet üzerindeki tüm bilgisayarların sahip olduğu bir numaranın ayarlandığı protokoldür. Internet üzerindeki bilgisayarların ki bunlar aslında web sunucularıdır, 32 bitlik bir numaraları vardir.

Bu noktada 32 bit kafanızı karıştırabilir bunu anlamak için sayı sistemlerinden biraz bahsetmemiz gerek.
Günlük hayatta 10 luk sayı sistemini kullanırız. Bu sistem 0-9 a kadar 10 adet rakamdan oluşur ve bütün sayılarıda bu rakamlarla gösteririz. Sayılar birler, onlar, yüzler, binler basamağı şeklinde çözümlenir. Örneğin 128 sayısının birler basamağında 8 onlar basamağında 2 ve yüzler basamağında 1 vardır ve 1x100 + 2x10 + 8x1 = 128 şeklinde çözümlenir. Bu noktada bir parentez açıp bit, byte, kbyte, 2 lik sayı sistemi 16 lık sayı sistemi hakkında kıza bir özet geçelim;

2 lik sayı sistemi adı üstünde 2 rakamdan oluşan sayı sistemidir. 0 ve 1 den oluşan 2 lik sayı sisteminde bütün sayılar 0 ve 1 ler ile ifade edilir. 2 lik sayı sisteminde basamaklar 1,2,4,8,16,32,64.... ler basamağı şeklindedir. İkilik sayı sistemi binary sayı sistemi olarak da adlandırılır.
16 lık sayı sistemide 16 rakamdan oluşur bunlar sırayla 0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F. Dikkat ettiyseniz 9 dan sonra 10 değil A, 11 için B .... ve 15 için F harfi kullanılıyor. 16 lık sayı sistemi hekzadesimal sayı sistemi olarak da adlandırılır.

Aşağıdaki örnekleri inceleyecek olursanız sayı sistemlerini ve 2 lik ve 16 lık sayı sistemlerini 10 luk sisteme nasıl çevrildiği daha iyi anlaşılacaktır.

binary hexadecimal sayı sistemleri

Sayı sistemlerini anladıktan sonra bilgisayarların depolama kapasitesi birimi olan bit,byte, kbyte kavramlarını anlamamız gerekir. Nasıl uzunluğu metre (m), ağırlığı kilo (kg) ile ölçüyorsak bilgisayardaki depolama kapasiteside byte lar ile ölçülüyor. (1mb = 1024 x 1kbyte = 1024x1024byte). Bit ise byte ın 8 de biri. Yani 16 bit lik bir sayı dendiğinde 1010111001001001 şeklinde 16 basamaklı ve ikilik sayı sisteminde bir sayı algılamalıyız.

Sayılarla ilgili daha fazla ayrıntıya girmiyorum ama en azından tcp ip konusunda adresleme tekniklerinini anlatırken 8 bit, 32bit vs gibi değerlerin neyi ifade ettiği anlaşılacaktır.

Intenetteki bilgisayarların 32 bitlik bir sayı ile ifade edildiğinden bahsetmiştik. Bu sayı 8 bitlik 4 parçaya bölünmüştür. Her 8 bit ile ifade edilecek en büyük sayı 10 luk sistemde 255 tir.

8bit bit byte kavramı
11010100 10101101 01000101 11001111 sayısı onluk sistemde 212,173,69,239 dür. İşte internette bir adres bu şekilde http://212.173.69.239/ şeklinde gösterilir. Bunlara IP adresleri diyoruz.
Pratik olarak IP numaralarından da anlaşılacağı gibi Internette dağıtılabilecek IP sayısının bir sınırı olduğu anlaşılır. Bu sayı pratik olarak 2 üzeri 32 dir ve 4 milyardan fazladır. Bu IP adreslerinin dağıtılması ICANN adı verilen kurum tarafından belli kurallar çerçevesinde yapılmaktadır. IP adreslerinin hangi ağa bağlı olduklarını ayırt etmek için ise subnet mask denilen ve yukardaki gibi 1 ve 0 lardan oluşan 32 bitlik bir sayı kullanılıyor.

Ancak internet sitelerinin isimlerini akılda tutmak bu şekilde IP numaralarını akılda tutmaktan daha kolay olacağından her IP numarasına bir isim verilmiştir. Bunlarada alan adı (domain name) diyoruz. Internetteki bir adresi tarayıcımıza (Internet Explorer, Firefox, Netscape, Opera gibi.) yazdığımızda bilgisayarımızdaki tcp/ip konfigürasyonunda belirtilmiş olan dns (domain name server - alan adı sunucusu) sunucusu yardımıyla bu alan adının IP numarası bulunuyor. Peki bizim bilgisayarımız internete girince hangi IP numarasını alıyor diye aklınıza bir soru gelebilir. Kullanıcı bilgisayarları internete bağlanırken servis sağlayıcı tarafından atanan bir IP numarası alırlar. Ya da bağlı oldukları ağ tarafından verilen sanal bir IP numarası alırlar bu konuya daha sonra değineceğiz.


TCP/IP
Tcp/ip nin transfer kontrol protokolü olduğunu söylemiştik aslında tek bir protokol değil protokoller kümesi ve bunlara yardımcı araçlar kümesidir. Bunlar;
-TCP (Transmission Control Protocol) uygulamalar arasında ki iletişimi sağlar
-UDP (User Datagram Protocol) uygulamalar arasındaki basit iletişimi sağlar tcp nin yalın hali dir.
-IP (Internet Protocol) Bilgisayarlar arasındaki iletişim
-ICMP (Internet Control Message Protocol) dinamik adresleme için

yardımcı araçlar ve komutlar ve görevleri;
Ping: Konfigürasyonu kontrol etmeye ve paket gönderilip alınarak test etmeye yarar.
FTP: TCP/IP hostları arasında tek yönlü dosya transferini sağlar.
TFTP: TCP/IP hostlar arasında UDP kullanarak tek yönlü dosya transferini sağlar.
Telnet: Terminal bağlantısı sağlar.
REXEC: Uzakta bulunan bilgisayardaki bir işlemi çalıştırır.
Finger: Uzak bilgisayar hakkında bilgi sağlar.
ARP: (adres bulma protokolü - addres resolution protocol) Yerel olarak düzenlenmiş IP adreslerinin ön belleğini hazırlar.
IPCONFIG: Windows makinelerde mevcut TCP/IP konfigürasyonunu gösterir. Kullanımı örnek : "ipconfig /all, ipconfig 192.168.1.1, detaylı bilgi için ipconfig/help"
NBTSTAT: IP adresleriyle düzenlenmiş NetBIOS bilgisayar adlarını görüntüler.
Netstat: TCP/IP protokolünün çalışması ilgili bilgileri görüntüler.
Route: Yerel yönlendirme tablosunu gösterir ve değiştirilmesini sağlar.
Hostname: RCP, RSH ve REXEC programlarının kimlik denetimini yaparak yerel bilgisayarın adını döndürür.

Şimdi bilgisayarımızın tcp ip protokolünü kullanarak lokal ağdaki bir bilgisayarla ya da internetteki bir sunucuya nasıl bağlandığına bakalım.
Aslında lokal ağda ya da internette bilgisayarlar birbirleri ile iletişim kurarken MAC adresi dediğimiz ve ağ donanımları için benzersiz bir numara kullanırlar. Yani bilgisayarımızdaki ağ kartının, ağımızdaki adsl modemin, laptop umuzdaki kablosuz ağ kartının benzeri olmayan bir mac adresi vardır. Tcp/ip protokolündeki arp ip adreslerinin sahiplerinin mac adreslerini bulur ve bunu bellekte tutar.
Bilgisayarda tcp ip protokolünün doğru ayarlanması için ağa göre geçerli bir IP adresine, ağ geçidi adresine, dns sunucu bilgisine ve doğru bir subnetmask a ihtiyaç vardır.
Örnek;

IP no : 192.168.1.5
SubnetMask : 255.255.255.0
Ağ geçidi 192.168.1.1

 

Bilgisayar Ip no ve subnetmask ı kullanarak ait olduğu ağ ı bulur. Kendi yönlendirme tablosunu oluşturur, yani hangi istek gelince nasıl hareket edeceğini belirleyeceği klavuzu.
Bir bağlantı isteği geldiğinde yerel ağdaki bir bilgisayaramı bağlanılacağı yoksa uzaktaki bir bilgisayaramı bağlanacağı ağdaki router tespit eder. Yerel ağdaki bir bilgisayar ise o bilgisayarın IP numarası ağ geçidinden alınır mac adresi arp belleğinden alınır ve bağlantı kurulur, eğer uzaktaki bir bilgisayar ise ağdaki router bu isteği kendi tablosuna bakar ve bağlı bulunduğu ağdaki (servis sağlayıcının routeri) router a iletir, bu routerda kendi tablosuna bakar ve bu işlem hedef bilgisayar bulunana kadar devam eder. Bulunduktan sonra router bunun mac adresini bilmiyorsa bir arp broadcast yayınlayarak mac adresini öğrenir ve karşılıklı mac bulunmuş olur ve bu iki ağ aygıtı artık birbirleri ile veri transferi yapabilirler.

Uzak bağlantıdan bahsederken kast ettiğimiz router lar ile lokal ağ dan bahsederken kastettiğimiz router lar hem fiziksel hem işlevsel olarak birbirinden farklıdır. Küçük lokal ağımızdaki router görevini genellikle adsl ile kombine edilmiş adsl modem router dediğimiz hepsi birarada cihazlar yaparlar. Lokal ağımızda bilgisayarlarımızın aldığı IP yide bu cihazlar (dhcp özelliği) ya da ağdaki dhcp sunucusu dağıtır. Internet üzerinde yani servis sağlayıcılardaki routerlar ve onların bağlı olduğu Telekom operatörlerindeki routerlar daha gelişmiştir.

Sonuç:
Internet dünyanın en geniş bilgisayar ağıdır.
Bu ağda bilgisayarlar iletişim için tcp/ip protokol kümesini kullanırlar.
Tcp/ip bilgisayarlar arasındaki komünikasyonu sağlar. TCP bilgisayarlardaki uygulamaların ve ağ uygulamalarının komünikasyonunu sağlarken IP bilgisayarların komünikasyonundan sorumludur.
Router lar IP trafiğini yönlendirirler ve veri paketlerinin doğru yere ulaşmasını sağlarlar.
Internete bağlanacak her bilgisayar bir IP adresine sahip olmalıdır ve bu adres 0-255 arasındaki 4 rakamdan oluşur. "192.168.1.10, 10.0.3.66 gibi" web sunucuların ise gerçek IP adresleri vardır ve bunlar servis sağlayıcı tarafından verilir ve benzeri yoktur. Örnek : "http://144.122.144.160/ - ip adresi aslında http://www.odtu.edu.tr/ adresi ile aynıdır"
Bu şekilde ip numaralarını akılda tutmak zor olduğundan web sunucuların IP adreslerini barındıran dns sunucuları vardır. Örneğin bizimmehmet.com gibi yeni bir alan adı kaydedildiğinde dünya üzerindeki tüm dns sunucularında bu alan adı kaydedilmeden heryerden ulaşılamaz. Bu işlem bazen 72 saat alabilir.
Http (Hyper Text Transfer Protocol) ise web tarayıcılarının web sunucuları ile komünikasyonunu sağlayan protokoldür.
SMTP eposta gönderilirken kullanılan protokoldür.
POP protokolü eposta programımızın eposta sunucusundan epostalarımızı alırken kullandığı protokoldür.

Anlaşıldığı gibi internet bir kurallar bütünü şeklinde çalışır, bunları düzenleyen kurumlar ve sürekli geliştirilen teknolojiler vardır, her ağ daha büyük bir ağa bağlıdır. Ip paketlerinin gideceği adreslere yönlendirilmesini sağlayan routerlar vardır. Ağda yönümüzü bulmamızı kolaylaştıran dns sunucular vardır. Bu unsurların hepsi birden internet dediğimiz dünya genelindeki ağı oluşturur.

Kısa yazımızdan Internetin ne olduğunu ve ne olmadığı hakkında bir fikriniz olmuştur diye umuyorum.

Not: İşleyişin analaşılması için mümkün olduğu kadar teknik kısmı yüzeysel geçmeye çalıştık. O bakımdan konuyu teknik olarak ayrıntılı öğrenmek isteyenler aşağıdaki kaynakları inceleyebilirler.

http://www.ilkertemir.com/document/tcpip.html
http://www.protocols.com/pbook/tcpip1.htm
http://www.ilkertemir.com/backbone-map/current/ Türkiyenin internet omurgasının 2001 deki halini buradan görebilirsiniz.
http://www.w3schools.com/tcpip