Bosh sahifa Wiki UDP

UDP

UDP — internet va kompyuter tarmoqlarida ma’lumotlarni tez uzatish uchun ishlatiladigan transport protokoli. UDP inglizcha User Datagram Protocol so‘zlarining qisqartmasi bo‘lib, u ulanish o‘rnatmasdan ma’lumot yuboradi.

UDP TCP’dan farqli ravishda paket yetib borganini tekshirmaydi, yo‘qolgan paketni qayta yubormaydi va paketlar tartibini kafolatlamaydi. Shu sababli UDP yengil va tez ishlaydi.

Vazifasi

UDP’ning asosiy vazifasi — ma’lumotlarni minimal kechikish bilan tez yuborish.

UDP quyidagi holatlarda ishlatiladi:

Masalan, video qo‘ng‘iroqda bitta kichik paket yo‘qolsa, uni qayta yuborishdan ko‘ra keyingi paketni tez yetkazish muhimroq bo‘ladi. Shu sababli bunday tizimlarda UDP ishlatiladi.

UDP qanday ishlaydi?

UDP ma’lumot yuborishdan oldin client va server o‘rtasida ulanish yaratmaydi. Yuboruvchi tomon paketni tayyorlaydi va qabul qiluvchi manzilga jo‘natadi.

Oddiy UDP jarayoni:

  • dastur ma’lumot tayyorlaydi;
  • UDP paket hosil qiladi;
  • paket IP manzil va portga yuboriladi;
  • qabul qiluvchi tomon paketni oladi;
  • paket yetib kelganini UDP darajasida tasdiqlash majburiy emas.

UDP’da TCP’dagi kabi handshake jarayoni yo‘q. Shu sababli ulanish boshlanishi tezroq bo‘ladi.

Datagram

UDP orqali yuboriladigan paket datagram deb ataladi. Har bir datagram mustaqil ma’lumot bo‘lagi sifatida yuboriladi.

UDP datagram tarkibida odatda quyidagi qismlar bo‘ladi:

Har bir UDP datagram alohida yuboriladi. Bitta datagram yo‘qolsa, qolgan datagramlar undan mustaqil tarzda yetib borishi mumkin.

TCP va UDP farqi

TCP va UDP transport qatlamida ishlaydi, lekin ular turli maqsadlar uchun mo‘ljallangan.

  • TCP ulanish o‘rnatadi, UDP ulanishsiz ishlaydi;
  • TCP paket yetib borganini tekshiradi, UDP buni kafolatlamaydi;
  • TCP paketlarni tartib bilan yetkazadi, UDP tartibni kafolatlamaydi;
  • TCP yo‘qolgan paketni qayta yuboradi, UDP odatda bunday qilmaydi;
  • TCP ishonchliroq, UDP tezroq;
  • TCP web sahifa, email, SSH va fayl uzatishda ishlatiladi;
  • UDP stream, online o‘yin, DNS va real-time aloqa uchun ishlatiladi.

TCP ma’lumot to‘liq va tartibli yetib borishi kerak bo‘lgan joylarda ishlatiladi. UDP esa tezlik va past kechikish muhim bo‘lgan joylarda ishlatiladi.

Portlar bilan ishlashi

UDP ham portlar orqali xizmatlarni ajratadi. Bitta serverda bir nechta UDP xizmati turli portlarda ishlashi mumkin.

Keng tarqalgan UDP portlar:

Masalan, DNS so‘rovlari ko‘pincha UDP 53-port orqali yuboriladi.

DNS’da UDP

DNS tizimi domen nomini IP manzilga aylantirish uchun ishlatiladi. Ko‘p oddiy DNS so‘rovlar UDP orqali bajariladi.

DNS’da UDP ishlatilishining sabablari:

  • so‘rovlar kichik hajmda bo‘ladi;
  • javob tez qaytishi kerak;
  • ulanish o‘rnatish ortiqcha vaqt oladi;
  • ko‘p sonli so‘rovlarni tez qayta ishlash kerak bo‘ladi.

Agar DNS javobi katta bo‘lsa yoki maxsus holat yuz bersa, DNS TCP’dan ham foydalanishi mumkin.

Streaming va real-time aloqa

UDP real-time tizimlarda ko‘p ishlatiladi. Chunki bunday tizimlarda ma’lumotning tez yetib borishi to‘liq yetib borishidan muhimroq bo‘lishi mumkin.

UDP ishlatiladigan real-time tizimlar:

  • video qo‘ng‘iroq;
  • audio qo‘ng‘iroq;
  • live stream;
  • online o‘yin;
  • video konferensiya;
  • real-time sensor ma’lumotlari;
  • VoIP xizmatlari.

Masalan, online o‘yinda o‘yinchi harakati kechikib yetib borsa, o‘yin sifati yomonlashadi. Shu sababli past latency muhim bo‘lgan joylarda UDP ishlatiladi.

Paket yo‘qolishi

UDP paket yetib borishini kafolatlamaydi. Tarmoqda yuklama yuqori bo‘lsa, ayrim paketlar yo‘qolishi mumkin.

UDP’da quyidagi holatlar bo‘lishi mumkin:

  • paket yo‘qolishi;
  • paketlar noto‘g‘ri tartibda kelishi;
  • paket takror kelishi;
  • paket umuman yetib bormasligi;
  • qabul qiluvchi tomon band bo‘lishi.

Agar dasturga ishonchlilik kerak bo‘lsa, bu nazoratni ilovaning o‘zi bajarishi mumkin. Masalan, ayrim real-time protokollar UDP ustida qo‘shimcha nazorat mexanizmlarini yaratadi.

Latency

Latency — ma’lumot yuborilganidan qabul qilinguncha o‘tadigan kechikish vaqti. UDP past latency talab qilinadigan tizimlarda muhim rol o‘ynaydi.

Past latency muhim bo‘lgan holatlar:

  • online o‘yinlar;
  • video qo‘ng‘iroqlar;
  • ovozli aloqa;
  • jonli efir;
  • real-time monitoring;
  • masofadan boshqariladigan qurilmalar.

UDP ulanish o‘rnatmasdan ishlagani uchun qo‘shimcha tekshiruv va tasdiqlash bosqichlari kamroq bo‘ladi.

UDP va xavfsizlik

UDP yengil va ulanishsiz bo‘lgani uchun ayrim tarmoq hujumlarida ishlatilishi mumkin. Ayniqsa noto‘g‘ri sozlangan UDP xizmatlari DDoS hujumlarida ishlatilishi ehtimoli bor.

UDP bilan bog‘liq xavfsizlik holatlari:

  • UDP flood;
  • amplification attack;
  • spoofed packet;
  • ochiq DNS resolver;
  • noto‘g‘ri sozlangan NTP yoki SNMP xizmati;
  • firewall orqali nazorat qilinmagan UDP portlar.

Serverlarda UDP portlar faqat kerakli xizmatlar uchun ochiq bo‘lishi odatiy xavfsizlik talablaridan biri hisoblanadi.

Dasturlashdagi o‘rni

UDP socket programming, real-time ilovalar, monitoring tizimlari va tarmoq protokollarini yaratishda ishlatiladi.

UDP bilan bog‘liq dasturlash tushunchalari:

Masalan, sensorlardan ma’lumot yig‘adigan tizim har bir o‘lchovni UDP orqali serverga yuborishi mumkin. Bunda ayrim paketlar yo‘qolsa ham, keyingi yangi ma’lumotlar muhimroq bo‘ladi.

Bog‘liq tushunchalar

TCP, IP, Port, DNS, Server, Client, Socket, Firewall, DDoS, VPN, WebRTC, Latency