Для уменьшение значений джиттера и средней задержки на канальном и сетевом уровнях применяются методы, гарантирующие пользователю заданный уровень качества: RSVP, MPLS, Diff-Serv, ATM и др. Эти механизмы улучшают качество услуг, предоставляемых сетью, но не могут полностью устранить образование очередей в сетевых устройствах. Компенсировать негативное влияние джиттера позволяет разработанный IETF протокол прикладного уровня RTP (Real-time Transport Protocol), который используется технологиями Н.323 и SIP.
Протокол RTP (RFC 1889) предназначен для доставки чувствительной к задержкам информации с использованием сетевых служб одноадресной или групповой рассылки. Он не имеет собственных механизмов, гарантирующих своевременную доставку пакетов или другие параметры качества услуг - это осуществляют протоколы нижележащих уровней. Он даже не обеспечивает все те функции, которые обычно предоставляют транспортные протоколы, в частности, функции по исправлению ошибок или управлению потоком. Обычно RTP работает поверх UDP и использует его службы, но может функционировать и поверх других транспортных протоколов (рисунок 5.10).
Рисунок 5.10 - Стек протоколов H.323
Служба RTP предусматривает указание типа полезной нагрузки и последовательного номера пакета в потоке, а также применение временных меток. Отправитель помечает каждый RTP-пакет временной меткой, а получатель извлекает ее и вычисляет суммарную задержку. Разница в задержке пакетов позволяет определить джиттер и смягчить его влияние - все пакеты будут выдаваться приложению с одинаковой задержкой.
Таким образом, главная особенность RTP состоит в том, что он вычисляет среднюю задержку некоторого набора принятых пакетов и выдает этот набор пользовательскому приложению с постоянной задержкой, равной вычисленному среднему значению. Однако следует иметь ввиду, что временная метка RTP соответствует моменту кодирования первого дискретного сигнала пакета. Поэтому, если RTP-пакет, например, с видеоинформацией, разбивается на несколько пакетов нижележащего уровня, то временная метка уже не будет соответствовать истинному времени их передачи, поскольку они перед передачей могут быть помещены в очередь.
Еще одно преимущество RTP состоит в том, что его можно использовать совместно с RSVP для передачи синхронизированной мультимедиа информации с определенным уровнем качества обслуживания. Речевая информация передается по Internet в незашифрованном виде. Поэтому любой узел, находящийся на пути следования данных, может подключиться к этой линии и прослушать ваш разговор. Чтобы решить эту проблему, в RTP предлагается механизм, до некоторой степени обеспечивающий защиту от несанкционированного доступа и конфиденциальность. Эти средства довольно ненадежны и могут рассматриваться лишь как временное решение проблемы - пока протоколы, поверх которых работает RTP, не будут располагать развитыми механизмами безопасности данных.
Возможности RTP можно расширить, объединив его с еще одним протоколом IETF, а именно - с протоколом управления передачей в реальном времени (Real-time Transport Control Protocol, RTCP). С помощью RTCP контролируется доставка RTP-пакетов и обеспечивается обратная связь с передающей стороной и другими участниками сеанса. Протокол RTCP периодически рассылает свои управляющие пакеты, используя тот же механизм распределения, какой применяется и для RTP-пакетов с пользовательской информацией.
Основной функцией RTCP является организация обратной связи с приложением для отчета о качестве получаемой информации. RTCP передает сведения (как от приемника, так и от отправителя) о числе переданных и потерянных пакетов, значении джиттера, задержке и т.д. Эта информация может быть использована отправителем для изменения параметров передачи, например, для уменьшения коэффициента сжатия информации с целью улучшения качества ее передачи. RTCP также предусматривает идентификацию пользователей-участников сеанса.
При всех своих достоинствах протокол RTP далеко не совершенен. Например, протокол никак не способен повлиять на задержку в сети, но он помогает сократить дрожание звука в процессе воспроизведения при наличии задержек. Пакеты UDP получают порядковые номера, благодаря чему принимающая станция может установить факт потери пакетов. В RTP нет механизмов для восстановления потерянных пакетов.
Один из способов расширения возможностей RTP состоит в использовании его совместно с протоколом RSVP, который официально не входит в комплект протоколов Н.323, но поддерживается многими приложениями реального времени.