TCP-IP Temelleri 

 

Şimdi size Tcp-ip (Transmit Control Protokol-Internet Protokol) hakkında kısaca bilgi vermek istiyorum (oldukça kısa ! ). Bunu sizin daha kolay anlamanız ve kolayca uygulayabilmeniz için yapacağım. Ayrıca size Tcpi-ip'nin ve internetin tarihinden de bahsedecek değilim. Sadece kurulum gereksinimlerinizi karşılayacak bilgiler bulacaksınız.

IP-Adresi :

Önce şundan bahsedelim : Her bir ethernet kartının dünyada bir eşi-benzeri olmayan bir numarası vardır (mac adres). Bu 48 bit numaranın ilk 24 biti üretici kodudur, son 24 bit ise benzersiz bir numaradır ve sadece bu ethernet kartı için kullanılmıştır. Bir yerel ağ da (Local Area Network-LAN), NetBEUI veya ipx-spx protokollerinden biri kulanılırken bu protokoller her bir bilgisayarı (dolayısı ile bilgisayar üzerindeki ethernet kartını) diğerlerinden ayırmak için bu numarayı kullanır. Bu tip networklerde bilgisayarları birbirinden ayırdetmek için ayrıca bir numaralandırma yapmak gerekmez.
Ancak Tcp-ip geniş alan ağı olarak çevirebileceğimiz  wan'lar (Wide Area Network-WAN) da kullanılmak üzere tasarlanmış bir protokoldür. Böyle bir sistemde networkün bazı bölümleri düzgün çalışmıyor olabilir (örneğin İstanbul'dan Arjantine gönderilen bir veri paketini düşünün,yüzlerce santral ve düğüm noktasından geçecektir !) . Sonuçta Tcp-ip kendine has bir numaralandırma sistemi kullanır (IP Adesleri).

Tcp-ip IP adresleri 32 Bit'liktir . Ip adresi 4 adet 8 bitlik parçadan oluşur (192.168.10.1 gibi). Bu parçaların herbirine oktet denir. Her bir parça 0 dan 255'e kadar değer alabilir (0 ve 255 in kullanımı ile ilgili sınırlandırmalar vardır). Eğer küçük-özel bir network kuruyorsanız herhangi bir ip adresini kullanabilirsiniz. Eğer bir şirketin networküne (veya bir kampüs networküne) bağlanacaksanız network yöneticisinden size bir ip adresi atamasını istemelisiniz. Ve eğer internete bağlanacaksanız internet servis sağlayıcınızdan size bir ip adresi vermesini istemelisiniz. Eğer şu anda internete bağlı değilseniz, ancak ilerde bağlanmayı düşünüyorsanız networkünüzü özel ağlar için ayrılmış 192.168.x.y aralığında tanımlayın. Böylece internete bağlandığınızda bunu değiştirmeniz gerekmez. Burada x her bilgisayarda aynı,y ise farklı olmalıdır.
3 sistemin kullanıldığı küçük bir network örneği:

tcpip3pc.gif (4806 bytes)

Ip adreslerini Tcp-ip özellikler penceresinden ayarlayabilirsiniz.

tcpipadr.gif (7674 bytes)

Şimdilik Subnet Mask'a 255.255.255.0 girin. Bu dökümanın ileriki bölümlerinde buna değineceğim.
Evet bu kadar.
Bağlantının doğru çalışıp çalışmadığını ping komutu ile kontrol edebilirsiniz.

Eğer küçük bir netwokünüz varsa her makinaya elle ip numarası verebilirsiniz,ama bilgisayar sayısı 50 den fazla ise bu oldukça zor bir iş haline gelir. Ancak Tcp-ip size bu konuda bir kolaylık sağlar : "Otomatik bir ip adresi al" :

tcp_dhcp.gif (8165 bytes)

Bu otomatik tanımlamayı yapabilmek için network üzerinde dağıtılacak ip adreslerinin belirlendiği ve atamanın yapıldığı bir;

DHCP
(Dynamic Host Configuration Protocol) server olmalıdır.

