logo

UDP Protokolü

Bilgisayar ağlarında UDP, Kullanıcı Datagram Protokolü anlamına gelir. UDP protokolünü 1980 yılında David P. Reed geliştirmiştir. RFC 768'de tanımlanmıştır ve TCP/IP protokolünün bir parçası olduğundan internet üzerinden standart bir protokoldür. UDP protokolü, bilgisayar uygulamalarının, mesajları veri birimi biçiminde bir makineden diğer makineye İnternet Protokolü (IP) ağı üzerinden göndermesine olanak tanır. UDP, TCP protokolüne (iletim kontrol protokolü) alternatif bir iletişim protokolüdür. TCP gibi UDP de verilerin internet üzerinden nasıl paylaşılması gerektiğini yöneten bir dizi kural sağlar. UDP, verileri pakete kapsülleyerek ve pakete kendi başlık bilgilerini sağlayarak çalışır. Daha sonra bu UDP paketi IP paketine kapsüllenir ve hedefine gönderilir. İkisi de TCP ve UDP protokoller verileri internet protokol ağı üzerinden gönderir, dolayısıyla aynı zamanda TCP/IP ve UDP/IP. Bu iki protokol arasında birçok fark vardır. UDP, sürecin iletişimi işlemesini sağlarken, TCP, ana bilgisayardan ana bilgisayara iletişim sağlar. UDP, mesajları datagramlar biçiminde gönderdiğinden, en iyi çaba gerektiren iletişim modu olarak kabul edilir. TCP bireysel paketleri gönderir, dolayısıyla güvenilir bir aktarım ortamıdır. Diğer bir fark, TCP'nin bağlantı odaklı bir protokol olması, UDP'nin ise verileri aktarmak için herhangi bir sanal devreye ihtiyaç duymaması nedeniyle bağlantısız bir protokol olmasıdır.

UDP ayrıca farklı kullanıcı isteklerini ayırt etmek için farklı bir bağlantı noktası numarası sağlar ve ayrıca tüm verilerin ulaşıp ulaşmadığını doğrulamak için sağlama toplamı yeteneği sağlar; IP katmanı bu iki hizmeti sağlamaz.

UDP protokolünün özellikleri

UDP protokolünün özellikleri şunlardır:

    Taşıma katmanı protokolü

UDP, en basit taşıma katmanı iletişim protokolüdür. Minimum miktarda iletişim mekanizması içerir. Güvenilmez bir protokol olarak kabul edilir ve hizmetlerin en iyi şekilde sunulmasına dayanır. UDP herhangi bir bildirim mekanizması sağlamaz; bu, alıcının alınan paket için bildirim göndermediği ve gönderenin de gönderdiği paket için bildirimi beklemediği anlamına gelir.

    Bağlantısız

UDP, verileri aktarmak için sanal bir yol oluşturmadığından bağlantısız bir protokoldür. Sanal yolu kullanmaz, bu nedenle paketler gönderen ve alıcı arasında farklı yollardan gönderilir, bu da paketlerin kaybına veya düzensiz alınmasına neden olur.

ABD şehrinin adı

Verilerin sıralı teslimi garanti edilmez.

UDP durumunda, verikatarları numaralandırılmadığından, verikatarlarının belirli bir sırayla gönderilip aynı sırada alınacağı garanti edilmez.

    Limanlar

UDP protokolü, verilerin doğru hedefe gönderilebilmesi için farklı bağlantı noktası numaraları kullanır. Port numaraları 0 ile 1023 arasında tanımlanır.

    Daha hızlı iletim

UDP, bağlantısız bir protokol olduğundan daha hızlı iletim sağlar; yani verileri aktarmak için sanal bir yol gerekmez. Ancak bireysel paketin kaybolma ihtimali vardır ve bu da iletim kalitesini etkiler. Öte yandan, TCP bağlantısında paket kaybolursa o paket yeniden gönderilir, böylece veri paketlerinin teslimi garanti edilir.

    Onay mekanizması

UDP'nin herhangi bir onaylama mekanizması vardır, yani UDP göndericisi ile UDP alıcısı arasında el sıkışma yoktur. Mesaj TCP ile gönderilirse, alıcı hazır olduğumu onaylar ve gönderen de veriyi gönderir. TCP durumunda, gönderen ile alıcı arasında el sıkışma gerçekleşirken, UDP'de gönderen ile alıcı arasında el sıkışma yoktur.

    Segmentler bağımsız olarak işlenir.

Her UDP segmenti, hedefe ulaşmak için farklı bir yol izlediğinden, diğerlerinden ayrı ayrı ele alınır. Gönderen ile alıcı arasında herhangi bir bağlantı kurulumu olmadığından, UDP segmentleri hedefe ulaşmada kaybolabilir veya hatalı teslim edilebilir.

    Vatansız

Vatansız bir protokoldür, yani gönderenin gönderilen paket için onay alamadığı anlamına gelir.

