İçeriğe geç
academia.sh

Ders 02 / 18

TCP/IP Modeli

Dört katmanlı pratik model, OSI ile eşlemesi, kum saati mimarisi ve uçtan uca ilkesinin tasarıma etkisi.

İçindekiler

Önceki ders yedi katmanlı bir başvuru modelini tanıttı ve bu modelin gerçekleştirilen yığınlara tam oturmadığını belirtti. İnternet’te çalışan yığın ayrı bir soydan gelir: önce protokoller yazılmış, model sonradan onları betimlemek için tarif edilmiştir.

Bu dersin sorusu, o yığının nasıl bölündüğü ve bölünmenin hangi tasarım kararlarını dayattığıdır. Sonuçta ortaya çıkan yapı, katman sayısıyla değil, ortadaki tek katmanın tekliğiyle ayırt edilir.

Dört Katman

TCP/IP modeli dört katman tanımlar:

No Katman Sorumluluk Örnek protokol sınıfı
4 Uygulama (application) Uygulamaya özgü alışveriş kuralları Kaynak aktarımı, ad çözümleme, posta
3 Taşıma (transport) Uçtan uca çoğullama ve isteğe bağlı güvenilirlik TCP, UDP
2 İnternet (internet) Ağlar arası adresleme ve yol seçimi IP, ICMP
1 Bağlantı (link) Tek bir ağ üzerinde çerçeve iletimi Ethernet, kablosuz yerel ağ

Modelin adı, iki merkezî protokolünden gelir: IP (Internet Protocol) ve TCP (Transmission Control Protocol). Adlandırma bir yanılgıya yol açabilir: taşıma katmanında TCP’nin yanı sıra başka protokoller de vardır ve model bunları dışlamaz.

Modelin OSI’den ayrıldığı iki nokta belirgindir. Birincisi, OSI’nin fiziksel ve veri bağlantısı katmanları burada tek bir bağlantı katmanında birleşir. Bu birleştirme bilinçlidir: IP, altındaki ağ teknolojisinin ayrıntılarını bilmeme sözü verir, dolayısıyla o ayrıntıların kaç katmana bölündüğü onu ilgilendirmez. İkincisi, OSI’nin oturum ve sunum katmanları ayrı katman olarak yoktur; işlevleri uygulama katmanına bırakılmıştır.

İki Modelin Eşlenmesi

OSI TCP/IP Not
7 Uygulama Uygulama Doğrudan karşılık
6 Sunum Uygulama Kodlama ve şifreleme uygulamaya veya kütüphaneye düşer
5 Oturum Uygulama Diyalog yönetimi ayrı katman değil
4 Taşıma Taşıma Doğrudan karşılık
3 Ağ İnternet Doğrudan karşılık
2 Veri bağlantısı Bağlantı Birleşme
1 Fiziksel Bağlantı Birleşme

Eşlemenin bozulduğu yerler bilinmelidir. Güvenli taşıma protokolleri, taşıma katmanının akışını kullanır ve uygulama verisini şifreler; OSI sözlüğünde sunum katmanına, TCP/IP sözlüğünde uygulama katmanına düşer. Adres eşleme protokolü, ağ katmanı adresinden bağlantı katmanı adresine çeviri yapar ve iki katmana birden aittir. Tünelleme kullanıldığında bir ağ katmanı paketi başka bir ağ katmanı paketinin yükü olur; katman sırası tekrarlanır.

Bu nedenle katman numaralarının pratik değeri kesin sınıflandırma değil, ortak sözlüktür. Bir sorunun “üçüncü katman sorunu” olduğunu söylemek, sorunun yol seçimiyle ilgili olduğunu söylemenin kısa yoludur.

Kum Saati Mimarisi

TCP/IP yığınının ayırt edici özelliği katman sayısı değil, katman başına protokol çeşitliliğinin dağılımıdır.

Bağlantı katmanında çok sayıda teknoloji vardır: kablolu yerel ağ, kablosuz yerel ağ, hücresel bağlantı, uydu bağlantısı, noktadan noktaya seri hatlar. Uygulama katmanında da sayısız protokol vardır. Ortada ise tek bir protokol durur: IP.

Bu yapı kum saati (hourglass) olarak adlandırılır: iki uçta genişlik, ortada dar bir boğaz. Boğazın darlığı bir kısıtlama değil, mimarinin ta kendisidir. Ortada tek bir protokol olduğu için:

  • Yeni bir bağlantı teknolojisi, IP paketlerini taşımayı öğrendiği anda tüm uygulamalara açılır. Uygulamaların hiçbirinde değişiklik gerekmez.
  • Yeni bir uygulama protokolü, IP üzerinde çalıştığı anda tüm bağlantı teknolojileri üzerinden erişilebilir olur. Ağ altyapısında değişiklik gerekmez.

Çarpım burada toplama dönüşür: nn bağlantı teknolojisi ve mm uygulama protokolü için n×mn \times m uyarlama yazmak yerine, n+mn + m uyarlama yeter. Boğazın maliyeti ise IP’nin kendisini değiştirmenin zorluğudur: dar boğaza dokunmak, iki uçtaki her şeyi ilgilendirir. Adres genişliğini değiştirmenin neden onlarca yıla yayılan bir iş olduğu bu yapıdan anlaşılır; bu konu IPv6 dersinde ele alınacaktır.

Uçtan Uca İlkesi

TCP/IP’nin ikinci belirleyici tasarım kararı, işlevlerin nerede gerçekleştirileceğiyle ilgilidir. Uçtan uca ilkesi (end-to-end principle) şunu söyler: bir işlev, ancak uç noktalar tarafından gerçekleştirilebiliyorsa ağın içine konmamalıdır.

