Jump to content

Транспортный протокол реального времени

Транспортный протокол реального времени
Протокол связи
Аббревиатура RTP
Цель Доставка аудио и видео
Разработчик(и) Рабочая группа по транспортировке аудио-видео IETF
Введение январь 1996 г .; 28 лет назад ( 1996-01 )
На основе Сетевой голосовой протокол [1]
RFC(ы) RFC   1889 , 3550 , 3551

Транспортный протокол реального времени ( RTP ) — это сетевой протокол для доставки аудио и видео по IP-сетям . RTP используется в системах связи и развлечений, которые включают в себя потоковую передачу мультимедиа , таких как телефония , приложения для видеотелеконференций, включая WebRTC , телевизионные услуги и веб- функции «нажми и говори» .

RTP обычно работает через протокол пользовательских дейтаграмм (UDP). RTP используется вместе с протоколом управления RTP (RTCP). В то время как RTP передает медиапотоки (например, аудио и видео), RTCP используется для мониторинга статистики передачи и качества обслуживания (QoS) и способствует синхронизации нескольких потоков. RTP является одной из технических основ передачи голоса по IP и в этом контексте часто используется в сочетании с протоколом сигнализации , таким как протокол инициации сеанса (SIP), который устанавливает соединения по сети.

RTP был разработан рабочей группой по транспортировке аудио-видео Инженерной рабочей группы Интернета (IETF) и впервые опубликован в 1996 году как RFC   1889, который затем был заменен RFC   3550 в 2003 году. [2]

Обзор [ править ]

Исследования аудио и видео в сетях с коммутацией пакетов начались в начале 1970-х годов. Рабочая группа по проектированию Интернета (IETF) опубликовала RFC   741 в 1977 году и начал разработку RTP в 1992 году. [1] и продолжит разработку протокола объявления сеанса (SAP), протокола описания сеанса (SDP) и протокола инициирования сеанса (SIP).

RTP предназначен для сквозной в режиме реального времени передачи потокового мультимедиа . Протокол предоставляет средства компенсации дрожания и обнаружения потери пакетов и доставки с нарушением порядка , которые являются обычными, особенно во время передачи UDP в IP-сети. RTP позволяет передавать данные нескольким адресатам посредством многоадресной IP-адресации . [3] RTP считается основным стандартом передачи аудио/видео в IP-сетях и используется со связанным профилем и форматом полезной нагрузки. [4] Конструкция RTP основана на архитектурном принципе, известном как кадрирование уровня приложения , где функции протокола реализуются в приложении, а не в стеке протоколов операционной системы .

в реальном времени Приложения потоковой передачи мультимедиа требуют своевременной доставки информации и часто могут допустить некоторую потерю пакетов для достижения этой цели. Например, потеря пакета в аудиоприложении может привести к потере доли секунды аудиоданных, которую можно сделать незаметной с помощью подходящих алгоритмов маскирования ошибок . [5] Протокол управления передачей (TCP), хотя и стандартизирован для использования RTP, [6] обычно не используется в приложениях RTP, поскольку TCP предпочитает надежность своевременности. Вместо этого большинство реализаций RTP построено на протоколе пользовательских дейтаграмм (UDP). [5] Другими транспортными протоколами, специально разработанными для мультимедийных сеансов, являются SCTP. [7] и ДЦКП , [8] хотя по состоянию на 2012 год они не получили широкого распространения. [9]

RTP был разработан рабочей группой по транспортировке аудио/видео организации по стандартизации IETF. RTP используется в сочетании с другими протоколами, такими как H.323 и RTSP . [4] Спецификация RTP описывает два протокола: RTP и RTCP. RTP используется для передачи мультимедийных данных, а RTCP используется для периодической отправки управляющей информации и параметров QoS. [10]

Протокол передачи данных RTP передает данные в реальном времени. Информация, предоставляемая этим протоколом, включает метки времени (для синхронизации), порядковые номера (для обнаружения потери пакетов и изменения порядка) и формат полезной нагрузки, который указывает закодированный формат данных. [11] Протокол управления RTCP используется для обратной связи по качеству обслуживания (QoS) и синхронизации между медиапотоками. Пропускная способность трафика RTCP по сравнению с RTP невелика, обычно около 5%. [11] [12]

