LAN TOPOLOJİLERİ
İnsanlar network terimini ilk duyduğunda zihninde canlandırdığı şeyler, bir sürü kablo ve bunların bir yerlerde toplanmış uçları oluyor. İnsanlara karmaşık gelen bu dağınık yapıların hem fiziksel hem de mantıksal tanımı bulunmaktadır. Fiziksel olarak kablo çeşitlerinden daha önce bahsetmeye çalıştık. Topolojilerle de PC’ler arasındaki bağlantıların mantıksal yönünden söz edeceğiz. Yada başka bir anlamda PC’lerin network hatlarına nasıl eriştiğini inceleyeceğiz.
MESH COMMUNICATION:
PC ağları ilk oluşmaya başladığında kullanılan bağlama mantığı mesh network diye adlandırılır. Bu mantığa göre bütün PC ler birbirine birebir kablo ile bağlıdır. Mesh network te kablo sayısı şu förmülle bulunur. ((n*n)-n) / 2
SHARED COMMUNICATION:
1970 lerde LAN’lar geliştirildi ve artık ağlarda haberleşme paylaştırılmış cihazlar üzerinden yapılmaya başlandı. Önceleri bu cihazlar çok basit şekilde repeater (tekrarlayıcı) görevi yapıyorlardı. Daha sonra topolojiler geliştirildi. Buna bağlı olaraktan paylaştırma görevi için yeni cihazlar kullanılmaya başlandı.
STAR TOPLOGY :Star topoloji bütün ağ birimlerinin tek bir noktada toplanması mantığıyla çalışır. Genelde hub kullanılır. Star topoloji kullanılan network’lerde hatlardan kaynaklanan problemleri çözmek çok kolaydır. Bir PC’den göderilen bilgi ilgili olsun veya olmasın, merkezdeki cihazdan tüm PC’lere göderilir.
RING TOPOLOGY :
Ring topoloji kapalı bir döngüyü andırır ve bu döngü tamamen mantıksal bir döngüdür. Bir PC’den çıkan bir frame bütün PC’leri geçtikten sonra yine aynı PC’ye tekrar geri döner. Ve ring tamamlanır. Tüm PC’ler network’ü sürekli izler ve network hatlarıda kontrol altına alınmış olur.
BUS TOPOLOGY
Bus topolojide PC’leri biraraya getirmek için bir ana kablo kullanılır. Bütün PC’ler connector’lerle ana kabloya bağlanırlar. Hatta yani ana kabloya gönderilen bir bilgi bütün PC’lere ulaşır.
BUS NETWORK ÖRNEĞİ: ETHERNET
Ethernet network çok iyi bilinen ve çok yaygın olarak kullanılan network çeşididir. 1970 lerde Xerox Corporation’s Polo Alto Research Center’da keşfedilmiştir. Ethernet, Ether adı verilen coaxcial kablo (ana kablo) ve buna bağlanan bilgisayarlardan oluşur. Maximum ether uzunluğu 500 m, minimum ise 3 m. dir. Ethernet networkte bandwith 10 Mbps Fast Ethernet kullanıldığında 100 Mbps’lara çıkmaktadır. Bir PC Ether’e bir bilgi koyduğunda diğerleri beklemek zorundadır. Kabloya hiçbir PC bilgi koymadığında üzerinde Ether üzerinde voltaj olmaz; ancak bilgi taşınması halinde üzerinde voltaj olur.
RING NETWORK ÖRNEĞİ: IBM TOKEN RING
IBM firmasının geliştirdiği bir ring network’tür. Ring içinde token diye isimlendirilen bir frame kullanılır. Bu frame sırayla ring’teki bütün PC’leri dolaşır ve PC sıranın kendine geldiğini token ona geldiğinde anlar ve bilgiyi hatta koyar. PC bilgi göndersin veya gödermesin token kendisinden sonraki PC’ye geçecektir. Fiziksel görünüş olarak Star topoloji gibidir. MAU birleştirici ünite olarak kullanılır. Aslına bakarsanız MAU’yu bir çeşit HUB diye düşünebilirsiniz. (Multistation Access Unit). Genelde 10 port girişi vardır. 8 tanesi PC girişi için 2 taneside network’ün genişlemesi için kullanılır. MAU kendi içinde bilgilerin kaybolmaması için hata tolaransı sağlar; yani bir PC çöktüğünde network çalışmaya devam eder. Kablo çeşidi olarak UTP ve STP kullanılır. Kartlara bağlantılarda UTP için RJ-45, STP için DB-15 konektörler kullanılır. Thinnet’in kullandığı BNC ve Thicknet’in kullanıdığı AUI kullanmaz. Maximum bir segment’te 33 MAU olabilir. Kablo olarak STP kullanıldığında 260 PC, UTP kullanıldığında ise 72 PC tek bir segmentte çalışabilir.
Göderici PC kendi bilgisi yine kendine ulaştığında token serbest kalır. Hatta bilgi çakışması söz konusu değildir. Güvenilir bilgi transferi sağlanır. Bütün istasyonlar network trafiğini izleyebilir.
RING NETWORK ÖRNEĞİ: FDDI (Fiber Distributed Data Interconnect) FDDI Token Ring networklerinin sağlam yapılandırılmış halidir. 100 milyon bit per second hızına sahiptir. Yani IBM Token Ring’ten 8 kat Ethernet’ten de 10 kat daha hızlıdır. Bir ring data aktarımında kullanılmak üzere, diğeride emergency durumları için ayrılmış birbirinden soyut iki ring’ten oluşur. Fiziksel olarak kablolar birbirinden ayrı değil. Bu yüzden kablolama problemide yok.
Ring’de herhangi bir PC’nin devre dışı olması network’ü etkilemez. Emergency ring’de bilgi akışı normal ring’e göre ters yöndedir. Herhangi bir PC çöktüğünde devreye emergency ring girer ve iki ring’de de bilgi akışı oluşarak network tamamlanmış olur. Ring’de bu hatlar arası geçiş otomatik olarak gerçekleşmektedir; bu nedenlede FDDI network’lere Self Healing (Kendi kendini iyileştiren) network denmektedir.
STAR NETWORK ÖRNEĞİ: ATM
Telefon şirketlerinin geliştirmiş olduğu Asynchronous Transfer Mode (ATM) elektronik swicth’lerden meydana gelmiştir.
Bilgi göndermek isteyen PC önce ATM swicth’e gönderir oda diğerlerine göderir. Aynı zaman diliminde birden fazla bağlantı sağlayabilir. Yani 2 PC birbiriyle haberleşirken başka 2 PC’de kendi aralarında haberleşebilir. Bir PC’nin hattan düşmesi diğerlerini etkilemez. 100 Mbps ve daha hızlı hatlar kullanılmaktadır. FDDI network’te kullanılan kablolar kullanıldığında network hızı daha artmaktadır. FDDI’da ki çiftler halindeki kablolar dan biri bilgi gödermek diğeride bilgi almak için kullanılır.
Her topolojinin avantajları ve dezavantajları bulunmaktadır. Mesela ring topolojide network ve PC’ler arasındaki koordinasyon sürekli kontrol edilmektedir. Fakat hattın her hangi bir yerden kesilmesi tüm network’ü rahatsız etmekte. Şöyleki; çöken bir PC’nin yanıdaki PC “Benim yanımdaki PC’den haber alamıyorum.” diye diğerlerini uyarmak için network’e özel bir frame göndermektedir. Bus topolojide Ether diye tanımladığımız ana kabloda en ufak bir bozukluk tüm network’ün çökmesine neden olmakta. Ama bunun yanında Ethernet network’ler hem çok uçuz hemde kurulumu kolay network’lerdir. Star topolojide’de hatlar verimli kullanılamıyor. Örneğin bir PC bilgi gönderiliyor ve gereksiz yere bütün PC’lere o bilgi gidiyor. Bu şuna benziyor: Bir apartmanın önüne geliyorsunuz ve arkadaşınızında o apartmanın 4.cü kattında oturuyor diyelim. Siz dışarıdan sesleniyorsunuz: “Ahmet yarın kursa giderken beni ara beraber gidelim”. Böylece apartman sakinlerinin hepsi; sizin kursa gidip gitmemenizle hiçbir şekilde ilgilenmedikleri halde olaydan haberdar oluyorlar. Ama bunun yerine ATM swicth kullansanız, yani kapının yanındaki zile bassanız ve arkadaşınızla kimseyi rahatsız etmeden haberleşseniz iyi olur öyle değilmi ?
Network Erişim MetodlarıKısaca PC’lerin network hattımızı birbirlerini engellemeden paylaşmalarını organize eden mekanizmalara network erişim metodları diyebiliriz. Bu metodlar gelitirilirken özel frame’ler tasarlanmış, ve bu frame’leri PC’ler network’e erişim için anahtar olarak kullanmaya başlamıştır. Üç çeşit network erişim metodu vardır:
a) CSMA/CD: PC’ler hatta bilgi koymadan önce hattı kontrol ederler; eğer hat boşsa bilgiyi göderirler.
b) Token Passing; Network’te token olarak adalandırılan bir frame sürekli bir PC’den diğerine geçmektedir. Token hangi PC’de ise o PC network’e bilgi koyma hakkına sahip olmaktadır.
c) Demand Priority; 100 Mbps network hatlarında kullanılır. Aslında CSMA/CD mantığının aynısıdır. Yani bir PC bilgi göndermeden önce hattı kontrol etmelidir. Demand Priority’de ise PC hattı alabilmek için hattı kontrol etmek yerine network’ü oluşturan gelişmiş cihazlarıları kontrol eder. Kısaca network erişim merkezden yönetilir hale gelmiş olur.
AĞ DONANIM BİRİMLERİ
Ağ donanım birimleri, ağ üzerinde ve ağlar arası iletişimde çıkan sorunları gidermek için kullanılan cihazlardır. Genelde network’lerimize sorunlarımız olduğunda yeni bir cihaz alma ihtiyacı hissederiz.
Bu sorunlardan bazıları ve çözüm için kullanılması gereken cihazlar:
LAN Ortamının Sınırlamaları:
• Tek bir kablo üzerinde bağlananabilecek istasyon sayısı.
• Veri sinyalinin kabul edilebilir düzeyin altında zayıflamadan, gidebileceği en uzak mesafe.
• Veri sinyalinin kullanabileceği band genişliği.
1) LAN ortamının sınırlanmasıdan kaynaklanan problemler. Çözüm için repeater, bridge ve router.
2) Farklı ortam erişim yöntemi kullanan, farklı ağlar arasında veri paketlerinin iletilmesi gerektiği durumlarda ( Ethernet, Token ring gibi) Çözüm bridge ve router’lar.
3) Uyumsuz yani farklı ağ protokollerinin kullanıldığı durumlarda; çözüm için Gateway ve bazı router’lar.
Teknolojik gelişmeler yeni ürünleri çok kabiliyetli hale getirdi, yani bir cihaz hem router hem de bridge olarak kullanılabilmekte. Önemli olan ihtiyacı tesbit edebilmek ve ona cevap verebilecek cihazı bulmakdır. Bir donanım alırken dikkat etmemiz gereken nokta onun ismi değil getirebileceği çözümler olmalıdır.
Bağlantı Aygıtları
Bilgisayar ağı erişiminde genel olarak 4 tip bağlantı aygıtı kullanılır: tekrarlayıcı (repeater), köprü (bridge), yönlendirici (router) ve geçityolu (gateway). Tekrarlayıcılar tamamen protokol bağımsız olarak fiziksel katmanda çalışır ve fiziksel genişleme amaçlı kullanılırlar. Geleneksel köprüler aynı protokolü kullanan yerel ağlar arasında temel veri düzeyinde bağlantı sağlar. Buna karşılık, geleneksel yönlendiriciler değişik tipteki ağ protokollerini idare edebilecek şekilde programlanabilirler ve böylelikle aynı geniş ağ alanı üzerinde farklı tipteki yerel ağları ve bilgisayar sistemlerini destekleyebilirler. Geçityolları daha karmaşık olup, işlem yoğunluklu protokol çevrimi yaparak uygulamalar arasında işletilebilirliği (interoperability) sağlarlar.
REPEATERLAR (HUB)
Repeater’lar OSI modelinin fiziksel katmanında çalışır. Ortam mesafesini ve istasyon (PC, Hosts ) sayısındaki sınırlamaları aşmak için kullanılırlar. Repeater bir kablodan gelen sinyali okur ve aynısını tekrar oluşturarak diğer segment’lere göderir. Frame’leri çoğaltıp tüm PC’lere gönderirken karar mekanizmasına sahip değildirler. Ancak aynı ortam erişim protokolünü kullanan segmentleri birbirine bağlayabilirler. (Etherneti ethernete )
Tekrarlayıcı (Repeater)
Tekrarlayıcılar OSI’nin fiziksel katmanda çalışan cihazlardır.
Tekrarlayıcı ve OSI modeli
Tekrarlayıcının temel görevi bir fiziksel ortamdan (kablo, fiber-optik, radyo dalgası vs.) sinyali alıp kuvvetlendirip diğer fiziksel ortama vermektir. Ağların fiziksel büyüklük sınırlarını daha da genişletmek amacı ile kullanılan bu cihazlar ile kuramsal olarak bir bilgisayar ağı sonsuza kadar genişletilebilir. Ancak çeşitli bilgisayar ağlarındaki tasarım sınırlamaları nedeni ile gerçekte bu genişleme belli sınırlar içinde kalmaktadır.
Örnek tekrarlayıcı uygulaması
Temelde bir ağın genişletilmesi amacı ile kullanılan tekrarlayıcılar çok kolay kurulmaları, çok az bakım gerektirmeleri ve fiyatlarının ucuz olması sebepleri ile çok popüler cihazlardır.
Köprü (Bridge )
Modern, protokol-şeffaf köprüler OSI referans modelinin veri iletim (data link) katmanında çalışırlar
Köprü ve OSI modeli
Köprü cihazları temelde bağımsız iki ağın (farklı ağ teknolojilerini kullanabilirler- Ethernet ve Token-Ring gibi) birbirine bağlantısı için kullanılırlar. Bir köprü bağladığı alt ağların üstündeki tüm trafiği yürütür. Her paketi okur, paketin nereden geldiğini ve nereye gittiğini görmek için MAC (Media Access Control)-katman kaynağını ve yerleşim (destination) adresini inceler. Bu süzme yeteneği bir repeater’daki yerel veri trafiğinin diğer repeater’lar üzerine geçmesini engellemek için etkili bir hizmet sağlar. Bazı köprüler adres süzmenin ve protokol tipine bağlı süzgecin de ötesine gider.
Bir Köprü uygulamasıBir köprü, DECnet, TCP/IP, XNS gibi farkli iletişim protokollerinin uyumluluğunu göz önüne almadan ağlar arasında fiziksel bağlantı sağlayabilir; ancak bu protokoller arasında uyum sağlamayı garanti etmemektedir. Bu özellik, OSI referans modelinin yüksek katmanlarında işleyen ve farklı işlem ortamları arasında çevrim yapabilen standalone protokol çeviricilerini gerektirmektedir. Köprü kullanımı, protokol çevirimlerinin olmadığı, güvenlik gereksinimlerinin en az olduğu ve sorunun sadece basit bir yönlendirme işlemi olduğu durumlarda başarılıdır.
Yönlendirici (Router)
Yönlendiriciler OSI referans modelinin ağ (network) katmanında çalışırlar.
Yönlendirici ve OSI Modeli
Bir köprü sadece paketlerin kaynağını ve gittiği yerin adresini kontrol ederken bir yönlendirici çok daha fazlasını yapar. Bir yönlendirici ağın tüm haritasını tutar ve paketin gittiği yere en iyi yolu belirleyebilmek için tüm yolların durumunu inceler.
Yönlendirici farklı fiziksel yapıda olan ve farklı protokolleri çalıştıran yerel ya da geniş alan ağlarının birbirleri ile olan bağlantısında başarı ile kullanılabilir.
Bir yönlendirici, OSI referans modelinin ağ katmanında genel olarak tanımlanan protokollerle, yerel bölge ağlarını geniş bölge ağlarına bağlar. Bu özellikleri sayesinde örneğin yönlendirici TCP/IP kullanarak bir Ethernet ağının X.25 paket ağına bağlanmasını sağlar. Eski teknoloji yönlendiriciler protokol bağımlı oldukları için, firmalar ağ ihtiyaçlarını karşılamak için birden fazla yönlendirici kullanmak zorunda kalabilir. Yeni yönlendiriciler ise, birden fazla ve değişik protokolü aynı anda kullanabilmektedir.
Bir yönlendirici uygulamasi
Yönlendiriciler paketleri iki istasyon arasındaki en iyi yolu gösteren yönlendirme tablosuna göre ileterek ağ üzerindeki yolları en iyi şekilde kullanırlar. Her yönlendirici kendi yönlendirme tablosunu oluşturduğu için, ağ trafiğindeki değişikliklere hemen adapte olurlar ve böylelikle veri yükünü kolayca dengeleyebilirler. Aynı zamanda, yönlendiriciler ağdaki değişiklikleri tespit ederler; aşırı yüklü ve işlemeyen bağlantıları önlerler.
Geçityolları (Gateway) Geçityolları köprü ve yönlendiricilerin yeteneklerininde ötesine geçerler. OSI referans modelinin en üst katmanında çalışırlar.
Geçityolu ve OSI modeli Geçityolları sadece farklı noktalardaki ağları bağlamakla kalmaz aynı zamanda bir ağdan taşınan verinin diğer ağlarla da uyumlu olmasını garanti ederler.
Internet protokolleri farklı ağlar arasındaki veri iletimini, geçityollarıyla bağlı altağlardan oluşmuş otonom sistem (Autonomous System, AS) gruplarını birbirine bağlayarak yapar. Başka bir deyişle internet, her biri merkezi olarak yönetilen ağ ya da altağlar serisi olan AS serisinden oluşmaktadır. Her AS diğer AS'lere bağlantı sağlayan geçityolu sunar. Geçityolları tüm farklı ağları birlikte tutan bir yapıştırıcıdır. Internet protokolleri altağların nasıl birbirine bağlı olduğunu ve bağlantı araçlarının nasıl çalıştığını tanımlar.
OSI’de network cihazları hangi katmanlarda çalışır?
Repeater (Hub)----------Physical
Bridge------------------Data Link.
Router------------------Network
Gateway-----------------Transport, Session, Presentation, Application
Switch------------------Data Link
IEEE 802 Specifications
802.1 ---- Internetworking
802.2 --- LLC (Logical Link Control)***MAC
802.3 --- CSMA/CD-Ethernet***MAC
802.4 --- Token Bus Lan
802.5 --- Token Ring Lan
802.6 --- MAN (Metrapolitan Area Network)
802.7 --- Broadband Technical Advisory Group
802.8 --- Fiber Optic Technical Advisory Group
802.9 --- Integrated Voice/Data Networks
802.10--- Network Security
802.11--- Wireless Network
802.12--- Demand Priority Access Lan
PROTOKOLLER
Bildiğiniz gibi işletim sistemleri birden çok protokolü aynı anda kullanabiliyor. Hatta aynı PC’de iki ethernet kartı içinde aynı protokolü kullanabiliyor. İşte bu network özelliklerini, NDIS “Network Driver Interface Specification” (Microsoft networkleri için), ODI “Open Driver Interface” ( Netware networkleri için) sağlar. Driver arayüzlerinin tam olarak görevlerini şöyle tanımlayabiliriz: İşletim sistemleri ile ethernet kartı driver’ları arasında bir köprü oluşturmak.
NDIS teknolojisinden önce bir network kart ile yalnızca bir protokol tanımlayabiliyorduk. NDIS; kart driver’larını protokollerden bağımsız hale getiriyor ve böylece aynı anda bazı uygulamalar TCP, bazılarıda IPX kullanabiliyor. Ayrıca NDIS arayüzünün Plug and Play özelliği olmasıda kurulumunda artı bir yük getirmiyor.
Protokoller yönlendirilebiler ve yönlendirilemeyenler olmak üzere iki gruba ayrılır.
Yönlendirilebilir protokoller: TCP/IP, IPX/SPX, Apple Talk, DECnet, XNS. Yönlendirilemeyen protokoller: NetBEUI, DLC, LAT
OSI MODELİNDE PROTOKOLLER
Application BOOTP, DNS, FTP, SMTP, SNMP, Telnet
Presentation SMB
Session Named Pipes, NetBIOS, DLC
Ttansport SPX, TCP, UDP, NetBEUI
Network ARP, IP, IPX, NWLink, RIP
Data Link MAC, CSMA/CD, 802.3, 802,5, 802.12**LLC, PPP
Phyical 802,2. PPP. SLIP. Ethernet. Token Ring
TCP/IP ve Bileşenleri
TCP/IP protokolünün internet otamında kullanılması dolayısıyla Windows NT Server, UNIX gibi büyük ağ işletim sistemlerinde default olarak kurulması; TCP/IP’nin ne kadar önemli bir protokol olduğunu vurgulamaktadır.
Genel tanımlar
TCP/IP katmanlardan oluşan bir protokoller kümesidir. Her katman değişik görevlere sahip olup altındaki ve üstündeki katmanlar ile gerekli bilgi alışverişini sağlamakla yükümlüdür.
TCP/IP Katmanları
TCP/IP katmanlarının tam olarak ne olduğu, nasıl çalıştığı konusunda bir fikir sahibi olabilmek için bir örnek üzerinde inceleyelime yapalım:
TCP/IP nin kullanıldığı en önemli servislerden birisi elektronik postadır (e-posta). E- mail servisi için bir uygulama protokolü belirlenmiştir (SMTP Simple Mail Transfer Protocol). Bu protokol e- mail’in bir bilgisayardan bir başka bilgisayara nasıl iletileceğini belirler. Yani e- mail’i gönderen ve alan kişinin adreslerinin belirlenmesi, mail içeriğinin hazırlanması vs. gibi. Ancak e-mail servisi bu mail’in bilgisayarlar arasında nasıl iletileceği ile ilgilenmez, iki bilgisayar arasında bir iletişimin olduğunu varsayarak mail’in yollanması görevini TCP ve IP katmanlarına bırakır. TCP katmanı komutların karşı tarafa ulaştırılmasından sorumludur. Karşı tarafa ne yollandığı ve hatalı yollanan mesajların tekrar yollanmasının kayıtlarını tutarak gerekli kontrolleri yapar. Eğer gönderilecek mesaj bir kerede gönderilemeyecek kadar büyük ise (örneğin uzunca bir e-mail gönderiliyorsa) TCP onu uygun boydaki segment’lere (TCP katmanlarının iletişim için kullandıkları birim bilgi miktarı) böler ve bu segment’lerin karşı tarafa doğru sırada, hatasız olarak ulaşmalarını sağlar. Internet üzerindeki tek servis e-mail olmadığı için ve segment’lerin karşı tarafa hatasız ulaştırılmasını sağlayan iletişim yöntemine tüm diğer servisler de ihtiyaç duyduğu için TCP ayrı bir katman olarak çalışmakta ve tüm diğer servisler onun üzerinde yer almaktadır. Böylece yeni bir takım uygulamalar da daha kolay geliştirilebilmektedir.
Üst seviye uygulama protokollerinin TCP katmanını çağırmaları gibi benzer şekilde TCP de IP katmanını çağırmaktadır. Ayrıca bazı servisler TCP katmanına ihtiyaç duymamakta ve bunlar direk olarak IP katmanı ile görüşmektedirler. Böyle belirli görevler için belirli hazır yordamlar oluşturulması ve protokol seviyeleri inşa edilmesi stratejisine ‘katmanlaşma’ adı verilir. En genel haliyle TCP/IP uygulamaları 4 ayrı katman kullanır. Bunlar:
- Bir uygulama protokolü, mesela e-mail
- Üst seviye uygulama protokollerinin gereksinim duyduğu TCP gibi bir protokol katmanı
- IP katmanı. Gönderilen bilginin istenilen adrese yollanmasını sağlar.
- Belirli bir fiziksel ortamı sağlayan protokol katmanı. Örneğin Ethernet, seri hat, X.25 vs.
TCP Katmanı
TCP’nin (“transmission control protocol-iletişim kontrol protokolü”) temel işlevi, üst katmandan (uygulama katmanı) gelen bilginin segment’ler haline dönüştürülmesi, iletişim ortamında kaybolan bilginin tekrar yollanması ve ayrı sıralar halinde gelebilen bilginin doğru sırada sıralanmasıdır. IP (“internet protocol”) ise tek tek datagramların yönlendirilmesinden sorumludur. Bu açıdan bakıldığında TCP katmanının hemen hemen tüm işi üstlendiği görülmekle beraber (küçük ağlar için bu doğrudur) büyük ve karmaşık ağlarda IP katmanı en önemli görevi üstlenmektedir. Bu gibi durumlarda değişik fiziksel katmanlardan geçmek, doğru yolu bulmak çok karmaşık bir iş halini almaktadır.
Doğal olarak bir segment’i doğru varış noktasına ulaştırmak tek başına yeterli değildir. TCP bu segment’in kime ait olduğunu da bilmek zorundadır. “Demultiplexing” bu soruna çare bulan yöntemdir. TCP/IP ‘de değişik seviyelerde “demultiplexing” yapılır. Bu işlem için gerekli bilgi bir seri “başlık” (header) içinde bulunmaktadır. Başlık, datagram’a eklenen basit bir kaç octet’den oluşan bir bilgiden ibarettir. Yollanmak istenen mesajı bir mektuba benzetecek olursak başlık o mektubun zarfı ve zarf üzerindeki adres bilgisidir. Her katman kendi zarfını ve adres bilgisini yazıp bir alt katmana iletmekte ve o alt katmanda onu daha büyük bir zarfın içine koyup üzerine adres yazıp diğer katmana iletmektedir. Benzer işlem varış noktasında bu sefer ters sırada takip edilmektedir.
Her segment’in başına TCP bir başlık koyar. Bu başlık bilgisinin en önemlileri ‘port numarası’ ve ‘sıra numarası’ dır. Port numarası, örneğin birden fazla kişinin aynı anda dosya yollaması veya karşıdaki bilgisayara bağlanması durumunda TCP’nin herkese verdiği farklı bir numaradır. Üç kişi aynı anda dosya transferine başlamışsa TCP, 1000, 1001 ve 1002 “kaynak” port numaralarını bu üç kişiye verir böylece herkesin paketi birbirinden ayrılmış olur. Aynı zamanda varış noktasındaki TCP de ayrıca bir “varış” port numarası verir. Kaynak noktasındaki TCP nin varış port numarasını bilmesi gereklidir ve bunu iletişim kurulduğu anda TCP karşı taraftan öğrenir. Bu bilgiler başlıktaki “kaynak” ve “varış” port numaraları olarak belirlenmiş olur. Ayrıca her segment bir “sıra” numarasına sahiptir. Bu numara ile karşı taraf doğru sayıdaki segmenti eksiksiz alıp almadığını anlayabilir. Aslında TCP segmentleri değil octet leri numaralar.
Diyelim ki her datagram içinde 500 octet bilgi varsa ilk datagram numarası 0, ikinci datagram numarası 500, üçüncüsü 1000 şeklinde verilir. Başlık içinde bulunan üçüncü önemli bilgi ise “kontrol toplamı” (Checksum) sayısıdır. Bu sayı segment içindeki tüm octet’ler toplanarak hesaplanır ve sonuç başlığın içine konur. Karşı noktadaki TCP kontrol toplamı hesabını tekrar yapar. Eğer bilgi yolda bozulmamışsa kaynak noktasındaki hesaplanan sayı ile varış noktasındaki hesaplanan sayı aynı çıkar. Aksi takdirde segment yolda bozulmuştur ve bu durumda bu datagram kaynak noktasından tekrar istenir.
IP Katmanı
TCP katmanına gelen bilgi segmentlere ayrıldıktan sonra IP katmanına yollanır. IP katmanı, kendisine gelen TCP segmenti içinde ne olduğu ile ilgilenmez. Sadece kendisine verilen bu bilgiyi ilgili IP adresine yollamak amacındadır. IP katmanının görevi bu segment için ulaşılmak istenen noktaya gidecek bir “yol” (route) bulmaktır. Arada geçilecek sistemler ve geçiş yollarının bu paketi doğru yere geçirmesi için kendi başlık bilgisini TCP katmanından gelen segment’e ekler. TCP katmanından gelen segmentlere IP başlığının eklenmesi ile oluşturulan IP paket birimlerine datagram adı verilir.
IP Datagram
Bu başlıktaki temel bilgi kaynak ve varış Internet adresi (32-bitlik adres, 144.122.199.20 gibi), protokol numarası ve kontrol toplamıdır. Kaynak internet adresi tabiiki sizin bilgisayarınızın internet adresidir. Bu sayede varış noktasındaki bilgisayar bu paketin nereden geldiğini anlar. Varış Internet adresi ulaşmak istediğiniz bilgisayarın adresidir. Bu bilgi sayesinde aradaki yönlendiriciler veya geçiş yolları (gateway) bu datagram’ı nereye yollayabileceklerini bilirler. Protokol numarası IP’ye karşı tarafta bu datagram’ı TCP’ye vermesi gerektiğini söyler. Her ne kadar IP trafiğinin çoğunu TCP kullansa da TCP dışında bazı protokollerde kullanılmaktadır. Dolayısıyla protokoller arası bu ayrım protokol numarası ile belirlenir. Son olarak kontrol toplamı IP başlığının yolda bozulup bozulmadığını kontrol etmek için kullanılır. Dikkat edilirse TCP ve IP ayrı ayrı kontrol toplamları kullanmaktalar. IP kontrol toplamı başlık bilgisinin bozulup bozulmadığı veya mesajın yanlış yere gidip gitmediğini kontrol için kullanılır. Bu protokollerin tasarımı sırasında TCP’nin ayrıca bir kontrol toplamı hesaplaması ve kullanması daha verimli ve güvenli bulunduğu için iki ayrı kontrol toplamı alınması yoluna gidilmiştir.
Başlıktaki “Yaşam süresi” (Time to Live) alanı IP paketinin yolculuğu esnasında geçilen her sistemde bir azaltılır ve sıfir oldugunda bu paket yok edilir. Bu sayede oluşması muhtemel sonsuz döngüler ortadan kaldırılmış olur. IP katmanında artık başka başlık eklenmez ve iletilecek bilgi fiziksel iletişim ortamı üzerinden yollanmak üzere alt katmana (bu Ethernet, X.25, telefon hattı vs. olabilir) yollanır.
Fiziksel Katman
Fiziksel katman gerçekte Data Link Connection (DLC) ve Fiziksel ortamı içermektedir. Etherneti temel iletişim ortamı olarak kullanmasından dolayı da Ethernet teknolojisini örnek olarak verelim. Dolayısıyla burada Ethernet ortamının TCP/IP ile olan iletişimini açıklayacağız. Ethernet kendine has bir adresleme kullanır. Ethernet tasarlanırken dünya üzerinde herhangi bir yerde kullanılan bir Ethernet kartının tüm diğer kartlardan ayrılmasını sağlayan bir mantık izlenmiştir. Ayrıca, kullanıcının Ethernet adresinin ne olduğunu düşünmemesi için her Ethernet kartı fabrika çıkışında kendisine has bir adresle piyasaya verilmektedir. Her Ethernet kartının kendine has numarası olmasını sağlayan tasarım 48 bitlik fiziksel adres yapısıdır. Ethernet teknoloji olarak yayın teknolojisini (broadcast medium) kullanır. Yani bir istasyondan Ethernet ortamına yollanan bir paketi o Ethernet ağındaki tüm istasyonlar görür. Ancak doğru varış noktasının kim olduğunu, o ağa bağlı makinalar Ethernet başlığından anlarlar. Her Ethernet paketi 14 octet’lik bir başlığa sahiptir. Bu başlıkta kaynak ve varış Ethernet adresi ve bir tip kodu vardır. Dolayısıyla ağ üzerindeki her makina bir paketin kendine ait olup olmadığını bu başlıktaki varış noktası bilgisine bakarak anlar (Bu Ethernet teknolojisindeki en önemli güvenlik boşluklarından birisidir). Bu noktada Ethernet adresleri ile Internet adresleri arasında bir bağlantı olmadığını belirtmekte yarar var. Her makina hangi Ethernet adresinin hangi Internet adresine karşılık geldiğini tutan bir tablo tutmak durumundadır. Tip kodu alanı aynı ağ üzerinde farklı protokollerin kullanılmasını sağlar. Dolayısıyla aynı anda TCP/IP, DECnet, IPX/SPX gibi protokoller aynı ağ üzerinde çalışabilir. Her protokol başlıktaki tip alanına kendine has numarasını koyar. Kontrol toplamı (Checksum) alanındaki değer ile komple paket kontrol edilir. Alıcı ve vericinin hesaplandığı değerler birbirine uymuyorsa paket yok edilir. Ancak burada kontrol toplamı başlığın içine değilde paketin sonuna konulur. Ethernet katmanında işlenip gönderilen mesaj ya da bilgiye başka bir deyişle bilgi paketlerine frame adı verilir.
Ethernet Paketi
Bu paketler (frame) varış noktasında alındığında bütün başlıklar uygun katmanlarca atılır. Ethernet arayüzü Ethernet başlık ve kontrol toplamını atar. Tip koduna bakarak protokol tipini belirler ve Ethernet cihaz sürücüsü (device driver) bu datagram’i IP katmanına geçirir. IP katmanı kendisi ile ilgili katmanı atar ve protokol alanına bakar, protokol alanında TCP olduğu için segmenti TCP katmanına geçirir. TCP sıra numarasına bakar, bu bilgiyi ve diğer bilgileri iletilen dosyayı orijinal durumuna getirmek için kullanır. Sonuçta bir bilgisayar diğer bir bilgisayar ile- letişimi tamamlar.
Ethernet encapsulation: ARP
Ethernet üzerinde IP datagramların nasıl yer aldığından bahsettik. Fakat açıklanmadan kalan bir nokta bir internet adresi ile iletişime geçmek için hangi Ethernet adresine ulaşmamız gerektiği idi. Bu amaçla kullanılan protokol ARP’dir (“Address Resolution Protocol”). ARP aslında bir IP protokolü değildir ve dolayısıyla ARP datagramları IP başlığına sahip değildir. Varsayalımki bilgisayarınız 128.6.4.194 IP adresine sahip ve siz de 128.6.4.7 ile iletişime geçmek istiyorsunuz. Sizin sisteminizin ilk kontrol edeceği nokta 128.6.4.7 ile aynı ağ üzerinde olup olmadığınızdır. Aynı ağ üzerinde yer alıyorsanız, bu Ethernet üzerinden direk olarak haberleşebileceksiniz anlamına gelir. Ardından 128.6.4.7 adresinin ARP tablosunda olup olmadığı ve Ethernet adresini bilip bilmedigi kontrol edilir. Eğer tabloda bu adresler varsa Ethernet başlığına eklenir ve paket yollanır. Fakat tabloda adres yoksa paketi yollamak için bir yol yoktur. Dolayısıyla burada ARP devreye girer. Bir ARP istek paketi ağ üzerine yollanır ve bu paket icinde “128.6.4.7” adresinin Ethernet adresi nedir sorgusu vardır. Ağ üzerindeki tüm sistemler ARP isteğini dinlerler bu isteği cevaplandırması gereken istasyona bu istek ulaştığında cevap ağ üzerine yollanır. 128.6.4.7 isteği görür ve bir ARP cevabı ile “128.6.4.7 nin Ethernet adresi 8:0:20:1:56:34” bilgisini istek yapan istasyona yollar. Bu bilgi, alıcı noktada ARP tablosuna işlenir ve daha sonra benzer sorgulama yapılmaksızın iletişim mümkün kılınır. Ağ üzerindeki bazı istasyonlar sürekli ağı dinleyerek ARP sorgularını alıp kendi tablolarını da güncelleyebilirler.
TCP dışındaki diğer protokoller: UDP ve ICMP
TCP katmanını kullanan bir iletişim türünü açıkladık. TCP gördüğümüz gibi mesajı segment’lere bölen ve bunları birleştiren bir katmandı. Bu cins mesajlara en güzel örnek adres kontrolüdür (name lookup). Internet üzerindeki bir bilgisayara ulaşmak için kullanıcılar internet adresi yerine o bilgisayarın adını kullanırlar. Bu cins kullanımlar için TCP’nin alternatifi protokoller vardır. Böyle amaçlar için en çok kullanılan protokol ise UDP’dir(User Datagram Protocol).
UDP datagramların belirli sıralara konmasının gerekli olmadığı uygulamalarda kullanılmak üzere dizayn edilmiştir. TCP’de olduğu gibi UDP’de de bir başlık vardır. IP katmanı kendi başlık bilgisini ve protokol numarasını yerleştirir (bu sefer protokol numarası alanına UDP’ye ait değer yazılır). Fakat UDP TCP’nin yaptıklarının hepsini yapmaz. Bilgi burada datagramlara bölünmez ve yollanan paketlerin kayıdı tutulmaz. UDP’nin tek sağladığı port numarasıdır. Böylece pek çok program UDP’yi kullanabilir. Daha az bilgi içerdiği için doğal olarak UDP başlığı TCP başlığına göre daha kısadır. Başlık, kaynak ve varış port numaraları ile kontrol toplamını içeren tüm bilgidir.
Diğer bir protokol ise ICMP’dir (“Internet Control Message Protocol”). ICMP, hata mesajları ve TCP/IP yazılımının bir takım kendi mesaj trafiği amaçları için kullanılır. Mesela bir bilgisayara bağlanmak istediğinizde sisteminiz size “host unreachable” ICMP mesajı ile geri dönebilir. ICMP ağ hakkında bazı bilgileri toplamak amacı ile de kullanılır. ICMP yapı olarak UDP’ye benzer bir protokoldür. ICMP de mesajlarını sadece bir datagram içine koyar. Bununla beraber UDP’ye göre daha basit bir yapıdadır. Başlık bilgisinde port numarası bulundurmaz. Bütün ICMP mesajlari ağ yazılımının kendisince yorumlanır, ICMP mesajının nereye gideceği ile ilgili bir port numarasına gerek yoktur. ICMP ‘yi kullanan en popüler Internet uygulaması PING komutudur. Bu komut yardımı ile Internet kullanıcıları ulaşmak istedikleri herhangi bir bilgisayarın açık olup olmadığını, hatlardaki sorunları anında test etmek imkanına sahiptirler.