UDP ve TCP
UDP (User Datagram Protocol)
UDP, uygulamaların veri aktarımında kullandığı protokollerden biridir. Yaratılan UDP paketleri
IP tarafından kapsüllenir ve IP ortamında taşınır. UDP paketlerini taşımak için önceden bir
bağlantı kurulmasına gerek duyulmaz
UDP paket yapısı basit bir yapıdır. Başlık 8 sekizliden oluşur ve
bunu veri alanı takip eder. UDP paketlerine bölüt (segment) de denir. Kaynak ve varış kapıları IP
datagramlarında adresleri verilen düğümlerin hangi kapılar üzerinden bu haberleşmeyi
gerçekleştireceğini gösterir
TCP (Transmission Control Protocol)
Bağlantı temelli bir protokol olan TCP’de kullanıcı verisi taşınmadan önce bağlantı kurulması
gerekir. Protokol, ulaşım katmanında uçtan-uca güvenilir bir ortam yaratmayı amaçlar. Ortamın
güvenilirliği, kaybolan paketlerin tekrar gönderilmesini temel alır.
TCP, kullanıcıdan gelen veri dizisini (data stream), 64 KB’yi geçmeyecek (genelde 1460 Byte
uzunluğunda) veri bloklarına ayırır. TCP başlıklarını da ekledikten sonra IP katmanına gönderir.
TCP paketleri IP tarafından kapsüllenerek taşınır. IP verinin güvenilir bir şekilde taşınacağı
konusunda bir garanti vermez. Kayıp paketlerin farkedilmesi ve tekrar gönderilmesi TCP’nin
görevidir.
TCP servisleri kaynak ve varış düğümleri üzerindeki soketler aracılığı ile verilir. Her soketin,
bulunduğu düğümün IP numarasından ve o düğüme ait bir kapı (port) numarasından oluşan soket
numarası vardır. Bu kapılar TSAP (Transport Service Access Point) olarak da adlandırılır. TCP
bağlantıları, her iki uç düğüm üzerindeki soket numaraları ile tanımlanır. (soket1, soket2) gibi.
1024’ten küçük kapı numaralarının özel işlevleri vardır. Bunların bazıları aşağıda gösterilmiştir.
TCP ve UDP kapı numaraları ve işlevleri hakkında daha uzun bir listeye
www.iana.org/assignments/port-numbers sayfasından erişilebilir.
Kapı no Protokol İşlev
20 FTP Dosya aktarımı-veri
21 FTP Dosya aktarımı-kontrol
23 Telnet Uzaktan bağlantı
25 SMTP E-posta
80 HTTP World Wide Web
110 POP-3 Uzaktan e-posta erişimi
.
Tüm TCP bağlantıları çift yönlüdür (full duplex).
TCP birimleri tarafından yaratılan TCP paketlerine de bölüt (segment) denir
TCP’de Güvenilir Aktarım
TCP’de aktarımın güvenilirliği aşağıdaki şekilde sağlanır:
• TCP bir bölüt gönderdiğinde bir sayaç kurar ve sayaç durmadan varış düğümünden
gönderilen bölüt için bir alındı (acknowledgment) gelmesini bekler. Alındı zamanında
gelmezse bölüt tekrar gönderilir.
• Varış ucundaki TCP birimi veri aldığında, bir alındı gönderir.
• TCP başlık ve veri üzerinde hata sınaması yapar. Hata sınamasından geçemeyen bir bölüt
için alındı gönderilmez.
• TCP bölütleri IP tarafından kapsüllenerek taşındıkları için, parçalanma olasılıkları vardır.
Parçalar varış noktasında birleştirilir.
• TCP varış noktasındaki bellek miktarı konusunda kaynak düğüme bilgi vererek, akış
kontrolü de yapar. Burada amaç hızlı bir kaynağın, varış düğümünün kapasitesinin
üzerinde veri göndermesini önlemektir.
Bir TCP Bağlantısının Kurulması
TCP’de bağlantılar üç yollu el sıkışma (three-way handshake) denen şekilde kurulur. Şekil 12.3’te
bu yöntemin işleyişi gösterilmiştir. Bu durumda kaynak düğümü SYN bitini 1 yaparak bağlantı
kurma isteğini iletir. Bu bölütun alındısını ve SYN değerini 1 olarak göndererek varış düğümü
isteği onayladığını bildirir ve kaynaktan veri iletimi başlar. SYN bölütü sıra numaralarından birini
kullanır.
Bir bağlantının sonlandırılması için bölüt başlığındaki FIN bitine 1 değeri verilir. Bu bölüte gelen
alındı bağlantının iki düğüm (kaynak ve varış) tarafından da sonlandırıldığını gösterir.