UDP nedir?
UDP, veriyi bağımsız datagramlar halinde taşıyan ağ protokolüdür. Kendi başına bağlantı kurma, yeniden gönderme veya sıralı teslim garantisi sağlamaz. Bu özellikler gerekiyorsa uygulama ya da üst katman protokolü tarafından eklenir.
Datagramların işleyişi
UDP başlığında kaynak ve hedef portu, uzunluk ve denetim bilgisi bulunur. Mesaj sınırları korunur; fakat bir datagram kaybolabilir, yinelenebilir veya başka sırada ulaşabilir. TCP'deki bağlantı kurulumu ve onay mekanizmalarının bulunmaması bazı iletişimlerde işlem yükünü azaltır. Bununla birlikte UDP her durumda daha hızlı değildir: paket boyutu, tıkanıklık ve uygulamanın kayıpları ele alma yöntemi sonucu değiştirir. Büyük datagramlar parçalanma sorunları yaratabilir. Ağın taşıyabileceği paket boyutuna uygun tasarım ve gönderim hızını denetlemek önemlidir. Uygulamanın almadığı bir paketi protokolün kendiliğinden tamamlayacağı varsayılmamalıdır.
Örnekler ve güvenlik
Canlı ses aktarımında çok geç gelen bir ses parçası kullanışsız olabilir; sistem eksik veriyi telafi ederek güncel akışa devam edebilir. Oyunlarda da eski konumu beklemek yerine yeni konumu almak tercih edilebilir. DNS uygun durumlarda UDP kullanır, ancak yalnızca UDP'ye bağlı değildir. QUIC, UDP üzerinde güvenilirlik ve güvenlik özellikleri sunan bir protokol örneğidir. Bu nedenle UDP kullanan her uygulama güvenilmez sayılmaz. UDP'nin kendi şifrelemesi bulunmadığından hassas veriler üst katmanda korunmalıdır. Sunucularda paket boyutu denetimi, trafik sınırları ve olağandışı isteklerin izlenmesi gerekir. Tasarımda düşük gecikme ile veri bütünlüğü ihtiyacı birlikte değerlendirilir.