Принципы организации IP-телефонии на базе решений Cisco Systems

Инкапсуляция голосовых данных и расчет пропускной способности канала


Голос для передачи по сети сначала попадает на вход цифрового сигнального процессора DSP (Digital Signal Processor), где он порциями кодируется определенным кодеком. Выход с DSP инкапсулируется в PDU (единица данных протокола — фреймы, пакеты) и передается по сети.

При доставке данных реального времени, таких как голос, метод определения PDU, несущих голос, является необходимым. Если обнаруживается такой PDU, можно применить механизмы ускорения его передачи.

Технология VoFR (Voice over Frame Relay — передача голоса по каналам Frame Relay) использует специальный заголовок FRF.11 (). Этот заголовок занимает, как минимум, три байта и служит для определения типа данных, которые содержатся во фрейме. Устройства VoATM (Voice over ATM — передача голоса по каналам ATM) используют такой же заголовок.

Рис. 1. Поля, отвечающие за пометку приоритета

Пропускная способность канала, занимаемого одним голосовым звонком, зависит от следующих компонентов:

  • используемый кодек;
  • размер полезной нагрузки в пакете;
  • размер служебной информации в пакете.

Различные кодеки (сокращение от "кодер-декодер" — компонент системы, обеспечивающий сжатие и распаковку определенных данных) требуют разную полосу пропускания:

Кодек

Технология сжатия

Битрейт кодека (Кб/с)G.711PCM64G.726ADPCM16, 24, 32G.728LDCELP16G.729CS-ACELP8G.729ACS-ACELP8

Занимаемую полосу пропускания можно вычислить, основываясь на битрейте (число битов потока, передаваемых за секунду; основная характеристика видео- или аудиопотока при сжатии) кодека, издержке пакетизации и размере полезной нагрузки в пакете.

Размер полезной нагрузки зависит от размера голосового сэмпла (звукового файла), который является величиной конфигурируемой и непосредственно влияет на требуемую полосу пропускания. Голосовой сэмпл — это выход с процессора DSP, инкапсулирующийся в PDU. Cisco использует DSP, обрабатывающие по 10 мс голоса. Оборудование Cisco по умолчанию инкапсулирует в PDU 20 мс голоса вне зависимости от используемого кодека. Это значение можно изменить, но при его увеличении требуемая полоса пропускания уменьшается, что может привести к увеличению переменных задержек (так называемых джиттеров — jitter) и появлению ощутимых разрывов в звучании, если пакет не дойдет до пункта назначения.

Размер сэмпла в байтах рассчитывается по формуле:


где


  • Bytes_per_sample — размер сэмпла в байтах,
  • Sample_size — размер сэмпла в секундах,
  • Codec_bandwidth — битрейт используемого кодека.


Для вычисления полосы пропускания канала, занимаемой одним звонком, используется следующая формула:

Total_bandwidth=(Layer2_overhead+IP_UDP_overhead+Sample_size) / Sample_size*Codec_speed,

где


  • Layer2_overhead — объем служебной информации протокола канального уровня в байтах,
  • IP_UDP_RTP_overhead — размер заголовков протоколов IP, UDP и RTP в байтах,
  • Sample_size — размер сэмпла в байтах,
  • Codec_speed — битрейт используемого кодека.


Приведем примеры полосы пропускания, занимаемой одним звонком, при использовании кодеков G.711 и G.729 и различных размерах сэмплов. В качестве протоколов канального уровня возьмем Frame Relay и Ethernet II.

Размер служебной информации при использовании Ethernet II составляет 18 байт (6 байт — адрес назначения, 6 байт — адрес источника, 2 байта — тип, 4 — контрольная сумма); при использовании Frame Relay — 6 байт (2 байта — DLCI, 2 — FRF.12, 2 — контрольная сумма). Заголовки IP, UDP и RTP без компрессии занимают 40 байт (20 IP, 8 UDP, 12 RTP). Таким образом получаем распределение, представленное в Таб. 1.


Содержание раздела