UDP ve Bağlantısız Taşıma
Kullanıcı Datagram Protokolü (UDP), İnternet'in hafif bağlantısız taşıma protokolüdür. IP'nin en iyi çaba hizmetine süreç çoğullama ve isteğe bağlı bir sağlama toplamından biraz daha fazlasını ekleyerek, uygulamaların güvenilirlik garantileri pahasına minimum ek yük ve gecikme elde etmesini sağlamaktadır.
Tanım
Kullanıcı Datagram Protokolü (UDP), süreçler arasında en iyi çaba gösteren, mesaj odaklı teslimat sağlayan bağlantısız bir taşıma katmanı protokolüdür. Ağ katmanına port tabanlı çoğullama ve isteğe bağlı bir sağlama toplamı eklemekle birlikte, güvenilirlik, sıralama, akış kontrolü veya tıkanıklık kontrolü sunmamaktadır.
Kapsam
Bu konu, bağlantısız taşımayı ele almaktadır: UDP segment formatı, port numaraları aracılığıyla çoğullama ve çoğul giderme (demultiplexing), isteğe bağlı sağlama toplamı ve bir uygulamanın TCP yerine UDP'yi tercih etme nedenleri — bağlantı kurma gecikmesi olmaması, tıkanıklık kontrolü kısıtlaması olmaması, neyin ve ne zaman gönderileceği üzerinde daha hassas kontrol ve paket başına düşük ek yük. Tipik UDP tabanlı uygulamalar ve güvenilirlik veya hız kontrolü gibi uygulamaya kayan sorumluluklar incelenmektedir. TCP'nin güvenilirlik ve tıkanıklık mekanizmaları bu kapsamın dışındadır.
Temel sorular
- UDP, IP'nin üzerine hangi minimal hizmetleri eklemektedir?
- UDP, port numaralarını kullanarak veriyi nasıl çoğullamakta ve çoğul gidermektedir?
- Bir uygulama neden TCP yerine UDP'yi tercih etmektedir?
- UDP ile birlikte güvenilirlik ve hız kontrolü gibi hangi sorumluluklar uygulamaya geçmektedir?
- Hangi tür uygulamalar genellikle UDP kullanmaktadır?
Anahtar kavramlar
- bağlantısız hizmet
- datagram (mesaj) odaklılık
- UDP segment formatı
- port tabanlı çoğullama/çoğul giderme
- isteğe bağlı sağlama toplamı
- düşük ek yük ve gecikme
- tıkanıklık kontrolü olmaması
- uygulama katmanı güvenilirliği
Temel kuramlar
- Minimal bağlantısız hizmet
- UDP, IP'nin en iyi çaba gösteren datagram hizmetini uygulamalara neredeyse hiç değiştirmeden sunmaktadır; yalnızca port bazında çoğullama ve isteğe bağlı bir sağlama toplamı eklemektedir. Bu nedenle, kurulumu, durumu ve otomatik kurtarması yoktur — garantileri basitlik ve düşük gecikme pahasına takas etmektedir.
- Uygulama kontrollü taşıma
- TCP'nin tıkanıklık kontrolü ve güvenilirliğinden kaçınarak, UDP bir uygulamaya zamanlama ve neyin yeniden iletileceği üzerinde doğrudan kontrol sağlamaktadır. Bu durum, gerçek zamanlı ve özel protokollere uygun olmakla birlikte, uygulamayı kayıpları ele almaya ve ağın kendisini aşırı yüklemekten kaçınmaya mecbur bırakmaktadır.
Klinik önem
UDP, düşük gecikme süresi veya hassas kontrolün garantili teslimattan daha önemli olduğu hizmetlerin temelini oluşturmaktadır: DNS sorguları, gerçek zamanlı ses ve video, çevrimiçi oyunlar ve ağ yönetimi. QUIC gibi daha yeni taşıma protokolleri, TCP'nin kısıtlamalarını aşarken taşıma üzerinde kontrol sağlamak amacıyla UDP üzerine inşa edilmiştir; bu da bağlantısız taşımayı modern düşük gecikmeli ağ iletişimi için merkezi hale getirmektedir.
Tarihçe
UDP, TCP ve IP'nin ayrı protokollere ayrıldığı dönemde, TCP'nin mekanizmalarına ihtiyaç duymayan uygulamalar için minimal bir taşıma protokolü olarak RFC 768'de (1980) belirtilmiştir. Esasen değişmeden kalmış ve gecikmeye duyarlı uygulamaların yaygınlaşmasıyla ve geliştiricilerin QUIC protokolü de dahil olmak üzere üzerine yeni taşıma özellikleri inşa etmesiyle rolü artmıştır.
Öne çıkan isimler
- Jon Postel
- James F. Kurose
- Keith W. Ross
İlgili konular
Temel eserler
- rfc768
- kurose2021
Sıkça sorulan sorular
- UDP güvenilir değilse neden kullanılmaktadır?
- Birçok uygulama için hızlı teslimat, mükemmel teslimattan daha önemlidir. Gerçek zamanlı ses ve video ara sıra kayıplara tahammül edebilir ancak gecikmeye edemez; DNS, hızlı tek değişimli bir sorgudan faydalanır ve bazı uygulamalar kendi güvenilirlik mekanizmalarını uygulamaktadır. UDP'nin kurulum ve tıkanıklık kısıtlaması olmaması, onlara daha düşük gecikme ve daha fazla kontrol sağlamaktadır.
- UDP, IP'nin ötesinde bir şey yapmakta mıdır?
- Evet, ancak çok az. UDP, verilerin bir ana bilgisayardaki doğru uygulama sürecine ulaşması için port numaraları (çoğullama ve çoğul giderme) ve bozulmayı tespit etmek için isteğe bağlı bir sağlama toplamı eklemektedir. Bunun ötesinde, IP'nin en iyi çaba gösteren, bağlantısız teslimatını değiştirmeden bırakmaktadır.