Что такое RTCP?
RTCP (RTP Control Protocol) — это вспомогательный протокол, работающий вместе с RTP (Real-time Transport Protocol). Он не передаёт мультимедиа, но контролирует качество передачи, собирая телеметрию в реальном времени.
Зачем нужен RTCP?
Потоковое аудио и видео (VoIP, WebRTC, IPTV) чувствительны к задержкам и потерям. RTCP позволяет:
- Отслеживать потери пакетов и джиттер
- Считать RTT и среднюю задержку
- Сообщать о битрейте и конфигурации потоков
Как работает RTCP
Типы RTCP-пакетов
- Sender Report (SR) — отчёт об отправке (время, количество байт)
- Receiver Report (RR) — отчёт о приёме (потери, задержки)
- SDES (Source Description) — имя источника, роль
- BYE — завершение сессии
- APP — пользовательские расширения
Практика применения
Область | Протоколы | Роль RTCP |
---|---|---|
VoIP (SIP) | RTP + RTCP | Контроль потерь, динамика MOS |
WebRTC | RTP/RTCP/DTLS | Адаптивная передача видео |
Видеоконференции | H.323, Zoom, Teams | Статистика для QoS и FEC |
Инструкция: как отследить RTCP
- Запустите Wireshark, фильтр:
<span>udp.port == 5005</span>
- Найдите пакеты типа RTCP RR и SR
- Сравните jitter, loss, RTT
Совет: RTCP передаётся через UDP, обычно по соседнему порту от RTP
FAQ
RTCP — это обязательно?
Нет, но крайне желательно. Без него невозможно мониторить реальное качество связи и адаптировать кодеки.
RTCP шифруется?
Да, если используется SRTP/DTLS. В WebRTC весь RTCP трафик защищён.
Отличие от RTP?
RTP несёт мультимедиа (голос, видео), RTCP — метаинформацию о его передаче.
Вывод
RTCP — неотъемлемая часть современной потоковой связи. Он позволяет не только мониторить, но и адаптировать поведение сетевых приложений в реальном времени. Без него невозможна эффективная работа VoIP и WebRTC в условиях нестабильных сетей.