RTP

Материал из Википедии — свободной энциклопедии

Перейти к: навигация, поиск

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

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

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

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

Содержание

[править] Структура пакета

+ Биты 0-1 2 3 4-7 8 9-15 16-31
0 Ver. P X CC M PT Порядковый номер
32 Метка времени
64 SSRC-идентификатор
96 … CSRC-идентификаторы …
96+(CC×32) Дополнительный заголовок (необязательный), содержит длину блока данных — «AHL»
96+(CC×32)
+ (X×(AHL+16))
 
Данные
 

Ver. (2 бита) указывает версию протокола. Текущая версия — 2. P (один бит) используется в случаях, когда RTP-пакет дополняется пустыми байтами на конце. X (один бит) используется для указания расширений протокола, задействованных в пакете. CC (4 бита) содержит количество CSRC-идентификаторов, следующих за постоянным заголовком. M (один бит) используется на уровне приложения и определяется профилем. Если это поле установлено, то данные пакета имеют какое-то особое значение для приложения. PT (7 бит) указывает формат полезной нагрузки и определяет её интерпретацию приложением. SSRC указывает источник синхронизации.

[править] Спецификация RTP

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


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

SRTP ZRTP

Источник — «http://ru.wikipedia.org/wiki/RTP»