Как используется UDP при работе браузера

«Как используется UDP при работе браузера» — вопрос из категории Сети, который задают на 23% собеседований Devops Инженер. Ниже — развёрнутый ответ с разбором ключевых моментов.

Ответ

В контексте DevOps и сетевой инфраструктуры понимание использования UDP браузером критически важно для настройки фаерволов, мониторинга трафика и оптимизации производительности.

Ключевые сценарии использования UDP современными браузерами:

  1. DNS-запросы: По умолчанию DNS использует UDP-порт 53 из-за низких накладных расходов. Это первый сетевой запрос, который делает браузер при вводе URL. В инфраструктуре мы должны гарантировать, что UDP-трафик на порт 53 к нашим DNS-резолверам (например, CoreDNS в k8s) или внешним провайдерам не блокируется.
  2. HTTP/3 (QUIC): Это эволюция HTTP, где транспортным протоколом вместо TCP выступает QUIC, работающий поверх UDP (обычно порт 443). QUIC решает проблемы «head-of-line blocking», уменьшает задержки при установке соединения (0-RTT). С точки зрения DevOps, это означает:
    • Необходимость разрешать UDP-трафик на порт 443 в фаерволе для load balancer'ов (например, HAProxy с поддержкой QUIC, или облачные LB).
    • Мониторинг нового типа трафика в инструментах вроде Wireshark или на уровне узлов.
  3. WebRTC: Для видео- и аудиоконференций в реальном времени браузеры используют WebRTC, который для передачи медиа-данных предпочитает UDP (протоколы SRTP, ICE/STUN/TURN поверх UDP). Это требует правильной настройки NAT и фаерволов для пропуска определенного диапазона UDP-портов.

Пример команды для проверки открытых UDP-портов на сервере (с точки зрения безопасности инфраструктуры):

# Проверка, какие службы слушают UDP-порты
sudo ss -ulpn

Понимание этого позволяет правильно проектировать сетевую политику в Kubernetes (NetworkPolicy), настраивать облачные Security Groups и обеспечивать как безопасность, так и высокую производительность для пользователей.