- •«Томский политехнический университет»
- •Е.С. Чердынцев мультимедийные сети
- •Глава 1. Введение в мультимедиа
- •1.1. Классификация мультимедиа
- •1.2. Текст
- •1.3. Звук
- •1.4. Графика и анимация
- •1.5. Видео
- •1.6. Требования к передаче мультимедиа по сетям
- •1.6.1. Характеристики реального времени (ограничения на задержки и нестабильность)
- •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. Прямое исправление ошибок
- •10.1.1. Контроль четности
- •Глава 11. Контроль перегрузок
- •11.1. Необходимость контроля перегрузок
- •References
- •Multimedia networks
- •Published in author’s version
5.2. Структура пакета rtp
Формат пакета RTP показан на рис. 5.1. Он состоит из четырех основных частей:
обязательного RTP заголовка;
опционального расширения заголовка;
опционального заголовка данных (зависящего от формата данных);
самих данных.
Рис. 5.1. Формат пакета RTP
5.3. Проверка качества пакета
Так как RTP сессии обычно используют динамические пары портов, то очень важно определять, что полученный пакет действительно является пакетом RTP. На первый взгляд, эта задача не тривиальна, так как пакет не содержит обозначения протокола. Однако наблюдая последовательность полей заголовка в нескольких пакетах, можно быстро определить условие принадлежности пакета к RTP потоку.
Существует два типа таких тестов:
пакетная проверка, основанная на знании полей заголовка;
потоковая проверка, основанная на знании структуры полей заголовка.
Первый тип проверки больше подходит для проверки дефектных пакетов, но подразумевает дополнительную нагрузку на получателя данных. Выгоднее всего сначала провести проверку второго типа, и только потом для оставшихся пакетов проводить проверку первого типа.
Также возможно проводить проверку качества пакетов с помощью контрольных пакетов RTCP, но такая проверка влечет за собой задержки в передаче потока, что часто недопустимо.
5.4. Трансляторы и миксеры
В дополнение к нормальным конечным системам протокол RTP промежуточные обработчики, которые работают с потоком в процессе его передачи. Определены два класса таких обработчиков – трансляторы и миксеры.
Транслятором называется промежуточная система, работающая с RTP данными во время создания источника синхронизации и временной схемы потока данных. Примером являются системы, осуществляющие перекодировку между форматами без их смешивания, являясь мостом между разными транспортными протоколами или фильтрами этого потока. Трансляторы невидимы для конечных RTP систем, если у них нет предварительной информации о кодировке данных. Известные типы трансляторов:
Мосты (Bridges). Этот тип трансляторов не меняет кодировки данных, поэтому чаще всего не изменяет передаваемого потока. Примером являются различные межсетевые интерфейсы (gateways).
Транскодеры (Transcoders). Основная функция транскодеров – преобразование кодировки данных в соответствии со спецификой используемой сети.
Эксплодеры (Exploders). Эксплодеры (множители) из одного пакета делают несколько.
Мерджеры (Mergers). Из нескольких пакетов делают один.
Миксером называется промежуточная система, собирающая RTP пакеты из нескольких источников и генерирующая на их основе общий пакет, возможно с изменением кодировки данных. Так как временные характеристики входящих потоков обычно не синхронизированы, задача синхронизации ложится на миксер. Миксеры могут использовать буферы проигрывания для временного хранения данных потоков. Миксер имеет свой собственный SSRC, который он вставляет в формируемый пакет данных. Идентификаторы SSRC из входящих пакетов копируются в CSRC список выходного пакета. Пример системы с миксером приведен на рис. 5.2.
Рис. 4.3. Система с миксером (М) и пятью участниками сессии (A,B,X,Y,Z)
