Что такое UDP?
UDP (User Datagram Protocol, Протокол пользовательских датаграмм) — транспортный протокол, обеспечивающий доставку данных без установления соединения и без гарантии получения.
В отличие от TCP, UDP не выполняет рукопожатие, не отслеживает доставку и не упорядочивает пакеты. Это делает его значительно быстрее, но менее надёжным. К заголовку IP-пакета UDP добавляет всего четыре поля по 2 байта каждое:
- Порт источника (source port) — необязателен в IPv4
- Порт назначения (destination port)
- Длина (length)
- Контрольная сумма (checksum) — необязательна в IPv4, обязательна в IPv6
UDP применяется там, где скорость важнее надёжности: DNS-запросы, потоковое видео, VoIP-звонки, онлайн-игры, DHCP, SNMP. В таких сценариях потеря отдельного пакета не критична — проще отправить новый, чем ждать повторной передачи.
На собеседовании: обычно UDP спрашивают в связке с TCP. Назовите три ключевых отличия: нет соединения, нет гарантии доставки, меньше накладных расходов. Хороший пример использования — видеозвонок: лучше потерять один кадр, чем ждать повторной передачи и получить задержку.