İletim Kontrol Protokolü
İletim Kontrol Protokolü, İnternet'in bağlantı odaklı taşıma protokolüdür ve iki işlem arasında güvenilir, sıralı, tam çift yönlü bir bayt akışı sağlar; akış kontrolü ve tıkanıklık kontrolü yerleşik olarak bulunmaktadır.
Tanım
İletim Kontrol Protokolü, uygulama süreçleri arasında bağlantı kurulumu ve sonlandırma, akış kontrolü ve tıkanıklık kontrolü ile güvenilir, sıralı, hata denetimli bir bayt akışı sağlayan bağlantı odaklı bir taşıma katmanı protokolüdür.
Kapsam
Bu konu, TCP'yi özel olarak ele almaktadır: segment yapısı, bir bağlantıyı kuran üç yönlü el sıkışma ve onu kapatan prosedürler, sıra ve onay numaraları, kümülatif onaylar, adaptif zaman aşımı tahmini ve hızlı yeniden iletim ile yeniden iletim ve alıcı penceresi aracılığıyla akış kontrolü. TCP'yi güvenilir veri aktarımı ilkelerinin ve bağlantı yönetiminin somut bir gerçekleşimi olarak konumlandırmaktadır. Tıkanıklık kontrolü davranışı burada özetlenmekle birlikte, tıkanıklık kontrolü konusunda derinlemesine incelenmektedir.
Temel sorular
- Üç yönlü el sıkışma neyi başarır ve bir bağlantı nasıl kapatılır?
- TCP sıra ve onay numaraları bir bayt akışını nasıl takip eder?
- TCP zaman aşımlarını nasıl tahmin eder ve kayıptan kurtulmak için hızlı yeniden iletimi nasıl kullanır?
- Alıcı penceresi akış kontrolünü nasıl uygular?
- TCP, güvenilirliği, akış kontrolünü ve tıkanıklık kontrolünü tek bir protokolde nasıl birleştirir?
Anahtar kavramlar
- bağlantı odaklı hizmet
- üç yönlü el sıkışma
- TCP segment yapısı
- sıra ve onay numaraları
- kümülatif onay
- yeniden iletim zaman aşımı tahmini
- hızlı yeniden iletim
- akış kontrolü ve alıcı penceresi
- bayt akışı soyutlaması
Temel kuramlar
- Bağlantı yönetimi
- TCP, başlangıç sıra numaralarını senkronize eden üç yönlü bir el sıkışma ile bir bağlantı kurar ve bunu zarif bir değişimle sonlandırır; her iki uca güvenilir, tam çift yönlü bir bayt akışı için tutarlı bir durum sağlar.
- Güvenilir bayt akışı teslimi
- TCP her baytı numaralandırır, kümülatif onayları ve adaptif yeniden iletim zamanlayıcılarını kullanır ve yinelenen ACK'lerde hızlı yeniden iletim uygular; ayrık mesajlar yerine güvenilir, sıralı bir akış sunar.
- Alıcı penceresi aracılığıyla akış kontrolü
- Alıcı, ne kadar arabellek alanına sahip olduğunu bildirir ve gönderici, ağ tıkanıklığından bağımsız olarak hızlı bir göndericinin yavaş bir alıcıyı aşmasını önlemek için uçuş halindeki verilerini bu pencereyle sınırlar.
Klinik önem
TCP, web, e-posta ve dosya transferleri dahil olmak üzere güvenilir İnternet trafiğinin büyük çoğunluğunu taşımaktadır; bu nedenle davranışı, bu uygulamaların nasıl performans gösterdiğini doğrudan belirlemektedir. Bağlantı kurulumu, yeni protokollerin azaltmaya çalıştığı gecikmeyi artırmakta, akış ve tıkanıklık kontrolü verimi şekillendirmekte ve TCP'yi anlamak, performans ayarlaması, güvenlik duvarı ve NAT davranışı ile takılıp kalan veya yavaş bağlantıların teşhisi için temel önem taşımaktadır.
Tarihçe
TCP, 1974 Cerf-Kahn internetworking protokolünden kaynaklanmış olup, başlangıçta tek bir protokol olarak ortaya çıkmış, daha sonra TCP ve IP olarak ayrılmıştır. RFC 793 (1981) ile standartlaştırılmış ve adaptif zaman aşımları, hızlı yeniden iletim ve kurtarma, pencere ölçeklendirme ve seçici onay gibi özelliklerle onlarca yıl boyunca geliştirilmiştir; spesifikasyon RFC 9293 (2022) ile birleştirilmiş ve güncellenmiştir.
Öne çıkan isimler
- Vinton Cerf
- Robert Kahn
- Van Jacobson
İlgili konular
Temel eserler
- cerf1974
- rfc9293
- kurose2021
Sıkça sorulan sorular
- TCP üç yönlü el sıkışma nedir?
- Bu, bir TCP bağlantısını açan değişimdir: istemci başlangıç sıra numarasıyla bir SYN gönderir, sunucu bunu onaylayan ve kendi numarasını veren bir SYN-ACK ile yanıt verir ve istemci son bir ACK gönderir. Bundan sonra iki uç, başlangıç sıra numaraları üzerinde anlaşır ve güvenilir bir şekilde veri alışverişi yapabilir.
- TCP, UDP'den nasıl farklıdır?
- TCP bağlantı odaklıdır ve kurulum gecikmesi ve ek yük pahasına akış ve tıkanıklık kontrolü ile güvenilir, sıralı bir bayt akışı sağlar. UDP bağlantısızdır ve bu garantilerin hiçbirini sunmayan minimal, en iyi çaba gösteren bir datagram hizmeti sunar; bu da onu daha hafif ve daha düşük gecikmeli yapar ancak güvenilirliği uygulamaya bırakır.