User Datagram Protocol (UDP), bağlantısız (connectionless) yapıda çalışan, TCP/IP protokol ailesine ait hafif (lightweight) bir taşıma katmanı protokolüdür. UDP, uygulamalar arasında doğrudan veri iletimine olanak tanır; iletim sırasında bağlantı kurulmaz, hata kontrolü veya teslim garantisi sunulmaz. Bu özellik, onu hızlı ancak güvensiz bir protokol haline getirir【1】.
UDP'nin başlık (header) yapısı oldukça sadedir; sadece 8 bayttan oluşur ve dört temel alan içerir: kaynak portu, hedef portu, uzunluk ve hata denetimi için kullanılan bir checksum alanı【2】. Bu basitlik, düşük gecikmeli veri akışı gerektiren uygulamalarda büyük avantaj sağlar.
UDP, OSI modelinde Taşıma Katmanı (Layer 4) üzerinde konumlanır. IP protokolü ile birlikte çalışarak veri paketlerini (datagram) ağ üzerinden yönlendirir. Ancak, TCP'nin aksine UDP, alınan verinin sıralamasını ya da yeniden iletimini garanti etmez【3】.
Bu yönleriyle UDP, veri bütünlüğünün kritik olmadığı ama hızın önemli olduğu uygulamalarda tercih edilir. DNS sorguları, gerçek zamanlı ses/video iletimi, online oyunlar ve IoT uygulamaları bu kapsama girer.
UDP, 1980 yılında David P. Reed tarafından tanımlanmış ve aynı yıl içerisinde RFC 768【4】 ile resmi olarak yayınlanmıştır. Reed, TCP protokolünün karmaşık hata denetimi ve akış kontrol mekanizmalarının basit ağ uygulamaları için fazla kaynak tükettiğini fark ederek, bu ihtiyaca yönelik daha sade bir protokol tanımlamıştır. UDP’nin amacı, "IP üzerinden uygulamalar arası doğrudan veri alışverişi yapmak" için gerekli olan minimum yapıyı sunmaktır.
UDP'nin geliştirildiği dönemde, ARPANET gibi erken dönem ağlar üzerinde çalışan uygulamaların birçoğu düşük kaynak tüketimi ve hızlı veri iletimi arıyordu. Bu ihtiyaç, UDP’nin basit yapısıyla karşılandı. DNS, TFTP, NTP gibi temel internet servisleri, ilk günlerinden itibaren UDP’yi temel iletişim protokolü olarak kullanmıştır【5】 .
Günümüzde UDP, WebRTC, QUIC gibi daha gelişmiş protokollerin altyapısını oluşturmaya devam etmektedir. Bu yeni protokoller, UDP'nin bağlantısız yapısını kullanırken, kendi içlerinde güvenilirlik ve şifreleme gibi ek katmanlar sağlar【6】.
UDP (User Datagram Protocol), RFC 768 standardında tanımlanmıştır ve IP protokolü ile birlikte çalışarak, veri paketlerini bağlantısız biçimde iletir【7】. UDP, TCP’nin aksine "lightweight" (hafif) bir protokoldür; veri iletimi için önceden bağlantı kurmaz ve verinin başarıyla iletildiğine dair onay mekanizması (ACK) içermez.
Bu yapı, veri iletiminde düşük gecikme ve düşük işlem yükü sağlar. UDP'nin basit yapısı, yüksek performans gerektiren sistemlerde, örneğin gerçek zamanlı medya akışı ya da sensör ağı haberleşmesinde sıklıkla tercih edilmesine yol açar.
UDP, verileri tek tek ve bağımsız olarak gönderdiği için paketler sıralı ulaşmayabilir, kaybolabilir ya da yinelenebilir. Bu yüzden UDP kullanan uygulamalar genellikle kendi hata kontrol mekanizmalarını içerir.
UDP veri paketlerinin başlık yapısı son derece basittir ve yalnızca 8 bayttan oluşur:
UDP Başlık Paketi
UDP veri paketlerinin başlık yapısı;
Bu alan, gönderici uygulamanın port numarasını belirtir. Zorunlu değildir. Eğer bu alan kullanılmazsa değeri 0 yapılabilir. Genellikle istemcinin (client) port numarasını içerir ve yanıtın nereye yönlendirileceğini belirlemede kullanılır.
Örnek: DNS istemcisi bir sorgu gönderirken, kaynak portunu rastgele bir değerde ayarlayarak gelen yanıtın aynı istemciye ulaşmasını sağlar
Bu alan, verinin ulaşması gereken alıcı uygulamanın port numarasını içerir. Bu, UDP segmentinin doğru uygulamaya yönlendirilmesinde kritik rol oynar.
Zorunludur. Genellikle sunucu portu olarak tanımlanır.
Örnek portlar:
UDP başlığı ile birlikte taşınan tüm verilerin toplam uzunluğunu (byte cinsinden) belirtir.
Bu alan, UDP başlığına dahil edilen veri alanının uzunluğunu belirlemek için kullanılır ve bazı sistemlerde, paket boyutunun doğruluğunu kontrol etmede de yardımcı olur.
UDP segmentinin bütünlüğünü kontrol etmek için kullanılır. UDP, bu alanda verinin hata içerip içermediğini denetlemeye çalışır. Ancak bu alanın kullanımı IPv4 ve IPv6’ya göre farklılık gösterir:
Bu işlem, taşıma katmanında yapılan hataları daha güvenilir şekilde tespit etmeyi amaçlar.
Örnek UDP Başlık Değeri (Hex format)
UDP (User Datagram Protocol), OSI (Open Systems Interconnection) modelinde Taşıma Katmanı (Layer 4)'nda yer alır. Bu katman, ağ üzerinden veri gönderen ve alan uygulamalar arasında uçtan uca iletişim kurmakla sorumludur. UDP, TCP gibi diğer taşıma protokollerinin aksine, bağlantı kurulumu yapmaz ve aktarım sırasında veri sıralaması, hata kontrolü veya yeniden iletim gibi hizmetleri sağlamaz.

