Transport Layer
The transports layer, verilerimizi ağların okuyabileceği bir şekilde transfer etmemize yardımcı olur. Verilerimizi taşınacak parçalar hâline böler ve doğru sırayla tekrar bir araya getirir. Bu parçalara segment denir. Segment’ler, veriyi ağlar boyunca taşımayı kolaylaştırır.
Ports
Verilerimizi IP adresleri aracılığıyla nereye göndereceğimizi bilsek de, bunlar veriyi belirli process’lere veya servis’lere göndermek için yeterince spesifik değildir. HTTP gibi servis’ler, port’lar aracılığıyla bir iletişim kanalı kullanır. Eğer web sayfası verisi göndermek istiyorsak, bunu HTTP port’u (port 80) üzerinden göndermemiz gerekir. Segment’leri oluşturmanın yanı sıra, transport layer aynı zamanda segment’e kaynak ve hedef port’larını da ekler; böylece alıcı son packet’i aldığında hangi port’u kullanacağını bilir.
UDP
İki popüler transport protocol vardır: UDP ve TCP. UDP’yi kısaca ele alacağız ve çoğunlukla TCP üzerinde duracağız, çünkü en yaygın kullanılan odur.
UDP, veriyi taşımak için güvenilir bir yöntem değildir, aslında orijinal verinizin tamamını alıp almadığınızı pek umursamaz. Bu kulağa kötü gelebilir, ancak kullanım alanları vardır; örneğin medya streaming için bazı kareleri kaybetmek sorun değildir, buna karşılık veriyi biraz daha hızlı alırsınız.
TCP
TCP, güvenilir, bağlantı odaklı bir veri akışı sağlar. TCP, veriyi host’lar arasında göndermek ve almak için port’ları kullanır. Bir uygulama, kendi host’undaki bir port’tan uzak host’taki başka bir port’a bir bağlantı açar. Bağlantıyı kurmak için TCP handshake kullanırız.
Client (bağlanan process), bağlantı istemek için server’a bir SYN segment gönderir.
Server, client’ın bağlantı isteğini onaylamak için client’a bir SYN-ACK segment gönderir.
Client, server’ın bağlantı isteğini onaylamak için server’a bir ACK gönderir.
Bu bağlantı kurulduktan sonra, veriler bir TCP bağlantısı üzerinden değiş tokuş edilebilir. Veri, farklı segment’ler hâlinde gönderilir ve teslim edildiğinde doğru sıraya konulabilmesi için TCP sequence number’ları ile takip edilir. E-posta örneğimizde, transport layer hedef port’u (25) kaynak host’un kaynak port’una ekler.
Last updated