Skip to main content

Чому UDP називають «ненадійним»?

UDP називають «ненадійним», тому що він не гарантує доставку даних і ніяк не контролює процес передачі.

Простіше: UDP надсилає дані і не перевіряє, чи дійшли вони.


Що саме робить UDP «ненадійним»

1. Немає підтверджень доставки

UDP:

  • не чекає ACK
  • не знає, чи отримав отримувач повідомлення

Якщо пакет загубився:

  • відправник про це не дізнається

2. Немає повторної передачі

UDP:

  • не переотправляє втрачені пакети
  • не намагається відновити дані

Загубилося → загубилося назавжди.


3. Немає гарантії порядку

UDP:

  • не нумерує повідомлення
  • не збирає їх у правильній послідовності

Повідомлення можуть прийти:

  • в іншому порядку
  • або не прийти взагалі

4. Немає контролю перевантаження

UDP:

  • не знижує швидкість при перевантаженні мережі
  • може продовжувати надсилати дані

Це може:

  • посилювати перевантаження
  • призводити до втрат пакетів

5. Немає керування потоком

UDP:

  • не враховує, чи встигає отримувач обробляти дані
  • може «завалити» застосунок повідомленнями

Що UDP все ж таки робить

Важливо. UDP не зовсім «безвідповідальний»:

  • зберігає межі повідомлень
  • перевіряє базову цілісність (checksum)
  • доставляє дані best effort

Але:

  • якщо щось пішло не так - UDP не виправляє ситуацію

Чому це зроблено спеціально

UDP свідомо простий, тому що:

  • мінімальна затримка
  • мінімум накладних витрат
  • передбачуваний час доставки

Для багатьох застосунків це важливіше за надійність.


Де «ненадійність» - це плюс

UDP підходить, коли:

  • важлива швидкість реакції
  • допустимі втрати

Приклади:

  • голосовий зв'язок
  • відео в реальному часі
  • онлайн-ігри
  • DNS

Коротка відповідь

Для співбесіди
Premium

Коротка відповідь допоможе вам впевнено відповідати на цю тему під час співбесіди.