OSI Layer - UDP/IP Modeli - Privasecurity
Taşıma katmanının temel görevi, uygulamalar arası mantıksal bağlantı kurmaktır. UDP, bu görevi minimum kontrol ve üstveri ile gerçekleştirerek, hızlı ve düşük gecikmeli iletişim ihtiyacı duyan uygulamalar için ideal bir yapı sunar. Örneğin, gerçek zamanlı video/ ses iletimi, çevrimiçi oyunlar ve IoT cihazları UDP'nin bu yönünden yararlanır.
UDP, taşıma katmanı içinde genellikle uygulama katmanı protokollerine doğrudan erişim sağlayacak şekilde yapılandırılır. Bu yapı sayesinde, örneğin DNS ya da NTP gibi protokoller UDP üzerinden ağ iletişimini hızlı bir biçimde gerçekleştirebilir. UDP'nin üstünde yer alan uygulama katmanı (Layer 7) protokolleri, genellikle kendi hata denetimlerini veya veri yeniden gönderme mekanizmalarını içerir.
UDP, hem IPv4 hem de IPv6 protokol yığınları ile uyumlu şekilde çalışır. UDP paketleri, IP paketinin taşıma alanına yerleştirilir ve ağ üzerinden hedef cihaza yönlendirilir. Ancak IPv4 ve IPv6’nın sunduğu farklı yapılar, UDP’nin çalışma biçimini bazı açılardan etkileyebilir.
IPv4’te UDP başlık alanı, IPv4 başlığının ardından gelir ve çoğu zaman opsiyonel hata denetimi (checksum) alanı kullanılmadan veri gönderimi yapılabilir. Ancak IPv6’da bu durum farklıdır: UDP için checksum alanı IPv6 altında zorunlu hale getirilmiştir, çünkü IPv6 başlığında hata denetimi yapılmaz. Bu durum, veri iletiminde hata kontrolü için UDP’nin kendi başlığına daha fazla sorumluluk yüklemiştir.
Ayrıca IPv6, IPv4’e kıyasla daha geniş adresleme kapasitesine (128 bit) sahiptir. Bu sayede, UDP ile çalışan sistemlerde çok daha fazla sayıda uç birimle iletişim kurmak mümkündür. Bu genişleme, özellikle IPv6 kullanan IoT cihazlarının ve sensör ağlarının UDP’ye dayalı olarak ölçeklenebilir biçimde tasarlanmasına olanak tanır.
UDP’nin hem IPv4 hem de IPv6 ile çalışabilmesi, onu ağ geçiş dönemlerinde ve çok protokollü ortamlarda oldukça değerli kılar.
UDP'nin IPv4 ile haberleşirken kullandığı yapı üç ana bileşenden oluşur:
Bu yapılar bir araya geldiğinde bir UDP/IP datagramı oluşturur.
IPv4 başlığı, UDP segmentini taşıyan IP paketinin baş kısmıdır. 20 bayt (opsiyonel alanlar hariç) uzunluğundadır ve ağlar arası yönlendirme ve teslimat için gereken bilgileri içerir. IPv4 protokolu ile gönderilen örnek bir çalışma aşağıdaki şekilde görülebilir.