Her bir bilgisayar açıldığında network üzerinde bir DHCP-server var mı diye mesaj yollar (kendisine otomatik olarak bir ip adresi atansın diye). Atanan bu ip adresleri genellikle kalıcı olmaz, ancak bir süreye bağlı olarak atanmış olurlar (günler, aylar, haftalar boyunca olabilir, ancak internete dial-up bağlantıda bu sadece bağlantı süresincedir). Eğer sistem bu süre içinde DHCP-Server'a tekrar başvurursa ip adresinin süresi uzatılır. Ancak uzun bir süre, otomatik olarak ip adresinin atanmış olduğu sistem, DHCP-Server ile bağlantı kurmazsa, onun için atanmış ip adresinin süresi dolmuş kabul edilir ve bir başkasına atanmak üzere bekletilir. Kendisine verilen ip adresinin süresi geçen sistem yeni bir adres için tekrar başvurur.

Windows 95 te kendiliğinden bir DHCP-Server yoktur.

Eveet. Şu ana kadar oldukça basit görünüyordu değil mi ? Bundan sonra biraz işin ayrıntısına girelim. Bilgisayarın kendi ip adresi var, ancak ethernet kartları sadece ethernet adreslerini bilirler. Tcp-ip networkte kendi reklamını yapar ve şöyle der : "Hey ben yaşıyorum,Ethernet adresim '08000b 0a0238' ve IP-adresim de '192.168.10.2' ".
Networkteki her bir terminal bu bilgilerden oluşan (hangi ip adresi hangi ethernete -dolayısı ile hangi bilgisayara- karşılık geliyor) bir tablo tutar ve bu tablodaki bilgiler -genellikle- 15 dakidada bir yenilenir.
Eğer sisteminiz diğer bir terminalle iletişim kurmak isterse, ve diğer bilgisayarla ilgili bilgi bu tabloda yer almıyorsa herkesin alacağı bir mesaj yollar (Broadcast mesaj).
"Hey, ben 192.168.10.4 ile haberleşmek istiyorum, fakat onun ethernet (mac) adresini bilmiyorum eğer o sensen bana mac adresini gönder" der. Networkte kim o ip ye sahipse kendi mac adresini gönderir. Diğer sistemler de bu mesaja bakar ve bir işlem yapmazlar (dolayısıyla broadcast mesajları da network trafiğini arttırır).
Bu işlem ARP (Address Resolution Protocol) ve RARP (Reversed Address Resolution Protocol) olarak adlandırılır.
ARP/RARP protokolleri lan'larda iyi çalışır,ama internette kullanılmaz. Tüm internete böyle broadcast mesaj yollanamayacağı için (milyonlarca bilgisayar var çünkü) kullanılması mümkün değildir.

Gateway/Router:
Tcp-ip ağınızı başka bir Tcp-ip ağına bağlarken (internet bu şekilde bağlanmış networkler topluluğudur) bir cihaza ihtiyacınız olacak : Gateway veya Router

tcpipgat.gif (7253 bytes)

Genellikle Subnet-Mask '255.255.255.0' dır. Ancak eğer 207.68.137.53 ' e bağlanmak isterseniz (microsoft web sitesi),Tcp-ip senin ve bağlanmak istediğin yerin ip lerini ve subnet-mask larını karşılaştırır (mantıksal and işlemine tabi tutar). Bu karşılaştırma bit seviyesinde yapılır. Subnet-mask aslında ip adresinin ne kadarının network adresi, ne kadarının bilgisayarın özel adresi olduğunu ayırmaya yarar.

System: IP/subnet-mask Binary
your system 192.168.10.1 11000000 10101000 00001010 00000001
Microsoft 207.68.137.53 11001111 01000100 10001001 00110101
Subnet-mask 255.255.255.0 11111111 11111111 11111111 00000000
 