UDP protokolüne neden ihtiyacımız var?

UDP'nin güvenilmez bir protokol olduğunu biliyoruz, ancak bazı durumlarda yine de bir UDP protokolüne ihtiyacımız var. UDP, paketlerin gerçek verilerle birlikte büyük miktarda bant genişliği gerektirdiği durumlarda dağıtılır. Örneğin, video akışında binlerce paketin kabul edilmesi zahmetlidir ve çok fazla bant genişliği israfına neden olur. Video akışı durumunda, bazı paketlerin kaybı sorun yaratmayabilir ve aynı zamanda göz ardı edilebilir.

UDP Başlık Formatı

UDP Protokolü

UDP'de başlık boyutu 8 bayttır ve paket boyutu 65.535 bayta kadardır. Ancak verilerin IP datagramında kapsüllenmesi gerektiğinden bu paket boyutu mümkün değildir ve bir IP paketinde başlık boyutu 20 bayt olabilir; dolayısıyla UDP'nin maksimum değeri 65.535 eksi 20 olacaktır. UDP paketinin taşıyabileceği veri boyutu 65.535 eksi 28 olacaktır; UDP paketinin başlığı için 8 bayt, IP başlığı için 20 bayt olacaktır.

UDP başlığı dört alan içerir:

    Kaynak bağlantı noktası numarası:Hangi portun paketi göndereceğini tanımlayan 16 bitlik bilgidir.Hedef bağlantı noktası numarası:Hangi portun bilgiyi kabul edeceğini belirler. Hedef makinedeki uygulama düzeyindeki hizmeti tanımlamak için kullanılan 16 bitlik bilgidir.Uzunluk:Başlığı da içeren UDP paketinin tüm uzunluğunu belirten 16 bitlik alandır. Başlığın boyutu 8 bayt olduğundan minimum değer 8 bayt olacaktır.Sağlama toplamı:16 bitlik bir alandır ve isteğe bağlı bir alandır. Bu sağlama toplamı alanı, bilgilerin iletim sırasında bozulma olasılığı olduğundan bilgilerin doğru olup olmadığını kontrol eder. İsteğe bağlı bir alandır, yani uygulamanın sağlama toplamı yazmak isteyip istemediğine bağlıdır. Sağlama toplamını yazmak istemiyorsa 16 bitin tümü sıfırdır; aksi takdirde sağlama toplamını yazar. UDP'de sağlama toplamı alanı paketin tamamına, yani başlığa ve veri kısmına uygulanırken IP'de sağlama toplamı alanı yalnızca başlık alanına uygulanır.

UDP protokolünde Kuyruklama Kavramı

UDP Protokolü

UDP protokolünde sayılar, sunucu ve istemci üzerindeki farklı işlemleri ayırt etmek için kullanılır. UDP'nin iletişimi işlemek için bir süreç sağladığını biliyoruz. İstemci hizmet gerektiren işlemleri üretirken, sunucu hizmet sağlayan işlemleri üretir. Kuyruklar her iki işlem için de mevcuttur; yani her işlem için iki kuyruk vardır. İlk kuyruk, mesajları alan gelen kuyruğu, ikincisi ise mesajları gönderen giden kuyruktur. İşlem çalışırken kuyruk çalışır. İşlem sonlandırılırsa kuyruk da yok olur.

UDP, aşağıdaki bileşenlerin yardımıyla UDP paketlerinin gönderilmesini ve alınmasını yönetir:

Java'da while ve do while döngüsü
    Giriş kuyruğu:UDP paketleri her işlem için bir dizi kuyruk kullanır.Giriş modülü:Bu modül kullanıcı datagramını IP'den alır ve ardından aynı portun kontrol bloğu tablosundan bilgiyi bulur. Eğer kontrol blok tablosundaki girişi kullanıcı datagramı ile aynı portta bulursa, veriyi kuyruğa alır.Kontrol Bloğu Modülü:Kontrol bloğu tablosunu yönetir.Kontrol Blok Tablosu:Kontrol bloğu tablosu açık portların girişini içerir.Çıkış modülü:Çıkış modülü kullanıcı datagramını oluşturur ve gönderir.

Çeşitli işlemler UDP hizmetlerini kullanmak ister. UDP, birden fazla işlemin tek bir ana bilgisayarda çalışabilmesi için işlemleri çoğullar ve çoğullamadan arındırır.

Sınırlamalar

  • Güvenilmez bir bağlantı dağıtım hizmeti sağlar. Süreçler arası iletişim sağlaması dışında herhangi bir IP hizmeti sağlamaz.
  • UDP mesajı kaybolabilir, gecikebilir, çoğaltılabilir veya kullanım dışı olabilir.
  • Güvenilir bir nakliye teslimat hizmeti sağlamaz. Herhangi bir onay veya akış kontrol mekanizması sağlamaz. Ancak bir dereceye kadar hata kontrolü sağlar.

Avantajları

  • Minimum sayıda genel gider üretir.