Ответ
UDP порты открывают для сервисов, где критически важны низкая задержка (latency) и скорость передачи, а надёжность доставки каждого пакета — второстепенна, либо управляется на уровне приложения.
Основные случаи:
1. Сервисы разрешения имён и конфигурации:
- DNS (Domain Name System):
:53. Запросы небольшие и должны обрабатываться быстро; TCP используется только для больших зонных трансферов. - DHCP (Dynamic Host Configuration Protocol):
:67(сервер),:68(клиент). Работает через broadcast до получения IP. - mDNS (Multicast DNS) / Bonjour:
:5353для обнаружения сервисов в локальной сети.
2. Стриминг медиа и VoIP:
- Голос и видео (WebRTC, SIP, Zoom, Teams): Используют широкий диапазон портов. Потеря нескольких пакетов менее заметна для пользователя, чем задержка из-за повторной передачи TCP.
- Мониторинг в реальном времени: Передача метрик от агентов (например, старый формат StatsD).
3. Сетевые протоколы точного времени:
- NTP (Network Time Protocol):
:123. Небольшие периодические пакеты для синхронизации часов. - PTP (Precision Time Protocol): Для микросекундной точности в финансовых и промышленных системах.
4. Онлайн-игры и интерактивные приложения:
- Игровые серверы часто используют UDP для передачи состояния мира и действий игроков, чтобы минимизировать lag.
5. Трансляция трафика (Multicast):
- Стриминг видео/аудио: Multicast-рассылка на множество получателей.
- Финансовые данные: Распространение котировок на биржах.
Пример настройки правила для мониторинга (Prometheus Node Exporter для StatsD):
# iptables правило для приёма UDP-метрик на порту 8125
sudo iptables -A INPUT -p udp --dport 8125 -s 10.0.1.0/24 -j ACCEPT
# Аналогичное правило для firewalld (RHEL/CentOS)
sudo firewall-cmd --permanent --add-rich-rule='rule family="ipv4" source address="10.0.1.0/24" port port="8125" protocol="udp" accept'
Важно: Так как UDP — протокол без состояния, правила фаервола для него обычно проще, но это также делает его уязвимым для амплификационных DDoS-атак (например, через DNS). Мы всегда ограничиваем источники трафика и рассматриваем использование решений для защиты (AWS Shield, Cloudflare).