Что такое RTP – Real-time Transport Protocol?
Протокол RTP (Real-time Transport Protocol) определяет стандарт пакетов для передачи мультимедиа-данных (аудио и видео) через Интернет. Он разработан рабочей группой Audio Video Transport Working Group и впервые опубликован в 1996 г. в виде документа RFC 1889. RTP широко используется в коммуникационных и развлекательных системах, использующих потоковые медиа, – телефонии, видеоконференциях, онлайн-телевидении, веб-сервисах push-to-talk и т.д.

Real-time Transport Protocol работает вместе с протоколом RTP Control Protocol (RTCP). Если RTP передает медиапоток, то RTCP используется для мониторинга параметров передачи потока и обеспечения и качества обслуживания (QoS), а также для синхронизации нескольких потоков. Пакеты RTP передаются и принимаются по четным номерам портов, а связанные управляющие данные RTCP – по нечетным номерам портов. Real-time Transport Protocol – один из основных протоколов VoIP. Он работает совместно с протоколом SIP, который отвечает за установление сессий (соединений) между конечными точками.
Как следует из названия протокола, целью его разработки была сквозная (от узла к узлу) потоковая передача медиа-данных в режиме реального времени. Real-time Transport Protocol содержит алгоритмы компенсации джиттера, обнаружения потерь или доставки пакетов в неверном порядке. Все эти проблемы довольно часто встречаются при передаче фреймов UDP (User Datagram Protocol) по IP-протоколу. RTP позволяет передавать данные нескольким узлам одновременно через многоадресную рассылку по IP (IP multicast). Благодаря этим возможностям, протокол стал основным стандартом для передачи аудио и видео по IP-сетям. Механизмы для связанного профиля (associated profile) и формата полезной нагрузки (payload format), определенные в архитектуре RTP, реализуются на уровне Приложений сетевой модели OSI, а не на уровне операционной системы.
1. Основные характеристики Real-Time Transport Protocol
RTP разработан для доставки медиаданных, чувствительных к задержкам. Следовательно, основные характеристики включают:
- метки времени и порядковые номера для управления воспроизведением
- поддержку многоадресной и одноадресной передачи
- обнаружение потери пакетов с помощью отслеживания последовательности
- адаптивность к другим транспортным протоколам, в особенности к UDP
- архитектуру уровня приложений для широкой совместимости
Таким образом, данные характеристики делают RTP стандартным протоколом для передачи медиаданных в различных сетях.
2. RTP и RTCP – совместная работа
В то время как RTP переносит непосредственно медиаданные (например, аудио или видео), RTCP предоставляет обновления статуса и статистику производительности:
- мониторинг джиттера
- обнаружение потери пакетов
- расчет времени круговой задержки
- синхронизацию потоков
Кроме того, совместное использование RTP и RTCP обеспечивает эффективную и стабильную доставку медиаданных, что особенно важно для протокола IP-телефонии и инструментов конференц-связи.
3. Технические детали передачи пакетов RTP
- RTP работает преимущественно поверх UDP, а не TCP, для минимизации задержек
- каждая сессия RTP использует четный порт, а RTCP — следующий за ним нечетный порт
- стандартные диапазоны портов: 1024–65535
- полезная нагрузка RTP может содержать аудио, видео или текст
Следовательно, протоколы TCP и Stream Control Transmission Protocol (SCTP) поддерживаются, но используются редко из-за более высоких задержек.
4. Управление временной передачей и синхронизация
RTP включает метки времени для поддержки синхронизации различных потоков. Например, при раздельной отправке аудио и видео временные маркеры RTP гарантируют их синхронность при воспроизведении.
При этом RTCP помогает точно настроить процесс путем обмена управляющей информацией без влияния на сам поток RTP. В результате обеспечивается плавное и бесперебойное воспроизведение даже в нестабильных сетях.
5. Обработка потери пакетов и джиттера
В отличие от TCP, RTP не гарантирует доставку. Вместо этого приоритет отдается скорости, а не точности, что позволяет компенсировать потерянные или задержанные пакеты для обеспечения непрерывности потока.
- джиттера-буферы сглаживают временные разрывы
- порядковые номера помогают идентифицировать пропущенные пакеты
- потеря нескольких миллисекунд медиаданных допустима в большинстве приложений реального времени
Такой компромисс делает RTP подходящим для VoIP, WebRTC и прямых трансляций.
6. RTP в VoIP и IP-телефонии
Сервисы VoIP используют RTP для надежной доставки голоса. Даже при потере нескольких пакетов алгоритмы компенсации ошибок позволяют исправить ситуацию, сохраняя высокое качество голоса.
Кроме того, в сочетании с SIP и протоколом описания сессий (SDP) RTP становится основой большинства сервисов IP-телефонии.
7. SRTP – шифрование потока RTP
По умолчанию RTP не шифруется. SRTP добавляет шифрование и аутентификацию сообщений. Протокол используется в приложениях, ориентированных на конфиденциальность, таких как АТС 3CX, Zoom и Teams.
SRTP:
- шифрует полезную нагрузку RTP (например, аудиоданные)
- добавляет проверку целостности
- работает совместно с TLS для обеспечения полной сквозной безопасности
8. Протоколы потоковой передачи реального времени против RTP
RTSP (Real-Time Streaming Protocol) часто путают с RTP. RTSP управляет воспроизведением (пауза, поиск и т. д.), но не передает медиаданные. Именно RTP осуществляет потоковую передачу медиа данных.
В типичной конфигурации:
- RTSP устанавливает сессию
- SDP определяет кодеки и типы медиаданных
- RTP переносит данные
- RTCP контролирует соединение
9. Форматы полезной нагрузки RTP
RTP не зависит от кодека. Можно передавать:
- G.711, G.729 для аудио
- H.264, VP8 для видео
- специализированные кодеки для узких задач
При этом тип полезной нагрузки RTP согласовывается в начале сессии с помощью SDP.
10. Приложения, использующие RTP
RTP используется в большинстве приложений реального времени и с низкими задержками:
- платформы VoIP, такие как АТС 3CX, Zoom, Cisco и Asterisk
- инструменты видеоконференций
- системы IP-радио и телевидения
- потоки с камер видеонаблюдения
- браузеры и приложения на базе WebRTC