Сеансы RTP обычно инициируются между взаимодействующими узлами с использованием протокола сигнализации, такого как H.323, протокола инициирования сеанса (SIP), RTSP или Jingle ( XMPP ). Эти протоколы могут использовать протокол описания сеанса для указания параметров сеансов. [13]

Сеанс RTP устанавливается для каждого мультимедийного потока. Аудио- и видеопотоки могут использовать отдельные сеансы RTP, что позволяет получателю выборочно принимать компоненты определенного потока. [14] Конструкция RTP и RTCP не зависит от транспортного протокола. Приложения чаще всего используют UDP с номерами портов в непривилегированном диапазоне (от 1024 до 65535). [15] Протокол передачи управления потоком (SCTP) и протокол управления перегрузкой дейтаграмм (DCCP) могут использоваться, когда требуется надежный транспортный протокол. Спецификация RTP рекомендует четные номера портов для RTP и использование следующего нечетного номера порта для связанного сеанса RTCP. [16] : 68  Один порт можно использовать для RTP и RTCP в приложениях, мультиплексирующих протоколы. [17]

RTP используется мультимедийными приложениями реального времени, такими как передача голоса по IP , аудио по IP , WebRTC и телевидение по интернет-протоколу .

Профили и форматы полезной нагрузки [ править ]

RTP предназначен для передачи множества мультимедийных форматов, что позволяет разрабатывать новые форматы без пересмотра стандарта RTP. С этой целью информация, требуемая конкретным приложением протокола, не включается в общий заголовок RTP. Для каждого класса приложений (например, аудио, видео) RTP определяет профиль и связанные с ним форматы полезной нагрузки . [10] Для каждого экземпляра RTP в конкретном приложении требуются спецификации профиля и формата полезной нагрузки. [16] : 71 

Профиль определяет кодеки, используемые для кодирования данных полезной нагрузки и их сопоставление с кодами формата полезной нагрузки в поле протокола Тип полезной нагрузки (PT) заголовка RTP. Каждый профиль сопровождается несколькими спецификациями формата полезной нагрузки, каждая из которых описывает транспортировку определенных закодированных данных. [4] Примерами форматов аудиополезных данных являются G.711 , G.723 , G.726 , G.729 , GSM , QCELP , MP3 и DTMF , а примерами видеополезных данных являются H.261 , H.263 , H.264 , H. .265 и MPEG-1 / MPEG-2 . [18] Сопоставление аудио/видео потоков MPEG-4 с пакетами RTP указано в Полезные данные видео RFC   3016 и H.263 описаны в разделе РФК   2429 . [19]

Примеры профилей RTP включают в себя:

Заголовок пакета [ править ]

Пакеты RTP создаются на уровне приложений и передаются на транспортный уровень для доставки. Каждая единица мультимедийных данных RTP, созданная приложением, начинается с заголовка пакета RTP.

Заголовок пакета RTP
Смещения Октет 0 1 2 3
Октет Кусочек [а] 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
0 0 Версия П Х СС М ПТ Порядковый номер
4 32 Временная метка
8 64 идентификатор SSRC
12 96 Идентификаторы CSRC
...
12+4×CC 96+32×CC Идентификатор заголовка расширения, специфичный для профиля Длина заголовка расширения
16+4×CC 128+32×CC Заголовок расширения
...

