Taşıma Katmanı (Transport Layer)

Eyl 07, 2013

Taşıma katmanı, Uygulama (Application) ve Ağ (Network) katmanları arasında mantıksal bir bağlantı kurulmasını sağlayan bir katmandır. Üst katmandan aldığı verileri segmentlere bölerek bir alt katmana iletir, alt katmandan aldıklarını da birleştirerek bir üst katmana verir. Karşı tarafa gönderilen segmentlerin, doğru şekilde birleştirilmesi işinden de bu katman sorumludur. Üst katmandan gelen verilerin bozuk veya hatalı olup olmadıklarını da inceler. Bunun yanı sıra multiplexing (çoklama işlemi) kullanarak birden fazla farklı veri tipini aynı ortam üzerinden aktarılmasını sağlar.

Taşıma katmanının en önemli görevlerinden biri paketlere hedef ve kaynak port numarası eklemektir. Port numaraları, veri tipine göre değişiklik gösterir. İstemci için gereken port numarası 5000'in üzerinde bir sayı olacak şekilde rastgele atanır. Port kavramı sayesinde Local Area Network (LAN) (Yerel Alan Ağı) ya da Wide Area Network (WAN) (Geniş Alan Ağı) içerisinde, portlar üzerinde çeşitli değişiklikler yapılarak, ağ üzerindeki kullanıcıların farklı tiplerdeki isteklerini erişime açık hale getirme ya da engelleme özelliğine sahiptir.


 Port  Açıklama  
 20  FTP (Veri Aktarma Protokolü - File Transfer Protocol)
 21  FTP (Kontrol - veri gönderme/alma) 
 22   SSH (Güvenli veri transfer işlemleri - Secure Shell)
 53  DNS (Etki Alanı İsim Sistemi - Domain Name System)
 80   HTTP (Web Sayfaları Gösterim - Hypertext Transfer Protocol)

OSI modeline göre 4. katman olan taşıma katmanı TCP (Transmission Control Protocol - İletim Kontrol Protokolü), UDP (User Datagram Protocol - Kullanıcı Veribloğu İletişim Kuralları) DCCP (Datagram Congestion Control Protocol - Veri Bloğu Tıkanma Kontrol Protokolü), SCTP (Stream Control Transmission Protocol - Yayın İletimi Kontrol Protokolü) protokolleri ile çalışır. Bunların içinden en yaygın olan ikisi TCP ve UDP dir.

TCP (Transmission Control Protocol - İletim Kontrol Protokolü): TCP/IP modelinin taşıma katmanında bulunan protokolüdür. Bu protokol paketlerin doğru sırayla istenilen rota üzerinden gittiğinden emin olmak için kullanılan bir protokoldür. İki bilgisayar arasında ilk bağlantıyı sağlama görevi bu protokolündür. A bilgisayarı ile B bilgisayarı arasında TCP kullanarak bir bağlantı oluşturulmak istenirse ilk olarak A bilgisayarından B bilgisayarına TCP rastgele bir sequence numarası ile SYNchronize mesajı yollanır buna karşılık olarak B bilgisayarından A bilgisayarına TCP SYN ve ACKnowledgement mesajı yollanır. Ardından A bilgisayarı TCP ACK mesajını yollar ve son olarak B bilgisayarı bir ACK "TCP connection is ESTABLİSHED" mesajı alır. Bu yönteme three way handshake (Üçlü el sıkışma) denir ve bu TCP bağlantısının temel bağlantı kurulum esasıdır.

TCP ayrıca, gönderilen veriler için özel bir TCP kabul paketi gönderir. Bu paket gelmiş olan paketlerden hangi byte'a kadar olan kısmının doğru olarak alındığını gösterir. Gönderen taraf, kabul gelmediği sürece paketi arka arkaya bir kaç kez yollar. Böylelikle paketin kesin olarak ulaştığından emin olur. Ayrıca flow control (akış kontrolü) kullanarak karşı tarafa gönderilen segmentlerin yerine ulaşıp ulaşmadığını kontrol eder.

UDP (User Datagram Protocol - Kullanıcı veri bloğu iletişim kuralları): TCP/IP modelinin taşıma katmanında bulunan bir diğer protokolüdür. Bu protokol de TCP gibi üst katmandan gelen verileri parçalara ayırır. Bu parçalardan her birine "datagram" denir. Datagramlar segmentlere göre daha küçük boyutta olup daha az bant genişliği harcalar. Bu nedenle hız bakımından TCP'den daha hızlıdır ancak güvenilir değildir. Gelen verilerin bozuk veya hatalı olup olmadığını denetler ancak, TCP'nin aksine yollanılan paketin yerine  ulaşıp ulaşmamasını kontrol etmek bu protokolün tanımında yoktur. Bu protokol verilerin doğru ya da yanlış şekilde iletilip iletilmediğini garanti etmez. UDP protokolü , DNS (Domain Name System) (Etki Alanı İsim Sistemi) ,  VoIP (Voice over IP) (IP üzerinden ses) gibi gecikme yaşanmaması gereken uygulamalarda kullanılır.

 Servis TCP  UDP 
Bağlantı kurulumu Güvenli bağlantı kurulur. Bağlantıya gerek yoktur.
Paketlerin sırası hakkında bilgi Ardışık numaralandırılmış paketler Ardışık paket numarası yoktur. 
Akış kontrolü Alıcı vericiye yavaşlaması için sinyal gönderebilir. Akış kontrolü için TCP de kullanılan onay UDP den geri dönmez.
Tıkanıklık kontrolü Ağ cihazları TCP onay paketleri sayesinde göndericinin tavrını kontrol edebilir. Onay olmadan ağ tıkanıklığı sinyali göndermez. 
Teslim Garantisi Gönderildiğini onaylar.

UDP onay mesajı göndermeden, alıcı paket alındığına dair sinyal göndermez. Kaybolan paketler tekrar gönderilmez. 


DCCP (Datagram Congestion Control Protocol - Veri Bloğu Tıkanma Kontrol Protokolü):
Bu protokol çoklu ortam trafiğini desteklemek üzere kullanılır. UDP gibi güvenilir olmayan veri iletimini gerçekleştirmek için kullanılır. Bu protokol ECN (Explicit Congestion Notification - Belirtilmiş Tıkanma Uyarısı) mekanizmasına sahip olup , bu protokol ile gelen paketler bir tıkanıklık durumunda atılmak yerine yönlendirici (router) tarafından işaretlenir ve yine bu mekanizma sayesinde alıcının hangi paketleri alabildiğini ve hangi paketlerin kaybolduğu hakkında bilgi verir.

SCTP(Stream Control Transmission Protocol-Akış kontrol iletişim protokolü): SCTP kendisine gelen verileri mesaj ve kontrol bilgileri olmak üzere parçalara ayırır ve her bir parça kendisini tanımlayan başlıklara sahiptir. SCTP parçaları SCTP paketlerinin içinde bulunurlar ve yalnızca gerek duyulduğunda paketlerin durumu kontrol edilir. SCTP'de, TCP'den farklı olarak, mesaj parçaları arasında veri alışverişi olabilir. Yollanan mesajların sırasını ise SCTP stream belli eder ve böylelikle mesaj hata veya bozukluk oluşmadan hedefe ulaşmış olur.