TCP/IP Mimarisi

Her Şeyden Bir Parça

TCP/IP Mimarisi

 

Başlamadan önce bu makalede bahsedilen “OSI Referans Modeli” hakkında daha fazla bilgi almak için şu  makaleyi okuyabilirsiniz: http://selmankaya.com/makale/147-osi-referans-modeli/

 

TCP/IP Ağ İletişim Protolü yapısı ilk kez 1960’ların sonlarına doğru internetin atası olan ARPANET’in geliştiren kurum olan ABD’deki DARPA tarafından yapılan araştırma ve geliştirme sonucu ortaya çıkmıştı. Sonrasında uydu ağları üzerinde çalışan Robert E. Kahn, Vinton Cerf gibi araştımacılar ve Stanford Üniversitesi, BBN Technologies gibi kurumların da katılımıyla genişleyen çalışmalar sonucu farklı sürümleri geliştirilmiştir. Bu sürümlerden TCP/IP v4 ile TCP/IP v6 günümüzde hala kullanılmaktadır. İlk TCP/IP haberleşme testi ise 1975 yılında Stanford Üniversitesi ile University College London’daki iki farklı ağ arasında yapılmıştır ve halkın kullanımına sunulması 1980’li yılların ortalarını bulmuştur. TCP/IP’ye geçiş ise çeşitli ülkelerin devlet kurumlarım ve çeşitli ticari firmaların çabalarına rağmen 90’lı yıllara kadar sürmüştür.

TCP/IP kullanım olarak iki katmanlı bir iletişim protokolü olup bu katmanlardan TCP (Transfer Control Protocol) verinin iletimden önce paketlere ayrılmasını ve yeniden düzgün bir şekilde birleştirilmesini sağlarken ikinci katman olan IP (Internet Protocol) katmanı ise iletilen paketlerin istenilen ağ adresine yönlendirilmesini kontrol eder.

Ağ iletişim mimarisi olarak ise TCP/IP 4 katmanlı bir modeli ifade eder ve her katmanda yollanan verinin tipine göre (e-posta, dosya aktarımı vb.) belirli protokoller görev yapar. OSI Modeli’nden farklı olarak gerekli görüldüğü durumlarda bu katmanlardan bazıları es geçilebilir, gerekli görüldüğü durumlarda ara katmanlara gerek duyulan protokoller eklenebilir veya aynı seviyedeki katmanlar kendi aralarında iletişi kurabilir. Bu açıdan OSI Referans Modeli’nden çok daha esnek olduğu söylenebilir.

 

TCP/IP Mimarisi

Katman

Orijinal Adı

OSI’deki Karşılığı

İşlevi

Örnek Protokoller
4. Uygulama Katmanı Application Layer Uygulama Katmanı (Application Layer), Sunum Katmanı (Presentation Layer), Oturum Katmanı (Session Layer) Bu katmanda veriyi göndermek isteyen uygulama ve kullandığı dosya formatı bulunur. Örneğin “HTTP üzerinden HTML formatında yazılmış Wikipedia ana sayfası”. OSI modelindeki gibi ağa erişmek için gerekli uygulama protokollerini içerir. OSI modelindeki uygulama katmanından farkı sunum ve oturum katmanlarının uygulama katmanı içerisinde yer almasıdır. HTTP, FTP, SMTP, POP3, DNS, HTTPS
3. Taşıma Katmanı Transport Layer Taşıma Katmanı (Transport Layer) Bazen TCP katmanı olarak dan anılan bu katmanda verinin ne şekilde gönderildiği gösterilir. Servis kalitesi (the quality of service), güvenli veri aktarımı, veri akış kontrolü (flow control), hata kontrolü (error control) gibi işlemlerin yapıldığı katmandır. TCP, UDP
2. İnternet Katmanı Internet Layer Ağ Katmanı (Network Layer) Bazen IP katmanı olarak da anılan bu katman, IP adreslerinin veriye eklendiği ve yönlendirmenin yapıldığı noktadır. Kaynak ağdan gelen veriyi hedef ağa gönderme yönlendirmedir. Paketin hedefe en iyi yoldan gönderilmesi de bu katmanın sorumluluğudur. IP, IPv4, IPv6, ICMP, IGMP, ARP DHCP
1. Ağ Arayüz Katmanı Network Interface Layer Veri Bağlantı Katmanı (Data Link Layer), Fiziksel Katman (Physical Layer) Bağlantının kurulduğu diğer cihaz ile fiziksel bağlantının kurulduğu ve verinin bitlere ayrılarak taşındığı katmandır. Yani kısaca ağ ile ilgili tüm işlemlerin yapıldığı katmandır. 802.11, Ethernet, ATM, ARP, Switch, Hub

