Опубликован: 11.08.2008 | Уровень: специалист | Доступ: платный
Лекция 17:

Мультимедиа

Формат пакета RTP

Рис. 17.4. показывает формат заголовка RTP-пакета.

RTP формат заголовка пакета

Рис. 17.4. RTP формат заголовка пакета

Формат очень прост и в общем случае достаточен, чтобы покрыть все приложения реального времени. Приложение, которое нуждается в большей информации, дополняет его к началу полезной загрузки. Описание каждого поля приведено ниже.

  • Ver. Двухбитовое поле, определяющее номер версии. Текущая версия – 2.
  • P. Однобитовое поле. Если установлено в 1, то это указывает на наличие дополнения в конце пакета. В этом случае значение последнего байта в дополнении определяет длину дополнения. Дополнение – это норма, если пакет зашифрован. Дополнение отсутствует, если значение поля P равно 0.
  • X. Однобитовое поле. Если установлено в 1, то это указывает на заголовок дополнительного расширения между основным заголовком и данными.
  • Contributor Count (Счетчик вложений). Это 4-битовое поле, указывающее число вложений. Заметим, что мы можем иметь максимально 15 вложений, потому что 4-битовое поле позволяет нумерацию между 0 и 15.
  • M. Этот однобитовый маркер используется приложением, например, для указания окончания данных.
  • Payload Type (Тип нагрузки). Это 8-битовое поле указывает тип нагрузки. Далее определено несколько типов нагрузки. В таблице 17.1. перечислены несколько обычных приложений.
    Таблица 17.1. Типы полезной нагрузки
    Тип Приложение Тип Приложение Тип Приложение
    0 PCM м Audio 7 LPC audio 15 G728 audio
    1 1016 8 PCMA audio 26 Motion JPEG
    2 G721 audio 9 G722 audio 31 H.261
    3 GSM audio 10-11 L16 audio 32 MPEG2 video
    5-6 DV14 audio 14 MPEG audio 33 MPEG2 video
  • Sequence Number (Порядковый номер). Это поле 16 бит длиной. Оно использует RTP-пакеты. Последовательный номер первого пакета выбирается случайно; он возрастает на единицу при каждом последующем пакете. Последовательный номер используется приемником для определения потери или нарушения порядка пакетов.
  • Timestamp (Метка времени). Это поле длиной 32 бита, которое указывает временные соотношения между пакетами. Метка времени для первого пакета — случайное число. Для каждого последующего пакета это значение – сумма предшествующей метки времени плюс вырабатываемое (отсчитываемое) время первого байта. Значение моментов отсчета зависит от приложения. Например, аудиоприложения обычно генерируют куски по 160 байт; моменты отсчета для этого приложения – 160. Метки времени для этого приложения возрастают по 160 для каждого пакета RTP.
  • Synchronization Source Identifier (Идентификатор синхронизации источников). Если имеется только один источник, это 32-битовое поле определяет этот источник. Однако если имеется несколько источников, смеситель синхронизирует эти источники и вклады других источников. Значение идентификатора — случайное число, выбираемое источником. Протокол обеспечивает стратегию в случае конфликта (два источника начинают с одного и того же порядкового номера).
  • Contribution Identifier (Идентификатор вложений). Каждый из этих 32-битовых идентификаторов (максимально их 15) определяет источник. Если имеется более чем один источник во время сеанса, смеситель синхронизирует источник и остальные источники, имеющие вложения.

UDP-порт

Хотя RTP сам является протоколом транспортного уровня, RTP-пакет не инкапсулируется прямо в IP-дейтаграмму. Вместо этого RTP обрабатывается как прикладная программа и инкапсулируется в дейтаграмму UDP пользователя. Однако он не использует, как другие прикладные программы, заданный порт. Он задействует назначенный порт. Этот порт может быть выбран только с одним ограничением: номер порта должен быть четным номером. Следующий номер (нечетный) используется сопровождающим RTP, транспортным протоколом управления, работающим в реальном масштабе времени (Real-time Transport Control Protocol — RTCP).

RTCP

RTP позволяет только один тип сообщения, который переносит данные от источника к пункту назначения. Во многих случаях в сеансе имеется необходимость в других сообщениях. Эти сообщения управляют потоком и качеством передачи данных и позволяют получателю посылать обратное сообщение от источника к источнику. Транспортный протокол управления в реальном масштабе времени (RTCP) разработан для этих целей. RTCP имеет пять типов сообщений, показанных на рис. 17.5. Число рядом с каждым блоком определяет тип сообщения.

RTCP

Рис. 17.5. RTCP

Отчет передатчика

Отчет передатчика посылается периодически активным передатчиком по конференц-связи, чтобы передать отчет о статистике передачи и приема для всех RTP-пакетов, посланных в течение интервала. Этот отчет передатчика включает абсолютную метку времени, которая является числом секунд, протекших с полуночи января 1970 года. Абсолютная метка времени позволяет приемнику синхронизировать различные RTP-сообщения. Она особенно важна, когда передаются и аудио, и видео (аудио/видео-передачи используют разделенные относительные метки времени).

Отчет приемника

Отчет приемника – для пассивных участников, тех, которые не посылают RTP-пакеты. Отчет информирует передатчик и другие приемники о качестве обслуживания.

Сообщение описания источника

Источник периодически посылает сообщение описания источника, чтобы дать дополнительную информацию о самом себе. Эта информация может быть именем, электронным адресом, телефонным номером и адресом собственника или контроллера источника.

Сообщение отбоя

Источник посылает сообщение отбоя, чтобы закрыть поток. Оно позволяет источнику объявить, что он покидает конференцию. Хотя другой источник способен определить отсутствие источника, это сообщение есть прямое объявление. Оно очень полезно для смесителя.

Специальное прикладное сообщение

Специальное прикладное сообщение – это пакет для приложения, которое намерено использовать новые приложения (не определенные в системе). Он позволяет определение новых типов сообщений.

UDP-порт

RTCP, подобно RTP, не использует заданный UDP-порт. Выбранный UDP-порт должен быть с номером, идущим непосредственно после номера UDP-порта, который выбран для RTP. Он должен быть портом с нечетным номером.

Евгений Виноградов
Евгений Виноградов

Прошел экстерном экзамен по курсу перепордготовки "Информационная безопасность". Хочу получить диплом, но не вижу где оплатить? Ну и соответственно , как с получением бумажного документа?

Илья Сидоркин
Илья Сидоркин

Добрый день! Подскажите пожалуйста как и когда получить диплом, после сдичи и оплаты?????

Зарина Каримова
Зарина Каримова
Казахстан, Алматы, Гимназия им. Ахмета Байтурсынова №139, 2008
Akiyev Begench
Akiyev Begench
Беларусь, Полоцк, полоцкий государственный университет