UDP

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ı

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.

Bitler0 – 1516 – 31
0Kaynak Port NumarasıHedef Port Numarası
32UzunlukKontrol 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

  • 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:

Bitler0 – 78 – 1516 – 2324 – 31
0Kaynak Adresi
32Hedef Adres
64SıfırProtokolUDP uzunluğu
96Kaynak PortHedef Port
128UzunlukKontrol 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.