Real-time Transport Protocol

Поделись знанием:
Перейти к: навигация, поиск

Протокол RTP (англ. Real-time Transport Protocol) работает на уровне приложений (OSI - 7) и используется при передаче трафика реального времени. Протокол был разработан Audio-Video Transport Working Group в IETF и впервые опубликован в 1996 году как RFC 1889; выведен из употребления обновлением RFC 3550 в 2003 году.

Протокол RTP переносит в своём заголовке данные, необходимые для восстановления аудиоданных или видеоизображения в приёмном узле, а также данные о типе кодирования информации (JPEG, MPEG и т. п.). В заголовке данного протокола, в частности, передаются временная метка и номер пакета. Эти параметры позволяют при минимальных задержках определить порядок и момент декодирования каждого пакета, а также интерполировать потерянные пакеты.

RTP не имеет стандартного зарезервированного номера порта. Единственное ограничение состоит в том, что соединение проходит с использованием чётного номера, а следующий нечётный номер используется для связи по протоколу RTCP. Тот факт, что RTP использует динамически назначаемые адреса портов, создаёт ему трудности для прохождения межсетевых экранов, для обхода этой проблемы, как правило, используется STUN-сервер.

Установление и разрыв соединения не входит в список возможностей RTP, такие действия выполняются сигнальным протоколом (например, RTSP или SIP протоколом).





Описание протокола

RTP был разработан как протокол реального времени, из конца в конец (end-to-end), для передачи потоковых данных. В протокол заложена возможность компенсации джиттера и обнаружения нарушения последовательности пакетов данных — типичных событий при передаче через IP-сети. RTP поддерживает передачу данных для нескольких адресатов через Multicast.[1] RTP рассматривается как основной стандарт для передачи голоса и видео в IP-сетях и совместно с кодеками.

Приложения, формирующие потоки реального времени, требуют своевременной доставки информации и для достижения этой цели могут допустить некоторую потерю пакетов. Например, потеря пакета в аудио-приложении может привести к доле секунды тишины, которая может быть незаметна при использовании подходящих алгоритмов скрытия ошибок.[2] Протокол TCP, хотя и стандартизирован для передачи RTP,[3] как правило не используется в RTP-приложениях, так как надежность передачи в TCP формирует временные задержки. Вместо этого, большинство реализаций RTP базируется на UDP. Кроме этого, существуют другие спецификации для транспортных протоколов SCTP и DCCP, но они мало распространены.[4][5]

Компоненты протокола

Спецификация RTP описывает два подпротокола:

  • Протокол передачи данных, RTP, который взаимодействует с передачей данных реального времени. Информация, предоставляемая посредством этого протокола, включает в себя отметку времени(для синхронизации), последовательный номер (для детектирования потери и дублирования пакетов) и формат полезной нагрузки, который определяет формат кодирования данных.
  • Протокол контроля, RTCP, используемый для определения качества обслуживания (QOS), обратной связи и синхронизации между медиа-потоками. Занимаемая полоса пропускания RTCP мала в сравнении с RTP, обычно около 5 %.
  • Управляющий сигнальный протокол, такой как SIP, H.323, MGCP или H.248. Сигнальные протоколы управляют открытием, модификацией и закрытием RTP-сессий между устройствами и приложениями реального времени.
  • Управляющий протокол описания медиа, такой как Session Description Protocol.

Сессии

RTP-сессия устанавливается для каждого потока мультимедиа. Сессия состоит из IP-адреса и пары портов для RTP и RTCP. Например, аудио и видео потоки будут иметь различные RTP-сессии, позволяющие приемнику для этого выделить конкретный поток.[6] Порты, которые образуют сессию, связываются друг с другом средствами других протоколов, таких как SIP (содержащий в своих сообщениях протокол SDP[7]) и RTSP (используя SDP в методе Setup). В соответствии со спецификацией, RTP не имеет стандартного зарезервированного номера порта. Единственное ограничение состоит в том, что соединение проходит с использованием чётного номера, а следующий нечётный номер используется для связи по протоколу RTCP. RTP и RTCP обычно используют непривилегированные UDP-порты (16k-32k), но могут использовать и другие протоколы, поскольку сам протокол RTP независим от транспортного уровня.