Tablo 1: TCP/IP Mimarisi’nin Katmanları

      TCP/IP’nin katmanlarına Uygulama Katmanı’ndan Ağ Arayüzü daha detaylı olarak bakacak olursak:

      1. Uygulama Katmanı

Uygulama Katmanı, bünyesinde ağ yönlendirici protokolleri ve sunucu düzenleme protokolleri gibi basit ağ destekli servisleri içeren fakat düşük seviyedeki katmanlar tarafından kurulan ağ bağlantıları üzerindeki uygulama verilerinin değişimini yahut kullanıcılara servis sağlayan protokoller içerir. Uygulama katmanı protokolleri örnekleri Hypertext Transfer Protocol [Köprü Metni Aktarım Protokolü] (HTTP), the File Transfer Protocol [Dosya Transferi Protokolü] (FTP), the Simple Mail Transfer Protocol [Basit Mail Transfer Protokolü] (SMTP) ve the Dynamic Host Configuration Protocol [Aktif Sunucu Düzenleme Protokolü] (DHCP)’dür. Veri, protokol birimler halinde kapsüllü bir biçimde uygulama katmanı protokollerine göre taşıma katmanı yani gerçek veri transferi gerçekleştirilmesi için alt katman protokolleri halinde kodlanmıştır.

IP modeli biçimlendirme ve veri sunma özelliklerini dikkate almaz ve OSI modeli (Sunum ve sezon katmanları) gibi uygulama ve ulaşım katmanları arasında ilave katmanları tanımlamaz. Bu tür işlevler ise kütüphane bölümleri ve uygulama programları arayüzleridir.

Uygulama Katmanı protokolleri taşıyıcı katmana veya daha altındaki katmanlara, taşıyıcı katmanların özelliklerinden olan çıkmaz IP adresleri ve port numaraları gibi uygulamalara rağmen iletişim kurmaya yarayan ağ bağlatıları sağlayan siyah kutulara davrandığı gibi davranır. Uygulama katman protokolleri genel olarak sunucu server uygulamaları ile bağdaştırılır ve Internet Assigned Numbers Authority (IANA) tarafından rezerve edilmiş iyi bilinen port numaraları gibi servis görür. Örneğin; the HyperText Transfer Protokolü 80 numaralı portu ve Telnet ise 23 numaralı portu kullanır. Bir servise bağlanmaya müşteriler ise genellikle bağlantı noktası numaralarının rastgele veya uygulama yapılandırılmış belirli bir mesafeden işlem süresince atanan kısa ömürlü bağlantı noktalarını kullanır.

Taşıma katmanı ve alt düzey katmanları uygulama katmanı protokolleri özellikleri ile ilgisizdir. Yönlendiriciler ve anahtarlar genellikle kapsüllü trafiği incelemek yerine sadece bir kanal sağlarlar. Yine de, bazı güvenlik duvarı ve bant genişliği daraltma uygulamaları, uygulama verilerini yorumlamak zorundadır. Bunun bir örneği Kaynak Rezervasyon Protokolüdür (RSVP). Bu uygulama yükü, ayrıca ağ adresi çeviricisi (NAT) geçişi için bazen gereklidir.
TCP/IP modelindeki uygulama katmanı genel olarak OSI modelinin katmanları olarak beşinci kombinasyon olan oturuma, altıncı sunuma, ve yedinci olarak uygulama katmanları ile eş olarak karşılaştırılır.

Ayrıca, TCP / IP referans modeli kullanıcı protokolleri ve destek protokolleri arasında çeşitlere ayrılır. Destek protokolleri sisteme servis sağlar. Kullanıcı protokolleri ise kullanıcı uygulamaları için kullanılır. Örneğin, FTP ibr kullanıcı protokolü ve DNS ise sistem protokolüdür.

 

     2. Taşıma Katmanı

Taşıma katmanı uygulama görevinin özel veri alışverişini kullanan bir temel veri kanalı kurar. Katman kullanıcı verisinin yapısından bağımsız olarak end-to-end servisinin sağlandığı ve herhangi belirli bir amaç için bilgi alışverişinin gerçekleştiği process-to-process bağlantısı kurar. Sorumluluğu kapsamında bağımsız temel ağın end-to-end mesaj transferini, hata kontrolünü, segmentasyonu, akış kontrolünü, tıkanma kontrolünü ve port numaraları ile birlikte uygulama adreslemesini içerir. Uçtan uca aktarım katmanındaki mesaj iletimi veya bağlantı uygulamaları bütün bunları ya TCP’de uygulanan bağlantı yönelimi ya da UDP’de uygulanan bağlantısız yönelimi olarak kategorize edebilir.

