<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="ru">
	<id>https://camokathomelab.servebeer.com/mediawiki/index.php?action=history&amp;feed=atom&amp;title=Real-time_Transport_Protocol</id>
	<title>Real-time Transport Protocol - История изменений</title>
	<link rel="self" type="application/atom+xml" href="https://camokathomelab.servebeer.com/mediawiki/index.php?action=history&amp;feed=atom&amp;title=Real-time_Transport_Protocol"/>
	<link rel="alternate" type="text/html" href="https://camokathomelab.servebeer.com/mediawiki/index.php?title=Real-time_Transport_Protocol&amp;action=history"/>
	<updated>2026-07-17T02:17:58Z</updated>
	<subtitle>История изменений этой страницы в вики</subtitle>
	<generator>MediaWiki 1.45.3</generator>
	<entry>
		<id>https://camokathomelab.servebeer.com/mediawiki/index.php?title=Real-time_Transport_Protocol&amp;diff=17516&amp;oldid=prev</id>
		<title>imported&gt;Gromolyak: /* Компоненты протокола */</title>
		<link rel="alternate" type="text/html" href="https://camokathomelab.servebeer.com/mediawiki/index.php?title=Real-time_Transport_Protocol&amp;diff=17516&amp;oldid=prev"/>
		<updated>2026-01-31T03:12:37Z</updated>

		<summary type="html">&lt;p&gt;&lt;span class=&quot;autocomment&quot;&gt;Компоненты протокола&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Новая страница&lt;/b&gt;&lt;/p&gt;&lt;div&gt;Протокол &amp;#039;&amp;#039;&amp;#039;RTP&amp;#039;&amp;#039;&amp;#039; ({{lang-en|Real-time Transport Protocol}}) работает на [[Протоколы прикладного уровня|прикладном уровне (OSI - 7)]] и используется при передаче трафика реального времени. Протокол был разработан Audio-Video Transport Working Group в [[IETF]] и впервые опубликован в 1996 году как RFC 1889 (RFC 1889 является устаревшим с момента выхода RFC 3550 в 2003 году).&lt;br /&gt;