IP ve UDP Paket Başlıkları - ResearchGate
IPv4 protokolünde 32 baytlık UDP başlığı ve veri ile birlikte UDP paket datagramlari IP üzerinden hedefe gönderilir.
UDP, belirli uygulamalar için büyük avantajlar sunar. En önemli avantajlarından biri, minimum gecikme ile veri iletebilmesidir. Bu özelliği sayesinde UDP, zaman duyarlı uygulamalarda öne çıkar.
Başlıca avantajları şunlardır:
UDP'nin bu avantajları, onu veri kaybına duyarsız ancak zamanlamaya duyarlı sistemlerde tercih edilen protokol haline getirmiştir【8】.
UDP'nin hız ve basitlik üzerine kurulu mimarisi, bazı durumlarda ciddi sınırlamaları da beraberinde getirir. En önemli dezavantajı, güvenilirlikten ödün vermesidir.
Başlıca dezavantajları şunlardır:
Bu sınırlamalar, özellikle güvenli ve eksiksiz veri iletimi gereken uygulamalarda UDP yerine TCP gibi daha güvenilir protokollerin tercih edilmesine neden olabilir.
UDP, bağlantısız yapısı ve düşük gecikmeli iletişim sağlaması sayesinde birçok farklı alanda yaygın olarak tercih edilmektedir. Özellikle hızın ve gerçek zamanlılığın kritik olduğu uygulamalarda TCP yerine UDP tercih edilir.
UDP, gecikmenin en aza indirilmesinin hayati olduğu sesli ve görüntülü iletişim uygulamalarında yaygın olarak kullanılır【10】. Örneğin:
Bu tür uygulamalarda veri paketlerinin zamanında ulaşması, tüm verinin ulaşmasından daha önemlidir. Yani bazı paketler kaybolsa bile yayın devam eder çünkü yeniden gönderim gecikme yaratır.
UDP, IoT (Nesnelerin İnterneti) cihazlarının büyük bir bölümünde kullanılır çünkü bu cihazlar genellikle bant genişliği sınırlı ve güç tüketimi düşük sistemlerdir. UDP'nin basit yapısı, bu tür gömülü sistemler için idealdir.
Birçok temel ağ protokolü UDP üzerine kuruludur【11】 :
UDP, aynı anda birden fazla hedefe veri göndermeyi sağlayan broadcast ve multicast sistemlerinde kullanılır. Örneğin:
Bu yapılar, verinin tüm hedeflere tek seferde gönderilmesine olanak sağlar ve bant genişliğini daha verimli kullanır.
UDP, gömülü yazılım sistemlerinde basitliği, düşük kaynak tüketimi ve düşük gecikme süresi avantajları nedeniyle sıkça tercih edilir. Gömülü sistemler genellikle sınırlı işlem gücüne ve bellek kapasitesine sahip cihazlardır; bu nedenle karmaşık bağlantı kuralları gerektiren TCP yerine UDP daha tercih edilmektedir【12】 .
Birçok gömülü sistem, belirli aralıklarla dış dünyadan veri alıp işleyen gerçek zamanlı sistemlerdir (Real-Time Systems). Örneğin:
UDP ile veri göndermek, el sıkışma (handshake) gibi zaman alan işlemleri içermediği için sistemin belirlenen zaman aralıklarında tepki vermesini kolaylaştırır.
UDP, başlık yapısının basit olması sayesinde kod boyutunu küçültür, bu da gömülü sistemlerde önemli bir avantajdır. Aynı zamanda TCP’ye göre daha az sistem çağrısı (syscall) içerdiğinden, kod taşınabilirliği ve donanıma özel sürümlemesi de kolaydır.
Birçok gömülü işletim sistemi (RTOS) veya çıplak metal (bare-metal) yazılım platformu UDP desteği sunar:
UDP; mimarisinin sunduğu esneklik, düşük gecikme süresi ve sistem kaynaklarını verimli kullanması gibi avantajları sayesinde, modern ağ iletişimi içinde hâlâ yaygın ve önemli bir yer tutmaktadır. UDP'nin hafif【13】 , bağlantısız ve hızlı【14】 yapısı; ses, video, oyunlar, IoT sistemleri ve ağ servisleri gibi çeşitli kullanım alanlarında avantaj sağlıyor.
[1]
Kurose, J.F. & Ross, K.W. (2017). Computer Networking: A Top-Down Approach (7th ed.). Pearson Education.
[2]
https://www.rfc-editor.org/rfc/rfc768#ref-1
[3]
https://books.google.com.tr/books/about/Internetworking_with_TCP_IP_Volume_One.html?id=seaaAAAAQBAJ&redir_esc=y
[4]
https://www.rfc-editor.org/rfc/rfc768#ref-1
[5]
Postel, J. (1980). DoD Internet Protocol Specification. DARPA Internet Program.
[6]
Iyengar, J. & Thomson, M. (2021). QUIC: A UDP-Based Multiplexed and Secure Transport. RFC 9000.
[7]
Kurose, J.F. & Ross, K.W. (2017). Computer Networking: A Top-Down Approach (7th ed.). Pearson Education.
[8]
Kurose, J. F., & Ross, K. W. (2020). Computer Networking: A Top-Down Approach (7th Edition). Pearson Education.
[9]
Tanenbaum, A. S., & Wetherall, D. J. (2011). Computer Networks (5th Edition). Pearson.
[10]
Kurose, J.F. & Ross, K.W. (2017). Computer Networking: A Top-Down Approach (7th ed.). Pearson Education.
[11]
Forouzan, B. A. (2013). Data Communications and Networking (5th ed.). McGraw-Hill Education.
[12]
Tanenbaum, A. S., & Wetherall, D. J. (2010). Computer Networks (5th ed.). Pearson Education.
[13]
Forouzan, B. A. (2013). Data Communications and Networking (5th ed.). McGraw-Hill Education.
[14]
Stevens, W. R. (1994).TCP/IP Illustrated, Volume 1, Addison-Wesley.
Henüz Tartışma Girilmemiştir
"UDP Haberleşme Protokolü" maddesi için tartışma başlatın
UDP’nin Tarihçesi
UDP’nin Teknik Özellikleri ve Yapısı
UDP Başlık Paketi
Kaynak Port (16 bit)
Hedef Port (16 bit)
Uzunluk (16 bit)
Checksum (16 bit)
UDP’nin OSI Modelindeki Yeri
IPv4 ve IPv6 ile UDP’nin Kullanımı
IPv4 Başlığı
IPv4 Başlığındaki Önemli Alanlar
UDP’nin Avantajları
UDP’nin Dezavantajları
UDP Kullanım Alanları
Gerçek Zamanlı Uygulamalar
Sensör Ağı ve IoT Sistemleri
DNS ve DHCP gibi Temel Ağ Protokolleri
Yayın (Broadcast) ve Çoklu Yayın (Multicast) Sistemleri
Gömülü Sistemler
Gerçek Zamanlılık ve Düşük Gecikme
Basitlik ve Kod Taşınabilirliği
Bu madde yapay zeka desteği ile üretilmiştir.