ћерион Ќетворкс

 огда мы, разговарива€ по IP телефону, слышим голос собеседника в трубке, или, использу€ систему видеоконференцсв€зи, общаемс€ со своими коллегами и родственниками, то обмениваемс€ непрерывным потоком данных. ѕри передаче потоковых данных, таких как голос и видео через пакетную сеть, очень важно использовать такие механизмы, которые решали бы следующие задачи:

  • ”странение эффекта потери пакетов
  • ¬осстановление пор€дка и контроль поступлени€ пакетов
  • —глаживание эффекта задержки (джиттера)

»менно дл€ этих целей был разработан RTP (Real-time Transport Protocol) - протокол передачи в реальном времени, о котором пойдет речь в сегодн€шней статье. ѕротокол разрабатывалс€ в IETF группой Audio-Video Transport Working Group и описываетс€ в рекомендации RFC 3550.

 ак правило, RTP работает поверх протокола UDP (User Datagram Protocol), так как при передаче мультимедийных данных очень важно обеспечить их своевременную доставку.

RTP включает возможность определени€ типа полезной нагрузки и назначени€ последовательного номера пакета в потоке, а также применение временных меток.

Ќа передающей стороне каждый пакет помечаетс€ временной меткой, принимающа€ сторона получает ее и определ€ет суммарную задержку, после чего вычисл€етс€ разница в суммарных задержках и определ€етс€ джиттер. “аким образом, по€вл€етс€ возможность установить посто€нную задержку выдачи пакетов и тем самым снизить вли€ние джиттера.

≈щЄ одна функци€ RTP св€зана с возможными потер€ми пакетов при прохождении по IP сети, что выражаетс€ в по€влении кратковременных пауз в разговоре. ¬незапна€ тишина в телефонной трубке, как правило, очень негативно действует на слушател€, поэтому возможност€ми протокола RTP такие периоды тишины заполн€ютс€, так называемым,Укомфортным шумомФ

RTP работает в св€зке с еще одним протоколом IETF, а именно RTCP (Real - time Transport Control Protocol), который описываетс€ в RFC 3550. RTCP предназначен дл€ сбора статистической информации, определени€ качества обслуживани€ QoS (Quality of Service), а также дл€ синхронизации между медиа потоками RTP-сессии.

ќсновна€ функци€ RTCP Ц установление обратной св€зи с приложением дл€ отчета о качестве получаемой информации. ”частники RTCP сессии обмениваютс€ сведени€ми о числе полученных и утраченных пакетов, значении джиттера, задержке и т.д. Ќа основе анализа этой информации принимаетс€ решение об изменении параметров передачи, например, дл€ уменьшени€ коэффициента сжати€ информации с целью улучшени€ качества ее передачи.

ƒл€ выполнени€ этих функций RTCP передает специальные сообщени€ определенных типов:

  • SR - Sender Report - отчЄт источника со статистической информацией о RTP сессии
  • RR - Receiver Report - отчЄт получател€ со статистической информацией о RTP сессии
  • SDES - содержит описание параметров источника, включа€ cname (им€ пользовател€)
  • BYE Ц »нициирует завершение участи€ в группе
  • APP - ќписание функций приложени€

RTP €вл€етс€ протоколом однонаправленного действи€, поэтому дл€ организации двусторонней св€зи необходимо две RTP сессии, по одной с каждой стороны.

RTP-сесси€ определ€етс€ IP адресами участников, а также парой незарезервированных UDP портов из диапазона 16384 - 32767.  роме того, дл€ организации обратной св€зи с приложением необходимо также установить двустороннюю RTCP сессию. ƒл€ RTCP сессии занимаютс€ порты с номером на единицу большим чем RTP. “ак например, если дл€ RTP выбран 19554 порт, то RTCP сесси€ займет 19555 порт. Ќагл€дно формирование RTP/RTCP сессии представлено на рисунке ниже.

ѕротокол RTP

—тоит также отметить, что сам протокол RTP не имеет механизмов дл€ самосто€тельного установлени€ сессии, эта задачу выполн€ют протоколы сигнализации, такие как SIP,H.323,SCCP , которые мы подробно рассматривали в предыдущих стать€х.


ѕолезна ли ¬ам эта стать€?

–аз в неделю мы отправл€ем дайджест с самыми интересными стать€ми.

P.S. ≈сли укажите свою дату рождени€, то мы об€зательно ¬ас поздравим и подарим небольшой подарок :)

Ќажима€ на кнопку "ѕодписатьс€", вы даете согласие на обработку своих персональных данных