22 Mart 2009 Pazar

6. Hafta Windows 2003 Serverda DHCP Kurulumu ve Yapılandırması

Kurulum İngilizce windows esas alınarak anlatılacaktır.Elimden geldikçede türkçe karşılıklarını vermeye çalışacağım.
Öncelikle DHCP servisini kuralım ilk olarak control panel(denetim masası)’i açıyoruz.Oradan Add or Remove Programs ( Program Ekle/Kaldır ) seçeneğini seçip windows component ( windows bileşenleri) sekmesini seçiyoruz.Açılan yeni kutuda Network Compenents ( Network Bileşenleri )’ni seçerek oradan Dinamic Host Confirigation Protokol –DHCP’yi seçerek.Gerekli yönergeleri takip ederek kurulumu tama
mlıyoruz.( Alışıkdık Next Next Olayı ):)





Kurulum işlemi sorunsuz tamamlandıktan sonra.Start(Başlat) çubuğundan All programs Administrative tools Sekmesinden DHCP servisini başlatıyoruz.

Eğerki DHCP sunucunuz otomatik olarak başlatılmamışsa DHCP serverınızın üzerine klikleyerek all tasktan start yönergesiyle başlatabilirsiniz.Herşey Buraya Kadar Tamam Varsayıyoruz.
Karşımıza böyle bir ekran gelecektir.Buradan sonrası tamamen şirket planlamasıyla ilgili olacak şekilde ayarlanmalıdır ama biz küçük çaplı bir şirketimiz olduğunu varsayarak DHCP mizi yapılandıracağız.

Bunu için;
1-) 50 Adet Client
2-) 5 Printer( Rezervation IP için Gerekli Olacak )
3-) 1 VPN Client Esas Alınarak Anlatılacaktır.


DHCP’yi yapılandırmadan önce gerekli olacak bi kaç bilgiden bahsedelim.( Yeri Geldikçe Diğer Açıklamalarda Yapılacaktır.)
Scope : Scope dhcp için dağılması gereken IP aralıklarını türlerini kısacası hangi IP havuzundan kaç adet dağıtılacağı bunlardan kaçının rezervation IP olduğunu kaç tanesin VPN’ler için olduğunu belirleyen bir kural yapısı olduğunu söylemekte yarar var.Ayrıca hangi ayarlar IP istenilen clienta gönderilecektir onunda ayarlarını scope’lar üzerinden gerçekleştireceğiz.( Bir nevi DHCP nin group policy’si diyelim )

DHCP serverımız başladıktan sonra ilk scope’umuzu yaratmaya geldi sıra.
Serverin üzerine kliklenerek ( ki ben pclobi diye bir server kurdum.Pclobi serverına sağ klik atılarak açılan menu kutusundan new scope seçeneğini seçiyoruz.

Daha sonra karşımıza gelen ilk ekran karşılama ekranı olacağından Next seçeneği ile sorunsuz bi şekilde geçiyoruz burayı ardından gelen diyalog kutusunda bize Scope’umuzun adını ve tanımını soracaktır.




Şekildede görüldüğü gibi ben adını “donanımhaber” tanımınıda “donanım haber IP scope” diye tanımladım burada herhangi bir zorunluluk yoktur isteyen istediği adı verebilir.

Burayıda sorunsuz geçtiğimizi varsayarak Next butonu ile diğer aşamaya geçiyoruz.Unutmadan da söyleyelimki burada yapılandırdığımız yapılandırma daha sonra manuel müdahale sonucuda değiştirilebilir.



Bu aşamada ise Start IP adress sekmesi DHCP serverımızın Dağıtacağı IP adreslerinden en baştakini En IP adress ise en son IP adresini belirtecektir.Biz buraya 50 adet clientımız olduğunu varsayarak 50 IP adresi bize yetecektir.Ben printerlarıda bu havuzdan alması için ve 5 yeni client olabilir mantığı ile 60 veriyorum.( Not : İlerde Yeni clientlar gelmesi olasılığınıda hesaba katarak bu sayıyı arttırmak en mantıklı seçenektir.C sınıfı bir IP adresinde en fazla dağıtılabilecek IP sayısı 254 le sınırlıdır fakat private(özel bir ağ yapınız varsa ve buda dışarı(Internet vs.) kapalı ise kendi private IP lerinizle bu sayıyı arttırsınız ( Subnet Maskesini 24 bit yerine 16 bit kullanmak gibi ) Lenght sekmeside bizim Subnet maskemizin kaç bit olacağını belirtirki buda alttaki subnet maskla ( 255.255.255.0 olarak görünen ) eşdeğer oranda değişir.

Bu adımıda tamamladıktan sonra Next Butonu ile geçerek diğer aşamaya geliyoruz.



Add exclusions sekmesinde ise IP havuzumuzun içerisinde hazırda bulunsun fakat dağıtılmasın diye ibare ettiğiniz Ipler bulunabilir.Örneğin 192.168.1.55 nolu bir print serverınız var ve bu surekli açık olmayan bir server olsun.Clientların bi IP’yi almalarını bu şekilde engelleyebiliriz. ( Gerçi olayın kira süreleri felan var daha ama biz en kötü ihtimalı göze alarak planlıyoruz ) Bu işlemide sorunsuz hallettiysek Next butonu ile diğer aşamaya geçebiliriz.

Bu aşamada ise bizden IP adresi isteyen clientlara o IP adresini kaç gun tutacağını belirten kira kontratı olarak düşünebiliriz.8 gün boyunca bir client bu IP yi kullansın diyerek Network trafiğini az da olsa kısabiliriz.Çok fonksiyonel bir ayarda yapabiliriz.5 gün 4 saat 20 dk vs...

Bu işlemde başarıyla bittikten sonra Next butonu ile diğer aşamaya geçiyoruz.

Bu aşamada ise scope için diğer ( wizardda yapılmayan ) ayarlamaları şimdi mi yapmak yoksa daha sonra mı yapmak istediğimiz soruluyor ki ben şimdi yapmayı tercih ettiğimizi varsayıyorum.Nex butonu ile bir sonraki yapılandırmaya geçiyoruz.



Şimdi genelde büyük çaplı firmalarda kullanılan sistemlerde router yardımıyla iki farklı bölgelerdeki clientlar aynı subnet içerisindeymiş gibi gösterilebilir.Bu yüzden Ankara daki firmamızda 50 bilgisayar Istanbul firmamızda 30 bilgisayar varolduğunu varsayarsak ve Istanbuldaki bilgisayarlarada kurduğumuz DHCP den IP alınmasını istiyorsak buradan routerimizin IP adresini girerek etkinleştirebiliriz. ( ki bu uygulama diğer subnete DHCP relay Agent Kurulumunu Gerektirir )
Bizim 50 client + 5 printer + 20 VPN clientimiz var başkada şubemiz :)yok oyuzden burayı pas geçebiliriz.Bir sonraki aşamada şirket içinde kullanılan avtive directory ( domain sistemi ) varsa adını ve burada kullanılan DNS ( Domain Name System : Isim çözücü) varsa gereken yapılandırmayı yapıyoruz.Biz firmamızda bi tane DNS sunucusu varsayarak yapalım bu işlemi ve adını donanimDNS koyarak IP adresinide 192.168.1.1 olarak verdim ben eğerki DNS sunucunuz yoksa burayı pas geçebilirsiniz.Bir sonraki aşamada ise aynı işlem WINS server için yapılacak ve aynı işlemler gerçekleştirilecektir.( WINS : NETBIOS isim çözücü )
WINS yapılandırmasınıda yaptığımız varsayılarak.Next butonuyla en son aşamaya geliyor ve buradaki iki seçenekten birini seçerek scope kurulumunu tamamlıyoruz.
Birinci seçenek scope kurulumu bitti ve hemen başlat diğer seçenek ise hemen başlatma... :)
Kurulumu bitirdik scope’ımızı aktif hale getirdik.Sıra geldi özel tanımlamalara rezervasyon IP tanımlamalarına ve havuzumuzu genişletme gereksinimindeki manuel ayarlamalara.

Karşımıza Gelen Bu ekranda adress pool bize dağıtılacak IP havuzumuzun başlangıç noktasını bitiş noktasını ve rezerve edilmiş IP adreslerini gösterir.Resimde de görüldüğü gibi bizim IP havuzumuz 192.168.1.1 den 192.168.1.60’a kadardır. Ve 192.168.1.55 nolu IP adresinide hayali ve kapalı print serverımız için iptal ettiğimiz görülüyor.Diğer seçeneklerde adlarındanda bilineceği gibi
• Adress Leases DHCP serverımızdan IP alan clientların kira süreçlerini gösterir.
• Rezervations : DHCP server tarafından dağıtılması özellikle istenen makinalar için kullanılır.( bu işlemi gerçekleştirmek için IP dağıtılacak makinanın MAC adresinin bilinmesi zorunludur.)
• Scope Options : Bu kısımda ise DNS,WINS benzeri diğer servislerin bulunduğu IP adları ve yapılandırma bilgileri bulunur.

Bu aşamadan sonra standart klinkum bitmiş ve DHCP serverınızı şirketimizde kullanabiliriz.Şimdi ise rezerve IP adreslerine ve diğer clientlara verilecek IP adreslerine geldi sıra.
MANUEL YAPILANDIRMA
Başlangıçta IP havuzumuzu genişletelim.Bunun için kurmuş olduğumuz scope’un üzerine sağ klik atarak properties seçeneğini seçiyor oradanda karşımıza gelen ve sanıyorum ki artık yabancı olmadığımız ibarelerin bulunduğu diyalog kutusuna gereken mudahaleleri yapıyoruz.



Havuzunuzu ihtiyaçlarınıza göre buyutlup küçültebilirsiniz.

Gelelim rezerve IP yapılandırmasına
Scope umuzu açarak oradaki alt menulerden reservations menusune sağ klik atarak new reservations seçeneğini seçirek başlıyoruz.



Burada ilk kutucuk rezervasyonun adını belirler ve istenilen ad girilebilir.Ikinci kutuda ise rezervasyon yapılan clienta verilecek IP adresini yazıyoruz.Üçüncü kısım ise bu clientımızın MAC ( MAC adresleri her networkkartı için ayrı ve eşsizdir ) En alttaki description sekmesine ise gereken açıklama yapıldıktan sonra rezervasyon işlemimizi tamamlamış olacağız ve sizlerde goreceksiniz ki varolan bir MAC adresi yazar ve DHCP olarak da kurulan serveri gosterirseniz sizin belirlediğiniz IP adresini alacaktır.
İşte yaptığımız rezerve işlemi ;)

VPN clientlarımız içinde rezerve işlemi aynı yontem yardımı ile gerçekleştirilebilir.Sadece yapılması gereken VPN server için rezerve bir IP adresi yapılandırmak geri kalan işlemleri gereken IP adreslerini zaten VPN server kendisi alacaktır.( DHCP den otomatik olarak 10-15 arası bir IP aralığını kendine alıyordu zaten yanlış anımsamıyorsam )

6. Hafta DHCP protokolü ve uygulamaları

DHCP (Dynamic Host Configuration Protokol=Dinamik Bilgisayar Konfigurasyon Protokolü)

TCP/IP protokolünü kullanan aglarda ikisi gerekli olmak üzere bes adet parametre kullanilir.. Bunlar IP, Subnet Mask, Gateway, DNS ve WINS dir. Bunlardan IP ve Subnet’in degerinin mutlaka girilmesi gerekir.

Ancak bir network üzerinde makine sayisinin artmasi sonucu bu degerlerin girilmesi hem zorlasir hemde hatali girilmesi sonucu makinelerin baglanti sorunlariyla karsilasiriz. Bu sorunu çözmek için olusturulan bir server üzerine DHPC (Dynamic Host Configuration Protokol=Dinamik Bilgisayar Konfigurasyon Protokolü) adi verilen bir servisin kurulmasi sonucu gerekli olan bütün konfigurasyon degerlerinin diger makinelere otomatik olarak baglanmasini saglamis oluruz. Bunun için networke bagli statik IP(Internete çikista kullanacagi legal IP degeri) ve gerekli degerleri dogru girilimis bir makine üzerine DHPC Prokolünü kurduktan sonra networkte bulunan diger client makineler IP degerleri bos birakilip bu degerleri DHPC üzerinden isterler. Client bu istegi verdikten sonra DHCP IP araligindan seçilen bir IP degeri belirli bir zaman araliginda bu clienta kiralar. Ve en son olarak client aldigi IP numarasini onayladiktan sonra o tarih araliginda client’a o IP atanir ve süre sonunda IP numarasi geri alinir.Ve ondan sonra istenirse tekrar bir IP verilir. DHPC server’in genel çalisma prensibi bu sekildedir.

Her hangi bir client’in aldigi IP adresini komut satirinda

C:\ipconfig