&lt;br /&gt;
Протокол RTP переносит в своём заголовке данные, необходимые для восстановления аудиоданных или видеоизображения в приёмном узле, а также данные о типе кодирования информации ([[JPEG]], [[MPEG]] и т. п.). В заголовке данного протокола, в частности, передаются временная метка и номер пакета. Эти параметры позволяют при минимальных задержках определить порядок и момент декодирования каждого пакета, а также интерполировать потерянные пакеты.&lt;br /&gt;
&lt;br /&gt;
RTP не имеет стандартного зарезервированного номера порта. Единственное ограничение состоит в том, что соединение проходит с использованием чётного номера, а следующий нечётный номер используется для связи по протоколу [[RTCP]]. Тот факт, что RTP использует динамически назначаемые адреса портов, создаёт ему трудности для прохождения [[Межсетевой экран|межсетевых экранов]], для обхода этой проблемы, как правило, используется [[STUN]]-сервер.&lt;br /&gt;
&lt;br /&gt;
Установление и разрыв соединения не входят в список возможностей RTP, такие действия выполняются [[Сигнальный протокол|сигнальным протоколом]] (например, [[RTSP]]- или [[Протокол установления сеанса|SIP]]-протоколом).&lt;br /&gt;
&lt;br /&gt;
== Описание протокола ==&lt;br /&gt;
&lt;br /&gt;
RTP был разработан как протокол [[Системы реального времени|реального времени]], из конца в конец (end-to-end), для передачи [[Поток данных|потоковых данных]]. В протокол заложена возможность компенсации [[джиттер]]а и обнаружения нарушения последовательности пакетов данных — типичных событий при передаче через IP-сети. RTP поддерживает передачу данных для нескольких адресатов через [[Multicast]].&amp;lt;ref name=&amp;quot;Hardy_298&amp;quot;&amp;gt;{{книга |заглавие=Network |страницы=[https://books.google.com/books?id=Oq8SEUW1wdQC&amp;amp;pg=PT320 298] |издательство=De Boeck Université |год=2002 |язык= |автор=Daniel Hardy}}&amp;lt;/ref&amp;gt; RTP рассматривается как основной стандарт для передачи голоса и видео в IP-сетях и совместно с кодеками.&lt;br /&gt;
&lt;br /&gt;
Приложения, формирующие потоки [[Мультимедиа|реального времени]], требуют своевременной доставки информации и для достижения этой цели могут допустить некоторую потерю пакетов. Например, потеря пакета в аудиоприложении может привести к доле секунды тишины, которая может быть незаметна при использовании подходящих алгоритмов скрытия ошибок.&amp;lt;ref name=&amp;quot;Perkins_46&amp;quot;&amp;gt;Colin Perkins, p.46&amp;lt;/ref&amp;gt; Протокол [[TCP]], хотя и стандартизирован для передачи RTP,&amp;lt;ref&amp;gt;RFC 4571&amp;lt;/ref&amp;gt; как правило, не используется в RTP-приложениях, так как надежность передачи в TCP формирует временные задержки. Вместо этого большинство реализаций RTP базируется на [[UDP]]. Кроме этого, существуют другие спецификации для транспортных протоколов [[SCTP]] и [[DCCP]], но они мало распространены.&amp;lt;ref&amp;gt;{{книга |заглавие=The Internet and its protocols |издательство=[[Morgan Kaufmann Publishers|Morgan Kaufmann]] |год=2004 |страницы=363 |ссылка=https://books.google.com/?id=LtBegQowqFsC&amp;amp;pg=PA363&amp;amp;dq=rtp+sctp |isbn=9781558609136 |ref=Farrel |язык= |автор=Farrel, Adrian}}&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;{{книга |заглавие=THREE-DIMENSIONAL TELEVISION |издательство={{Нп3|Springer Publishing|Springer|en|Springer Publishing}} |год=2007 |страницы=366 |ссылка=https://books.google.com/?id=kQvCHpuXji8C&amp;amp;pg=PA366&amp;amp;dq=rtp+dccp |isbn=9783540725312 |ref=Ozaktas |язык= |автор=Ozaktas, Haldun M.; Levent Onural}}&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Компоненты протокола ==&lt;br /&gt;
Спецификация RTP описывает четыре подпротокола:&lt;br /&gt;
* Протокол передачи данных, RTP, который взаимодействует с передачей данных реального времени. Информация, предоставляемая посредством этого протокола, включает в себя отметку времени (для синхронизации), последовательный номер (для детектирования потери и дублирования пакетов) и формат полезной нагрузки, который определяет формат кодирования данных, т.н. [[Профили данных RTP|профиль данных RTP]].&lt;br /&gt;
* Протокол контроля, [[RTCP]], используемый для определения качества обслуживания ([[QOS|QoS]]), обратной связи и синхронизации между медиапотоками. Занимаемая полоса пропускания RTCP мала в сравнении с RTP, обычно около 5 %.&lt;br /&gt;
* Управляющий сигнальный протокол, такой как [[Протокол установления сеанса|SIP]], [[H.323]], [[MGCP]] или [[H.248]]. Сигнальные протоколы управляют открытием, модификацией и закрытием RTP-сессий между устройствами и приложениями реального времени.&lt;br /&gt;
* Управляющий протокол описания медиа, такой как [[Session Description Protocol]] или [[H.245]], определяет [[Профили данных RTP|профиль данных RTP]] для каждой из участников медиасессии.&lt;br /&gt;
&lt;br /&gt;
== Сессии ==&lt;br /&gt;
RTP-сессия устанавливается для каждого потока мультимедиа. Сессия состоит из [[IP-адрес]]а и пары портов для RTP и RTCP. Например, аудио- и видеопотоки будут иметь различные RTP-сессии, позволяющие приемнику для этого выделить конкретный поток.&amp;lt;ref name=&amp;quot;Zurawski_28&amp;quot;&amp;gt;{{книга |заглавие=The industrial information technology handbook |издательство=[[CRC Press]] |год=2004 |страницы=[https://books.google.com/books?id=MwMDUBKZ3wwC&amp;amp;pg=PT225&amp;amp;dq=RTP+session 28—7] |часть=RTP, RTCP and RTSP protocols |ссылка=https://books.google.com/?id=MwMDUBKZ3wwC |isbn=9780849319853 |ref=Zurawski |язык=en |автор=Zurawski, Richard}}&amp;lt;/ref&amp;gt; Порты, которые образуют сессию, связываются друг с другом средствами других протоколов, таких как SIP (содержащий в своих сообщениях протокол SDP&amp;lt;ref&amp;gt;RFC 4566: &amp;#039;&amp;#039;SDP: Session Description Protocol&amp;#039;&amp;#039;, M. Handley, V. Jacobson, C. Perkins, IETF (July 2006)&amp;lt;/ref&amp;gt;) и [[RTSP]] (используя SDP в методе Setup). В соответствии со спецификацией, RTP не имеет стандартного зарезервированного номера порта. Единственное ограничение состоит в том, что соединение проходит с использованием чётного номера, а следующий нечётный номер используется для связи по протоколу [[RTCP]]. RTP и RTCP обычно используют непривилегированные UDP-порты (16k-32k), но могут использовать и другие порты, поскольку сам протокол RTP независим от транспортного уровня.&lt;br /&gt;
&lt;br /&gt;
== Структура пакета ==&lt;br /&gt;
{| width=&amp;quot;700&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;margin: auto;&amp;quot; text-align: center;&amp;quot;&lt;br /&gt;
|- align=&amp;quot;center&amp;quot;&lt;br /&gt;
! style=&amp;quot;width: 30%&amp;quot; |+ Биты&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot;| 0-1&lt;br /&gt;
! colspan=&amp;quot;1&amp;quot;| 2&lt;br /&gt;
! colspan=&amp;quot;1&amp;quot;| 3&lt;br /&gt;
! colspan=&amp;quot;4&amp;quot;| 4-7&lt;br /&gt;
! colspan=&amp;quot;1&amp;quot; | 8&lt;br /&gt;
! colspan=&amp;quot;7&amp;quot; | 9-15&lt;br /&gt;
! colspan=&amp;quot;16&amp;quot; | 16-31&lt;br /&gt;
|- align=&amp;quot;center&amp;quot;&lt;br /&gt;
! 0&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot;|Ver.&lt;br /&gt;
| colspan=&amp;quot;1&amp;quot;|P&lt;br /&gt;
| colspan=&amp;quot;1&amp;quot;|X&lt;br /&gt;
| colspan=&amp;quot;4&amp;quot;|CC&lt;br /&gt;
| colspan=&amp;quot;1&amp;quot;|M&lt;br /&gt;
| colspan=&amp;quot;7&amp;quot;|PT&lt;br /&gt;
| colspan=&amp;quot;16&amp;quot;|Порядковый номер&lt;br /&gt;
|- align=&amp;quot;center&amp;quot;&lt;br /&gt;
! colspan=&amp;quot;1&amp;quot;|32&lt;br /&gt;
| colspan=&amp;quot;32&amp;quot;|Метка времени&lt;br /&gt;
|- align=&amp;quot;center&amp;quot;&lt;br /&gt;
! 64&lt;br /&gt;
| colspan=&amp;quot;32&amp;quot;|SSRC-идентификатор&lt;br /&gt;
|- align=&amp;quot;center&amp;quot;&lt;br /&gt;
! 96, если CC&amp;gt;0&lt;br /&gt;
| colspan=&amp;quot;32&amp;quot;|[CSRC-идентификаторы]&lt;br /&gt;
|- align=&amp;quot;center&amp;quot;&lt;br /&gt;
! 96+(CC×32), если X=1&lt;br /&gt;
| colspan=&amp;quot;16&amp;quot;|[Заголовок расширения — определённое [[Профили данных RTP|профилем]] значение]&lt;br /&gt;
| colspan=&amp;quot;16&amp;quot;|[Заголовок расширения — количество блоков данных по 32 бита (EHL)]&lt;br /&gt;
|- align=&amp;quot;center&amp;quot;&lt;br /&gt;
! 96+(CC×32)+32&lt;br /&gt;
| colspan=&amp;quot;32&amp;quot;|[Заголовок расширения — блоки данных]&lt;br /&gt;
|- align=&amp;quot;center&amp;quot;&lt;br /&gt;
! 96+(CC×32)+X*(32+32×EHL)&lt;br /&gt;
| colspan=&amp;quot;32&amp;quot;|&amp;amp;nbsp;&amp;lt;br /&amp;gt;Данные&amp;lt;br /&amp;gt;&amp;amp;nbsp;&lt;br /&gt;
|- align=&amp;quot;center&amp;quot;&lt;br /&gt;
! если P=1&lt;br /&gt;
| colspan=&amp;quot;24&amp;quot; |Заполнение (Padding data)&lt;br /&gt;
| colspan=&amp;quot;8&amp;quot;|L&lt;br /&gt;
|}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
0-1   — &amp;#039;&amp;#039;&amp;#039;Ver&amp;#039;&amp;#039;&amp;#039;. (2 бита) указывает версию протокола. Текущая версия — 2. &amp;lt;br /&amp;gt;&lt;br /&gt;
2     — &amp;#039;&amp;#039;&amp;#039;P&amp;#039;&amp;#039;&amp;#039; (один бит) используется в случаях, когда RTP-пакет дополняется пустыми байтами на конце. &amp;lt;br /&amp;gt;&lt;br /&gt;
3     — &amp;#039;&amp;#039;&amp;#039;X&amp;#039;&amp;#039;&amp;#039; (один бит) используется для указания расширений протокола, задействованных в пакете. &amp;lt;br /&amp;gt;&lt;br /&gt;
4-7   — &amp;#039;&amp;#039;&amp;#039;CC&amp;#039;&amp;#039;&amp;#039; (4 бита) содержит количество CSRC-идентификаторов, следующих за постоянным заголовком. &amp;lt;br /&amp;gt;&lt;br /&gt;
8     — &amp;#039;&amp;#039;&amp;#039;M&amp;#039;&amp;#039;&amp;#039; (один бит) используется на уровне приложения и определяется профилем. Если это поле установлено, то данные пакета имеют какое-то особое значение для приложения. &amp;lt;br /&amp;gt;&lt;br /&gt;
9-15  — &amp;#039;&amp;#039;&amp;#039;PT&amp;#039;&amp;#039;&amp;#039; (7 бит) указывает формат полезной нагрузки и определяет её интерпретацию приложением. &amp;lt;br /&amp;gt;&lt;br /&gt;
64-95 — &amp;#039;&amp;#039;&amp;#039;SSRC&amp;#039;&amp;#039;&amp;#039; указывает источник синхронизации. &amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;EHL&amp;#039;&amp;#039;&amp;#039; (Extension Header Length) — количество 32-битных слов в блоке данных расширения заголовка. &amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;L&amp;#039;&amp;#039;&amp;#039; — последний байт в пакете, определяющий длину области заполнения в байтах (используется для выравнивания в последнем пакете).&lt;br /&gt;
&lt;br /&gt;
== Спецификация RTP ==&lt;br /&gt;
* [https://web.archive.org/web/20070926225101/http://www.rfc-editor.org/cgi-bin/rfcdoctype.pl?loc=STD&amp;amp;letsgo=64&amp;amp;type=http&amp;amp;file_format=txt STD 64. RTP: A Transport Protocol for Real-Time Applications. H. Schulzrinne, S. Casner, R. Frederick, V. Jacobson. July 2003.]&lt;br /&gt;
* [https://web.archive.org/web/20070926224937/http://www.rfc-editor.org/cgi-bin/rfcdoctype.pl?loc=STD&amp;amp;letsgo=65&amp;amp;type=http&amp;amp;file_format=txt STD 65. RTP Profile for Audio and Video Conferences with Minimal Control. H. Schulzrinne, S. Casner. July 2003.]&lt;br /&gt;
* [[rfc:3550|RTP: A Transport Protocol for Real-Time Applications]]&lt;br /&gt;
&lt;br /&gt;
== См. также ==&lt;br /&gt;
* [[Профили данных RTP]]&lt;br /&gt;
* [[SRTP]]&lt;br /&gt;
* [[ZRTP]]&lt;br /&gt;
* [[SCTP]]&lt;br /&gt;
&lt;br /&gt;
== Ссылки ==&lt;br /&gt;
* [http://www.cs.columbia.edu/~hgs/rtp/faq.html Ответы на часто задаваемые вопросы о протоколе RTP]{{ref|en}}&lt;br /&gt;
&lt;br /&gt;
== Примечания ==&lt;br /&gt;
{{примечания}}&lt;br /&gt;
* {{книга |заглавие=RTP |издательство=[[Addison-Wesley]] |год=2003 |страницы=414 |isbn=9780672322495 |ссылка=https://books.google.com/?id=OM7YJAy9_m8C |ref=Perkins |язык= |автор=Perkins, Colin}}&lt;br /&gt;
* {{книга |заглавие=Computer Networks |издательство=[[Morgan Kaufmann Publishers|Morgan Kaufmann]] |год=2007 |издание=4 |страницы=806 |isbn=9780123740137 |ссылка=https://books.google.com/?id=zGVVuO-6w3IC |ref=Peterson |язык= |автор=Peterson, Larry L.; Bruce S. Davie}}&lt;br /&gt;
* {{книга |издательство=Javvin Technologies |заглавие=Network Protocols Handbook |часть=RTP |ссылка часть=https://books.google.com/books?id=D_GrQa2ZcLwC&amp;amp;pg=PA144 |год=2005 |isbn=9780974094526 |язык=}}&lt;br /&gt;
* {{книга |издательство=Ministry of Human resources, India |заглавие=Broadband Networks |часть=RTP |ссылка часть=https://www.youtube.com/watch?v=OaL2vVFbCG4&amp;amp;feature=channel_page |год=2008 |язык=}}&lt;br /&gt;
&lt;br /&gt;
{{IPstack}}&lt;br /&gt;
&lt;br /&gt;
[[Категория:Сетевые протоколы]]&lt;br /&gt;
[[Категория:Протоколы VoIP]]&lt;/div&gt;</summary>
		<author><name>imported&gt;Gromolyak</name></author>
	</entry>
</feed>