Uygulamalar için process-specific iletim kanallarını sağlamak amacıyla, katman port kavramını ortaya çıkarmıştır. Bu, bir uygulamanın ihtiyacı olan iletişim kanallarının her biri için özel olarak tahsis edilen bir numaralı bir mantıksal yapıdır. Birçok hizmetlerin türleri için ve kullanıcı bilgisayarlar bağlantı duyuruları yapmadan yahut rehberi servisleri kullanmadan özel servis server bilgisayarlarına yönlendirme yapabilsin diye bu port numaraları standardize edilmiştir. Çünkü IP sadece en iyi çaba teslim sağladığından, bazı taşıma katmanı protokolleri güvenilirlik sunar. Yine de IP, High-Level Data Link Control (HDLC) gibi bir veri bağlantı protokolü üzerinden çalışabilir.

Örneğin, TCP güvenilir bir bayt akışı sağlayan sayısız güvenilirlik sorunlarını gideren bir bağlantı yönelimli protokoldür:

  • Veri bir düzen içerisinde ulaşır.
  • Veride minimum düzeyde hata vardır. (Örneğin; hata düzeltme)
  • Kopya veri atılmıştır.
  • Kayıp veya atılan paketler yok edilmiştir.
  • Trafik sıkışıklığı kontrolü içerir.

 

Yeni olan Bağlantı Transferi Kontrol Protokolü de aynı zamanda güvenilir, bağlantı yönelimli taşıma mekanizmasıdır. Bu protokol mesaj bağlantı odaklı – TCP gibi bit bağlantı odaklı değil- ve tek bir bağlantı üzerinden çoklu bağlantılar sağlayabilir. Aynı zamanda bir bağlantının kopması durumunda diğer bağlantının otomatik olarak devreye girdiği çoklu IP’nin başlangıcı ile son bulan farklı bir bağlantı olan multi-homing desteği de sağlar. Bu, ilk başta telefon uygulamaları için geliştirilsede (IP üzerinden SS7’i transfer etmek için), farklı uygulamalar tarafından da kullanılabilmiştir.

Kullanıcı Datagram Protokolü (UDP) bir bağlantısız bir datagram protokolüdür. IP gibi, en iyi bir çabası, “güvenilmez” bir protokoldür. Güvenilirlik, zayıf sağlama algoritması kullanılarak hata tespiti yoluyla ele alınmaktadır. UDP tipik olarak akış ortamı gibi güvenilirlikten ziyade zamanında ulaşımın önemli olduğu ya da basit bir sorgu / DNS aramaları gibi güvenilir bağlantı kurma yükünün orantısızca fazla olduğu uygulamalar için kullanılır. (ses, video, IP üzerinden sesli iletişim vb.) Real-time Transport Protocol (RTP) ise bu tür akışı ses ve video gibi gerçek zamanlı veriler için tasarlanmış bir datagram protokolüdür.

Herhangi bir ağ adresindeki uygulamalar kendi TCP veya UDP bağlantı noktası ile ayırt edilir. Geleneksel olarak belli bir şekilde tanınmış portlar özel uygulamalar ile ilişkilidir.

TCP / IP modelinin ulaşım ya da host-to-host katmanı aynı zamanda taşıma katmanı olarak bilinen OSI modelindeki dördüncü katmana denk gelmektedir.

 

     3. İnternet Katmanı

İnternet tabakasının, potansiyel çoklu ağlar üzerinden paketleri gönderme sorumluluğu vardır. Internetworking hedef ağa kaynak ağdan veri göndermeyi gerektirir. Bu süreç yönlendirme işlemi olarak tanımlanır. Internet Protokolü iki temel işlevleri gerçekleştirir:

  •      Host addressing and identification: Bu süreç hiyerarşik bir IP adresleme sistemi ile gerçekleştirilir.
  •      Paket Yönlendirme: Bu süreç veri paketlerinin kaynak üzerinden hedefe en yakın ağ yönlendiricisi üzerinden ulaştırılmasıdır.

 

