Taşıma Katmanı (Transport Layer ), OSI modelinin 4.katmanında yer alır. Verinin taşınmasından ve hedefine doğru şekilde ulaştırılmasından sorumludur.
Taşıma katmanı, OSI modelinin üst katmanları ve alt katmanları arasında bir ayrım çizgisi görevi görür.
Spesifik olarak, mesajlar üst katmanlardan (Katmanlar 5-7) alınır ve alt katmanlara (Katmanlar 1-3) iletilmek üzere bölümler halinde kapsüllenir.
Ayn şekilde alt katmanlardan gelen veri akışları dekapsüle edilir ve protokole bağlı olarak Katman 5’e (oturum katmanı) veya başka bir üst katmana gönderilir.
İki yaygın taşıma katmanı protokolü, İletim Kontrol Protokolü (TCP) ve Kullanıcı Datagram Protokolünü (UDP)‘dir.
TCP (Transmission Control Protocol)
Bağlantı yönelimli taşıma protokolüdür.
Bağlantı yönelimli aktarım protokolleri, güvenilir aktarım sağlar; bir segment düşürülürse, gönderici bu düşüşü algılayabilir ve bırakılan segmenti yeniden iletebilir.
Gönderici, alındı bildirimlerine dayanarak hangi bölümlerin başarıyla alındığını ve hangi bölümlerin yeniden iletilmesi gerektiğini belirleyebilir.
UDP (User Datagram Protocol)
Bağlantısız bir aktarım protokolüdür.
Bağlantı kurulmadan yollanılan veriler güvenilir olmayan aktarım sağlar, çünkü bir segment bırakılırsa, gönderici düşüşten habersizdir ve yeniden iletim gerçekleşmez.
Segment
Veriler katmanlar arası yolculuk yaparken, taşıma katmanında segment adını alır.

TCP ve UDP başlıkları farklıdır.
TCP Header Format
Her TCP başlığı, toplam 20 bayt (160 bit) boyutunda 10 zorunlu alana sahiptir. İsteğe bağlı olarak 40 bayta kadar ek bir veri alanı içerebilir.

- Source TCP port number (2 bytes or 16 bits): Kaynak TCP bağlantı noktası numarası gönderen aygıtı temsil eder.
- Destination TCP port number (2 bytes or 16 bits): Hedef TCP bağlantı noktası numarası, alıcı aygıtın iletişim uç noktasıdır.
- Sequence number (4 bytes or 32 bits): Mesaj gönderenler, bir grup mesajın sırasını işaretlemek için sıra numaralarını kullanır.
- Acknowledgment number (4 bytes or 32 bits): em gönderenler hem de alıcılar, son alınan veya gönderilmesi beklenen iletilerin sıra numaralarını iletmek için onay numaraları alanını kullanır.
- TCP data offset (4 bits): Veri ofseti alanı, bir TCP üstbilgisinin toplam boyutunu dört baytın katları olarak depolar. İsteğe bağlı TCP alanını kullanmayan bir üstbilginin veri uzaklığı 5’tir (20 baytı temsil eder), maksimum boyutlu isteğe bağlı alanı kullanan bir üstbilginin veri uzaklığı 15’tir (60 baytı temsil eder).
- Reserved data (3 bits): TCP başlıklarındaki ayrılmış veriler her zaman sıfır değerine sahiptir. Bu alan, toplam başlık boyutunu, bilgisayar veri işlemenin verimliliği için önemli olan dört baytın katı olarak hizalar.
- Control flags (up to 9 bits): TCP, belirli durumlarda veri akışını yönetmek için her biri Açık veya Kapalı’yı temsil eden ayrı bir bit olmak üzere altı standart ve üç genişletilmiş kontrol bayrağı kümesi kullanır.
- Window size (2 bytes or 16 bits): TCP gönderenleri, karşılığında bir onay gerektirmeden önce bir alıcıya ne kadar veri gönderdiklerini düzenlemek için pencere boyutu adı verilen bir sayı kullanır.
- TCP checksum (2 bytes or 16 bits): Bir TCP başlığının içindeki sağlama toplamı değeri, protokol gönderen tarafından, alıcının bozuk veya tahrif edilmiş mesajları algılamasına yardımcı olmak için matematiksel bir teknik olarak oluşturulur.
- Urgent pointer (2 bytes or 16 bits): Acil işaretçi anlamına gelen alan, genellikle sıfıra ayarlanır ve yok sayılır, ancak kontrol bayraklarından biriyle birlikte, bir iletinin bir alt kümesini öncelikli işlem gerektirecek şekilde işaretlemek için veri ofseti olarak kullanılabilir.
- TCP optional data (0 to 40 bytes): İsteğe bağlı TCP verilerinin kullanımı, özel bildirim ve pencere ölçekleme algoritmaları için destek içerir.
UDP Header Format
UDP, TCP’ye göre başlıkları daha küçüktür. Bunun sebebide kapasitesinden kaynaklıdır. Bir UDP başlığı, dört zorunlu alana bölünmüş 8 bayt içerir.
UDP başlığının sonraki iki baytı, segmentin (başlık dahil) uzunluğunu (bayt cinsinden) depolar.
İki bayt 16 bit olduğundan, 16 bit, bu nedenle uzunluk bu ikili sayı kadar olur: 1111111111111111
- Source UDP port number (2 bytes): Kaynak UDP bağlantı noktası numarası gönderen aygıtı temsil eder.
- Destination UDP port number (2 bytes): Hedef UDP bağlantı noktası numarası, alıcı aygıtın iletişim uç noktasıdır.
- Length of data (2 bytes): UDP’de uzunluk alanı, hem başlık hem de veriler dahil olmak üzere her bir veri biriminin toplam boyutunu temsil eder. Bu alanın değeri en az 8 bayt (gerekli başlık boyutu) ile 65.000 baytın üzerindeki boyutlar arasında değişir.
- UDP checksum (2 bytes): TCP’ye benzer şekilde, bir UDP checksum (sağlama toplamı), alıcıların mesajın bozuk bitleri için gelen verileri çapraz kontrol etmesine izin verir.
TCP ile UDP Farkı Nedir?
TCP
- Verilerin gönderilmesini garanti eder.
- Hata akışlarını kontrol eder.
- UDP’den yavaştır.
- 20 baytlık bir başlık, isteğe bağlı 40 baytlık bir işlev verisine izin verir.
- Güvenilir olması gereken uygulamalar için kullanılır.
UDP
- Verinin teslim edilmesini garanti edemez.
- Hata kontrolü sağlamaz.
- TCP’den hızlıdır.
- 8 Baytlık bir başlık yalnızca zorunlu işlev verilerine izin verir.
- Hızlı olması gerekli uygulamalar için kullanılır. (Oyun, video, VPN gibi)