Gerekçe bir doğruluk argümanıdır. Bir dosyanın hatasız aktarıldığından emin olmak isteyen uygulama, bunu kendi başına doğrulamak zorundadır: ara düğümlerin her biri kendi bağlantısında hata denetimi yapsa bile, düğüm içindeki bellek bozulması veya yazılım hatası denetimlerin dışında kalır. Uçtaki doğrulama zorunlu olduğuna göre, aradaki doğrulamalar doğruluk için gerekli değildir. Ara düğümlerdeki denetim yalnızca bir başarım eniyilemesidir: hatalı çerçeveyi erken atmak, onu uca kadar taşıyıp orada attırmaktan ucuzdur.

Bu ilkenin somut sonucu, IP’nin sunduğu hizmetin elinden geleni yapan (best-effort) olmasıdır. IP paket kaybını, sıra bozulmasını ve yinelenmeyi engellemez. Bunları düzeltmek isteyen, taşıma katmanında veya uygulamada düzeltir. Ağ katmanı basit tutulur; karmaşıklık uçlara itilir.

Karşılığı da vardır. Ağ, üzerinde taşınan trafiğin ne olduğunu bilmediği için trafiğe özgü güvenceler veremez. Gecikmeye duyarlı bir akışa öncelik vermek, ek düzenekler gerektirir. Adres dönüştürme ve durum tutan ara kutular ise ilkeyi doğrudan zorlar; bu gerilim NAT ve PAT dersinde ele alınacaktır.

Örnek Ağda Katmanların Karşılığı

Önceki derste tanıtılan kurumsal ağ üzerinde dört katmanın karşılığı şudur. 192.168.10.196 adresli istemci, 198.51.100.20 adresli sunucudan bir kaynak istediğinde:

Katman Bu adımda ne yapılır Kullanılan adres
Uygulama İstek biçimlendirilir Kaynağın adı
Taşıma İstek bir bağlantıya oturtulur, sıra numarası verilir Bağlantı noktası 49152 → 443
İnternet Hedef adrese göre yol seçilir 192.168.10.196 → 198.51.100.20
Bağlantı Çerçeve geçide teslim edilir 00:00:5e:00:53:01 → geçidin donanım adresi

Dikkat edilmesi gereken ayrım şudur: bağlantı katmanı adresleri her adımda değişir, ağ katmanı adresleri değişmez. İstemciden geçide giden çerçevede hedef donanım adresi geçidindir; geçitten sağlayıcıya giden çerçevede hedef donanım adresi sağlayıcı yönlendiricisinindir. Buna karşılık IP başlığındaki kaynak ve hedef adresleri yol boyunca aynı kalır — bu kuralın istisnası, adres dönüştürmedir.

Bu ayrım, iki katmanın kapsam farkının doğrudan sonucudur: bağlantı katmanının kapsamı bir bağlantı, ağ katmanının kapsamı uçtan uca yoldur.

Hangi Model Ne Zaman

İki model birbirinin rakibi değildir; farklı işler için kullanılır.

OSI modeli öğretim ve tanı için elverişlidir. Yedi katman, sorunun kapsamını daraltmak isteyen bir kişiye daha ince bir ızgara verir; fiziksel katman ile veri bağlantısı katmanının ayrılması, kablo arızasıyla adresleme arızasını ayırmayı kolaylaştırır.

TCP/IP modeli gerçekleştirim için doğru betimlemedir. Bir işletim sisteminin ağ yığını bu dört katmana göre yapılandırılmıştır; soket arayüzü taşıma katmanının üstünde durur, yönlendirme tablosu internet katmanındadır, arayüz sürücüleri bağlantı katmanındadır.

Bu kurs iki sözlüğü de kullanır: katman numaralarına atıf yapılırken OSI numaralandırması, protokollerin yerleşimi anlatılırken TCP/IP bölümlemesi esas alınır.

Özet

  • TCP/IP modeli dört katmandan oluşur: bağlantı, internet, taşıma, uygulama.
  • OSI’nin fiziksel ve veri bağlantısı katmanları bağlantı katmanında birleşir; oturum ve sunum katmanları ayrı katman olarak yer almaz.
  • Kum saati mimarisinde ortada tek bir protokol (IP) durur; bu darlık, n×mn \times m uyarlama sorununu n+mn + m’ye indirger, karşılığında IP’yi değiştirmeyi zorlaştırır.
  • Uçtan uca ilkesine göre bir işlev uçlarda gerçekleştirilebiliyorsa ağın içine konmaz; IP’nin elinden geleni yapan hizmet sunması bu ilkenin sonucudur.
  • Bir paketin yolculuğunda bağlantı katmanı adresleri her adımda değişir, ağ katmanı adresleri değişmez.
  • OSI tanı ve öğretim için, TCP/IP gerçekleştirim betimlemesi için kullanılır.

Sonraki Adım

İki model de verinin katmanlar boyunca sarmalandığını söyler, ancak sarmalamanın kendisinin bir maliyeti vardır: her katman kendi başlığını ekler ve bu başlıklar taşınan veriden yer çalar. Sonraki ders kapsülleme mekaniğini bit düzeyinde ele alacak, bir IP başlığını alan alan kuracak ve yüzde kaç yükün başlıklara gittiğini hesaplayacak.

İlerlemeni kaydetmek ve not almak için Giriş yap

Notlarım

Not almak için giriş yapmalısın.

Aramak için yazmaya başlayın.

↑↓ Esc gezin · aç · kapat