Komutunu yazarak IP adresini, Subnet Maskini ve Default Gateway’ini ögrenebiliriz.Daha ayrintili bilgi istersek yani kartin MAC adresini, Host ismini (makine adi), DNS ayarlari gibi bu sefer ise

C:\ipconfig /all yazmamiz yeterlidir.

DHPC ‘den eger bir client bir IP numarasi aldiysa

C:\ipconfig /release komutuyla aldigi bilgileri birakmasini saglayabilir

C:\ipconfig /renew yazarsak tekrar yeni bir deger almasini saglayabiliriz..

DHCP SERVER KURULUMU VE KONFIGURASYONU

DHCP servisinin kurulmasi için statik IP’si olan ve bir NT Server makine üzerine Control Panel içindeki Network Objesi altindan Services tabindan Add.. Buttonuna basarak yeni bir servis olarak DHCP Servisini ekleriz.Ve makine restart edilir. DHCP Servisi kurulmus olur daha sonra konfigurasyonuna geçelim. Istemcilere verecegimiz IP adres havuzunu tanimlamaliyiz. Daha sonra istemcilerin kullanacagi subnet mask degerini girmemiz gerekir. Ama bazi durumlarda server gibi kullanilan makinelerin kendine ozgu IP degerleri olabilecegi için onlarin adreslerini statik olarak vermek ve IP havuzundan çikarmamiz gerekir. Bazi makinelerinde hep ayni IP’yi almalarini istersek kendilerine ozgu IP degerlerini rezerve ederiz. DHPC server servisini konfigure etmek için Administrator Tools menüsü altinda DHPC Manager menusu kullanilir.

DHCP sunucu hizmetinin konfigurasyonu için ilk olarak bir scope tanimlanir. Scope DHCP’nin degitacagi IP degerlerinin araligidir. Eger ag birbirlerine router dedigimiz yönlendiricilerle birbirine bagliysa bu durumda scope sayisi birden fazla olabilir.

Simdi artik DHCP konfigurasyonuna geçebiliriz. Ilk olarak Administrator Tools arltindan DHCP Manager çalistirilir. Local Machine üzerine tiklanarak Scope menusunden Create diyerek yeni bir scope olusturalim. Daha sonra Start Adress olarak istemcilere verecegimiz IP’lerin ilk degerini ve End Adress kisminda verilecek son IP degerinin yazalim.Subnet mask için ag üzerinde kullandigimiz subnet mask degeri girilir. Excluded Adresses kisminda, verdigimiz IP araligi içindeki bir grup IP degerini çikarmak için kullanilir. (Bu degerler statik olarak kullanildigi için bunlari hariç tutmamiz gerekir ) Lease Durationda ise client”a verilen IP degerinin ne kadar sonra geri alinacagi degeri girilir. Bu degeri çok degisen IP degerlerine göre 3-5 gün arasinda vermek uygun olur. Name kisminda scope’un ismi Comment ‘te ise ilgili yorum bulunur.

Bu degerleri girdikten sonra OK ‘e basildiktan sonra sonra bu scope’u aktif edip edilmeyecegi sorulur. Buna Yes dersek scope aktif hale gelmis olur. Manager ‘da aktif olan scopelar yaninda sari lambayla ifade edilir. Aktif olmayanlarin yaninda lamba bulunmaz.

Scope tanimlandiktan sonra IP ve subnet maske bilgilerini direk olarak clientlara yollamis olduk bundan sonra diger bilgileri yani default gateway, WINS ve DNS server IP Bilgilerinide DHCP tarafindan yollayabiliriz. Bunun için DHCP Manager’dan DHCP Option’I seçiyoruz. Burada yapilan konfigurasyonlar bütün scopelari yada seçili bir scope’u etkileyebilir.DHCP üzerinden bir scope seçildikten sonra DHCP Options menüsünden Global veya Scope seçilir. Burada Unused Options kisminda daha önce tanimlamadiginiz ve tanimlaya bileceginiz degerlerin listesidir. Bunlardan en çok kullanilanlari asagida verilmistir.

003 Router Router’ın adresi yani default gateway değeri

006 DNS Servers DNS Server adresi girişi

044 WINS/NBNS WINS Sunucunun adresi

046 WINS/NBT node type NETBIOS isim çözümlemesinin tipi girilir.

047 NetBIOS Scope ID NetBIOS Scope ID’si tanımlanır

4. Hafta Internet protokolleri

INTERNET PROTOKOLÜ (IP)

IP adresi (Internet Protocol Address), internette ya da diğer herhangi bir ağa bağlı cihazların, ağ üzerinden birbirlerine veri yollamak için kullandıkları adres.
İnternet'e bağlanan her bilgisayara bir IP adresi atanır, diğer bilgisayarlar bu bilgisayara bu adres ile ulaşırlar. Yani iki farklı cihaz aynı yerel ağda olmasa dahi, IP adresi birbirleri ile iletişim imkânı sağlar.

IP adresleri şu anda yaygın kullanımda olan IPv4 için 32 bit boyunda olup, noktalarla ayrılmış 4 adet 8 bitlik sayıyla gösterilirler. Örneğin: 192.167.10.5
TCP katmanina gelen bilgi segmentlere ayrildiktan sonra IP katmanina yollanir. IP katmani, kendisine gelen TCP segmenti icinde ne oldugu ile ilgilenmez. Sadece kendisine verilen bu bilgiyi ilgili IP adresine yollamak amacindadir. IP katmaninin gorevi bu segment icin ulasilmak istenen noktaya gidecek bir “yol” (route) bulmaktir. Arada gecilecek sistemler ve gecis yollarinin bu paketi dogru yere gecirmesi icin kendi baslik bilgisini TCP katmanindan gelen segment’e ekler. TCP katmanindan gelen segmentlere IP basliginin eklenmesi ile olusturulan IP paket birimlerine datagram adi verilir. IP basligi eklenmis bir datagram asagidaki cizimde gosterilmektedir:




Versiyon ve Başlık uzunluğu (IP Version and Header Length) : Bu değer iki tane 4 bitlik değerin birleşmesinden oluşmaktadır. En soldaki 4 bit IP paketinin versiyonunu belirtir. En sağdaki 4 bit ise, IP başlığının uzunluğunu ile ilgilidir

Servis türü (IP Type of Service) : Paketin servis türü internet ortamında iletilen paketin nasıl ele alınacağını belirler.

IP paketinin toplam uzunluğu (Total Length of IP Packet) : Bu değer IP paketinin toplam uzunluğunu byte cinsinden belirtir. Bu değer IP başlığının uzunluğu ve IP paketinin içinde bulunan diğer paketin (ICMP, TCP ve UDP paketleri gibi) toplam uzunluğunun toplamından oluşmaktadır. 16-bitlik bir alan olduğundan maksimum 65536 bytelık paket uzunluğu olabilir. IP başlığının boyu her zaman sabit olmayabileceğinden dolayı (kullanılabilecek IP seçeneklerinden dolayı) bu alana gereksinim vardır.

IP kimlik numarası (IP Identification Number) : IP paketinin kimlik numarası paketi gönderen tarafından üretilen rasgele bir numaradır. Eğer gönderilecek veri paketi birkaç IP paketinden oluşacak ise, kimlik numarası kullanımı önemlidir. Böylece alıcı veriyi oluştururken bu kimlik numaralarından yararlanır.

IP Parçalanma ve Bayrak Verisi (IP Fragmentation Flag) : Bu 16-bitlik değer IP paketi ile ilgili iki ayrı bilgi belirtir. En soldaki 3 biti IP paketinin parçalı olup olmadığını, geri kalan 13 bit ise gönderilecek olan tüm verinin içinde bu IP paketinin nerde bulunduğunu belirtir.

IP paketinin yaşam süresi (Time to Live of IP Packet) : İlgili IP paketinin internet sisteminde kalmasına izin verilecek maksimum süredir. Değer genelde saniye biriminde ölçülür. IP paketini alan her bilgisayar bu değeri en azından bir azaltmalıdır (Paketi alma ve gönderme işlemleri bir saniyeden az sürse bile). Bu bölümde 0 değerini taşıyan paket yok edilmelidir. Bu işlemdeki amaç, varış adresine iletilemeyen paketlerin atılmasını sağlamaktır. Yoksa paketlerin varolmaları engellenemez.

IP Protokol değeri : Bu değer, IP paketi içinde bulunan diğer paketin hangi protokolden olduğunu (ICMP, UDP, TCP gibi) belirtir

IP başlığının sağlama toplamı ( IP Header Checksum) : Bu değer Ip başlığının sağlama toplamıdır.

IP kaynak adresi (IP Source Address) : IP paketini gönderen bilgisayarın 32-bitlik IP adresidir.

IP varış adresi (IP Destination Address) : IP paketini alacak olan bilgisayarın 32-bitlik IP adresidir.

ALT AĞ MASKESİ
TCP/IP 'de iki cihaz aynı ağda olup olmadıklarını birbirlerinin IP adreslerinin ilk birkaç basamağına bakarak anlarlar. Bu basamağa IP maskesi veya Alt ağ maskesi (IP mask veya Subnet Mask) denir. Örneğin IP maskesi 255.255.255.0 ise, ilk üç basamağı (yani ilk 24 bit'i) aynı olan iki makine aynı ağda demektir. Bu durumda, 192.168.0.1 ile 192.168.0.2 aynı ağda, 192.168.1.1 ise başka bir ağdadır.

İANA'NIN DAĞITTIĞI BAZI İP ADRESLERİ

10.0.0.0/8: Eğer bir ağ kesinlikle internete çıkmayacaksa 10 bloğundan herhangi bir adresi istediği gibi kullanabilir çünkü bu 10 bloğundaki adresler internetteki hiç kimseye dağıtılmayacaktır. Eğer bu olmasaydı, günün birinde internete çıkmayacak adres çıkacak olursa internetteki diğer adresle sıkıntı yaşayabilirdi.

172.16.0.0/12: Bu ip'de 10 bloğu gibi bu işe ayrılmıştır.

192.168.0.0/16: Bu ip de aynı iş için ayrılmıştır.

127.0.0.0/1: Loopback adres için yani geri döngü için kullanılır. Bilgisayarımızın internet tarayıcısından kendi bilgisayarımızdan istek yaptık diyelim yani kendi bilgisayarımızdan bir web sayfası istedik,alıcı biz gönderici biz. Bu gibi durumlarda 7.katmana gitmeye gerek kalmaz bu ip sayesinde 3.katmandan geri döner.

169.254.0.0/16: Eğer bir bilgisayarın ip adresi yapılandırılmamışsa bu bloktan ip adresi alır. Bu blok ip yapılandırılmasına gerek kalmadan bilgisayarlar birbiriyle haberleşsin diye ayrılmıştır. Tabi bunun için dış ağ bağlantısının olmaması gerekir.

224.0.0.0/4: Çoklu yayın ağ bloğudur. Bir noktadan birçok noktaya gidilecekse en az ağ genişliğiyle gitmeye yarar. Bütün noktalara tek tek paket göndermeye gerek bırakmaz.

240.0.0.0/4: Gelecekte kullanılmak için rezerve edilmiştir.

5. Hafta TCP/IP Protokolu



I. TCP/IP PROTOKOLÜ

Başta Internet olmak üzere, farklı teknolojilere sahip networklerin olması, bağımsız olarak yönetilmesi ve geliştirilmesi gibi özellikleri TCP/IP protokolünün en yaygın kullanılan protokol olmasına neden olmuştur.
Aslında TCP/IP protokolü diye adlandırmak çok doğru değildir. Çünkü TCP/IP çok sayıda protokol ve yardımcı programlardan oluşan bir protokol kümesidir (protocol stack).

ŞEKİL 7-1: TCP/IP PROTOKOL KÜMESİ


ŞEKİL 7-2: TCP/IP PROTOKOL KÜMESİ ve OSI KATMANLARI

A. TARİHÇE

TCP/IP, endüstri standardı olan bir protokoldür. Bütün networkler için geliştirilmiştir. TCP/IP protokolü A.B.D Savunma Bakanlığı projesi olarak 1970'lerde temelleri atılmıştır. U.S. Department of Defense Advanced Research Projects Agency (DARPA) projesi daha sonra ARPANET olarak kullanılmaya başlanmıştır. ARPANET adı verilen proje Üniversite ve kamu kuruluşlarını bir birine bağlamayı sağlayacak bir ağ geliştirme amacını taşımaktaydı.

TCP/IP, DARPA'nın farklı bilgisayarlar arasında iletişim kurması gerektiğinde geliştirilmiştir. O günlerde bu oldukça zor bir görevdi. TCP/IP işletim sistemi ve bilgisayardan bağımsız olarak bilgisayarların iletişim kurmasını planlamıştı.

O zamanların TCP/IP standartları ve amaçları DoD (Department of Defence) olarak anılır. Ardından yapılan gelişmeler IAB (Internet Activities Board) adı verilen gruplar tarafından yapılmaktadır.

