Чому 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
Коротка відповідь допоможе вам впевнено відповідати на цю тему під час співбесіди.