- •«Томский политехнический университет»
- •Е.С. Чердынцев мультимедийные сети
- •Глава 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
Глава 4. Введение в rtp
В этой главе рассматривается протокол RTP, начиная с положенных в его основу базовых принципов и используемых стандартов. В конце главы рассматриваются возможные пути развития RTP и соответствующих ему стандартов.
4.1. Базовые принципы rtp
Перед создателями протокола RTP стояла задача разработки механизма надежной доставки мультимедийной информации по ненадежным сетям. Они достигли этой цели на основе двух принципов: фрагментирования информации на уровне приложений и принципа конечных точек.
Фрагментирование информации на уровне приложений позволяет учитывать специфику передаваемой информации и, как следствие, уменьшать число ошибок передачи. Только приложение может оценить существенность возникшей ошибки и принять решение о необходимости повторной пересылки фрагмента или другого способа устранения обнаруженной ошибки.
Что касается принципа конечных точек, то он означает, что ответственность за надежность передачи информации возлагается на ее отправителя и получателя, но не на промежуточные пункты маршрута передачи. Такой подход позволяет значительно упросить механизм передачи данных для промежуточных пунктов, исключая операции обнаружения и исправления ошибок передачи.
4.2. Стандартные элементы rtp
Стандарт RTP был опубликован в январе 1996 года (RFC 1889). Протокол состоит из двух частей – протокола передачи данных и связанного с ним протокола управления. Первый отвечает за доставку данных реального времени между конечными пунктами маршрута. Он включает порядковый номер пакета для предотвращения потерь пакетов, метку времени для восстановления временных характеристик, SSRC- и CSRS-идентификаторы, маркер существенных событий в передаваемом потоке. В деталях протокол будет рассмотрен позже.
Протокол управления RTP (RTP control protocol – RTCP) обеспечивает получение информации о качестве принимаемых данных и идентификаторе получателя, а также синхронизацию потоков. Более детально протокол RTCP также будет обсуждаться в дальнейших главах.
Отметим ограничения, вводимые протоколом RTP. Во-первых, стандарт не определяет алгоритмов проигрывания аудио или видео данных, восстановления временных характеристик, синхронизации между мультимедиа потоками, обнаружения и устранения ошибок, контроля перегрузок сети. Все это остается в сфере деятельности разработчика приложения, а так как разные приложения предъявляют разные требования в этой области, то стандартизировать их было бы ошибкой.
Во-вторых, некоторые характеристики передачи остаются открытыми и могут отражать специфику формата передаваемых данных (единица временной шкалы, отметки различных событий в рамках передаваемого потока и т.д.).
Протокол RTP также определяет формат передаваемых данных (payload format), ссылка на который есть в профиле RTP (RTP profile). Профиль может задавать некоторые общие свойства используемых форматов данных. В целом данная структура позволяет работать с различными кодеками, используемыми для сжатия передаваемой информации.
Кроме всего перечисленного, существуют форматы передаваемых данных, содержащие схемы коррекции данных. Эта тема также будет детально рассмотрена в следующих главах учебного пособия.
В заключение отметим, что элементами формата RTP могут быть два опциональных элемента: сжатие заголовка (header compression) и мультиплексирование (multiplexing).
