Что такое RTP – Real-time Transport Protocol?

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

Что такое протокол RTP?

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

Дополнительная информация