Структура пакета

+ Биты 0-1 2 3 4-7 8 9-15 16-31
0 Ver. P X CC M PT Порядковый номер
32 Метка времени
64 SSRC-идентификатор
96, если CC>0 [CSRC-идентификаторы]
96+(CC×32),
если X=1
[Заголовок расширения - определенное профилем значение] [Заголовок расширения - количество блоков данных по 32 бита (EHL)]
96+(CC×32)+32 [Заголовок расширения - блоки данных]
96+(CC×32)
+X*(32+32×EHL)
 
Данные
 
если P=1 Заполнение (Padding data) L

0-1 — Ver. (2 бита) указывает версию протокола. Текущая версия — 2.
2 — P (один бит) используется в случаях, когда RTP-пакет дополняется пустыми байтами на конце.
3 — X (один бит) используется для указания расширений протокола, задействованных в пакете.
4-7 — CC (4 бита) содержит количество CSRC-идентификаторов, следующих за постоянным заголовком.
8 — M (один бит) используется на уровне приложения и определяется профилем. Если это поле установлено, то данные пакета имеют какое-то особое значение для приложения.
9-15 — PT (7 бит) указывает формат полезной нагрузки и определяет её интерпретацию приложением.
64-95 — SSRC указывает источник синхронизации.
EHL (Extension Header Length) — — количество 32-битных слов в блоке данных расширения заголовка.
L — последний байт в пакете, определяющий длину области заполнения в байтах (используется для выравнивания в последнем пакете).

Спецификация RTP

  • [www.rfc-editor.org/cgi-bin/rfcdoctype.pl?loc=STD&letsgo=64&type=http&file_format=txt STD 64. RTP: A Transport Protocol for Real-Time Applications. H. Schulzrinne, S. Casner, R. Frederick, V. Jacobson. July 2003.]
  • [www.rfc-editor.org/cgi-bin/rfcdoctype.pl?loc=STD&letsgo=65&type=http&file_format=txt STD 65. RTP Profile for Audio and Video Conferences with Minimal Control. H. Schulzrinne, S. Casner. July 2003.]
  • RTP: A Transport Protocol for Real-Time Applications

См. также

Напишите отзыв о статье "Real-time Transport Protocol"

Ссылки

  • [www.cs.columbia.edu/~hgs/rtp/faq.html Ответы на часто задаваемые вопросы о протоколе RTP] (англ.)

Примечания

  1. Daniel Hardy. Network. — De Boeck Université, 2002. — P. [books.google.com/books?id=Oq8SEUW1wdQC&pg=PT320 298].
  2. Colin Perkins, p.46
  3. RFC 4571
  4. Farrel Adrian. [books.google.com/?id=LtBegQowqFsC&pg=PA363&dq=rtp+sctp The Internet and its protocols]. — Morgan Kaufmann, 2004. — P. 363. — ISBN 9781558609136.
  5. Ozaktas Haldun M. [books.google.com/?id=kQvCHpuXji8C&pg=PA366&dq=rtp+dccp THREE-DIMENSIONAL TELEVISION]. — Springer, 2007. — P. 366. — ISBN 9783540725312.
  6. Zurawski Richard. RTP, RTCP and RTSP protocols // [books.google.com/?id=MwMDUBKZ3wwC The industrial information technology handbook]. — CRC Press, 2004. — P. [books.google.com/books?id=MwMDUBKZ3wwC&pg=PT225&dq=RTP+session 28–7]. — ISBN 9780849319853.
  7. RFC 4566: SDP: Session Description Protocol, M. Handley, V. Jacobson, C. Perkins, IETF (July 2006)
  • Perkins Colin. [books.google.com/?id=OM7YJAy9_m8C RTP]. — Addison-Wesley, 2003. — P. 414. — ISBN 9780672322495.
  • Peterson Larry L. [books.google.com/?id=zGVVuO-6w3IC Computer Networks]. — 4. — Morgan Kaufmann, 2007. — P. 806. — ISBN 9780123740137.
  • [books.google.com/books?id=D_GrQa2ZcLwC&pg=PA144 RTP] // Network Protocols Handbook. — Javvin Technologies, 2005. — ISBN 9780974094526.
  • [www.youtube.com/watch?v=OaL2vVFbCG4&feature=channel_page RTP] // Broadband Networks. — Ministry of Human resources, India, 2008.