Tcip-ip subnet-mask ta 1 lere karşılık gelen ip adres başlıklarını (bu örnekte ilk 24 bit) karşılaştırır. Eğer sen ve bağlanmak istediğin makina aynı networkteyseniz bu ilk 24 bit aynıdır. Ve Tcp-ip ARP tablosundan diğer makinanın ethernet (mac) adresine bakarak bağlanır.
Ancak bu ilk 24 bit farklı ise, Tcp-ip Gateway'a bağlanır (bu örnekte 192.168.10.20). Artık diğer sisteme bağlanmak Gateway'in işidir. Diğer kişi kimse internet bulutu içindedir. Gateway (geçit) ve Router (yönlendirici) 'lar özel tablolar tutarlar ve kendilerine gelen isteği ileriki router'e geçirirler. O diğerine, o diğerine ... ta ki hedef bilgisayara ulaşana kadar. Hedef bilgisayar ise cevabı gene aynı yol üzerinden geri yollar
(daha fazla bilgi için bakınız: Tcp-ip routing ayarları).

inetsend.gif (43907 bytes)

Yukarıdaki örnekte herbirinin internette belirlenmiş ip leri olan bilgisayarlar var. Eğer bir dial-up bağlantı ile yerel networkünüzü internete bağlıyorsanız bir proxy'ye ihtiyacınız var !

Bunu kendi kendinize kontrol edbilirsiniz. Bir ms-dos komut istemci açın ve tracert komutunu kullanın. Ben "ourworld.compuseve.com" adresine tracert yapıyorum :
TRACERT 149.174.213.39

tracert.gif (10494 bytes)

Normal boyutunda görmek için resmin üstüne basın!

HOSTS / LMHOSTS:
Hosts ve Lmhost dosyalarının kullanımı şöyledir : Tcp-ip yüklü bir windows'ta C:\WINDOWS dizininde bu dosyaları 'hosts.sam' ve 'lmhosts.sam' olarak bulabilirsiniz. Bu dosyaların bir kopyasını yaratın ve isimlerini 'hosts' ve 'lmhosts' haline getirin (uzantılarını yokedin). Ve isimleri tanımlama da kullanın:

:hosts.gif (15225 bytes)

Hosts ve Lmhosts dosyalarının tanımlaması aynı yapılır:
ip-adresi,biraz boşluk,bilgisayar ismi

Hosts ve Lmhosts ne zaman kullanılır ?
Bu iki dosyanın iki basit görevi vardır:

Hosts dosyası temel Tcp-ip programlarınca kullanılır (ping, ftp, ......).

Lmhosts ise Microsoft Networking/Client/Workgroup yönetiminde kullanılır.

Eğer tüm network aynı kablo üzerinde (tek segment) ise bilgisayarlar broadcast mesajları ile diğerlerini bulur ve haberleşilir. Bu durumda Lmhosts dosyasına gerek yoktur.
Ancak Broadcast mesajları yönlendirilmezler, yani eğer birden fazla segment varsa ve bir segmentteki bilgisayar diğer segmentteki bir bilgisayarla haberleşmek isterse ona broadcast mesajı ile ulaşamaz. O zaman Lmhosts dosyasına elimizle diğer segmentteki bilgisayarın ip adresini gireriz ki farklı segmentte olmalarına rağmen haberleşebilsinler.
Not: Lmhosts
"Lan Manager HOSTS" un kısaltmasıdır. Bu tanımlama eski Microsoft networklerinden gelir.

DNS (Domain Name Service):
Ip adreslerinin hatırlanması zor olduğu için bu servis kullanılır.
Bu servis bilgisayar isimleri ile ona karşılık gelen ip adresini tutar:

tcpipdns.gif (7979 bytes)

Eğer herhangibirserver.com gibi bir adres girerseniz (web browser'a mesela) Tcp-ip şunları yapar :

1.Dns servere herhangibirserver.com'un ip adresini sorar.
2.Dns server ip adresini yollar (192.5.6.111 gibi).
3.Tcp-ip herhangibirserver.com'a 192.5.6.111 ip numarasını kullanarak bağlanır.

tcpipdns-1.gif (20901 bytes)

Bu basit bir Tcp-ip kursu idi.