400 likes | 612 Views
VoIP con QoS Voz sobre IP con Calidad de Servicio. Presentado por Sebastián Meric. Introducción.
E N D
VoIP con QoSVoz sobre IP con Calidad de Servicio Presentado por Sebastián Meric
Introducción. • VoIP, en términos simples, corresponde al proceso de dividir audio o video en pequeños paquetes, transmitir dichos paquetes sobre una red IP y reensamblarlos en el extremo receptor, con el fin de lograr una comunicación multimedial. • Esta idea no es nueva y su popularidad se explica principalmente por sus atractivos económicos, pues resulta muy eficiente utilizar una sola red integrada para proveer transporte de datos y voz, disminuyendo así los costos de mantención de varias redes. • Además, VoIP ofrece la ventaja de la integración con la actual red telefónica.
Introducción. • La diferencia con la tecnología actual de telefonía radica en la exclusividad de uso de los recursos y en la orientación de la conexión. • Mientras en VoIP la red es de conmutación de paquetes, la red telefónica se orienta a la conmutación de circuitos. • Esto trae como ventaja que en VoIP se hace un uso más eficiente de los recursos, liberando la conexión cuando esta está inactiva. Sin embargo, esto puede producir degradación de la calidad precisamente por este uso compartido de la conexión.
Introducción. • Además, dado que la red IP está diseñada bajo una filosofía de mejor esfuerzo, no garantiza la llegada en orden de los paquetes, ni de valores máximos de retardo. • Por esto, se hace imprescindible la utilización de esquemas que garanticen cierto nivel de QoS. • Y para garantizar QoS en VoIP, es necesario considerar algunos parámetros críticos.
Parámetros de QoS en VoIP. • Para poder otorgar QoS en VoIP existen tres parámetros básicos a ser considerados: • Retardo (Delay, Latency): • El retardo se define como el tiempo que tarda un paquete en llegar desde la fuente a su destino. • Debiera ser inferior a 150[ms] (según ITU-T G.114), dado que el oído humano es capaz de detectar latencias de unos 250[ms]. • Es la característica de QoS más exigente.
Parámetros de QoS en VoIP. • Para poder otorgar QoS en VoIP existen tres parámetros básicos a ser considerados: • Jitter: • Se define como la variación en el tiempo en la llegada de los paquetes. • Puede ser causada por congestión de red, pérdida de sincronización o por las diferentes rutas seguidas por los paquetes para llegar al destino. • El jitter entre el punto inicial y final de la comunicación debiera ser ser inferior a 100[ms].
Parámetros de QoS en VoIP. • Para poder otorgar QoS en VoIP existen tres parámetros básicos a ser considerados: • Jitter: • Para compensar el jitter se utilizan jitter buffers. En ellos se almacenan los paquetes recibidos con “adelanto”y se van sirviendo con un pequeño retraso. Los paquetes con “retraso” se descartan. • Si el jitter buffer es muy pequeño, se descartarán muchos paquetes; si es muy grande, se agregará mucho retardo a la comunicación. Por lo tanto, hay un compromiso. Usualmente el retardo está entre 30 y 50[ms].
Parámetros de QoS en VoIP. • Para poder otorgar QoS en VoIP existen tres parámetros básicos a ser considerados: • Pérdida de paquetes: • Debido a que el protocolo UDP no es orientado a la conexión, si existen pérdidas de paquetes, estos no se reenvían. Además se deben considerar aquellas pérdidas producidas por descarte. • La tasa admitida en VoIP debe ser menor al 1%. Sin embargo, este valor es fuertemente dependiente del códec utilizado. • Para minimizar este problema, se utiliza la técnica de supresión de silencios.
Parámetros de QoS en VoIP. • Si no es posible cumplir con dichos parámetros, aún se puede tratar de evitar estos problemas, en forma preventiva. • Para evitar o subsanar estos problemas existen variadas soluciones, cuyas implementaciones dependen de muchos factores, como le red en que serán implementados. Algunos de ellos son: • Reserva de recursos: Con esto se busca asegurar en BW a lo largo del canal antes de que se curse la llamada. Sólo aplicable a redes privadas, no a Internet. • Priorización: Se marcan los paquetes con un valor de prioridad, luego los routers deciden si pueden cumplir con la petición.
Parámetros de QoS en VoIP. • Hasta el momento se han analizado los parámetros que VoIP debe satisfacer para cumplir con cierta QoS. • Pero para comprender mejor la naturaleza de esta tecnología, a continuación se presentará su arquitectura.
Arquitectura de VoIP. • Una red IP que entregue un servicio de VoIP, debe poseer algunos componentes adicionales a los comúnmente usados. • Estos componentes son fundamentalmente tres: • Terminales: Son los sustitutos de los teléfonos actuales. Se implementan tanto en hardware como en software. • Gateways: Corresponden a la interfaz entre la red IP y la red de telefonía tradicional. • Gatekeepers: Las nuevas centrales telefónicas (PBX). Se implementan usualmente en software.
Arquitectura de VoIP. • Terminal: Existen dos tipos de terminales usadas: • Softphones: • Se define como el software necesario para realizar una llamada telefónica usando un computador ordinario. Se diseña para que funcione como un teléfono tradicional. • Estos, a su vez, se pueden subclasificar en: • Libre elección del proveedor: Se pueden configurar los servidores SIP proxy o gatekeepers y elegir el proveedor de VoIP que más nos interese.
Arquitectura de VoIP. • Terminal: Existen dos tipos de terminales usadas: • Softphones: • Se define como el software necesario para realizar una llamada telefónica usando un computador ordinario. Se diseña para que funcione como un teléfono tradicional. • Estos, a su vez, se pueden subclasificar en: • Clientes preconfigurados: Son los programas que permiten hablar con otros usuarios que tengan el mismo programa.
Arquitectura de VoIP. • Terminal: Existen dos tipos de terminales usadas: • Softphones: • Se define como el software necesario para realizar una llamada telefónica usando un computador ordinario. Se diseña para que funcione como un teléfono tradicional. • Estos, a su vez, se pueden subclasificar en: • Programas tipo messenger con Voz: Los programas de chat de toda la vida pero en los que actualmente puedes hablar también.
Arquitectura de VoIP. • Terminal: Existen dos tipos de terminales usadas: • Hardphones: • Se define como el equipo físico usado para hacer llamadas en redes VoIP. • No necesitan un software o una conexión a un computador, sino que se enchufan directamente al router y cursan las llamadas como en una línea telefónica tradicional.
Arquitectura de VoIP. • Gateway: • Dispositivo que convierte llamadas de voz, en tiempo real, entre la telefonía pública conmutada (PSTN) y redes IP. Las funciones de una gateway IP incluyen compresión/descompresión de voz, paquetización, ruteado de llamadas y señalización de control. Puede, además, incluir funciones de interfaz con controladores externos, como Gatekeepers o Proxy, sistemas de facturación y sistemas de control de red.
Arquitectura de VoIP. • Gatekeeper: • Entidad de control central que ejecuta las funciones de gestión en una red VoIP o en aplicaciones multimedia como conferencias de video. Los Gatekeepers proveen inteligencia de red, incluyendo resolución de direcciones, autorización, servicios de autenticación, gestión de CDRs (Call Detail Record) y comunicación con la red. Los Gatekeepers controlan el ancho de banda, proveen compatibilidad entre sistemas y monitorizan la red para servicios de ingeniería, control en tiempo real y balanceo de carga.
Arquitectura de VoIP. • En la figura se observan los dispositivos antes mencionados. • Nótese la interacción entre la red de telefonía tradicional y la de VoIP. • La interfaz entre ambas la componen los Gateways. • Los Gatekeepers se encargan de la administración de las llamadas.
Arquitectura de VoIP. • Se ha visto la arquitectura que compone una red para ofrecer VoIP. Además, se han señalado sus principales componentes, y el rol que desempeñan dentro de dicha arquitectura. • Sin embargo, aun no se ha visto cómo se cursa una llamada VoIP sobre la red. • A continuación se describe el proceso completo de establecimiento de una llamada tipo.
Establecimiento de una llamada. • Un usuario disca un número de acceso a un servicio de telefonía sobre IP. • La llamada es ruteada a un conmutador de telefonía IP. • El gateway solicita al usuario que indique el número al que llamará. Este número es enviado al gatekeeper. • El gatekeeper determina la dirección IP del destino, basado en el número de teléfono del destino. Un paquete IP requiriendo información de status (disponibilidad) del gateway de destino es enviado al gatekeeper del destino. • El gatekeeper de destino responde la solicitud, dando información de disponibilidad y la dirección IP del gateway de destino. El gatekeeper de origen transfiere esta información al gateway de origen.
Establecimiento de una llamada. • El gateway de origen establece un canal de comunicación con el gateway de destino. Este canal es identificado por una variable de referencia de llamada (CRV), que será utilizada durante toda la llamada para identificar los paquetes IP que corresponden a dicha llamada. • El gateway de destino elige un troncal de salida para la PSTN y envía una señalización a la red pública para que inicie una llamada con el número solicitado. • Si la llamada puede ser completada con éxito, un mensaje de señalización IP es enviado por el gateway de destino al gatekeeper de destino y por éste al gatekeeper de origen. Éste último señaliza al gateway de origen y a su vez, el gateway de origen encamina hacia la PSTN de origen que el destino está siendo llamado (tono de llamada). Luego la conversación es sostenida mediante los gateway’s.
Establecimiento de una llamada. • Como se ha visto, los pasos para lograr una comunicación exitosa requieren de la intervención de varios dispositivos (gateways, gatekeepers, terminales, etc.). • Pero para que dichos dispositivos puedan establecer y mantener una llamada, se requieren los protocolos.
Protocolos en VoIP. • El objetivo principal de VoIP, es la comunicación mutimedial (audio o video) entre dos terminales (PC’s, teléfonos, etc.). • Pero para ello, además del hardware descrito en la sección precedente, se hace necesario, a nivel de software, el uso de protocolos de comunicación. • Muchos protocolos intervienen en la generación, establecimiento y mantención de una llamada, pero existen dos clases de ellos que son primordiales: • Protocolo de transmisión de audio y video: El protocolo más ampliamente utilizado actualmente en redes TCP/IP es el RTP (Real-time Transport Protocol). • Protocolo para encontrar y negociar parámetros con otro dispositivo remoto: También llamados protocolos de señalización de llamada. Los dos más utilizados en transmisiones VoIP en redes IP son: H.323 y SIP (Session Initiation Protocol). • En términos simples, H.323/SIP es el encargado de ubicar al dispositivo remoto llamado y establecer la comunicación, mientras que RTP debe ocuparse del mantenimiento de dicha comunicación.
Protocolos en VoIP. • RTP • Protocolo de capa de aplicación. • Definido en la RFC 3550. • Especifica: • Formato de la carga (payload) para los Codecs. • Orden de los paquetes. • Mecanismos de ayuda para solucionar delay y jitter. • Si se desea agregar seguridad a la transmisión, se puede utilizar Secure RTP, que provee encriptación, autenticación e integridad en cada paquete. • A continuación se muestra un paquete tipo usado por RTP, con sus respectivos campos.
Protocolos en VoIP. • RTP • RTP numero de versión (V - version number): 2 bits. La versión definida por la especificación actual es 2. • Relleno (P - Padding): 1 bit. Si el bit del relleno está colocado, hay uno o más bytes al final del paquete que no es parte de la carga útil. El byte más último en el paquete indica el número de bytes de relleno. El relleno es usado por algunos algoritmos de encriptación. • La extensión (X - Extension): 1 bit. Si el bit de extensión está colocado, entonces el encabezado fijo es seguido por una extensión del encabezado. Este mecanismo de la extensión posibilita implementaciones para añadir información al encabezado RTP.
Protocolos en VoIP. • RTP • Conteo CSRC (CC): 4 bits. El número de identificadores CSRC que sigue el encabezado fijo. Si la cuenta CSRC es cero, entonces la fuente de sincronización es la fuente de la carga útil. • El marcador (M - Marker): 1 bit. Un bit de marcador definido por el perfil particular de media. • La carga útil Type (PT): 7 bits. Un índice en una tabla del perfiles de media que describe el formato de carga útil. Los mapeos de carga útil para audio y video están especificados en el RFC 1890
Protocolos en VoIP. • RTP • El numero Telefónico: 16 bits. Un único número de paquete que identifica la posición de este en la secuencia de paquetes. El número del paquete es incrementado en uno para cada paquete enviado. • Timestamp: 32 bits. Refleja el instante de muestreo del primer byte en la carga útil. Varios paquetes consecutivos pueden tener el mismo timestamp si son lógicamente generados en el mismo tiempo - por ejemplo, si son todo parte del mismo frame de video.
Protocolos en VoIP. • RTP • SSRC: 32 bits. Identifica la fuente de sincronización. Si la cuenta CSRC es cero, entonces la fuente de carga útil es la fuente de sincronización. Si la cuenta CSRC es distinta a cero, entonces el SSRC identifica el mixer(mezclador). • CSRC: 32 bits cada uno. Identifica las fuentes contribuyentes para la carga útil. El número de fuentes contribuyentes está indicado por el campo de la cuenta CSRC; Allí puede haber más de 16 fuentes contribuyentes. Si hay fuentes contribuyentes múltiples, entonces la carga útil son los datos mezclados de esas fuentes.
Protocolos en VoIP. • H.323 • Está compuesto de una familia de protocolos usados para realizar el control de la llamada. Los más importantes son H.225 y H.245, que configuran, administran y terminan la llamada. • Básicamente, funciona así: • Inicia la llamada hacia un punto terminal con H.225 a través de un puerto TCP, con señalización Q.931. • Una vez establecida la llamada, se inicia la administración, por parte del H.245, por un canal diferente al usado por H.225, asignado dinámicamente en los puertos TCP durante la fase H.225. • Los canales para transporte de audio y video se designan también dinámicamente, con un procedimiento H.245 llamado OpenLogicalChannel. • Los mensajes más comunes de Q.931/Q.932 usados como mensajes de señalización H.323 son:
Protocolos en VoIP. • H.323 • Está compuesto de una familia de protocolos usados para realizar el control de la llamada. Los más importantes son H.225 y H.245, que configuran, administran y terminan la llamada. • Básicamente, funciona así: • Setup. Es enviado para iniciar una llamada H.323 para establecer una conexión con una entidad H.323. Entre la información que contiene el mensaje se encuentra la dirección IP, puerto y alias del llamante o la dirección IP y puerto del llamado. • - Call Proceeding. Enviado por el Gatekeeper a un terminal advirtiendo del intento de establecer una llamada una vez analizado el número llamado. • - Alerting. Indica el inicio de la fase de generación de tono. • - Connect. Indica el comienzo de la conexión. • - Release Complete. Enviado por el terminal para iniciar la desconexión. • - Facility. Es un mensaje de la norma Q.932 usado como petición o reconocimiento de un servicio suplementario.
Protocolos en VoIP. • SIP • SIP es un protocolo de señalización a nivel de aplicación para establecimiento y gestión de sesiones con múltiples participantes. Se basa en mensajes de petición y respuesta y reutiliza muchos conceptos de estándares anteriores como HTTP y SMTP. Trabaja sobre TCP/UDP. • Funciona en la parte de señalización y control de la comunicación, transportando al SDP (Session Descripton Protocol) que describe el contenido multimedial de la sesión (puertos IP usados, Codecs, etc.). • Envía invitaciones para crear sesiones, las que contienen información sobre los parámetros multimediales a usar. Con esto, los posibles participantes pueden o no aceptar dicha invitación. • Utiliza servidores proxy para rutear los requerimientos hacia el usuario, autentificar y autorizar servicios para los usuarios e implementar políticas de ruteo de llamadas.
Protocolos en VoIP. • SIP • Para implementar estas funcionalidades, existen varios componentes. Los dos principales son los agentes de usuario (UA) y los servidores, que pueden ser de tres tipos: Proxy, Register y Redirect. • Agentes de Usuario: • Consisten en dos partes distintas, el User Agent Client (UAC) y el User Agent Server (UAS). • UAC es una entidad lógica que genera peticiones SIP y recibe respuestas a esas peticiones. • UAS es una entidad lógica que genera respuestas a las peticiones SIP. • Ambos se encuentran en todos los agentes de usuario, así permiten la comunicación entre diferentes agentes de usuario mediante comunicaciones de tipo cliente-servidor.
Protocolos en VoIP. • SIP • Para implementar estas funcionalidades, existen varios componentes. Los dos principales son los agentes de usuario (UA) y los servidores, que pueden ser de tres tipos: Proxy, Register y Redirect. • Servidores - Proxy Server: • Retransmiten solicitudes y deciden a qué otro servidor deben remitir, alterando los campos de la solicitud en caso necesario. • Es una entidad intermedia que actúa como cliente y servidor con el propósito de establecer llamadas entre los usuarios. • Este servidor tienen una funcionalidad semejante a la de un Proxy HTTP que tiene una tarea de encaminar las peticiones que recibe de otras entidades más próximas al destinatario.
Protocolos en VoIP. • SIP • Para implementar estas funcionalidades, existen varios componentes. Los dos principales son los agentes de usuario (UA) y los servidores, que pueden ser de tres tipos: Proxy, Register y Redirect. • Servidores - Register Server: • Es un servidor que acepta peticiones de registro de los usuarios y guarda la información de estas peticiones para suministrar un servicio de localización y traducción de direcciones en el dominio que controla. .
Protocolos en VoIP. • SIP • Para implementar estas funcionalidades, existen varios componentes. Los dos principales son los agentes de usuario (UA) y los servidores, que pueden ser de tres tipos: Proxy, Register y Redirect. • Servidores - Redirect Server: • Es un servidor que genera respuestas de redirección a las peticiones que recibe. • Este servidor reencamina las peticiones hacia el próximo servidor. .
Protocolos en VoIP. • SIP • Finalmente, dado que SIP es un protocolo basado en mensajes tipo solicitud/respuesta, se mostrarán los mensajes más usuales en una llamada: • Solicitud: Existen seis métodos básicos SIP (definidos en RFC 254) que describen las peticiones de los clientes: • INVITE: Permite invitar un usuario o servicio para participar en una sesión o para modificar parámetros en una sesión ya existente. • ACK: Confirma el establecimiento de una sesión. • OPTION: Solicita información sobre las capacidades de un servidor. • BYE: Indica la terminación de una sesión. • CANCEL: Cancela una petición pendiente. • REGISTER: Registrar al User Agent.
Protocolos en VoIP. • SIP • Finalmente, dado que SIP es un protocolo basado en mensajes tipo solicitud/respuesta, se mostrarán los mensajes más usuales en una llamada: • Respuesta: El código de la respuesta está compuesto por tres dígitos que permiten clasificar los diferentes tipos existentes. El primer dígito define la clase de la respuesta. • 1xx - Mensajes provisionales. • 2xx - Respuestas de éxito. • 3xx - Respuestas de redirección. • 4xx - Respuestas de falla de método. • 5xx - Respuestas de fallas de servidor. • 6xx - Respuestas de fallas globales.
Conclusiones. • Como se ha visto, la tecnología de VoIP es mucho más que simplemente cursar llamadas a través de un teléfono. • Actualmente, se utilizan algunas aplicaciones basadas en VoIP a través de Internet (como SkyPe, Gizmo, etc), pero su uso es aun limitado y no se ha extendido lo suficiente. • Sin embargo, todo indica que el futuro de la telefonía tradicional se encuentra fuertemente amenazado por esta tecnología que cada día gana más adeptos. • Muchas empresas han comenzado la migración de sus antiguas centrales a las nuevas redes de VoIP, lo que es un indicador inequívoco, de que el futuro de la telefonía, es sobre IP .