Заголовок RTP имеет минимальный размер 12 байт. После заголовка могут присутствовать дополнительные расширения заголовка. Далее следует полезная нагрузка RTP, формат которой определяется конкретным классом приложения. [22] Поля в заголовке следующие:

  • Версия : (2 бита) Указывает версию протокола. Текущая версия 2. [23]
  • P (Заполнение) : (1 бит). Используется для указания наличия дополнительных байтов заполнения в конце пакета RTP. Заполнение может использоваться для заполнения блока определенного размера, например, как того требует алгоритм шифрования. Последний байт заполнения содержит количество добавленных байтов заполнения (включая его самого). [16] : 12  [23]
  • X (Расширение) : (1 бит) Указывает наличие заголовка расширения между заголовком и данными полезной нагрузки. Заголовок расширения зависит от приложения или профиля. [23]
  • CC (счетчик CSRC) : (4 бита) Содержит количество идентификаторов CSRC (определенных ниже), следующих за SSRC (также определенных ниже). [16] : 12 
  • M (Маркер) : (1 бит) Сигнализация, используемая на уровне приложения в зависимости от профиля. Если он установлен, это означает, что текущие данные имеют особое значение для приложения. [16] : 13 
  • PT (тип полезной нагрузки) : (7 бит) Указывает формат полезной нагрузки и, таким образом, определяет ее интерпретацию приложением. Значения зависят от профиля и могут назначаться динамически. [24]
  • Порядковый номер : (16 бит). Порядковый номер увеличивается для каждого отправленного пакета данных RTP и должен использоваться получателем для обнаружения потери пакета. [3] и обеспечить доставку вне заказа . Начальное значение порядкового номера должно быть рандомизировано, чтобы затруднить атаки с использованием известного открытого текста на безопасный транспортный протокол реального времени . [16] : 13 
  • Временная метка : (32 бита) Используется приемником для воспроизведения полученных образцов в соответствующее время и интервал. Когда присутствует несколько медиапотоков, временные метки могут быть независимыми в каждом потоке. [б] Детализация времени зависит от приложения. Например, аудиоприложение, которое производит выборку данных каждые 125 мкс (8 кГц, обычная частота дискретизации в цифровой телефонии), будет использовать это значение в качестве разрешения тактовой частоты. Видеопотоки обычно используют тактовую частоту 90 кГц. Детализация часов — это одна из деталей, указанная в профиле RTP для приложения. [25]
  • SSRC : (32 бита) Идентификатор источника синхронизации однозначно идентифицирует источник потока. Источники синхронизации в рамках одного сеанса RTP будут уникальными. [16] : 15 
  • CSRC : (каждый по 32 бита, количество записей указывается полем счетчика CSRC ). Идентификаторы источников, вносящих вклад, перечисляют источники, вносящие вклад в поток, который был сгенерирован из нескольких источников. [16] : 15 
  • Расширение заголовка : (необязательно, наличие указывается полем расширения ). Первое 32-битное слово содержит идентификатор профиля (16 бит) и спецификатор длины (16 бит), который указывает длину расширения в 32-битных единицах, исключая 32 бита заголовка расширения. Далее следуют данные заголовка расширения. [16] : 18 

Дизайн приложения [ править ]

Функциональное мультимедийное приложение требует других протоколов и стандартов, используемых вместе с RTP. Такие протоколы, как SIP, Jingle , RTSP, H.225 и H.245, используются для инициации, управления и завершения сеанса. Другие стандарты, такие как H.264, MPEG и H.263, используются для кодирования данных полезной нагрузки, как указано в соответствующем профиле RTP. [26]

Отправитель RTP захватывает мультимедийные данные, затем кодирует их, формирует и передает их в виде пакетов RTP с соответствующими временными метками и увеличивающимися временными метками и порядковыми номерами. Отправитель устанавливает поле типа полезных данных в соответствии с согласованием соединения и используемым профилем RTP. Получатель RTP обнаруживает недостающие пакеты и может изменить их порядок. Он декодирует медиаданные в пакетах в соответствии с типом полезной нагрузки и представляет поток своему пользователю. [26]

Документы по стандартам [ править ]

  • RFC   3550 , Стандарт 64, RTP: транспортный протокол для приложений реального времени.
  • RFC   3551 , Standard 65, профиль RTP для аудио- и видеоконференций с минимальным контролем
  • RFC   4855 , Регистрация типа носителя для форматов полезной нагрузки RTP
  • RFC   4856 , Регистрация типа носителя форматов полезной нагрузки в профиле RTP для аудио- и видеоконференций
  • RFC   7656 , Таксономия семантики и механизмов для источников транспортного протокола реального времени (RTP)
  • RFC   3190 , формат полезной нагрузки RTP для 12-битного звука DAT и 20- и 24-битного линейного дискретизированного звука.
  • RFC   6184 , формат полезной нагрузки RTP для H.264 видео
  • RFC   3640 , формат полезной нагрузки RTP для транспортировки элементарных потоков MPEG-4.
  • RFC   6416 , Формат полезной нагрузки RTP для MPEG-4 аудио/визуальных потоков
  • RFC   2250 , формат полезной нагрузки RTP для видео MPEG1 / MPEG2