Şu anda da RFC (Request For Comments) adı verilen makalelerce TCP/IP'nin gelişmesi devam ettirilmektedir.

B. RFC (REQUEST FOR COMMENTS)

RFC (Request For Comments), TCP/IP'yi tanımlayan makalelerdir (dokümanlar). Bu makaleler herhangi bir kişi tarafından hazırlanabilir ve NIC yöneticisine gönderilir. Her RFC'nin bir numarası vardır. Örneğin SNMP yönetimi RFC 1065 ile tanımlanırken, kabul edilen SNMP kullanımı RFC 1155 numaralıdır.

Günümüz teknolojilerindeki gelişmeler, TCP/IP için bir gelişmenin olmasını zorunlu kıldığında komiteler önerilen RFC'leri kabul ederek yayınlarlar.

C. TASARIM AMAÇLARI

İlk başta U.S Savunma Bakanlığı (Department of Defence) TCP/IP çalışmalarına başladığında çok sayıda tasarım amaçlarına sahipti. Bunlardan bazıları:

-Donanım ve yazılım firmalarından bağımsız olacak.
-Yerleşik bir hata dayanıklılığına sahip olacak. Networkün bir kısmı çöktüğünde diğer bir kısmı çalışabilecek.
-Etkin bir veri aktarım hızına sahip olacak.

E. TCP/IP MİMARİSİ

TCP/IP, OSI 3 ve 4. katmanda çalışan bir protokoldür. Şekilde de görüldüğü gibi TCP/IP data link ve fiziksel katmanda bağımsız olarak çalışmaktadır.
ŞEKİL 7-3: TCP/IP MİMARİSİ


II. TCP/IP PROTOKOL KÜMESİ

TCP/IP protokol kümesi Windows 2000 networkünün oluşmasını sağlar. TCP/IP protokol kümesi altı çekirdek protokol ve bir dizi yardımcı program (utility) içerir.

Altı çekirdek protokol:

-TCP (Transmission Control Protocol)
-UDP (User Datagram Protocol)
-IP (Internet Protocol)
-ICMP (Internet Control Message Protocol)
-IGMP (Internet Group Management Protocol)
-ARP (Address Resolution Protocol)

Yardımcı programlar:

Tablo: Yardımcı programlar

Program İşlevi
Ping Konfigürasyonu kontrol eder ve bağlantıyı test eder. Ping 131.140.1.1 şeklinde kullanılır.
FTP Windows bilgisayarlar ile TCP/IP hostları arasında tek yönlü dosya transferini sağlar.
TFTP (Trivial File Transfer Protocol) Windows bilgisayarlar ile TCP/IP hostları
arasında UDP kullanarak tek yönlü dosya transferini sağlar.
Telnet Terminal öykünümünü sağlar.
RPC (Remote Copy Protocol) UNIX host bilgisayar ile Windows bilgisayar arasında dosya kopyalar.
RSH (Remote Shell) UNIX hostundaki komutları çalıştırır.
REXEC (Remote Execution) Uzak bir bilgisayardaki bir işlemi çalıştırır.
Finger Uzak bilgisayar hakkında bilgi sağlar.
ARP Yerel olarak düzenlenmiş IP adreslerinin ön belleğini hazırlar.
IPCONFIG Mevcut TCP/IP konfigürasyonunu gösterir.
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.


A. TCP (TRANSMİSSİON CONTROL PROTOCOL)


TCP protokolü connection-oriented olarak adlandırılan ve iki bilgisayar arasında veri transferi yapılmadan önce bağlantının kurulması ve veri iletiminin garantili olarak yapıldığı bir protokoldür. TCP iletişiminde veri paketleri kullanılır. Ayrıca gönderen ve alan uygulamalarda da port bilgisi eklenir. Port (çıkış), kaynak ve hedef uygulamanın iletişimini sağlar.
ŞEKİL 7-4: TCP/IP PROTOKOL KÜMESİ

TCP, güvenilir ve bağlantı (connection-oriented) temelli bir servistir. Bağlanı temelli olması bağlantının bilgisayarlar arasında veri değişiminden önce yapılması anlamına gelir. Güvenilir olması ise iletimin kontrolünün yapılması ile ilgilidir. Belli aralıklarla ACK bilgisi ile veri gönderimi kontrol edilir.

TCP byte-stream iletişimi kullanır. Bu yöntemde TCP segmentlerindeki datalar bir bayt dizisi olarak işlenir. Aşağıdaki tabloda TCP header içindeki ana alanlar yer almaktadır:

Tablo: TCP Header içindeki ana alanlar

Alan İşlevi
Source Port Gönderenin TCP portu.
Destination Port Alanın (hedefin) TCP portu.
Sequence Number TCP segmenti içindeki birinci baytın sıra numarası.
Window TCP ara bellek (buffer) alanının şu anki mevcut büyüklüğü.
TCP Checksum TCP header ve TCP datanın bütünlüğünü kontrol etmek için kullanılır.


TCP Portları

Bir TCP portu mesaj iletişiminde kullanılır:

Port Numarası İşlevi

21 FTP

23 Telnet

53 DNS

B. UDP (USER DATAGRAM PROTOCOL)

UDP'de bir gönderim katmanı protokoldür. Ancak UDP iletiminde sağlama yapılmadığı için gönderim garantisi olmaz. Broadcast iletiminde, az miktardaki verilerin iletiminde UDP paketleri kullanılır. UDP iletimi, gönderimin garanti edilmediği connectionless türü bir iletişim kurar.

UDP Servisi
UDP bağlantısız (connectionless) datagram servisidir. UDP kaybolan verilerin kurtarılması konusunda herhangi bir garanti vermez. Bu nedenle güvenilir bir protokol olarak nitelendirilmez.

UDP alınan verilerin garantisine gereksinim duymayan uygulamalar tarafından kullanılır. NetBIOS name servisleri, NetBIOS datagram servisi ve SNMP servisleri UDP kullanan uygulamalara örnektir. Aşağıdaki tabloda UDP header içindeki ana alanlar yer almaktadır:

Tablo : UDP Header içindeki ana alanlar

Alan İşlevi
Source Port Gönderen bilgisayarın UDP portu.
Destination Port Alıcı bilgisayarın UDP portu.
UDP Checksum UDP header ve UDP datasının kontrolü için kullanılır.

C. IP (INTERNET PROTOCOL)

Hedef bilgisayarın network üzerindeki yerini bulur. Paketlerin adreslenmesi ve network üzerindeki bilgisayarlar arasında yönlendirilmesini sağlar. IP iletimi de UPD gibi gönderimin garanti edilmediği connectionless türü bir iletişim kurar.

IP, iki bilgisayar (aygıt) paketlerin yönlendirilmesini sağlayan bağlantısız bir protokoldür. Bağlantısız (connectionless) olması oturumun iletişimden önce kurulmamasıyla ilgilidir. Bununla birlikte veri iletimindeki başarı da garantili olmaz. İletimin garantisi daha üst düzey protokol olan TCP ile sağlanır.

Bir IP paketi bir IP Header (başlık bilgisi) ve bir IP payload'tan oluşur. Aşağıdaki tabloda IP header paketinin alanları yer almaktadır:

Tablo: IP Header içindeki alanlar

IP Header alanı İşlevi
Kaynak IP Adresi Kaynak verinin IP adresi.
Hedef IP Adresi Gideceği yerin IP adresi.
Tanımlama Bir spesifik IP datagramını tanımlamak için kullanılır.
Protokol Paketlerin TCP, UDP, ICMP ya da diğer protokollerle iletişimi ile ilgili.
Checksum IP header'ın bütünlüğünü kontrol etmek için kullanılan basit bir
matematiksel hesaplama.
Time-to-Live (TTL) Datagramın dolaşacağı network sayısını belirler. TTL sayesinde paketlerin sürekli olarak dolaşması engellenir.

D. ARP (ADDRESS RESOLUTİON PROTOCOL)

Network üzerindeki bilgisayarlar (host olarak adlandırıyoruz) iletişim kurmak için birbirlerinin donanım adreslerini (MAC adresi) bilmeleri gerekir. ARP, broadcast (genel yayın) temelli çalışan ağlarda donanım adresini bulmak için kullanılır.

ARP, donanım adresini bulduktan sonra, IP adresini ve donanım adresini ARP cache olarak adlandırılan bir alanda saklar. Bu bir sonraki istenilen hedef adresinin fiziksel yerinin kolayca bulunmasını sağlar. Bakınız: "Uzak bir IP adresinin çözülmesi".

ARP cache içinde statik ve dinamik adresler bulunur. Dinamik kayıtlar otomatik olarak eklenir ve silinir. Statik adresler ise bilgisayar restart edilinceye kadar bellekte kalır.

Uzak Bir IP Adresinin Çözülmesi
Eğer hedef IP adresi uzaktaki bir networke ait ise, bir ARP broadcast sayesinde router bulunur ve datagramlar hedef bilgisayarlara (hosts) ulaştırılır.

Bu işlem şu şekilde yerine getirilir:

1) İletişim isteği başlatıldığında, hedef (destination) IP adresi uzak adres (remote address) olarak tanımlanır.
2) Belirtilen gateway için bir eşleşme bulunmadığında bir ARP isteği yayınlanır. ARP isteği hedef host için değil de gateway adresi yapılır.
3) Router'da IP hedef adresinin yerel (local) ya da uzak (remote) olduğunu belirler. Eğer adres yerelse, router donanım adresini bulmak için ARP'yi kullanır. Eğer adres uzaksa, router kendi routing tablosuna bakar.
4) Hedef bilgisayar (host) isteği aldıktan sonra, bir ICMP yanıtı düzenler. Belirtilen gateway'in donanım adresi ARP cache içinde yoksa, onu sağlamak için bir ARP broadcast kullanılır.

ŞEKİL 7-5: UZAK (REMOTE) IP ADRESLERİNİN ÇÖZÜLMESİ.


E. IP (INTERNET PROTOCOL)
Hedef bilgisayarın network üzerindeki yerini bulur. Paketlerin adreslenmesi ve network üzerindeki bilgisayarlar arasında yönlendirilmesini sağlar. IP iletimi de UPD gibi gönderimin garanti edilmediği connectionless türü bir iletişim kurar.

IP, iki bilgisayar (aygıt) paketlerin yönlendirilmesini sağlayan bağlantısız bir protokoldür. Bağlantısız (connectionless) olması oturumun iletişimden önce kurulmamasıyla ilgilidir. Bununla birlikte veri iletimindeki başarı da garantili olmaz. İletimin garantisi daha üst düzey protokol olan TCP ile sağlanır.

Bir IP paketi bir IP Header (başlık bilgisi) ve bir IP payload'tan oluşur. Aşağıdaki tabloda IP header paketinin alanları yer almaktadır:


Tablo: IP Header içindeki alanlar

IP Header alanı İşlevi
Kaynak IP Adresi Kaynak verinin IP adresi.
Hedef IP Adresi Gideceği yerin IP adresi.
Tanımlama Bir spesifik IP datagramını tanımlamak için kullanılır.
Protokol Paketlerin TCP, UDP, ICMP ya da diğer protokollerle iletişimi ile ilgili.
Checksum IP header'ın bütünlüğünü kontrol etmek için kullanılan basit bir matematiksel hesaplama.
Time-to-Live (TTL) Datagramın dolaşacağı network sayısını belirler. TTL sayesinde paketlerin sürekli olarak dolaşması engellenir.

I. TCP/IP PROTOKOLÜ
Başta Internet olmak üzere, farklı teknolojilere sahip networklerin olması, bağımsız olarak yönetilmesi ve geliştirilmesi gibi özellikleri TCP/IP protokolünün en yaygın kullanılan protokol olmasına neden olmuştur.
Aslında TCP/IP protokolü diye adlandırmak çok doğru değildir. Çünkü TCP/IP çok sayıda protokol ve yardımcı programlardan oluşan bir protokol kümesidir (protocol stack).

ŞEKİL 7-1: TCP/IP PROTOKOL KÜMESİ

ŞEKİL 7-2: TCP/IP PROTOKOL KÜMESİ ve OSI KATMANLARI

A. TARİHÇE
TCP/IP, endüstri standardı olan bir protokoldür. Bütün networkler için geliştirilmiştir. TCP/IP protokolü A.B.D Savunma Bakanlığı projesi olarak 1970'lerde temelleri atılmıştır. U.S. Department of Defense Advanced Research Projects Agency (DARPA) projesi daha sonra ARPANET olarak kullanılmaya başlanmıştır. ARPANET adı verilen proje Üniversite ve kamu kuruluşlarını bir birine bağlamayı sağlayacak bir ağ geliştirme amacını taşımaktaydı.


TCP/IP, DARPA'nın farklı bilgisayarlar arasında iletişim kurması gerektiğinde geliştirilmiştir. O günlerde bu oldukça zor bir görevdi. TCP/IP işletim sistemi ve bilgisayardan bağımsız olarak bilgisayarların iletişim kurmasını planlamıştı.

