6 de abril de 2009

Método simplificado para el cálculo de ancho de banda para VoIP

Un punto fundamental en el diseño de redes o rediseño de redes existentes para el transporte de voz sobre IP (VoIP), es el cálculo del ancho de banda necesario para la prestación adecuada del servicio.
El requerimiento del ancho de banda necesario en un enlace para el transporte de voz paquetizada sobre IP es el resultante de 2 factores:
  • El número de llamadas concurrentes.
    Se suele denominar "llamadas concurrentes" a la estimación de la cantidad máxima de llamadas simultáneas que se podrán cursar sobre un enlace.
    Esta estimación debe considerar tanto la cantidad actual de llamadas telefónicas simultáneas entre diferentes puntos, como el posible margen de crecimiento y las políticas de la organización al respecto.
  • El requerimiento de ancho de banda para cursar cada conversación telefónica.
    Cuando se implementa voz sobre IP se asume un conjunto de elecciones que impactan en ese requerimiento: CODEC, opciones de compresión, enlaces sobre los que se rutearán las llamadas, etc.
Para desarrollar el método, apelaré como otras veces a un ejemplo que nos permita comprenderlo más fácilmente.

Paso 1 - Calcular el tamaño de las tramas de voz.
Para esta tarea, podemos utilizar el siguiente procedimiento:
  • Este parámetro es el resultado del CODEC utilizado, que da como resultado el tamaño de la porción de datos. A esto debe sumarse el tamaño de los encabezados de capa 4, capa 3 y capa 2.

    Tamaño de trama = Payload + Enc. 4 + Enc. 3 + Enc. 2

    Por ejemplo, las tramas obtenidas al utilizar G.729 tienen una longitud de 20 Bytes, a eso debemos sumarle los encabezados RTP, UDP e IP necesarios, que son 40B adicionales, y luego el encabezado de capa de enlace, que suponiendo que se trata de una trama PPP agrega 6B.

    Tamaño de trama = 20B + 40B + 6B = 66B

  • Dado el peso del encabezado en el tamaño de la trama a transmitir, en enlaces de bajo ancho de banda (menos de 768 Kbps) es conveniente aplicar compresión de los encabezados de capa 3 y capa 4, lo que se suele denominar compresión de RTP (cRTP). Esto reduce esos 40B iniciales a 2 o 4B. De este modo nuestro cálculo queda:

    Tamaño de trama = 20B + 2B + 6B = 28B

  • A fin de continuar el cálculo, es necesario convertir el tamaño expresado en Bytes a bits (1B = 8b):

    28 Bytes x 8 bits/Byte = 224 bits/trama
Paso 2 - Calcular el ancho de banda requerido por una llamada.
  • Los CODECs actualmente utilizados para la digitalización de voz (G.711, G.728, G.728) generan 50 tramas por segundo.
  • Para calcular el ancho de banda requerido para cada llamada debemos multiplicar el tamaño de cada trama por la cantidad de tramas que se envían por segundo:

    BW/llamada = tamaño de la trama x tramas por segundo

    BW/llamada = 224 bits/trama x 50 tramas/seg. = 11200 bps/llamada
Paso 3 - Calcular el ancho de banda requeridod en la implementación.
  • Se debe considerar el número de llamadas concurrentes, y multiplicar el ancho de banda requerido para cada llamada por el número de llamadas concurrentes.

    BW requerido = BW/llamada x llamadas concurrentes

    Para nuestro ejemplo vamos a suponer que se trata de cursar un máximo de 10 llamadas concurrentes generadas utilizando CODEC G.729 sobre un enlace PPP con cRTP.

    BW requerido = 11,200 Kbps x 10 = 112 Kbps
Es preciso tener en cuenta que:
  • El tamaño de la porción de datos depende del CODEC implementado.
  • La porción correspondiente a los encabezados de capa 3 y 4 es de 40B si no se implementa compresión, y de 2 o 4B si se implementa cRTP.
  • La porción correspondiente al encabezado de capa 2 está en función del enlace de que se trate. En este ejemplo he considerado un enlace PPP.
  • Cuando se implementa voz sobre VPN IPSec, se debe considerar el overhead correspondiente a la implementación de IPSec que se esté aplicando.
Recursos:
¿Tenés alguna información o comentario para aportar en este tema....?
Perfecto!!!! agregá un comentario con el detalle.
Muchas gracias.
Oscar Gerometta

11 comentarios:

  1. hola buen dia:
    muy buen post, yo estaba trabajando en un proyecto relacionado y funciona bastante bien.
    por cierto tienes algun loggin y password de la calculadora de cisco?

    ResponderEliminar
  2. La calculadora se puede acceder con un CCO de visitante, que es un registro gratuito.
    El procedimiento para crear uno está aquí: http://librosnetworking.blogspot.com/2007/09/cmo-obtener-una-clave-cco-de-visitante.html

    ResponderEliminar
  3. excelente explicación, pero me queda una duda espero que la me la puedas responder.

    al calcular

    BW/llamada = 224 bits/trama x 50 tramas/seg. = 11200 bps/llamada

    bps es Bytes por segundo o Bits por segundos, lo digo por que mas abajo calculas:

    BW requerido = 11,200 Kbps x 10 = 112 Kbps

    11,200 Kbps, lo cual me imagino que es 11.2Kbps y estoy tratando de dar con ese numero pero nada que puedo,sera que lo dividistes entre 1000 en vez de 1024?
    sino es asi te agradeceria que me dijeras en que me equivoque.

    muchas gracias de antemano.

    ResponderEliminar
  4. La conversión de Bytes a bits está incluida al final del paso 1. Los tamaños de tramas suelen expresarse en Bytes, por lo que al terminar de calcular el tamaño de cada trama, ese resultado que está en Bytes se convierte a bits multiplicando por 8.
    Consecuencia, al calcular el ancho de banda de cada llamada, 11200 bits por segundo.
    En la escala de bits, un kilobit = 1000 bits, no 1024 (eso corresponde a la escala de bytes, y por motivos que escapan a este tema).
    1 Kbit = 1000 bits
    1 Mbit = 1000000 bits
    1 Gbit = 1000000000 bits

    ResponderEliminar
  5. Buenas tardes, está muy buena la información proporcionada, pero tengo una pregunta si es tan a amable espero me la pueda aclarar.

    Una vez calculado el ancho de banda requerido por una llamada no se debe multiplicar por 2?, es decir, uno para el canal entrante y otro para el canal saliente?

    espero me pueda ayudar y muchas gracias.

    ResponderEliminar
  6. Es cierto que el tráfico de las comunicacionesde VoIP es bidireccional.
    Pero a los efectos del cálculo de requerimiento de recursos, es suficiente con considerar un flujo de datos, ya que por su naturaleza, no se dan los dos flujos de modo contínuo.
    Es diferente cuando se trata de video llamadas.

    ResponderEliminar
  7. Muchas gracias por la informacion... me ayudo mucho

    ResponderEliminar
  8. Que grande oscar mi profe en la segunca camada de cisco CCna
    Saludos

    ResponderEliminar
  9. Oscar, tengo una duda... Al ser la voz una comunicacion bidireccional, es necesario multiplicar por 2 el ancho de banda necesario por cada llamada?

    ResponderEliminar
    Respuestas
    1. No.
      VoIP se desarrolla sobre TCP/IP, y en TCP/IP los flujos o comunicaciones son bidireccionales.

      Eliminar

Gracias por tu comentario.
En este blog los comentarios están moderados, por lo que su publicación está pendiente hasta la revisión del mismo.