Протокол User Datagram Protocol, UDP

User Datagram Protocol,UDP (укр. Протокол дейтаграм користувача) - один із протоколів у стеку TCP/IP. Від протоколу TCP він відрізняється тим, що працює без підключення. UDP - це один із найпростіших протоколів транспортного рівня моделі OSI, який виконує обмін дейтаграм без підтвердження та гарантії доставки. При використанні протоколу UDP обробка помилок та повторна передача даних має виконуватись протоколом вищого рівня. Але, незважаючи на всі недоліки, протокол UDP є ефективним для серверів, які надсилають невеликі відповіді великій кількості клієнтів.

Протокол UDP використовують такі сервіси та протоколи найвищого рівня:

  1. TFTP (Trivial File Transfer Protocol, простий протокол передачі файлів).
  2. SNMP (англ. Simple Network Management Protocol, простий протокол управління мережею).
  3. DHCP (англ. Dynamic Host Configuration Protocol, протокол динамічної конфігурації вузла),
  4. DNS (англ. Domain Name System, служба доменних імен).

Технічний огляд

UDP забезпечує дуже простий інтерфейс між мережним та програмним рівнями. UDP не гарантує доставку повідомлень, і відправник не запам'ятовує стан вже надісланих повідомлень. З цієї причини протокол UDP іноді розшифровують як Unreliable Datagram Protocol (протокол ненадійних дейтаграм). Якщо на базі UDP треба організувати надійну передачу даних, для цього необхідно залучити протоколи вищого рівня.

Заголовок UDP конверта складається з 4 полів, з яких 2 є опціональними. «Порт відправника» і «порт одержувача» - це 16-бітові поля, що ідентифікують, відправляють та одержують процеси. «Портвідправника» є необов'язковим, оскільки UDP працює без встановлення з'єднання і відправник може не потребувати відповіді. У такій ситуації «порт відправника» має дорівнювати нулю. Поле Розмір обов'язково, воно визначає довжину всієї UDP дейтаграми в байтах, з полем Дані включно. Мінімальне значення цього поля дорівнює 8 байт. Останнє поле заголовка довжиною 16 біт включає контрольну суму заголовка і поля даних. "Контрольна сума" теж є необов'язковим полем, але на практиці воно майже завжди використовується.

Хоча кількість UDP трафіку в типовій мережі досягає лише кількох відсотків, проте багато важливих програм використовують UDP. Серед них: DNS (Domain Name System, служба доменних імен), SNMP (англ. Simple Network Management Protocol, простий протокол управління мережею), DHCP (англ. Dynamic Host Configuration Protocol, протокол динамічної конфігурації вузла), RIP (англ. Routing Information Protocol, протокол маршрутизації інформації) та багато інших.