- •«Томский политехнический университет»
- •Е.С. Чердынцев мультимедийные сети
- •Глава 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
3.6. Session Initiation Protocol
SIP является сигнальным протоколом уровня приложений, предназначенным для создания, модификации и завершения сессий мультимедиа (звуковых, видео или передающих данные) с одним или несколькими участниками [31][25][33]. SIP не определяет содержания сессии, оно зависит от передаваемого контента, недоступного для сообщений SIP. Для установки соединения в мультимедийной сессии SIP выполняет следующие этапы:
Инициализация сессии (Session Initiation). Начало сессии, возможно, самая сложная ее часть, так как обычно она требует определения, где пользователь находится на текущий момент: дома или на работе. SIP позволяет пользователю находиться в любом месте, но требует указания его глобального адреса (как правило, адреса электронной почты), который не зависит от его местонахождения.
Доставка описания сессии (Delivering session description). Второй функцией SIP является описание сессии, предлагаемой пользователю. Наиболее распространенным протоколом, используемым для этой цели, является Session Description Protocol (SDP).
Управление активной сессией (Active Session management). После отправки описания сессии SIP передает запрос на запуск сеанса соответствующему узлу сети. Если получен ответ "Принять", сессия становится активной. Если сессия включает в себя мультимедийные компоненты, потоки мультимедиа могут передаваться между двумя пользователями. Для транспортировки данных в реальном времени используются протоколы RTP и RTCP. SIP может быть использован также для изменения параметров активного сеанса (удаление некоторых потоков видео, снижения качества потока аудио и т.д.).
Завершение сессии (Session Termination). При окончании сеанса SIP используется для завершения текущей сессии.
Таким образом, SIP является только сигнальным протоколом и должен использоваться совместно с протоколами типа SDP, RTP, RTCP и т.п. для обеспечения полной архитектуры мультимедийного сервиса в соответствии с H.323. Отметим, что функциональность и действия SIP не зависят от других протоколов.
Сигнальная система SIP состоит из следующих элементов:
Пользовательские агенты (User Agents): элемент системы, действующий от имени конечного пользователя. User-Agent Client (UAC) инициирует запросы SIP, в то время как User-Agent Server (UAS) получает такие запросы и возвращать ответы.
Сетевые серверы (Network Servers): существует три типа сетевых серверов:
Сервер регистрации: отслеживает местоположение пользователей.
Прокси-сервер: маршрутизатор уровня приложений, получающий запрос SIP и пересылающий его на следующий сервер.
Перенаправляющий сервер: получает запросы и возвращает местоположение другого пользовательского агента SIP или сервера, на котором пользователь может быть найден.
Часто все три типа серверов реализуются в единой программе.
SIP основан на модели передачи запрос-ответ типа HTTP. Каждая транзакция состоит из запроса, который вызывает конкретный метод или функцию на сервере, получая по крайней мере один ответ. Как и для HTTP, все запросы и ответы используют текстовое представление. Некоторые команды и ответы SIP, а также их использование, отражены в таблице 3.3.
Table 3.3
Команды и ответы SIP
Метод |
Использование |
INVITE |
Приглашение пользователя |
ACK |
Обмен приглашениями |
BYE |
Завершение сеанса между двумя точками |
CANCEL |
Завершение поиска пользователя |
OPTIONS |
Получение информации о параметрах вызова |
REGISTER |
Получение информации о местоположении пользователя для сервера регистрации SIP. |
Формат сообщения для SIP показан на рис. 3.3. Тело сообщения отделено от заголовка пустой строкой. Поле ‘Via’ содержит хост и порт, от которого ожидается ответ. Когда сообщение SIP проходит через множество прокси-серверов, каждый прокси-сервер добавляет свой адрес и порт в это сообщение. Это дает возможность получателю отправить ответ через те же прокси-серверы. Поля ‘From’ и ‘To’ специфицируют SIP URI отправителя и получателя приглашения, обычно в виде адреса электронной почты. Поле ‘call-Id’ содержит глобальный уникальный идентификатор этого вызова. Поля ‘Content-Length’ и ‘Content-Type’ поясняют содержимое тела сообщения SIP.
Рис. 3.3: Типичная сессия SIP
На рис. 3.3 приведен простой пример, в котором отражается суть операций SIP. Вызывающий клиент приглашает участников на сессию. Клиент SIP создает приглашение INVITE для callee@uic.edu, которое посылается на прокси-сервер (Шаг 1). Этот прокси-сервер пытается получить IP-адрес сервера SIP, который управляет запросами в данном домене. Прокси-сервер консультируется с Location Server для определения следующего сервера (Шаг 2). Location server не является сервером SIP и запоминает информацию о следующих серверах для разных пользователей, возвращая адрес IP найденного участника (Шаг 3). Получив этот адрес, прокси-сервер пересылает приглашение INVITE (Шаг 5) машине-хосту. При достижении UAS (User Agent Server), передается ответ OK на прокси-сервер (Шаг 8), предполагая, что запрос принят. Прокси-сервер посылает OK клиенту (Шаг 9). Клиент подтверждает получение ответа, посылая сообщение ACK (Шаг 10). После этого между двумя клиентами устанавливается сессия мультимедиа. В конце этой сессии принимающий клиент посылает сообщение BYE посылающему клиенту(Шаг 11), который завершает сессию другим сообщением BYE (Шаг 12).