См. также [ править ]

Примечания [ править ]

  1. ^ Биты упорядочены от наиболее значимого к наименее значимому; Смещение бита 0 — это старший бит первого октета. Октеты передаются в сетевом порядке . Порядок передачи битов зависит от среды.
  2. ^ RFC   7273 предоставляет средства для сигнализации взаимосвязи между часами мультимедиа разных потоков.

Ссылки [ править ]

  1. Перейти обратно: Перейти обратно: а б Перкинс 2003 , с. 6.
  2. ^ Райт, Гэвин. «Что такое транспортный протокол реального времени (RTP)?» . ТехТаржет . Проверено 10 ноября 2022 г.
  3. Перейти обратно: Перейти обратно: а б Дэниел Харди (2002). Сеть . Университет Де Бек. п. 298 .
  4. Перейти обратно: Перейти обратно: а б с Перкинс 2003 , с. 55
  5. Перейти обратно: Перейти обратно: а б Перкинс 2003 , с. 46
  6. ^ RFC   4571
  7. ^ Фаррел, Адриан (2004). Интернет и его протоколы . Морган Кауфманн. п. 363. ИСБН  978-1-55860-913-6 .
  8. ^ Озактас, Халдун М.; Левент Онурал (2007). ТРЕХМЕРНОЕ ТЕЛЕВИДЕНИЕ . Спрингер. п. 356. ИСБН  978-3-540-72531-2 .
  9. ^ Хогг, Скотт. «А как насчет протокола передачи управления потоком (SCTP)?» . Сетевой мир . Архивировано из оригинала 30 августа 2014 года . Проверено 4 октября 2017 г.
  10. Перейти обратно: Перейти обратно: а б Ларри Л. Петерсон (2007). Компьютерные сети . Морган Кауфманн. п. 430 . ISBN  978-1-55860-832-0 .
  11. Перейти обратно: Перейти обратно: а б Перкинс 2003 , с. 56
  12. ^ Петерсон и Дэви 2007 , с. 435
  13. ^ RFC   4566 : SDP: протокол описания сеанса , М. Хэндли, В. Джейкобсон, К. Перкинс, IETF (июль 2006 г.)
  14. ^ Журавски, Ричард (2004). «Протоколы RTP, RTCP и RTSP» . Справочник по промышленным информационным технологиям . ЦРК Пресс. стр. 28–7 . ISBN  978-0-8493-1985-3 .
  15. ^ Коллинз, Дэниел (2002). «Передача голоса с помощью IP». Голосовая связь операторского класса по IP . МакГроу-Хилл Профессионал. стр. 47 . ISBN  978-0-07-136326-6 .
  16. Перейти обратно: Перейти обратно: а б с д и ж г час я РФК   3550
  17. ^ Мультиплексирование данных RTP и пакетов управления на одном порту . IETF. Апрель 2010 г. doi : 10.17487/RFC5761 . РФК 5761 . Проверено 21 ноября 2015 г.
  18. ^ Перкинс 2003 , с. 60
  19. ^ Чоу, Филип А.; Михаэла ван дер Шаар (2007). Мультимедиа по IP и беспроводным сетям . Академическая пресса. стр. 514 . ISBN  978-0-12-088480-3 .
  20. ^ Перкинс 2003 , с. 367
  21. ^ Бриз, Финли (2010). Последовательная связь через RTP/CDP . Совет директоров - Книги по запросу. стр. [1] . ISBN  978-3-8391-8460-8 .
  22. ^ Петерсон и Дэви 2007 , с. 430
  23. Перейти обратно: Перейти обратно: а б с Петерсон и Дэви 2007 , с. 431
  24. ^ Перкинс 2003 , с. 59
  25. ^ Петерсон, с. 432
  26. Перейти обратно: Перейти обратно: а б Перкинс 2003 , стр. 11–13.

Дальнейшее чтение [ править ]

Внешние ссылки [ править ]

Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: a7dbc81d6427307d63c48adf3c7ec4a5__1714150860
URL1:https://arc.ask3.ru/arc/aa/a7/a5/a7dbc81d6427307d63c48adf3c7ec4a5.html
Заголовок, (Title) документа по адресу, URL1:
Real-time Transport Protocol - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)