O zamanların TCP/IP standartları ve amaçları DoD (Department of Defence) olarak anılır. Ardından yapılan gelişmeler IAB (Internet Activities Board) adı verilen gruplar tarafından yapılmaktadır.

Şu anda da RFC (Request For Comments) adı verilen makalelerce TCP/IP'nin gelişmesi devam ettirilmektedir.

B. RFC (REQUEST FOR COMMENTS)
RFC (Request For Comments), TCP/IP'yi tanımlayan makalelerdir (dokümanlar). Bu makaleler herhangi bir kişi tarafından hazırlanabilir ve NIC yöneticisine gönderilir. Her RFC'nin bir numarası vardır. Örneğin SNMP yönetimi RFC 1065 ile tanımlanırken, kabul edilen SNMP kullanımı RFC 1155 numaralıdır.

Günümüz teknolojilerindeki gelişmeler, TCP/IP için bir gelişmenin olmasını zorunlu kıldığında komiteler önerilen RFC'leri kabul ederek yayınlarlar.

C. TASARIM AMAÇLARI
İlk başta U.S Savunma Bakanlığı (Department of Defence) TCP/IP çalışmalarına başladığında çok sayıda tasarım amaçlarına sahipti. Bunlardan bazıları:

-Donanım ve yazılım firmalarından bağımsız olacak.
-Yerleşik bir hata dayanıklılığına sahip olacak. Networkün bir kısmı çöktüğünde diğer bir kısmı çalışabilecek.
-Etkin bir veri aktarım hızına sahip olacak.

E. TCP/IP MİMARİSİ
TCP/IP, OSI 3 ve 4. katmanda çalışan bir protokoldür. Şekilde de görüldüğü gibi TCP/IP data link ve fiziksel katmanda bağımsız olarak çalışmaktadır.

ŞEKİL 7-3: TCP/IP MİMARİSİ


II. TCP/IP PROTOKOL KÜMESİ
TCP/IP protokol kümesi Windows 2000 networkünün oluşmasını sağlar. TCP/IP protokol kümesi altı çekirdek protokol ve bir dizi yardımcı program (utility) içerir.

Altı çekirdek protokol:

-TCP (Transmission Control Protocol)
-UDP (User Datagram Protocol)
-IP (Internet Protocol)
-ICMP (Internet Control Message Protocol)
-IGMP (Internet Group Management Protocol)
-ARP (Address Resolution Protocol)

Yardımcı programlar:

Tablo: Yardımcı programlar

Program İşlevi
Ping Konfigürasyonu kontrol eder ve bağlantıyı test eder. Ping 131.140.1.1 şeklinde kullanılır.
FTP Windows bilgisayarlar ile TCP/IP hostları arasında tek yönlü dosya transferini sağlar.
TFTP (Trivial File Transfer Protocol) Windows bilgisayarlar ile TCP/IP hostları
arasında UDP kullanarak tek yönlü dosya transferini sağlar.
Telnet Terminal öykünümünü sağlar.
RPC (Remote Copy Protocol) UNIX host bilgisayar ile Windows bilgisayar arasında dosya kopyalar.
RSH (Remote Shell) UNIX hostundaki komutları çalıştırır.
REXEC (Remote Execution) Uzak bir bilgisayardaki bir işlemi çalıştırır.
Finger Uzak bilgisayar hakkında bilgi sağlar.
ARP Yerel olarak düzenlenmiş IP adreslerinin ön belleğini hazırlar.
IPCONFIG Mevcut TCP/IP konfigürasyonunu gösterir.
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.


A. TCP (TRANSMİSSİON CONTROL PROTOCOL)
TCP protokolü connection-oriented olarak adlandırılan ve iki bilgisayar arasında veri transferi yapılmadan önce bağlantının kurulması ve veri iletiminin garantili olarak yapıldığı bir protokoldür. TCP iletişiminde veri paketleri kullanılır. Ayrıca gönderen ve alan uygulamalarda da port bilgisi eklenir. Port (çıkış), kaynak ve hedef uygulamanın iletişimini sağlar.

ŞEKİL 7-4: TCP/IP PROTOKOL KÜMESİ

TCP, güvenilir ve bağlantı (connection-oriented) temelli bir servistir. Bağlanı temelli olması bağlantının bilgisayarlar arasında veri değişiminden önce yapılması anlamına gelir. Güvenilir olması ise iletimin kontrolünün yapılması ile ilgilidir. Belli aralıklarla ACK bilgisi ile veri gönderimi kontrol edilir.

TCP byte-stream iletişimi kullanır. Bu yöntemde TCP segmentlerindeki datalar bir bayt dizisi olarak işlenir. Aşağıdaki tabloda TCP header içindeki ana alanlar yer almaktadır:

Tablo: TCP Header içindeki ana alanlar

Alan İşlevi
Source Port Gönderenin TCP portu.
Destination Port Alanın (hedefin) TCP portu.
Sequence Number TCP segmenti içindeki birinci baytın sıra numarası.
Window TCP ara bellek (buffer) alanının şu anki mevcut büyüklüğü.
TCP Checksum TCP header ve TCP datanın bütünlüğünü kontrol etmek için kullanılır.


TCP Portları

Bir TCP portu mesaj iletişiminde kullanılır:

Port Numarası İşlevi

21 FTP

23 Telnet

53 DNS

B. UDP (USER DATAGRAM PROTOCOL)
UDP'de bir gönderim katmanı protokoldür. Ancak UDP iletiminde sağlama yapılmadığı için gönderim garantisi olmaz. Broadcast iletiminde, az miktardaki verilerin iletiminde UDP paketleri kullanılır. UDP iletimi, gönderimin garanti edilmediği connectionless türü bir iletişim kurar.

UDP Servisi
UDP bağlantısız (connectionless) datagram servisidir. UDP kaybolan verilerin kurtarılması konusunda herhangi bir garanti vermez. Bu nedenle güvenilir bir protokol olarak nitelendirilmez.

UDP alınan verilerin garantisine gereksinim duymayan uygulamalar tarafından kullanılır. NetBIOS name servisleri, NetBIOS datagram servisi ve SNMP servisleri UDP kullanan uygulamalara örnektir. Aşağıdaki tabloda UDP header içindeki ana alanlar yer almaktadır:

Tablo : UDP Header içindeki ana alanlar

Alan İşlevi
Source Port Gönderen bilgisayarın UDP portu.
Destination Port Alıcı bilgisayarın UDP portu.
UDP Checksum UDP header ve UDP datasının kontrolü için kullanılır.

C. IP (INTERNET PROTOCOL)
Hedef bilgisayarın network üzerindeki yerini bulur. Paketlerin adreslenmesi ve network üzerindeki bilgisayarlar arasında yönlendirilmesini sağlar. IP iletimi de UPD gibi gönderimin garanti edilmediği connectionless türü bir iletişim kurar.

IP, iki bilgisayar (aygıt) paketlerin yönlendirilmesini sağlayan bağlantısız bir protokoldür. Bağlantısız (connectionless) olması oturumun iletişimden önce kurulmamasıyla ilgilidir. Bununla birlikte veri iletimindeki başarı da garantili olmaz. İletimin garantisi daha üst düzey protokol olan TCP ile sağlanır.

Bir IP paketi bir IP Header (başlık bilgisi) ve bir IP payload'tan oluşur. Aşağıdaki tabloda IP header paketinin alanları yer almaktadır:

Tablo: IP Header içindeki alanlar

IP Header alanı İşlevi
Kaynak IP Adresi Kaynak verinin IP adresi.
Hedef IP Adresi Gideceği yerin IP adresi.
Tanımlama Bir spesifik IP datagramını tanımlamak için kullanılır.
Protokol Paketlerin TCP, UDP, ICMP ya da diğer protokollerle iletişimi ile ilgili.
Checksum IP header'ın bütünlüğünü kontrol etmek için kullanılan basit bir
matematiksel hesaplama.
Time-to-Live (TTL) Datagramın dolaşacağı network sayısını belirler. TTL sayesinde paketlerin sürekli olarak dolaşması engellenir.

D. ARP (ADDRESS RESOLUTİON PROTOCOL)
Network üzerindeki bilgisayarlar (host olarak adlandırıyoruz) iletişim kurmak için birbirlerinin donanım adreslerini (MAC adresi) bilmeleri gerekir. ARP, broadcast (genel yayın) temelli çalışan ağlarda donanım adresini bulmak için kullanılır.

ARP, donanım adresini bulduktan sonra, IP adresini ve donanım adresini ARP cache olarak adlandırılan bir alanda saklar. Bu bir sonraki istenilen hedef adresinin fiziksel yerinin kolayca bulunmasını sağlar. Bakınız: "Uzak bir IP adresinin çözülmesi".

ARP cache içinde statik ve dinamik adresler bulunur. Dinamik kayıtlar otomatik olarak eklenir ve silinir. Statik adresler ise bilgisayar restart edilinceye kadar bellekte kalır.

Uzak Bir IP Adresinin Çözülmesi
Eğer hedef IP adresi uzaktaki bir networke ait ise, bir ARP broadcast sayesinde router bulunur ve datagramlar hedef bilgisayarlara (hosts) ulaştırılır.

Bu işlem şu şekilde yerine getirilir:

1) İletişim isteği başlatıldığında, hedef (destination) IP adresi uzak adres (remote address) olarak tanımlanır.
2) Belirtilen gateway için bir eşleşme bulunmadığında bir ARP isteği yayınlanır. ARP isteği hedef host için değil de gateway adresi yapılır.
3) Router'da IP hedef adresinin yerel (local) ya da uzak (remote) olduğunu belirler. Eğer adres yerelse, router donanım adresini bulmak için ARP'yi kullanır. Eğer adres uzaksa, router kendi routing tablosuna bakar.
4) Hedef bilgisayar (host) isteği aldıktan sonra, bir ICMP yanıtı düzenler. Belirtilen gateway'in donanım adresi ARP cache içinde yoksa, onu sağlamak için bir ARP broadcast kullanılır.

ŞEKİL 7-5: UZAK (REMOTE) IP ADRESLERİNİN ÇÖZÜLMESİ.


E. IP (INTERNET PROTOCOL)
Hedef bilgisayarın network üzerindeki yerini bulur. Paketlerin adreslenmesi ve network üzerindeki bilgisayarlar arasında yönlendirilmesini sağlar. IP iletimi de UPD gibi gönderimin garanti edilmediği connectionless türü bir iletişim kurar.

IP, iki bilgisayar (aygıt) paketlerin yönlendirilmesini sağlayan bağlantısız bir protokoldür. Bağlantısız (connectionless) olması oturumun iletişimden önce kurulmamasıyla ilgilidir. Bununla birlikte veri iletimindeki başarı da garantili olmaz. İletimin garantisi daha üst düzey protokol olan TCP ile sağlanır.

Bir IP paketi bir IP Header (başlık bilgisi) ve bir IP payload'tan oluşur. Aşağıdaki tabloda IP header paketinin alanları yer almaktadır:


Tablo: IP Header içindeki alanlar

IP Header alanı İşlevi
Kaynak IP Adresi Kaynak verinin IP adresi.
Hedef IP Adresi Gideceği yerin IP adresi.
Tanımlama Bir spesifik IP datagramını tanımlamak için kullanılır.
Protokol Paketlerin TCP, UDP, ICMP ya da diğer protokollerle iletişimi ile ilgili.
Checksum IP header'ın bütünlüğünü kontrol etmek için kullanılan basit bir matematiksel hesaplama.
Time-to-Live (TTL) Datagramın dolaşacağı network sayısını belirler. TTL sayesinde paketlerin sürekli olarak dolaşması engellenir.

3.Hafta: Ethernet Protokolü ve Yapısı


Ethernet iki katmandan oluşur;

LLC: Ethernetin mantıksal bağ kontrolüdür.

Mac:Medya adres kontrolcüsdür.

Ethernetin giriş kısmında alıcının mac adresi bulunur. (6 byte) Diğeri gönderenin adresidir.Sonraki kısmı taşınacak veri blogu, en son kısmı da 4 byte’lık hata kontrol kısmıdır.

Bükülü kablolarda A ve B tipi olmak üzere iki çeşit kablo dizme sırası vardır.

A tipi

Yeşil-Beyaz


Yeşil


Turuncu-Beyaz


Mavi


Mavi-Beyaz


Turuncu


Kahverengi-Beyaz


Kahverengi

B tipi

Turuncu-Beyaz


Turuncu


Yeşil-Beyaz


Mavi


Mavi-Beyaz


Yeşil


Kahverengi-Beyaz


Kahverengi

Kablo uçlarını bağlamak için 568B standartı kullanılır.

Uluslar arası ağ standartı ITU üçe ayrılır;

Itu-t:Genel

Itu-r:Kablosuz uydu haberleşmesi

Itu-d:AR-GE



IEEE:Elektrik Elektronik Mühendisliği Endüstrisi


