- •«Томский политехнический университет»
- •Е.С. Чердынцев мультимедийные сети
- •Глава 1. Введение в мультимедиа
- •1.1. Классификация мультимедиа
- •1.2. Текст
- •1.3. Звук
- •1.4. Графика и анимация
- •1.6.1. Характеристики реального времени (ограничения на задержки и нестабильность)
- •1.5. Видео
- •1.6. Требования к передаче мультимедиа по сетям
- •1.6.2. Требование высокой пропускной способности
- •1.6.3. Требования к ошибкам
- •1.6.4. Поддержка мультикаста
- •1.6.5. Управление сессиями
- •1.6.6. Безопасность
- •1.6.7. Поддержка мобильности
- •Глава 2. Поддержка распределенного мультимедиа трафика в Интернете
- •2.1. Поддержка трафика реального времени в Интернете
- •2.1.1. Задержки при обработке пакетов
- •2.1.2. Задержки при передаче пакетов
- •2.1.3. Задержка передачи
- •2.1.4. Задержки маршрутизации и обработки очередей
- •2.2. Требование высокой пропускной способности
- •2.3. Ошибки характеристик сети
- •2.4. Предлагаемые модели сервисов Интернет
- •2.4.1. Уточнение требований к сервисам и описанию трафика
- •2.4.2. Управление доступом
- •2.4.3. Управление трафиком
- •2.4.4. Классификация пакетов
- •2.4.5. Планирование пакетов
- •2.4.6. Потеря пакетов
- •2.4.7. Маршрутизация на основе QoS
- •2.5. Интегрированные сервисы
- •2.5.1. Классы гарантированного обслуживания
- •2.5.2. Сервис управления загрузкой
- •2.5.3. Сервис негарантированной доставки
- •2.5.4. Недостатки модели Intserv для Интернета
- •2.6. Дифферецированный сервис
- •2.6.1. Per Hop Behavior
- •2.7. Мультипротокольная коммутация по меткам
- •Глава 3. Расширение стека протоколов tcp/ip для поддержки функциональных требований распределенных мультимедийных приложений
- •3.1. Поддержка мультикаста
- •3.2. Управление сессиями
- •3.3. Безопасность
- •3.4. Мобильность
- •3.6. Session Initiation Protocol
- •Глава 4. Введение в rtp
- •4.1. Базовые принципы rtp
- •4.2. Стандартные элементы rtp
- •4.3. Связанные с rtp стандарты
- •Глава 5. Описание протокола rtp
- •5.1. Сессии rtp
- •5.2. Структура пакета rtp
- •5.3. Проверка качества пакета
- •5.4. Трансляторы и миксеры
- •Глава 6. Описание протокола rtсp
- •6.1. Компоненты rtcp
- •6.2. Передача пакетов rtcp
- •6.3. Формат пакетов rtcp
- •6.4. Безопасность и конфиденциальность
- •6.5. Проверка корректности данных
- •6.6. База данных участников сессии
- •6.7. Управление характеристиками времени
- •6.7.1. Отчетные интервалы
- •6.7.2. Базовые правила передачи
- •6.7.3. Процедура пересмотра вперед
- •6.7.4. Процедура пересмотра назад
- •6.7.5. Пересмотр пакетов bye
- •6.7.6. Общие проблемы реализации
- •Глава 7. Захват мультимедиа, проигрывание и управление характеристиками времени
- •7.1. Поведение отправителя
- •7.2. Захват мультимедиа и сжатие
- •7.2.1. Захват и сжатие звука
- •7.2.2. Захват и сжатие изображения
- •7.2.3. Использование предварительно записанной информации
- •7.3. Генерация пакетов rtp
- •7.3.1. Метки времени и модель времени rtp
- •7.3.2. Фрагментация
- •7.3.3. Заголовки, зависящие от формата данных
- •7.4. Поведение получателя
- •7.5. Получение пакетов
- •7.5.1. Получение пакетов данных
- •7.5.2. Получение управляющих пакетов
- •7.6. Буфер проигрывания
- •7.7. Декодирование, смешивание и проигрывание
- •7.7.1. Декодирование
- •7.7.2. Смешивание звука
- •Глава 8. Синхронизация звука и изображения
- •8.1. Поведение отправителя
- •8.2. Поведение получателя
- •8.3. Точность синхронизации
- •Глава 9. Компенсация ошибок
- •9.1. Компенсация потерь звука
- •9.1.1. Измерение качества звука
- •9.1.2. Замещение периодами тишины
- •9.1.3. Замещение шума
- •Глава 10. Исправление ошибок
- •10.1. Прямое исправление ошибок
- •Глава 11. Контроль перегрузок
- •11.1. Необходимость контроля перегрузок
- •10.1.1. Контроль четности
- •References
- •Multimedia networks
- •Published in author’s version
Глава 6. Описание протокола rtсp
Протокол RTP состоит из двух частей: протокола передачи данных, изложенного в предыдущей главе, и соответствующего ему управляющего протокола, который и рассматривается ниже. Управляющий протокол RTCP обеспечивает периодическую отчетность о качестве принятых данных, идентификацию получателей, извещение об изменении состава участников сессии, а также получение информации, необходимой для синхронизации потоков.
6.1. Компоненты rtcp
Реализация RTCP включает три части: форматы пакетов, временные правила и базу данных участников.
Пять стандартных форматов пакетов и правила управления частотой их пересылки будут описаны позже.
Каждое изменение отображается в базе данных участников сессии на основе информации, получаемой из пакетов RTCP. Эта база используется для составления периодических отчетов о качестве принятой информации и для синхронизации звука и изображения. Более детально эта тема будет описана в дальнейших разделах учебного пособия.
6.2. Передача пакетов rtcp
Каждая сессия RTP идентифицируется сетевым адресом и парой портов (для передачи пакетов RTP и RTCP). Порт RTP имеет четный номер, а номер порта RTCP на единицу больше. Например, если данные передаются по протоколу на порт 5004, контрольный канал будет работать по порту 5005.
Все участники сессии посылают свои пакета RTCP и получают их от других участников. Отметим, что информация обратной связи посылается всем участникам сессии, либо индивидуально с использованием транслятора, либо сразу всем в режиме мультивещания. В результате каждый участник сессии имеет полную информацию о других участниках: их присутствии, качестве приема и опционально – персональные данные, такие как имя, адрес электронной почты, местоположение и телефон.
6.3. Формат пакетов rtcp
Спецификацией RTCP определены пять стандартных форматов:
отчет получателя RR (Receiver Report);
отчет отправителя SR (Sender Report);
описание источника SDES (Source DEScription);
управление участниками BYE;
определяемый приложением APP.
Все эти форматы имеют общую структуру, показанную на рис. 6.1, хотя заносимая в поля информация отличается для каждого типа формата.
Рис. 6.1. Структура стандартного формата пакета RTCP
Заголовок пакета длиной 4 байта содержит 5 полей:
номер версии V (Version number), обычно равен 2;
дополнение P (Padding). Этот бит служит индикатором сделанной операции дополнения. Если он равен 1, то к концу пакета добавлен один или несколько дополнительных байтов, в последнем из которых записано их количество;
количество элементов IC (Item count). В каждый пакет может быть включено до 31 элемента. Если число элементов больше, они делятся на несколько пакетов. Те типы пакетов, которым не нужна данная информация, могут использовать это поле для других целей;
тип пакета PT (Packet type). Один из пяти стандартных типов;
длина пакета (Length), следующего за заголовком (в 32-битных единицах).
Пакеты RTCP никогда не передаются поодиночке, они всегда группируются перед передачей, формируя составные пакеты. Каждый составной пакет включает один пакет нижнего уровня (чаще всего UDP/IP) для транспортировки. Если составной пакет должен быть зашифрован, группа RTCP пакетов предваряется случайным 32-битным целым. Структура составного пакета изображена на рис. 5.2. Правила формирования групп пакетов RTCP будут изложены в соответствующем разделе.
Рис. 5.2. Структура составного пакета RTCP