Отрывок, характеризующий Real-time Transport Protocol



Когда Пьер вернулся домой, ему подали две принесенные в этот день афиши Растопчина.
В первой говорилось о том, что слух, будто графом Растопчиным запрещен выезд из Москвы, – несправедлив и что, напротив, граф Растопчин рад, что из Москвы уезжают барыни и купеческие жены. «Меньше страху, меньше новостей, – говорилось в афише, – но я жизнью отвечаю, что злодей в Москве не будет». Эти слова в первый раз ясно ыоказали Пьеру, что французы будут в Москве. Во второй афише говорилось, что главная квартира наша в Вязьме, что граф Витгснштейн победил французов, но что так как многие жители желают вооружиться, то для них есть приготовленное в арсенале оружие: сабли, пистолеты, ружья, которые жители могут получать по дешевой цене. Тон афиш был уже не такой шутливый, как в прежних чигиринских разговорах. Пьер задумался над этими афишами. Очевидно, та страшная грозовая туча, которую он призывал всеми силами своей души и которая вместе с тем возбуждала в нем невольный ужас, – очевидно, туча эта приближалась.
«Поступить в военную службу и ехать в армию или дожидаться? – в сотый раз задавал себе Пьер этот вопрос. Он взял колоду карт, лежавших у него на столе, и стал делать пасьянс.
– Ежели выйдет этот пасьянс, – говорил он сам себе, смешав колоду, держа ее в руке и глядя вверх, – ежели выйдет, то значит… что значит?.. – Он не успел решить, что значит, как за дверью кабинета послышался голос старшей княжны, спрашивающей, можно ли войти.
– Тогда будет значить, что я должен ехать в армию, – договорил себе Пьер. – Войдите, войдите, – прибавил он, обращаясь к княжие.
(Одна старшая княжна, с длинной талией и окаменелым лидом, продолжала жить в доме Пьера; две меньшие вышли замуж.)
– Простите, mon cousin, что я пришла к вам, – сказала она укоризненно взволнованным голосом. – Ведь надо наконец на что нибудь решиться! Что ж это будет такое? Все выехали из Москвы, и народ бунтует. Что ж мы остаемся?
– Напротив, все, кажется, благополучно, ma cousine, – сказал Пьер с тою привычкой шутливости, которую Пьер, всегда конфузно переносивший свою роль благодетеля перед княжною, усвоил себе в отношении к ней.
– Да, это благополучно… хорошо благополучие! Мне нынче Варвара Ивановна порассказала, как войска наши отличаются. Уж точно можно чести приписать. Да и народ совсем взбунтовался, слушать перестают; девка моя и та грубить стала. Этак скоро и нас бить станут. По улицам ходить нельзя. А главное, нынче завтра французы будут, что ж нам ждать! Я об одном прошу, mon cousin, – сказала княжна, – прикажите свезти меня в Петербург: какая я ни есть, а я под бонапартовской властью жить не могу.
– Да полноте, ma cousine, откуда вы почерпаете ваши сведения? Напротив…
– Я вашему Наполеону не покорюсь. Другие как хотят… Ежели вы не хотите этого сделать…
– Да я сделаю, я сейчас прикажу.
Княжне, видимо, досадно было, что не на кого было сердиться. Она, что то шепча, присела на стул.
– Но вам это неправильно доносят, – сказал Пьер. – В городе все тихо, и опасности никакой нет. Вот я сейчас читал… – Пьер показал княжне афишки. – Граф пишет, что он жизнью отвечает, что неприятель не будет в Москве.
– Ах, этот ваш граф, – с злобой заговорила княжна, – это лицемер, злодей, который сам настроил народ бунтовать. Разве не он писал в этих дурацких афишах, что какой бы там ни был, тащи его за хохол на съезжую (и как глупо)! Кто возьмет, говорит, тому и честь и слава. Вот и долюбезничался. Варвара Ивановна говорила, что чуть не убил народ ее за то, что она по французски заговорила…
– Да ведь это так… Вы всё к сердцу очень принимаете, – сказал Пьер и стал раскладывать пасьянс.
Несмотря на то, что пасьянс сошелся, Пьер не поехал в армию, а остался в опустевшей Москве, все в той же тревоге, нерешимости, в страхе и вместе в радости ожидая чего то ужасного.
На другой день княжна к вечеру уехала, и к Пьеру приехал его главноуправляющий с известием, что требуемых им денег для обмундирования полка нельзя достать, ежели не продать одно имение. Главноуправляющий вообще представлял Пьеру, что все эти затеи полка должны были разорить его. Пьер с трудом скрывал улыбку, слушая слова управляющего.
– Ну, продайте, – говорил он. – Что ж делать, я не могу отказаться теперь!
Чем хуже было положение всяких дел, и в особенности его дел, тем Пьеру было приятнее, тем очевиднее было, что катастрофа, которой он ждал, приближается. Уже никого почти из знакомых Пьера не было в городе. Жюли уехала, княжна Марья уехала. Из близких знакомых одни Ростовы оставались; но к ним Пьер не ездил.
В этот день Пьер, для того чтобы развлечься, поехал в село Воронцово смотреть большой воздушный шар, который строился Леппихом для погибели врага, и пробный шар, который должен был быть пущен завтра. Шар этот был еще не готов; но, как узнал Пьер, он строился по желанию государя. Государь писал графу Растопчину об этом шаре следующее:
«Aussitot que Leppich sera pret, composez lui un equipage pour sa nacelle d'hommes surs et intelligents et depechez un courrier au general Koutousoff pour l'en prevenir. Je l'ai instruit de la chose.
Recommandez, je vous prie, a Leppich d'etre bien attentif sur l'endroit ou il descendra la premiere fois, pour ne pas se tromper et ne pas tomber dans les mains de l'ennemi. Il est indispensable qu'il combine ses mouvements avec le general en chef».
[Только что Леппих будет готов, составьте экипаж для его лодки из верных и умных людей и пошлите курьера к генералу Кутузову, чтобы предупредить его.
Я сообщил ему об этом. Внушите, пожалуйста, Леппиху, чтобы он обратил хорошенько внимание на то место, где он спустится в первый раз, чтобы не ошибиться и не попасть в руки врага. Необходимо, чтоб он соображал свои движения с движениями главнокомандующего.]
Возвращаясь домой из Воронцова и проезжая по Болотной площади, Пьер увидал толпу у Лобного места, остановился и слез с дрожек. Это была экзекуция французского повара, обвиненного в шпионстве. Экзекуция только что кончилась, и палач отвязывал от кобылы жалостно стонавшего толстого человека с рыжими бакенбардами, в синих чулках и зеленом камзоле. Другой преступник, худенький и бледный, стоял тут же. Оба, судя по лицам, были французы. С испуганно болезненным видом, подобным тому, который имел худой француз, Пьер протолкался сквозь толпу.
– Что это? Кто? За что? – спрашивал он. Но вниманье толпы – чиновников, мещан, купцов, мужиков, женщин в салопах и шубках – так было жадно сосредоточено на то, что происходило на Лобном месте, что никто не отвечал ему. Толстый человек поднялся, нахмурившись, пожал плечами и, очевидно, желая выразить твердость, стал, не глядя вокруг себя, надевать камзол; но вдруг губы его задрожали, и он заплакал, сам сердясь на себя, как плачут взрослые сангвинические люди. Толпа громко заговорила, как показалось Пьеру, – для того, чтобы заглушить в самой себе чувство жалости.
– Повар чей то княжеский…
– Что, мусью, видно, русский соус кисел французу пришелся… оскомину набил, – сказал сморщенный приказный, стоявший подле Пьера, в то время как француз заплакал. Приказный оглянулся вокруг себя, видимо, ожидая оценки своей шутки. Некоторые засмеялись, некоторые испуганно продолжали смотреть на палача, который раздевал другого.