802.1: Yerel alan ağlarının mimarisidir.

802.2: LLC

802.3: Ethernet

802.4: Token bus

802.5: Token ring

802.6: Dqdb. Çiftön bellekli yol

802.7: Geniş bant

802.8: Fiberoptik

802.9: İsenkron

802.10: Vlan

802.11: Wlan

802.12: AnyLan

802.14: Kablo modemler.

802.15: Kişisel alan ağlarıyla ilgili standartları tanımlar.

802.16: Geniş bant kablosuz iletişim ağı.

802.17: Paket halkaları



Sonlama Problemi

İlk 4 bit sürüm numarasıdır.

Sonraki 4 bit İnternet başlık uzunluğudur. (IHL)

Servis Türü:Düğümden düğüme veri geçerken işlemi tanımlar.

Toplam Uzunluk:Veri dahil tüm çerçevenin uzunluğudur.

Tanılama:Üst veya alt katmanda bulunan veriyi tanımlar.

Bayrak:2. biti parçalama bitidir.

Yaşam süresi:Datagramın ağda ne kadar kaldığını tanımlar.

Protokol:.3 katmanda işlem yaparken verinin bir üst katmanda ne tip protokol olduğunu gösterir.

Başlık (CRC):Checksum kısmıdır.

Kaynak Ip adresi:Gönderenin IP adresini içerir.32 bitliktir.

Hedef Ip adresi:Alıcının IP adresini içerir.32 bitliktir.


Ethernetin çalışma şekli
Etherneti geliştiren ekip üç ana problemi çözmek zorundaydılar: 1) Kablo üzerinden veri nasıl gönderilecek 2)Gönderen ve alıcı bilgisayarlar nasıl tespit edilecek
3)Belli bir anda kabloyu kimin kullanılacağına nasıl karar verilecek

Verinin aktarımı: Paketler(Frames)

Tüm bilgisayar ağları ağ üzerinden aktarılacak veriyi sabit boyutta küçük paketler halinde iletirler. Bu yöntemin iki önemli faydası vardır. Birincisi büyük bir dosya transferi yapan bir bilgisayar ağın tamamını uzun bir süre meşgul durumda tutmamış olur. Bir sistem veriyi paketler halinde yollarken, her paketi göndermeden önce kablonun kullanımda olup olmadığını kontrol ettikten sonra paketi yollar. Paket karşıya ulaştığında, kablo tekrar ağdaki tüm makinalar için boş duruma gelmiş olur. Az önceki makina ikinci paketi yollamadan önce tekrar kabloyu kontrol etmek zorundadır. Bu arada diğer bir sistem kendi paketini yollayabilir. Paketler küçük yapıda olduğu için saniyelerler içinde yüzlercesi değişik bilgisayarlar tarafından yollanıp-alınabilir. Bilgisayarları kullanan insan için durum, ağda sanki herkes aynı anda veri alışverişi yapıyormuş gibidir. Veri paketler halinde gönderilmeseydi, bir kullanıcı 50 MB bir dosyayı başka bir bilgisayara yollarken belki 3-5 dakika boyunca diğer hiçbir sistem ağı kullanamayacaktı.
Paketli yapının ikinci faydası ise şudur: 50 MB'lık dosyanın bir biti bile aktarım esnasında bozulursa, bu tüm dosyanın en baştan tekrar gönderilmesi anlamına gelir. Oysa veri paketlere bölünüp yollandığında, sadece bozuk giden paketin tekrar yollanması kafidir.

Ethernet veri paketinin yapısı sabittir. Her paket şu dört bilgiyi içerir:
-Alıcının MAC adresi
-Gönderenin MAC adresi
-Gönderilecek veri'nin kendisi
-CRC kodu