İnternet katmanı sadece taşıma katmanında agnostik veri yapıları değil, bunun yanı sıra çeşitli ulaşım katmanı protokollerinin operasyonu arasında ayırım yapmaz. IP, farklı üst katman protokolleri için çeşitli veri taşır. Bu protokollerin her biri bünyesindeki benzersiz protokol sayısına göre tespit edilir. Örneğin; Internet Denetim İletisi Protokolü (ICMP) ve Internet Grup Yönetimi Protokolü (IGMP) sırasıyla 1 ve 2 numaralı iletişim kurallarıdır.

IP üzerinden taşınan bu protokollerin bazıları Tanı bilgilerini aktarmak için kullanılan ICMP gibi veya IP Multicast verileri yönetmek için kullanılan IGMP’dir. Bu, internet TCP / IP yığını ve OSI modelinin mimarisinde farklılıkları göstermektedir. TCP / IP modeli internet katmanı ağ katmanına yönelik olarak tasarlanan OSI Modeli’nin Ağ Katmanı’na denk gelmektedir..

Internet Katmanı potensiyel olarak aldığı verileri hedefine ulaştırmak üzere en yakınındaki yönlendiriciye gönderen ve farklı IP’ler üzerinde yer alan sunucular arasında sadece güvenilmez bir datagram iletim tesisi sağlar. Bu işlevsellik ile internet katmanı temel olarak internet üzerine kurulu internetworking’i, farklı IP’ler üzerindeki internetworking’i mümkün kılar. Internet Protokolü İnternet katmanın başlıca bileşenidir ve ağ sunucuları bilgisayarlarını tanımlamak için iki adresleme sistemleri tanımlar ve onların ağ üzerindeki yerini belirler. ARPANET’in orijinal adresleme sistemi ve onların arkasından gelenler ise; internet üzerindeki internet iletişim kuralları versiyon 4 (IPv4)’tür. 32 bit IP adresi kullandığından dolayı yaklaşık 4 milyar sunucuyu tanımlama kapasitesindedir. Bu sınırlama, 1998’te yayınlanan Internet Protokolü 6. sürüm standardizasyonu dahilinde elimine edildi ve 2006 yılında üretim çalışmaları başladı.

 

     4. Ağ Arayüzü Katmanı

Bağlantı katmanın, sunucunun bağlı olduğu yerel ağ bağlantısına ait bir ağ kapsamı vardır. Bu kapsama literatürde, TCP / IP bağlantısı denir. TCP / IP donanım bağımsız olacak şekilde tasarlandığından dolayı bu bağlantı internet protokolleri arasındaki en yavaş bağlantı olarak tanımlanır. Sonuç olarak TCP / IP hemen hemen herhangi bir donanım ağ teknolojisi ile birlikte uygulanabilir.

Bağlantı katmanı aynı linke iki farklı türdeki internet katman ara yüzleri arasındaki paketleri taşımak için kullanılır. Belirli bir bağlantıyı paketleri gönderme ve alma işlemleri hem ağ kartı için yazılım aygıt sürücüsünde hem de software veya özel yonga setinde kontrol edilebilir. Bunlar iletim için hazırlamak için bir paket başlığını ekleme sonrasında çerçeveyi fiziksel bir ortam üzerinde iletmek gibi veri bağlantısını çalıştırır. TCP/IP modeli, İnternet iletişim kuralları kapsamındaki Media Access Control (MAC) gibi veri yönlendirme ağları içeren özellikler içermektedir. Bu düzeyin altındaki tüm diğer yönleri ise, örtülü bağlantı katmanı var varsayılır, fakat açıkça tanımlanmamıştır.

Bu da paketlerin bir sanal özel ağ ya da diğer ağ tüneli üzerinden gönderilmek üzere seçilebilir tabakadır. Bu senaryoda, bağlantı katmanı veri başka bir IP bağlantısı üzerinden iletimi ya da alımı için IP yığını başka örneğinin erişir uygulama verileri kabul edilebilir. Böyle bir bağlantı veya sanal bağlantı, protokol kümesinin bağlantı katmanında bir tünel olarak hizmet veren bir taşıma protokolü ya da bir uygulama kapsamı protokolü ile kurulabilir. Böylece, TCP / IP modeli sıkı bir hiyerarşik kapsülleme dizisi dikte etmez.

TCP / IP modelinin bağlantı katmanı OSI Modeli’nin fiziksel ve veri bağlantı katmanları denk gelmektedir.

 

     Kaynaklar

https://tr.wikipedia.org/wiki/%C4%B0nternet_ileti%C5%9Fim_kurallar%C4%B1_dizisi

 

Bir cevap yazın