WirelessBR |
WirelessBr é um site brasileiro, independente, sem vínculos com empresas ou organizações, sem finalidade comercial, feito por voluntários, para divulgação de tecnologia em telecomunicações |
|
Série de artigos sobre VoIP (4) |
||
José de Ribamar Smolka Ramos |
Série
de artigos sobre
VoIP
Quarto artigo - Parte 03
Série VoIP (4) – Dimensionamento VoIP (WAN)
(Continuação)
Parêntese 2: peculiaridades dos pacotes de voz:
Para a rede telefônica, cada chamada cursada ocupa um circuito por toda a sua duração, e um circuito representa 64 Kbps de tráfego. Quando tratamos de tráfego VoIP, entretanto, existem outros fatores a considerar para que seja possível determinar quantos Kbps e pps estão associados a cada chamada. Eles são:
a) Técnica de voice encoding utilizada;
b) Overhead dos protocolos de transporte, IP e (eventualmente) MPLS;
c) Overhead do link físico.
Quanto ao voice encoding, o tráfego de voz “empacotado” depende do tipo de vocoder[14] utilizado e do uso (ou não) de técnicas de supressão de silêncio (voice activity detection – VAD).
Cada voice payload transporta uma certo número de “fatias” do tempo de conversação, chamadas frames. O tamanho da voice payload e a quantidade de pps gerados pelos vocoders mais comuns, considerando seus bit rates nominais, duração do frame e quantidade de frames por payload, está apresentado na figura 4.
Vocoder |
Bit rate |
Frame |
Frames
por |
Payload |
pps |
G.711 |
64 |
10 |
1 |
80 |
100 |
2 |
160 |
50 |
|||
G.726 |
32 |
10 |
1 |
40 |
100 |
2 |
80 |
50 |
|||
G.729 |
8 |
10 |
1 |
10 |
100 |
2 |
20 |
50 |
|||
3 |
30 |
33 |
|||
G.723.1 |
5,3 |
30 |
1 |
20 |
33 |
6,3 |
30 |
1 |
24 |
33 |
|
Figura 4 – Voice payload e pps, por tipo de encoding |
A redução de pps
obtida pela utilização de VAD é variável, dependendo dos padrões de
conversação dos usuários. Numa estimativa conservadora, a utilização de VAD
reduz o pps em 35%.
O encapsulamento do voice payload é feito da seguinte forma:
- Primeiro ela é encapsulada por um protocolo simples de flow control chamado RTP[15] (real-time transport protocol), cujo header tem 8 bytes de tamanho.
- Cada pacote RTP (mais voice payload) é encapsulado em um pacote de transporte UDP, cujo header tem 12 bytes de tamanho.
- Cada pacote UDP (incluindo RTP e voice payload) é encapsulado em um pacote IP, com 20 bytes de header.
Então, o overhead total devido aos protocolos de aplicação, transporte e rede é de 40 bytes para cada voice payload. Mas, para definir quantos bytes serão efetivamente transportados no link, temos que considerar duas características adicionais:
- Se o link utilizar cRTP, o overhead dos protocolos RTP, UDP e IP fica reduzido a 4 bytes, por causa da compressão.
- Se o link utilizar MPLS, o overhead dos protocolos RTP, UDP e IP (considerando o efeito do cRTP, se for o caso) aumenta em 4 bytes.
Resumindo, o tamanho do pacote que vai ser entregue ao link físico é igual a:
packet size = voice payload do encoding utilizado + overhead RTP/UDP/IP
E o overhead RTP/UDP/IP é definido pelo fluxograma da figura 5.
Figura 5 – Overhead dos protocolos RTP/UDP/IP
Finalmente, o frame físico que será transmitido (não confundir com os frames de voz) também impõe o overhead de um header (e, a depender do tipo de link, também um trailer) sobre cada pacote de dados transmitido:
- Links Ethernet (IEEE 802.3) – 14 bytes.
- Links seriais com encapsulamento PPP – 6 bytes.
- Links seriais com encapsulamento frame-relay – 4 bytes.
Então, o tamanho total do frame físico transmitido (em bytes) será:
frame físico = packet size + overhead físico
Para determinar o volume do tráfego em Kbps, faça o seguinte:
a) Obtenha os valores de voice payload e pps característicos para o encoding utilizado (ver figura 4). Se for utilizado VAD, multiplique o valor do pps encontrado por 0,65 (conservador);
b) Usando o tamanho da voice payload do passo (a) e considerando as características do link (cRTP, MPLS, tipo), Calcule o tamanho do frame físico e multiplique por 8 (para converter para tamanho em bits);
c) Multiplique o resultado do passo (b) pelo valor de pps encontrado no passo (a) e divida por 1000.