MAC adresi
Ethernet ağına dahil her cihaz ya da ethernet arayüzüne sahip her cihaz "node" olarak adlandırılır. Bilgisayarlara ethernet kartı takınca bir node haline gelirler, ancak ethernet girişi olan başka cihazlar da olabildiği için(router'lar mesela) genel kavram node'dur.
Ethernet ağında sistemler birbirinden sahip oldukları MAC adresi ile ayırdedilirler. Her node veya basitçe her ethernet kartı dünyada eşi olmayan bir adrese sahiptir. Bu adres 48 bitlik bir sayıdır. Örneğin bu yazının yazıldığı bilgisayara takılı ağ kartının MAC adresi şöyle:
100100000110101001010010100011001101100000011
İlgi çekici değilmi? İkili sistemdeki bu sayıyı söylemek ve yazmak zor olduğu için bu sayı 16'lı sayı sisteminde yazılır: 12 0D 4A 51 9B 03
Benim kartımın üreticisi Cnet isimli firma. Bu firma, ağ kartı üretmeye karar verince önce gidip IEEE'ye başvurmuş ve IEEE buna 24 bitlik bir üretici kodu vermiş. Bu kod Organizationally Unique Identifier(OIU) olarak adlandırılıyor ve her üreticiye farklı bir kod veriliyor. Daha sonra Cnet ürettiği her ağ kartı için ilk 24 biti kendi OIU numarası, geri kalan 24 biti ise kartın seri numarası(Device ID-başka bir karta daha verilmeyecek) olmak üzere MAC adresi belirleyip, ağ kartının üzerinde programlanabilir bir çipe bu numarayı yazar. Böylece bu kartın dünyada eşi olmayan bir MAC adresi olur.
Bunun sayesinde sizin almış olduğunuz her ağ kartı üreticisi, üretim tarihi, markası-modeli ne olursa olsun farklı bir MAC adresine sahip olacaktır. Ethernet sisteminde node'ları birbirinden ayırmak için bu MAC adresleri kullanılır.

MAC adreslerinin kullanımı
MAC adresleri sayesinde sistemler ağ üzerinden kendilerine ulaşan veri paketinin kendilerine gelip gelmediğini anlarlar. Ethernet ağında, bir bilgisayar bir veri paketi yolladığında, bu paket ağdaki tüm sistemlere ulaşır. Her makina paketin ilk bölümü olan alıcı MAC adresini okur ve kendi MAC adresiyle kontrol eder. Eğer gelen paket kendine aitse işler, değilse göz ardı eder.
Ethernet'in bu özelliği ciddi bir güvenlik açığına yol açabilir. Packet Sniffer olarak adlandırılan programlar, bilgisayara gelen veri paketlerini MAC adresi ne olursa olsun alıp kullanmaya izin verirler. Bu tip programlar iyi niyetle kullanıldığında problemlerin çözümüne yarayabileceği gibi, yerel ağınızda meraklı bir kullanıcının sizin aslında başka bir makinaya göndermekte olduğunuz her dosyayı izlemesine neden olabilir.


2.Hafta: OSI Referans Modeli

OSI Modeli ve Standardizasyon


TCP/IP ve OSI Network Modelleri

Bilgisayar ağları dünyasındaki temel standart, katmanlama standardıdır. Temel bilgisayar mimarisinden bahsedecek olursak (öncelikle işin içine “network”ü katmayalım) bilgisayarlar şu katmanlardan oluşurlar:

Bu katmanlar bilgisayar sistemlerinin en temel iskeletidir. Sistem her ne kadar karmaşık olursa olsun, en yukarıdan bakıldığında bu katmanlardan ibarettir. Bu sistem bilgisayarın çalışmasını ve cihazın karşısında oturan insanın silikondan yapılma ilginç elektronik devreleri yola getirerek onlar sayesinde iş yapabilmesini sağlayan sistemdir. Bilgisayar kullanıcısı bir “uygulama”nın karşısında oturmaktadır. Söz konusu uygulama bir “işletim sistemi” üzerinde çalışır. İşletim sistemi de “donanım” üzerinde çalışmakta ve uygulamanın (ve dolaylı yoldan kullanıcının) isteklerini yerine getirmeye uğraşmaktadır.

Bahsettiğimiz sistem, kişisel bir bilgisayarın çalışmasını anlatır ve gerçekten rahat anlaşılabilecek bir yapıdadır. Gerçekten de bizler bu sistemin katmanlarını görebilmekte, onlara olabildiğince müdahale edebilmekteyiz. Tam olarak karşımızda bir uygulama var, işletim sistemi var ve o sistemin üzerinde çalıştığı bir donanım var.

İş “ağ” olayına gelince durum farklılaşmaktadır. Bu katmanlara sahip bilgisayarlar, birbirleri ile konuşabilmelidirler. Peki bu konuşma nasıl olacaktır?

Bu soruya cevap öncelikle farklı üreticiler tarafından farklı şekillerde verilmiştir. Daha önce de bahsettiğimiz gibi farklı üreticiler değişik biçimlerde iletişim kuralları (diller) yazarak kendi ürettikleri bilgisayarların birbirleri ile konuşmalarını sağlamışlardır.Fakat iş dünya çapında ortak mantıkla çalışan bilgisayarların ortak bir dille konuşmalarına gelince, tümüyle bütün üreticilerin uyması gereken bir kurallar zinciri ortaya çıkmıştır.

Bu kurallar bütünü bir “model”dir ve üreticiler bu modele uygun bilgisayar geliştirdikleri için standardizasyonu sağlamışlardır. Bu model OSI modelidir ve ISO (International Organization for Standardization) tarafından geliştirilmiştir. Bu modele göre bilgisayarlar 7 değişik katmana sahiptir ve bu katmanlar sayesinde bilgileri paketleyip iletmektedir. Bu katmanlar şu şekildedir.

7- Uygulama (Application)
6- Sunum (Presentation)
5- Oturum (Session)
4- İletim (Transport)
3- Network
2- Data-link

1- Fiziksel

Bu 7 katman sayesinde kullanıcıların verilerini uzaklara göndermekle yükümlü uygulama-işletim sistemi-donanım üçlüsü, yani bilgisayar belirli kurallara göre söz konusu gönderme işlemini yapmaktadır.

Peki OSI modeline göre ortaya çıkmış 7 katman nerededir?
Bu soru önemlidir. Gerçekten de biz, az önce bahsettiğimiz genel mimariyi gözlemleyebiliyoruz. Uygulamayı görüyor, işletim sistemini yüklüyor ve donanımı satın alıp kuruyoruz. Fakat network uygulamaları için gereken ve genel mimari diye adlandırdığımız uygulama-işletim sistemi-donanım üçlüsü ile bütünleşik çalışan 7 katmanlı mimariyi göremiyoruz. Bahsettiğimiz 7 katmanlı OSI modeli aşağıdaki şekilde gösterildiği üzere, genel mimari ile bütünleşik çalışmaktadır.

7 katmanlı OSI modelinin bilgisayar ağları dünyasında gerçekten uygulanışı TCP/IP protokol yığını (protocol stack) ile olmuştur. 7 katmanlı mimarinin katmanları aslında birer program parçacıklarıdır. Bu program parçacıkları birbirlerine data “paslarlar”. Yani en yukarıdan -uygulama katmanından- alından veri, her katmanda bazı ekler almak sureti ile aşağı doğru ilerler. Bütün katmanlar tarafından etiketlenen veri en sonunda fiziksel katman sayesinde kablo üzerine aktarılır ve gideceği yere ulaşmak üzere yola koyulur.

OSI Modeli Katmanları ve Görevleri

OSI modeli ile belirlenen katmanlar ortak bir dil ortaya koyar. Bu katmanlara uygun şekilde gerçekleşen veri akışı global bir standart oluşturmaktadır. Aslında OSI modeli, ISO tarafından ortaya konmuş bir modeldir ve hiç bir zaman ticari olarak gerçekleşmemiştir. Sadece model olarak kalan bu mimari, şu an kullandığımız teknolojiler için referans olmaktadır.

7. Katman, Uygulama (Application) Katmanı
OSI modelinin yedinci katmanı olan uygulama katmanı, öncelikle akla geldiği üzere bilgisayarlarımızda kullandığımız uygulamaların bulunduğu katman değildir.

Bu katman sayesinde kullandığımız uygulamalar, ağda yol almak üzere belirlenen veriyi, hedefine ulaşması amacı ile protokol yığınına teslim ederler. Uygulama katmanı, kullandığımız uygulamalar ile bütünleşik olabilir. Eğer biz ağ üzerine çalışmak üzere tasarlanmış, ağı kullanma kabiliyeti olan bir uygulama çalıştırıyorsak, bu program ürettiği verileri uygulama katmanına teslim eder ve hedefine doğru yol almasını sağlar. Eğer biz Internet Explorer programını çalıştırmış isek, bu program bizim ürettiğimiz verileri uygulama katmanında belirlenen protokoller dahilinde paketleyip hedefe gönderecektir. Bu katmanda, uygulamadan gelen veriye hangi protokolü kullanacak ise, o protokol ile ilgili bilgiler eklenir. Uygulama katmanı, uygulamaların network’e veri taşıması aşamasındaki ilk adımdır. Burada üretilen veri daha sonra bir sonraki katman olan sunum katmanına teslim edilir.

Aşağıdaki şekilde, kullanıcının ürettiği veri (örneğin uzaktaki bilgisayara iletilmek üzere yazdığı yazı) uygulama katmanı tarafından teslim alınmıştır. Bu veriye kullanılacak 7. seviye protokolün başlığı (header) eklenir

.

Yazımızın ilerleyen bölümlerinde, MSN Messenger programı ile bir sohbet gerçekleştiren kullanıcının yazdığı “Merhaba” yazısının nasıl hedef bilgisayara gittiğinden bahsedeceğiz.

6. Katman, Sunum (Presentation) Katmanı
Bu katmanda, uygulama katmanından gelen veriye, aynen diğer katmanlarda olduğu gibi bazı eklentiler yapılır. Bu katmanda, verinin tipi, üst katmandan gelen pakete eklenir. Sunum katmanına, yukarıdan gelen veri aslında uygulama katmanı eklentisi + veri şeklindedir. Yukarıdan gelen bu verinin tümüne, sunum katmanında veri tipi eklenir, ortaya çıkan pakey tümüyle bir alt katmana gönderilir.

Görüldüğü üzere, en üstte üretilen veri, her katmanda bir eklenti edinmek sureti alt katmanlara doğru yol almaktadır.

5. Katman, Oturum Katmanı
OSI modelinin bu katmanında aşağı doğru yol alan veriye oturum değişkenleri eklenir. Bu değişkenler bir çok uygulamada gerekli olan oturum değerlerini belirlerler. Bankacılık uygulamalarında kullandığımız SSL (Secure Socket Layer) teknolojisi, oturum katmanı bazında yapılan şifrelemeye dayanır. Bu teknoloji, oturum katmanının önemli bir temel teşkil ettiği teknoloji olarak oturum katmanına örnektir.

4. Katman, İletim Katmanı
Bu katman, işletim sisteminin yönetimi dahilinde olan bir katmandır. Bu seviyede, kaynak bilgisayar ve hedef bilgisayar arasındaki güvenli (reliable) iletişimin gerekleri yerine getirilir. Iletim katmanında çalışan en bilinen protokol TCP protokolüdür ve bu katmanda yukarından (oturum katmanından) gelen veriye eğer TCP protokolü kullanılıyor ise bu protokolün verileri eklenir. TCP protokolü, bu katmanda, veriye yerel işletim sisteminden çıkış ve hedef işletim sisteminin giriş sanal portlarını yazar.

3. Katman, Network Katmanı
Bu katman ise çoğunlukla IP protokolünün çalıştığı ve mantıksal adreslemenin gerçekleştiği katmandır. Bu katman dahilinde üretilen IP paketleri, üst katmandan gelen pakete IP verileri eklenmesi ile oluşur.Bu katmanda IP protokolünden başka IPX, Appletalk gibi diğer protokoller de kullanılabilir fakat bu katmanda çoğunlukla kullanılan protokol IP’dir.

2. Katman, Data-Link Katmanı
OSI modelinin 2. seviyesi olan Data-Link katmanında ortam taşıyıcısı belirlenir.
Bu katman karşımıza “taşıyıcı” kavramını çıkarır. 3. seviyede yani Network katmanında üretilen IP paketi, Data-Link katmanında kullanılan taşıyıcı ile “taşınır”. Buradaki taşıyıcı, 3. seviyede ürettiğimiz IP paketinin aldığı yol boyunca değişiklik gösterebilir. Lokal ortamlarda çoğunlukla kullandığımız Ethernet teknolojisi bir taşıyıcıdır. Uzak mesafe bağlantılarda ise kablo ve bağlantı tiplerine bağlı olmak üzere PPP, HDLC, ATM, X.25, Frame-Relay gibi protokoller de kullanılabilir. Bahsi geçen bu protokoller 2. seviye taşıyıcılardır ve adından da anlaşılacağı üzere 3. seviyedeki IP paketlerini taşımak amacıyla kullanılırlar.


1. Katman, Fiziksel Katman
OSI modelinin en alt katmanında fiziksel katman bulunur. Bu katmanda veri, elektrik sinyallerine çevrilmek sureti ile değişik kablo teknolojileri dahilinde iletilir. Ethernet gibi bazı 2. seviye protokoller çalışmak için kendilerine özel fiziksel iletim teknolojileri kullanırlar. Örneğin, Ethernet teknolojisi fiziksel seviyede UTP veya STP kablolar kullanır.

OSI Modeli ve TCP/IP Modeli
Dünya çapında bilgisayarların birbirleri ile ortak bir dil aracılığı ile konuşmasını amaçlayan katmanlama teknolojisi, OSI modeli ile ortaya atılmıştır. Ama işin pratiğe dökülmesi TCP/IP modeli ile gerçekleşmiştir.
Dünya çapındaki bilgisayarlar, OSI modeli ile standardizasyona zorlanmış olsa bile, şu an hiç bir bilgisayarın üzerinde OSI modeli yüklü değildir. Şu an çoğunlukla bilgisayarlar TCP/IP modelini kullanırlar. Peki TCP/IP modelinin katmanları nedir?

Aşağıdaki şekil TCP/IP modeli ile OSI modelinin karşılaştırılmasıdır.

Buraya kadar olan kısımda OSI modelini anlattık. Fakat OSI modelinin katmanları epeyce havada kalmış oldu. Çünkü bu katmanları anlatırken somut örnekler vermedik. Somut örnekler vermememizin sebebi, şu anda bu modelin kullanılmıyor oluşudur. Bu model hayali olarak anlaşılmalı ve birazdan anlatacağım gerçek çalışma sisteminin temelini teşkil etmelidir. Gerçek çalışma sisteminin anlaşılması, OSI modelinin anlaşılması ile mümkündür.

Şu andan itibaren somut örnekler başlayacaktır. Biz şu anda bilgisayarlarımız üzerinde TCP/IP ve OSI modelinin birleşiminden oluşan hibrid modeli kullanıyoruz. Hibrid modelde belirlenen katmanlar uyarınca veri iletimimizi gerçekleştiriyoruz. Hibrid modelde belirlenen seviyelerde, belirli protokoller kullanıyoruz.
Şu anda kullandığımız hibrid model, bilgisayarlarımız üzerinde çalışmakta ve biz bu modele uygun üretilmiş ünlü uygulama-işletim sistemi-donanım üçlümüz ile iletişimi gerçekleştiriyoruz.
Şimdi bir bilgisayardaki sohbet programının, örneğin MSN Messenger’in, girdiğimiz bir yazıyı karşı tarafa nasıl gönderdiğini, girdiğimiz yazının katmanlar arasından akarken, kabloya aktarılana kadar hangi eklentilere maruz kaldığını inceleyelim.

Bir örnek; MSN Messenger’da sohbet eden kullanıcı

MSN Messenger ile sohbet eden bir kullanıcının yazdığı yazıların nasıl karşı bilgisayara ulaştığını inceleyelim.

Örnek network diagramı:

Senaryomuza göre, şekildeki iki bilgisayar birbiriyle MSN Mesajlaşması gerçekleştirsin. Gerçekte MSN programındaki metin tabanlı mesajlar, merkezi bir server üzerinden diğer kullanıcılara iletilir. Ama bizim örneğimizde birbirine bağlı iki bilgisayar, direkt olarak birbirlerine mesaj gönderecekler. Bu şekildeki sadeleştirme, işlemin anlaşılmasını kolaylaştıracak.

A bilgisayarında oturan kullanıcı, B bilgisayarındaki kullanıcı ile haberleşecek. Bu yapıda, ortam değişkenlerimiz şu şekilde:

A Bilgisayarı:
MSN Kullanıcısı ismi: Ali
Ethernet Adresi: abc
IP Adresi: 10.1.1.1

B Bilgisayarı:
MSN Kullanıcısı ismi: Ahmet
Ethernet Adresi: xyz
IP Adresi: 10.1.1.2

Bu iki bilgisayar birbirine cross kablo tabir edilen kablo ile bağlı. Bu, yerel ethernet ağlarında çoğunlukla kullanılan UTP kabloların farklı dizilişli bağlanması ile elde edilen bir kablodur. Bu kablo ile iki ethernet kartı arada başka cihaz olmaksızın direkt birbirine bağlanabilir.

Bu iki bilgisayarda da MSN Messenger programı yüklü olsun. Bu durumda Ahmet’in bilgisayarındaki MSN Messenger programı, Ali’nin bilgisayarındaki MSN programından gelecek verileri kabul edebilecek durumda olacaktır.

Öncelikle Ali, Ahmet’e göndermek üzere ekranındaki MSN penceresine “Merhaba” yazar. Bu, Ali’nin karşı tarafa göndermek istediği “veri”dir. Bu veri değişik aşamalardan geçtikten sonra kablo üzerinden Ahmet’in bilgisayarına varacaktır. Hedefine varan veri, yine işlendikten sonra ekrana yansıtılacaktır.

Burada belirtilen “aşama”lar TSP/IP, OSI Hibrid modelimizde belirttiğimiz katmanlardır. Ali’nin yola çıkmak üzere yazdığı “merhaba”; bu katmanlar, diğer bir deyişle program parçacıkları arasında yol alarak ve her aşamada farklı farklı bilgiler edinerek hedefine doğru yola çıkacaktır.

Öncelikle; Ali’nin yazdığı “Merhaba” yazısı MSN Messenger programı aracılığı ile uygulama katmanına teslim edilir. Bu arada şunu da belirtmeliyiz ki, her katmanda olup biteni şekiller ile destekleyerek anlatımımıza ekleyeceğiz.
İlk olarak Ali’nin “Merhaba” yazısı uygulama katmanına (Katman 7) teslim edilir, burada kendisine gerekli eklentileri edindikten sonra, sıradaki katman olan 6. katmana yani sunum katmanına teslim edilir.

Uygulama katmanında, veriye, programa özel datalar yazılır. Burada veri’ye karşı bilgisayara gitmek üzere kullanacağı 7. seviye protokol bilgileri de –gerekiyorsa- eklenir. Örneğin biz MSN Messenger değil de ftp protokolünü kullanıyor olsaydık, 7. seviyede (Uygulama katmanı) veriye ftp header bilgisi yazılacaktı.

Uygulama katmanında oluşturulan paket, tümüyle bir alt katman olan 6. seviye sunum katmanına teslim edilir. Burada önemli olan nokta paketin tümünün bir alt katmana teslim edilmesidir. Sunum katmanında yukarıdan gelen pakete yine bazı bilgiler eklenecektir.
Sunum katmanında, üst katmandan gelen paket alınır ve bu pakete, içerisinde taşıdığı verinin tipi bilgisi eklenir. Biz örneğimizde veri tipi olarak, karşı bilgisayara “text” gönderdiğimiz için, sunum katmanında, üst katmandan alınan veriye text ibaresi eklenecek.


Sunum katmanında yukarıdan gelen paketin tümü alındı ve ona bir başlık (header) eklendi. Bu başlıkta, taşıdığımız verinin tipi yeralmakta. Sunum katmanında elde ettiğimiz tüm paket bir alt katmana (katman 5, oturum katmanı) gönderilecek.

5. Katman olan oturum katmanında, üst katmandan gelen paket tümüyle alınacak ve ona yine bir başlık bilgisi eklenecek. Bu sefer, eklenen bilgi “oturum değişkenleri”ni içerecek. Burada “oturum” derken MSN Messenger oturumundan bahsediyoruz. Bu katmanda eklenecek oturum değişkenleri MSN Messenger’in oturum değişkenleri olacak ve bu değişkenler, MSN Takma isimleri.

Bu katmanda eklenen oturum değişkenlerinin yani MSN takma isimlerinin amacı, karşılıklı programlar arasında akan verinin uygulama bazında farklılaştırılmasını sağlamak. Bu seviyede, üst katmandan gelen veriye, Ali ve Ahmet takma isimleri yazılacak. Bu sayede karşılıklı çalışan MSN Messenger programları, kendilerine gelen verinin hangi kullanıcıdan geldiğini anlayabilecekler.

Oturum katmanında, bir üst katman olan sunum katmanından gelen paketin tümüne oturum değişkenleri eklendi ve oluşan yeni paket bir alt katman olan iletim katmanına iletildi.
4. Katman olan İletim seviyesinde, işlemler biraz daha farklılaşmaktadır. İşlemlerin farklılaşmasından kasıt zorlaşması veya anlamının değişmesi değildir. Farklılaşmadan kasıt, katmanların hizmet ettiği kesimin değişmesidir. Önceki anlattıklarımızdan hatırlayacak olursak, genel bilgisayar mimarisi 3 temel kademeden oluşmakta idi. Bunlar donanım-işletim sistemi-uygulama üçlüsüdür. Buraya kadar anlattığımız olaylar “uygulama”nın yaptığı işlemlerdir. Buraya kadar bahsedilen uygulama katmanı, sunum katmanı ve oturum katmanı, MSN Messenger uygulaması dahilinde yapılan işlemlerdir. Şimdiden itibaren yapılacaklar ise işletim sisteminin denetiminde gerçekleşecektir.

Üstteki şekilde de görüldüğü üzere; uygulama, sunum ve oturum katmanları, genel olarak “uygulama” çatısı altında toplanan (implement edilen) katmanlardır. Şimdi sıradaki katman ise “iletim katmanı”. Bu katman işletim sisteminin hakimiyetinde çalışmaktadır. MSN Messenger kendi içindeki uygulama sunum ve oturum katmanlarında oluşturduğu verileri şimdi işletim sisteminin iletim katmanına teslim edecek ve gitgide yeni eklentilerle büyüyen paketimiz, yolculuğuna devam edecek.

4. Seviye İletim katmanında, bir üst katmandan gelen paket alınarak, bu pakete bilgisayar üzerinde çalışan 4. seviye protokol uyarında gerekli bilgiler eklenir. Yerel veya uzak mesafe bağlantılarımızda, internet bağlantılarımızda çoğunlukla TCP protokolünü kullanırız. TCP (Transmission Control Protocol) 4. seviye bir protokoldür ve bilgisayarlar arası güvenilir (reliable) haberleşmeyi sağlar. TCP protokolü ile iletilen paketler, hedef noktaya vardıklarında, veriyi alan bilgisayar veriyi aldığına dair geri bildirimde bulunur. Bu geri bildirim (acknowledgement) mekanizması sayesinde kaynak bilgisayar, hedefe gönderdiği bilginin gerçekten yerine ulaştığından emin olur.

Bu katmanda TCP protokolünden başka protokoller de kullanılabilir. Geri bildirimin gerekmediği ortamlar için UDP (User Datagram Protokol) kullanılır. Bu protokol, geri bildirimin gerekmediği Video ve Ses yayını, IP protokolü ile ses taşınması uygulamaları için uygundur.

Bizim örneğimizdeki iki bilgisayar birbirleri arasında MSN Mesajlaşması yapıyorlar iken, 4. seviyede TCP protokolünü kullanmaktadırlar. Bu katmanda TCP protokolü bilgileri, üst katmandan gelen pakete eklenecektir. TCP protokolü bilgileri kaynak ve hedef port numaralarıdır.

Network ortamında TCP/IP OSI Hibrid yapısına göre haberleşen ve TCP protokolünü kullanan bilgisayar sistemleri, birbirlerinin uygulamalarına erişmek için sanal portları kullanırlar. Örneğin bir Web Sunucu, bulunduğu bilgisayarın 80. portunu “dinler”. Yani bir Web Sunucu yazılımının bulunduğu bilgisayarın 80. portu hedeflenerek yapılan istekler, 80. portu Web Sunucu dinlediği için ona iletilir. Burada, port numaralarının önemi ortaya çıkmaktadır. Sanal port numaraları sayesinde bir işletim sistemi üzerindeki birden çok program ağı kullanabilir ve bunlara gelen bilgiler port numaraları sayesinde birbirinden ayrılır.



Bizim örneğimizde, 4. seviye olan iletim seviyesinde, yukarıdan gelen veriye port numaraları eklenecek. Senaryomuza göre, B bilgisayarındaki MSN Messenger programı, 115. portu kullanıyor olsun. Bu, hedef bilgisayardaki MSN Messenger uygulamasının 115. portu dinlediğini gösterir.

İletim katmanında, hedef bilgisayarın hangi portuna gideceğimizi yazdık. 4. seviyede oluşturduğumuz veri, hedef bilgisayarın 115 numaralı portuna gidecek. Karşı bilgisayarın 115 numaralı portu, MSN Messenger tarafından dinlendiği için, gönderdiğimiz mesaj 4. katman’dan sonra MSN Messenger’a ait olan 5. katmana teslim edilecek. Daha önce de belirtildiği gibi, 4. seviyedeki sanal port numaraları sayesinde, bir bilgisayarın üzerinde, ağı kullanan birden çok program bulunabilir. Örneğimize geri dönersek, B bilgisayarı aynı anda MSN Messenger, Web Sunucu ve FTP Sunucu yazılımlarını çalıştırabilir. Aynı anda MSN Messenger’a, Web Sunucu’ya ve FTP Sunucuya veri kabul edebilir. Çünkü bir bilgisayara gelen verilerin, o bilgisayar üzerindeki hangi yazılıma gideceği, port numaraları ile belli olur.

FTP Sunucu yazılımları bulundukları bilgisayarların 20 ve 21. portlarını dinlemektedirler. Web Sunucular ise 80. portu dinlerler. Bir bilgisayarın üzerinde hem FTP Sunucu hem de Web Sunucu aynı anda bulunuyorsa, o bilgisayara gelen verilerin hangi uygulama için geldikleri port numaralarına bakılarak anlaşılır. Bir bilgisayara gelen TCP Paketindeki hedef port numarası 80 ise, o TCP Paketi bilgisayar üzerindeki Web Sunucu yazılımına teslim edilir. Eğer bir bilgisayar a gelen paket 21. porta gelmiş ise, bu, o bilgisayar üzerinde bir FTP Sunucu yazılımı çalıştığı ve o yazılıma teslim edilmek üzere bir paket alındığı anlamına gelir.

Bizim örneğimizde ise, biz B bilgisayarının 115 numaralı portunu hedef alarak TCP paketimizi göndermekteyiz. Bu, bizim karşı bilgisayardaki 115 numaralı portu dinleyen MSN yazılımını hedef aldığımızı gösterir.

TCP paketinin üzerine, hedef port bilgisinin yanısıra kaynak port numarası da yazılır fakat o şu an için yazımız dahilinde değil. İleriki yazılarda değinebileceğimiz Network Address Translation konusu dahilinde, kaynak port numaralarından da bahsederiz.

TCP paketi üzerine hedef port numarası yazıldıktan sonra elde edilen paket, bir alt katman olan network katmanına iletilir.


Network katmanında, mantıksal adresleme söz konusudur. Dünya çapındaki bilgisayarların haberleşmesinde, en genel 3. seviye standart olarak IP (Internet Protocol) kullanılır. Bu protokolü kullanan bütün bilgisayarların birbirlerinden farklı olacak şekilde birer IP adresleri bulunmaktadır. Bir bilgisayar eğer 3. katmanında IP çalıştırıyor ise, diğer IP protokolünü kullanan bilgisayarlar ile haberleşebilir.

Örneğimizde, 3. seviyede IP protokolü kullanılmaktadır. A bilgisayarının IP Adresi 10.1.1.1’dir. B bilgisayarının IP Adresi ise 10.1.1.2’dir. Bu durumda Network katmanına, üst katmandan gelen pakete, kaynak ve hedef IP Adresleri yazılarak IP Paketi elde edilmiş olur. Network katmanının ürettiği IP paketi bir alt katman olan Data-Link katmanına gönderilir.

Data-Link katmanında, 3. seviyeden teslim alınan IP Paketi, ortamda hangi taşıyıcı protokol kullanılıyor ise o protokol tarafından yüklenilir. Yerel ortamlarda çoğunlukla kullanılan taşıyıcı protokol “Ethernet”tir. Yerel ortamlarda taşıyıcı (2. seviye) olarak ethernet kullanılmak zorunda değildir. Ethernet protokolü en çok kullanılan yerel 2. seviye protokol olsa da; FDDI, Token Ring gibi nispeten daha eski ve daha az kullanılan 2. seviye protokoller de kullanılabilir.

Verilen MSN Mesajlaşması örneğinde, 2. seviye protokol olarak Ethernet kullanılmaktadır. Bu, 3. seviyede üretilen IP paketlerinin “yerel ortam sınırları içerisinde” Ethernet ile “taşınacağı” anlamına gelir.

Uzak mesafelerde ise ortam tipine uygun farklı taşıyıcı teknolojiler kullanılır. PPP, HDLC, Frame-Relay, ATM, X.25 gibi teknolojiler, 2. seviye taşıyıcı teknolojilerdir. Ağ teknoojilerini destekleyen, yani Internet ortamında haberleşebilen bilgisayarlar uzak mesafelere veri gönderirlerken, gönderdikleri uzak bilgisayar ile kendi aralarında kurdukları TCP oturumu ve uçtan uca iletilen IP paketleri sabittir. Değişen ise taşıyıcılardır. Bir IP paketi internet ortamında yol alırken sürekli aynı taşıyıcı ile taşınmak zorunda değildir. Bir IP paketi, yol boyunca kimi zaman ethernet, kimi zaman ATM, kimi zaman Frame-Relay teknolojisi ile taşınabilir.

Bizim örneğimizde, A bilgisayarının 3. seviyede (Network Seviyesinde) ürettiği IP paketi, 2. seviyede “Ethernet” protokolü ile taşınmaktadır.

Şekilde de görüldüğü üzere, 3 seviyedeki IP paketi, Ethernet Frame’inin içine konulmuş ve üzerine hangi fiziksel adresten gelip hangi fiziksel adrese gittiği yazılmıştır. Ethernet protokolünde fiziksel adresleme olarak MAC (Media Access Control) Adreslemesi kullanılır. Bir bilgisayarda, network haberleşmesi için Ethernet kartı takılı ise, o bilgisayar ürettiği IP paketlerini taşımak için Ethernet protokolünü kullanıyor demektir. Aynı zamanda, ethernet kartı takılı bilgisayarın bir MAC Adresi bulunur. Bu MAC Adresi dünyada sadece o bilgisayar üzerinde bulunan bir adrestir. MAC Adresleri 2. seviye adreslerdir ve Ethernet Frame’lerinin üzerine kaynak ve hedef adresler olarak yazılır.

Bizim örneğimizde, A bilgisayarının oluşturduğu Ethernet Frame’inin üzerine B’nin (hedef) MAC adresi ve A’nın (kaynak) MAC adresi yazılmıştır.

Bu Ethernet Frame’i, artık yolculuğa hazırdır. Frame, artık 1. seviyeye (Fiziksel Katman) teslim edilebilir.



Fiziksel katmana teslim edilen Ethernet Frame’i elektrik sinyallerine çevrilerek kablo üzerinden aktarılır.

Peki B bilgisayarına kablo üzerinden gelecek olan veri, B bilgisayarında nasıl işlenecektir?

B bilgisayarının ethernet kartı, ona takılı olan kablodan gelen elektrik sinyallerini algılayacak ve bu sinyallerin temsil ettiği 2. seviye Ethernet Frame’ini anlamlandırabilecektir.

Hatırlayacağımız üzere, A bilgisayarı kullanıcıdan aldığı “Merhaba” yazısını, her katmanında ayrı ayrı paketleyerek kablo üzerinden iletmişti. Bu esnada A bilgisayarı, her katmanda ürettiği paketi bir alt katmana yollamış, ve paketleri alt katmandaki paketler içerisine koymak suretiyle içi içe paketler üretmişti.
B bilgisayarı da içiçe paketler halinde gelen verileri, aça aça üst katmanlara iletecektir.


Yukarıdaki şekilde de görüldüğü üzere, B bilgisayarı kendisine elektriksel sinyaller olarak gelen veriyi ethernet kartı sayesinde alarak öncelikle 2. seviyeye kadar açacaktır. B bilgisayarı da 2. seviyede Ethernet teknolojisini kullandığı için bu noktada bir uyum söz konusudur. Buradaki iki bilgisayar da aynı standardı kullandıkları için birbirlerinin dilinden anlayabilmektedirler. B bilgisayarı 2. seviye Ethernet frame’indeki kaynak&hedef MAC Adresleri kısmını kontrol eder ve Frame’in üzerinde bulunan diğer eklentiler sayesinde hata kontrolü gerçekleştirir. Eğer B bilgisayarına gelen Frame hatalı değilse ve gerçekten de B bilgisayarına gelmiş ise, B bilgisayarı bu Frame’in içindeki IP paketini çıkartır ve IP paketini bir üst katman olan Network katmanına iletir.

B bilgisayarının 3. katmanı olan Network katmanında, A bilgisayarı gibi IP protokolü çalışmaktadır. Bu durumda B üzerindeki 3. seviye protokol, kendisine alt katmandan teslim edilen IP Paketini inceyelecektir. IP paketini inceleyen IP protokolü, kaynak ve hedef IP adresleri kısmını kontrol eder. Eğer veri kendi IP adresi hedeflenerek gönderilmiş ise, bu IP paketinin içinde bulunan TCP paketini çıkartarek üst katmana (4. Katman, İletim Katmanı) teslim eder.

B bilgisayarının 4. Katmanı olan iletim katmanı, kendisine alt katmandan gelen TCP paketini teslim alır ve üzerindeki TCP Başlık bilgilerini okur. Bu nokta önemlidir. TCP Başlık bilgileri kılavuzunda B bilgisayarı, kendisine uzak makinadan gelen verilerin, kendi üzerindeki hangi uygulamaya hitaben geldiğini anlar. TCP Protokolü, kendisine varmış olan TCP paketinin üzerindeki port numaralarına bakmak sureti ile paketi iletilmesi gereken programa iletir. Bizim örneğimizde, B bilgisayarının üzerindeki MSN Yazılımı, B bilgisayarının 115 numaralı portunu dinlemekteydi. Bu durumda, A bilgisayarı, B’nin üzerindeki MSN yazılımına ulaşmak için TCP seviyesinde ürettiği paketleri B’nin 115 numaralı portuna gönderdi. Hal böyleyken, B bilgisayarının TCP protokolü, gelen TCP paketinin 115 numaralı porta geldiğini görecek ve bu paketin içindeki 5. seviye paketi (Oturum Katmanı paketi) MSN yazılımına teslim edecektir. Görüldüğü üzere, B bilgisayarının üzerinde birden çok yazılım çalışıp, hepsi aynı anda ağı kullanabilirler. Bu yazılımlara ağ aracılığı ile gelen verilen 4. seviye İletim Katmanının kullandığı sanal port numaraları sayesinde ayrıştırılıp doğru yazılımlara iletilmektedir.

4. seviyedeki iletim katmanında port numarasına bakılıp MSN Yazılımına teslim edilmesine karar verilen TCP Paketinin içeriği, MSN Yazılımının kontrolünde olan oturum katmanına (5. Katman) teslim edilir.

5. Katmanda, alt katmandan gelen veri alınarak, üzerindeki 5. katman başlık bilgileri okunur. Bizim örneğimizde, oturum değişkenleri olarak kullanıcı takma isimleri kullanılmış idi. Başka uygulamalar başka oturum değişkenleri kullanabilirler. Hatta hiç oturum seviyesi işlemi yapmayabilirler. “Hibrid TCP/IP, OSI Modeli” şekli incelenecek olursa, görülecektir ki 5. 6. ve 7. seviyeler ağ üzerinde çalışacak uygulamanın kontrolündedir. Bizim örneğimizdeki MSN yazılımı 5. 6. ve 7. seviyelerin tümünü içsel mekanizmaları dahilinde kullanmakta olup paketlere her katmanda gerekli eklentileri yapmaktadır. MSN yazılımı, şu an bahsetmekte olduğumuz 5. katmanda oturum değişkenleri olarak kullanıcı rumuzlarını yazmıştır ve bu sayede kendisine iletim katmanından teslim edilen verilerin hangi kullanıcıdan hangi kullanıcıya geldiğini anlayabilir. Örneğimizdeki MSN yazılımı bu katmanda, kendisine gelen paketin başlık bilgilerini okuyacak ve paketin Ali’den Ahmet’e geldiğini anlayacaktır. 5. seviye katman olan oturum katmanı, paketi değerlendirdikten sonra diğer katmanların da yaptığı gibi paketin içindeki bir üst katman paketini (6. seviye sunum katmanı paketi) bir üst katman olan sunum katmanına iletir.

6. Seviye sunum katmanında, teslim alınan veri, yine başlık bilgileri okunmak sureti ile değerlendirilir. Hatırlanacağı üzere, sunum katmanında paketin içerisindeki verinin tipi belirtilmektedir. Örneğimizde veri tipimiz text olduğu için, sunum katmanı başlık bilgisinde text yazmaktadır. MSN Yazılımı; 6. seviye sunum katmanı sayesinde, Ali isimli kullanıcıdan Ahmet isimli kullanıcıya bir “text” mesajı geldiğini anlar. Sunum katmanının görevi tamamlanmıştır ve sunum katmanı içerisindeki bir üst katmana ait paket, bir üst katmana iletilir.

7. seviye uygulama katmanında ise verinin kodlanmasını ve gösterim metodlarını belirleyen, HTTP gibi başka 7. seviye protokoller kullanılıyor ise o protokollerin gereği olan veriler paket başlık bilgisinden okunur. Bizim örneğimizde, MSN yazılımı, veri kodlama metodlarını da 7. seviye başlık bilgisinde öğrendikten sonra bu paketin içindeki veri’yi ekrana yazar. Dikkat edilirse, diğer bütün katmanlarda, ele alınan paketin “veri” kısmı, bir üst katmanın muhatap olacağı paketin tümünü ifade etmektedir. Şekillerden de anlaşılacağı gibi en alt katmandan en üst katmana kadar paket içinde paket mevcuttur. Fakat 7. seviye paketin içinde artık başka bir paket değil, karşı bilgisayara iletmek istediğimiz veri mevcuttur.

7. Seviye paketin içindeki “text” tipindeki veriyi okuyan MSN Yazılımı, bu veriyi ekranına yansıtır. Bu sayede, A bilgisayarındaki Ali kullanıcısı, B bilgisayarındaki Ahmet kullanıcısına veri göndermiş olur. Bu sistem gerçekten de olağanüstü esnek bir şekilde internet dünyasında müthiş hızlarla çalışmaktadır. Saniyede milyarlarca paket bilgisayarlar arasında akmaktadır ve bu bilgisayarların hepsi bahsettiğimiz katmanlı mimariye sahiptirler. Bizim örneğimizde 2. seviyede Ethernet protokolü, 3. seviyede IP, 4. seviyede ise TCP kullanılmıştır. Gerçek dünyada birbirleri ile iletişim halinde bulunan milyonlarca bilgisayar aynen bizim örneğimizdeki protokolleri kullanmak zorunda değillerdir. Her ne kadar IP protokolü neredeyse zorunlu olsa da, 2. seviye protokoller çok esnektir. 2. seviye taşıyıcı olarak lokal ortamlarda çoğunlukla ethernet kullanılmakta beraber uzun mesafe bağlantılarda çok sayıda 2. seviye taşıyıcıdan faydalanılır. Sonuçta internet dünyasındaki bilgisayarlar, Hibrid modele sadık kalmak koşulu ile bir çok protokolün birlikte çalışması ile iletişim kurarlar.


Baglanti Aygitlari

Bilgisayar agi erisiminde genel olarak dort tip baglanti aygiti kullanilir: tekrarlayici (repeater), kopru (bridge), yonlendirici (router) ve gecityolu (gateway). Tekrarlayicilar tamamen protokol bagimsiz olarak fiziksel katmanda calisir ve fiziksel genisleme amacli kullanilirlar. Geleneksel kopruler ayni protokolu kullanan Yerel Aglar arasinda temel veri duzeyinde baglanti saglar. Buna karsilik, geleneksel yonlendiriciler degisik tipteki ag protokollerini idare edebilecek sekilde programlanabilirler ve boylelikle ayni genis ag alani uzerinde farkli tipteki Yerel Aglari ve bilgisayar sistemlerini destekleyebilirler. Gecityollari daha karmasik olup, islem yogunluklu protokol cevrimi yaparak uygulamalar arasinda isletilebilirligi (interoperability) saglarlar.

Tekrarlayici (Repeater)

Tekrarlayicilar Cizim-3deki sekilden de gorulecegi gibi fiziksel katmanda calisan cihazlardir.


Cizim-3 Tekrarlayici ve OSI modeli

Tekrarlayicinin temel gorevi bir fiziksel ortamdaki (kablo, fiber-optik, radyo dalgasi vs.) sinyali alip kuvvetlendirip bir diger fiziksel ortama vermektir. Aglarin fiziksel buyukluk sinirlarini daha da genisletmek amaci ile kullanilan bu cihazlar ile kuramsal olarak bir bilgisayar agi sonsuza kadar genisletilebilir. Ancak cesitli bilgisayar aglarindaki tasarim sinirlamalari nedeni ile gercekte bu genisleme belli sinirlar icinde kalmaktadir. Cizim-4 tekrarlyicilarin bir ag uzerinde nasil kullanildiklarini gostermektedir.

Cizim-4 Bir tekrarlayici uygulamasi

Temelde bir agin genisletilmesi amaci ile kullanilan tekrarlayicilar cok kolay kurulmalari, cok az bakim gerektirmeleri ve fiyatlarinin ucuz olmasi sebepleri ile cok populer cihazlardir.

Kopru (Bridge )

Modern, protokol-seffaf kopruler asagidaki sekilde goruldugu gibi OSI referans modelinin veri iletim (data link) katmaninda calisirlar


Cizim-5 Kopru ve OSI modeli

Kopru cihazlari temelde bagimsiz iki agin (farkli ag teknolojilerini kullanabilirler- Ethernet ve Token-Ring gibi) birbirine baglantisi icin kullanilirlar. Asagidaki sekilde iki Ethernet ve bir Token-Ring aginin birbirlerine kopruler vasitasi ile yapilan baglantisi gosterilmektedir. Bir kopru bagladigi alt aglar ustundeki tum trafigi yurutur. Her paketi okur, paketin nereden geldigini ve nereye gittigini gormek icin MAC (Media Access Control)-katman kaynagini ve yerlesim (destination) adresini inceler. Bu suzme yetenegi mesajlari yayinlamak ya da yerel veri trafiginin diger ag uzerine gecmesini engellemek icin etkili bir yol saglar. Bazi kopruler adres suzmenin ve protokol tipine bagli suzgecin de otesine gider.

Cizim-6 Bir Kopru uygulamasi

Bir kopru, DECnet, TCP/IP, XNS gibi farkli iletisim protokollerini kullanarak, protokol uyumlulugunu gozonune almadan aglar arasinda fiziksel baglanti saglayabilse de, bu uygulamalar arasinda isletilebilirligini garanti etmemektedir. Bu, OSI referans modelinin yuksek katmanlarinda isleyen ve farkli islem ortamlari arasinda cevrim yapabilen standalone protokol ceviricilerini gerektirmektedir. Koprulu aglar, protokol cevrimlerinin olmadigi, guvenlik gereksinimlerinin en az oldugu ve gereken tek seyin basit yonlendirme oldugu durumlarda basarilidir.

Yonlendirici (Router)

Yonlendiriciler asagidaki sekilde goruldugu gibi OSI referans modelinin ag (network) katmaninda calisirlar

Cizim-7 Yonlendirici ve OSI modeli

Bir kopru sadece paketlerin kaynagini ve gittigi yerin adresini kontrol ederken bir yonlendirici cok daha fazlasini yapar. Bir yonlendirici agin tum haritasini tutar ve paketin gittigi yere en iyi yolu belirleyebilmek icin tum yollarin durumunu inceler.

Yonlendirici farkli fiziksel yapida olan ve farkli protokolleri calistiran yerel ya da genis alan aglarinin birbirleri ile olan baglantisinda basari ile kullanilabilir.

Bir yonlendirici, OSI referans modelinin ag katmaninda genel olarak tanimlanan protokollerle, yerel bolge aglarini genis bolge aglarina baglar. Bu ozellikleri sayesinde ornegin yonlendirici TCP/IP kullanarak bir Ethernet aginin X.25 paket agina baglamasini saglar. Eski yonlendiriciler protokol bagimli olduklarindan, kuruluslarin ag isletim ihtiyaclarini karsilamak icin birden fazla yonlendirici gerekebilir. Yeni yonlendiriciler ise, birden fazla ve degisik protokolu ayni anda idare edebilmektedirler.

Cizim-8 Bir yonlendirici uygulamasi

Yonlendiriciler paketleri iki istasyon arasindaki en iyi yolu gosteren yonlendirme tablosuna gore ilerleterek ag uzerindeki yollari en iyi sekilde kullanirlar. Yonlendiriciler kendi yonlendirme tablolarini olusturduklarindan, ag trafigindeki degisikliklere hemen ayak uydururlar ve boylelikle veri yukunu dengelerler. Ayni zamanda, yonlendiriciler agdaki degisiklikleri tespit ederler ve asiri yuklu ve islemeyen baglantilari onlerler.

Gecityollari (Gateway)

Gecityollari kopru ve yonlendiricilerin yeteneklerinin de otesine gecerler. Asagidaki sekilden de gorulebilecegi gibi OSI referans modelinin ust katmanlarinda islerler.

Cizim-9 Gecityolu ve OSI modeli

Gecityollari sadece farkli noktalardaki aglari baglamakla kalmaz ayni zamanda bir agdan tasinan verinin diger aglarla uyumlu olmasini da garanti ederler. Bu bir server'da, minibilgisayarda ya da ana bilgisayarda bulunan protokol cevirim yazilimiyla yapilir. Internet protokolleri farkli aglar arasindaki veri iletimini, gecityollariyla bagli altaglardan olusmus otonom sistem (Autonomous System, AS) gruplarini birbirine baglayarak yapar. Yani Internet, her biri merkezi olarak yonetilen ag ya da altaglar serisi olan AS serisinden olusmaktadir. Her AS diger AS'lere baglanti saglayan gecityolu sunar. Gecityollari tum farkli aglari birlikte tutan bir yapistiricidir. Internet protokolleri altaglarin nasil birbirine bagli oldugunu ve baglanti araclarinin nasil calistigini tanimlar.