UDP (User Datagram Protocol - Kullanıcı Veribloğu İletişim Kuralları), TCP/IP protokol takımının iki aktarım katmanı protokolünden birisidir. Verileri bağlantı kurmadan yollar.

İnternet iletişim kuralları dizisi

OSI modeli

Katman İletişim kuralları
7. Uygulama katmanı HTTP, DNS, SMTP, FTP, TFTP, UUCP, NNTP, SSL, SSH, IRC, SNMP, SIP, RTP, Telnet, ...
6. Sunum katmanı ISO 8822, ISO 8823, ISO 8824, ITU-T T.73, ITU-T X.409, ...
5. Oturum katmanı NFS, SMB, ISO 8326, ISO 8327, ITU-T T.6299, ...
4. Ulaşım katmanı TCP, UDP, SCTP, DCCP, ...
3. Ağ katmanı IP, IPv4, IPv6, ICMP, ARP, İnternet Grup Yönetim Protokolü, IPX,...
2. Veri bağlantısı katmanı Ethernet, HDLC, Wi-Fi, Token ring, FDDI, PPP, L2TP...
1. Donanım katmanı ISDN, RS-232, EIA-422, RS-449, EIA-485, ...
Wireshark ile görülen UDP mesajı

Gelişmiş bilgisayar ağlarında paket anahtarlı bilgisayar iletişiminde bir datagram modu oluşturabilmek için UDP protokolü yazılmıştır. Bu protokol minimum protokol mekanizmasıyla bir uygulama programından diğerine mesaj göndermek için bir prosedür içerir. Bu protokol 'transaction' yönlendirmelidir. Paketin teslim garantisini isteyen uygulamalar TCP protokolünü kullanır.

  • Geniş alan ağlarında (WAN) ses ve görüntü aktarımı gibi gerçek zamanlı veri aktarımlarında UDP kullanılır.
  • UDP bağlantı kurulum işlemlerini, akış kontrolü ve tekrar iletim işlemlerini yapmayarak veri iletim süresini en aza indirir.
  • UDP ve TCP aynı iletişim yolunu kullandıklarında UDP ile yapılan gerçek zamanlı veri transferinin servis kalitesi TCP'nin oluşturduğu yüksek veri trafiği nedeniyle azalır.

UDP'yi kullanan protokollerden bazıları DNS, TFTP ve SNMP protokolleridir. Uygulama programcıları birçok zaman UDP'yi TCP'ye tercih eder, zira UDP ağ üzerinde fazla bant genişliği kaplamaz.

UDP güvenilir olmayan bir aktarım protokolüdür. Ağ üzerinden paketi gönderir ama gidip gitmediğini takip etmez ve paketin yerine ulaşıp ulaşmayacağına onay verme yetkisi yoktur. UDP üzerinden güvenilir şekilde veri göndermek isteyen bir uygulama bunu kendi yöntemleriyle yapmak zorundadır.

Paket Yapısı

değiştir

UDP, Ulaşım katmanı'nda faaliyet gösteren bir protokoldür. Verilerin doğru ya da yanlış şekilde iletilip iletilmediğini garanti etmez (connectionless).

UDP başlığı, her biri 16 bit uzunluğunda olmak üzere 4 alandan oluşur.

Bitler 0 – 15 16 – 31
0 Kaynak Port Numarası Hedef Port Numarası
32 Uzunluk Kontrol Sayısı (Checksum)
64  
Veri
 

Kaynak Port Numarası

Seçimlik bir alandır. Bir cevap alınmasının gerektiği durumlarda gönderenin port numarasını barındırır. Gönderici host'un istemci olması halinde port numarası geçici, sunucu olması halinde ise yaygın olarak bilinen bir port numarası olur. Bu alanın sıfır olması, gönderen hostun bir kaynak port numarasına sahip olmadığı anlamına gelir.

UDP ve TCP arasındaki farklar

değiştir
  • TCP, bağlantı tabanlı (connection oriented) bir protokoldür, UDP bağlantı tabanlı değildir (connectionless).
  • TCP'de akış kontrolü vardır, UDP'de akış kontrolü yoktur.
  • TCP başlığı (header) 20 bayttır, UDP başlığı 8 bayttır.
  • TCP, UDP'den daha yavaştır, çünkü verinin karşı tarafa ulaşıp ulaşmadığını kontrol eder.
  • UDP, ses ve video gönderiminde kullanılır. TCP'ye göre daha hızlıdır fakat güvenilir (reliable) değildir. Veri ismine datagram denilir.
  • Datagramın segmentten farkı ise içerisinde sıra numarasının bulunmamasıdır.

IPv4 Sahte Başlığı

UDP IPv4 üzerinde çalıştığında, gerçek IPv4 başlığındaki aynı bilgilerin bazılarını içeren sahte bir başlık kullanılarak Kontrol Sayısı (Checksum) hesaplanır.Bu sahte başlık IP paketi göndermek için kullandığımız gerçek bir IPv4 başlığı değildir. Aşağıdaki tabloda sadece checksum hesaplamak için kullanılan sahte başlık tanımlanmıştır:

Bitler 0 – 7 8 – 15 16 – 23 24 – 31
0 Kaynak Adresi
32 Hedef Adres
64 Sıfır Protokol UDP uzunluğu
96 Kaynak Port Hedef Port
128 Uzunluk Kontrol Sayısı (Checksum)
160+  
Veri
 

Kaynak ve Hedef Adresler IPv4 başlığındakilerdir. Protokol UDP içindir. UDP uzunluğu alanı ise UDP başlığının ve verinin uzunluğunu gösterir.