VIII. CALIDAD DE SERVICIO Y SEGURIDAD I. Calidad de Servicio y Seguridad. Definición de Calidad del Servicio Voip Para abordar este tema se hace necesario iniciar definiendo lo que entenderemos por calidad de servicio (QoS), para luego entrar a la discusión específica de cada uno de los temas que lo componen y su aplicación al servicio de Voip. ¿Qué es QoS? Decimos que una red o un proveedor ofrece “Calidad de Servicio” o QoS (Quality of Service) cuando se garantiza el valor de uno o varios de los parámetros que definen la calidad de servicio que ofrece la red. Si el proveedor no se compromete en ningún parámetro decimos que lo que ofrece un servicio “best effort”. El contrato que especifica los parámetros de QoS acordados entre el proveedor y el usuario (cliente) se denomina SLA (Service Level Agreement) y se refiere a la habilidad de la red, de ofrecer prioridad a unos determinados tipos de tráfico, sobre diferentes tecnologías, incluyendo: Frame Relay, Asynchronous Transfer Mode (ATM), LANs y líneas dedicadas. La calidad del servicio Voip puede discutirse bajo los siguientes apartados: calidad en redes IP, calidad de la Voip, ingeniería de trafico, y seguridad Voip. QoS lo definen 4 parámetros: ancho de banda, retraso temporal, variación de retraso (o jitter) y probabilidad de error (o pérdida de paquetes o fiabilidad). Factores de Calidad en Voip: Latencia (retardo), Perdida de Paquetes, Variación de retardo (jitter), Distorsión de codificación, Eco, Niveles Variables de señal y Ruido de Fondo. Parámetros garantizables por soluciones técnicas en redes gestionadas: Retardo, Fluctuaciones de retardo entre paquetes (Jitter), Throughput promedio o velocidad de pico, Perdidas de Paquete. Eco. El eco es perceptible a partir de unos 30ms. Las recomendaciones G.164 (supresores de eco), G.165 y G168 de la UIT proporcionan unos métodos de medida y limites en los niveles y retardos de eco que se deberían seguir con criterio de cumplimiento mínimo. Las posibilidades de terminación de llamadas en redes fijas, celulares o inalámbricas hacen que los requerimientos de control de eco sean mas exigentes. Ruido. El ruido es captado por el teléfono y se distorsiona tras la codificación de voz en la pasarela Voip. Si el ruido es similar a la conversación, el impacto en los codificadores es mayor. El uso en los canceladores de eco con un mecanismo de reducción automática de ruido (ANR) mediante técnicas de filtrado espectral puede disminuir el ruido de fondo hasta un 75% cuando es estacionario (no variable). Silenciamiento. Existen mecanismos de supresión de silencio cuando no hay actividad con objeto de no transmitir paquetes y ahorrar ancho de banda. Se puede enviar información de ruido de inactividad para que el extremo lejano lo genere como “ruido confortable” en periodos de silencio. Los detectores de voz que se usan para restablecer la codificación tras un periodo de silencio. Calidad vs. Ancho de Banda. Los Códecs de voz utilizados en Voip reducen el ancho de banda a transmitir según el grado de compresión, pero a costa de disminuir la calidad. La planificación del trafico se realiza de manera similar a como se hace con telefonía convencional. Ejemplo, con codificación a 16 Kbps (G.728), 1 erlang de carga y probabilidad de bloqueo del 1% se obtiene: BW = 120 Kbps / 5 líneas. QoS en IP. Puntos de vista del usuario, es aquel comportamiento del servicio que satisface, en el momento actual, las perspectivas del usuario, tiene en cuenta: precio, utilidad, innovación, posicionamiento frente a otras tecnologías. DOS FORMAS BÁSICAS DE PROPORCIONAR SEGURIDAD. Mediante los mecanismos de seguridad interna propio de los protocolos de VoIP. Los principales protocolos de VoIP permiten la autenticación del llamante (H.235, SIP, MEGACO) y posibilitan el cifrado de la información, usando una aplicación o protocolo externo. El cortafuegos (firewall), que filtra los paquetes entrantes, los dispositivos cifradores con NAT, que añaden seguridad y que deben ser considerados a efectos de compatibilidad cuando se diseñan protocolos de VoIP. QoS está directamente relacionado con el tamaño de colas y la congestión de la red, con la velocidad de conmutación y ancho de banda de los enlaces. QoS provee de mejores y más predecibles servicios a la red mediante: Soporte de ancho de banda dedicado. Mejorando la características de pérdida de paquetes. Evitando y manejando la congestión de la red. Organizando el tráfico. Introduciendo prioridades de tráfico a lo largo de la red. Requerimientos de Calidad de Servicio de las aplicaciones. Aplicación Fiabilidad Retardo Jitter Ancho de Banda Correo electrónico Alta (*) Alto Alto Bajo Transferencia de ficheros Alta (*) Alto Alto Medio Acceso Web Alta (*) Medio Alto Medio Login remoto Alta (*) Medio Medio Bajo Audio bajo demanda Media Alto Medio Medio Vídeo bajo demanda Media Alto Medio Alto Telefonía Media Bajo Bajo Bajo Videoconferencia Media Bajo Bajo Alto (*) La fiabilidad alta en estas aplicaciones se consigue automáticamente al utilizar el protocolo de transporte TCP. MODELOS DE SERVICIO (QOS) 1) Best-Effort Service a) Es el modelo más sencillo. Es un modelo simple de servicio, en el cual, una aplicación envía información cuando ella lo desea, en cualquier cantidad, sin ningún permiso requerido, y sin informar previamente a la red. b) No asegura, throughput, retraso o fiabilidad : La red reparte o envía la información si puede, sin asegurar ningún retraso, throughput o fiabilidad c) Usa modelo de cola FIFO(First-in fisrt-out) 2) Integrated Service a) Integrated Service. Dos tipos de QoS. Este modelos también es conocido en muchas áreas de la literatura de QoS, como Guaranteed level. Se le llama así porque uno de los dos tipos de QoS que ofrece garantiza recursos íntegramente. b) Antes de enviar datos petición servicio: En este modelo, una aplicación realiza una petición de una clase de servicio específica a la red, antes de comenzar a enviar información. c) Señalización explicita Clase de servicio: La petición se realiza mediante una señalización explicita, de modo que la aplicación informa a la red del perfil o características de su tráfico, y pide una clase particular de servicio que pueda satisfacer sus requerimientos, tanto de ancho de banda como de retraso. d) La red confirma la petición. La aplicación queda a la espera de enviar la información hasta recibir la confirmación de la petición por parte de la red. e) La red realiza control de admisión. La red realiza un control de admisión, en función de la petición realizada por la aplicación y los recursos disponibles en la red. f) La red guarda información de estado. La red mantiene información del estado de sí misma por flujos, mirando la clasificación, normas, y el algoritmo de cola en cada estado. RESOURCE RESERVATION PROTOCOL (RSVP). El mecanismo más importante para llevar a cabo el modelo “Integrated Service” es el llamado RSVP, Resource Reservation Protocol, que puede ser utilizado por las aplicación para enviar los requerimientos de QoS al router. Guaranteed Rate Service Con RSVP pueden usarse 2 mecanismos Equivalente en ATM a CBR, VBR-rt Controled Load Service (clases de servicio) Equivalente en ATM a VBR-nrt Problemas de IntServ/RSVP • RSVP produjo una euforia inicial (1996-1997) que luego dió paso a la decepción. • La razón principal fueron problemas de escalabilidad debidos a la necesidad de mantener información de estado en cada router de cada flujo. Esto hace inviable usar RSVP en grandes redes, por ejemplo en el „core‟ de Internet. 3) Differentiated Service a) Modelo basado en uso de múltiples clases. Differentiated Service es un modelo de múltiples servicios que puede satisfacer diferentes requerimientos de QoS. b) No usa señales Integrated Services. No utiliza señales para especificar los servicios requeridos de la red previamente, lo cual lo diferencia del nivel o modelo Integrated Service, que veremos a continuación. c) Clase especificada por: IP Precedence, DSCP. En este modelo, la red intenta hacer un reparto basándose en una serie de clases de QoS, especificadas en cada paquete. Esta clasificación se puede realizar usando diferentes métodos, como IP Precedence o DSCP (Differentiated Service Code Point). Requisitos para la aplicación de QoS en DiffServ • Comprobar que existe suficiente ancho de banda para cursar la comunicación. • Clasificación y marcado de paquetes por la dirección IP, puertos, etc. • Elección de un mecanismo de cola eficiente que respete la SLA. • Mecanismo de fragmentación. Arquitectura QoS en una red • No todos los routers tienen la misma estructura: Routers del interior Routers del borde • No todas las técnicas son apropiadas para todos los routers de la red. • Debemos de seleccionar las características apropiadas de QoS en cada sitio. Routers del borde Clasificación de paquetes. Control de admisión. Routers del interior Tratamiento de la congestión. Evitar congestión. Administración de la configuración. C) Modelo de Colas (QoS) 1) FIFO, el más básico • Usa la técnica de Almacenamiento y reenvío En su forma más sencilla, el mecanismo de cola FIFO, se encarga de almacenar paquetes cuando hay congestión en la red, y a enviarlos cuando tiene la posibilidad, manteniendo el orden de llegada, es decir, que no ofrece ninguna prioridad de unos paquetes sobre otros. Es el método más rápido. Este es el mecanismo que se suele utilizar por defecto, como ya comentamos anteriormente cuando hablamos de „best-effort‟. Cisco lo utiliza por defecto en enlaces superiores a T1 (1.5 Mbps) • FIFO está limitado por su búfer. Este algoritmo, al igual que ocurre con el resto de mecanismo de cola, tiene como limitación la capacidad de su bufer en momentos de congestión. • No es recomendable para QoS. Hoy en día se necesitan algoritmos más sofisticados, que permiten diferenciar entre distintos tipos de paquete, por lo que este método está cayendo en desuso. 2) Prioritizing Traffic (PQ) • Da prioridad estricta al tráfico importante Asegura que el tráfico importante reciba un servicio rápido en cada punto de la red, donde está mecanismo este presente. • Existen 4 clases de prioridad de tráfico En el mecanismo PQ, cada uno de los paquetes debe de ser colocado en una de las cuatro posibles colas (alta, media, normal, baja prioridad), servidas en riguroso orden de prioridad, lo cual puede crear inanición. Ofrece garantías totales. Las prioridades se definen por filtros en los routers. • Clasificación: Protocolo,interfaz de acceso dir. Origen y destino, tamaño del paquete. La prioridad de los paquetes puede diferenciarse por diversos medios, como: el protocolo de red, el interfaz del router por el que llegue el paquete, el tamaño del paquete y la dirección de origen o destino. Los paquetes que no se puedan clasificar serán asignados a la cola de prioridad normal. • Inconveniente: Este método es estático y no se adapta a los requerimientos de la red. • Además, puede crear inanición, es decir dejar fuera de servicio a tráfico menos prioritario. Esquema gráfico (PQ) 3) Custom Queueing (CQ) • Permite que las aplicaciones compartan la red CQ fue diseñado para permitir que varias aplicaciones compartieran la red, y que además tuvieran asignado un ancho de banda mínimo garantizado, y unas garantías aceptables en cuanto a los retrasos. • El ancho de banda se reparte equitativamente. En este método el acho de banda debe de ser compartido proporcionalmente entre las aplicaciones o usuarios en forma de Round Robin o quantos de tiempo, sin dejar tráfico fuera de servicio. No dá garantías estrictas. Esquema gráfico (CQ) 4) Weighted fair queuing (WFQ) • WFQ es adaptativo a los cambios en la red Los mecanismos vistos anteriormente son estáticos, y por lo tanto no se adaptan a los cambios producidos en la red. Por ello ha sido necesario un mecanismo como WFQ, que es adaptativo. • No proporciona garantías totales como PQ. Proporciona un buen tiempo de respuesta WFQ es adecuado para situaciones donde se necesite un buen tiempo de respuesta, para usuarios que hagan tanto un uso elevado de la red, tanto como para los que hagan un uso más leve, sin añadir ancho de banda adicional. • Cisco lo utiliza por defecto en enlaces inferiores a T1 (1,5 Mbps) WFQ es un algoritmo basado en flujos. WFQ es un algoritmo de cola basado en flujos (o sesiones), que realiza dos tareas simultáneamente y de forma automática: a) Organiza el tráfico (de tiempo real), poniéndolo al principio de la cola, reduciendo así el tiempo de respuesta. b) Comparte equitativamente el resto del ancho de banda, entre el resto de tráfico de alta prioridad WFQ asegura que las diferentes colas no se queden privadas de un mínimo ancho de banda, de modo que el servicio proporcionado al tráfico es más predecible. Considera flujos de poco caudal con flujos sensibles al retardo, por ej. VOIP No es escalable dentro de una gran red. Esquema gráfico (WFQ) FUNCIONAMIENTO DE CBWFQ La falta de escalabilidad de WFQ se soluciona con Class Based WFQ. La Estructura interna del interface de salida se muestra a continuación: ∑ Bwi < 75% Los paquetes llegan clasificados, ya no tenemos en cuenta los flujos independientes, solo la clase DEFINICIÓN DE CLASES Las clases utilizadas en CBWFQ pueden asociarse a: • Flujos (direcciones origen-destino, protocolo, puertos) • Prioridades (campo DS differentiated service, otras etiquetas) • Interfaces de entrada/salida • VLAN Estas clases se implementan filtrando el tráfico con filtros en los routers. Este proceso se llama clasificación de tráfico, que puede ir acompañado a su vez con proceso de marcado de paquetes. El servicio recibido en función de esta clasificación se asocia a la política de servicio. LLQ se comporta como una Priority Queue. V: voice • • LLQ es recomendable para tráfico multimedia (VoIP) que requiere de unas características muy especiales: bajo retardo y jitter. Se puede configurar junto al resto de colas CBWFQ como una cola más asociada a una clase determinada. 4) Modelo de Fragmentación y Descarte. Mecanismos de fragmentación y descarte 1) Fragmentación e Inserción (LFI) Link Fragment and Interleaving • Problema: Llegada de un paquete IP a su cola de prioridad(estando esta vacía) mientras está saliendo de router en ese momento otro paquete perteneciente a otra clase retardo. • El producido por un paquete con tamaño de MTU de 1500 bytes en una línea de 64 Kbps puede llegar: Retraso = ( 1500 bytes * 8 bits/byte) / 64.000 bps) = 187.5 ms • Solución: Troceamos los paquetes de datos en „chunks‟ de 10ms, es decir, que el tamaño de un paquete será igual al máximo flujo de información que se pueda enviar por la línea en 10 ms. Los paquete de VoIP deberán ser insertados entre estos paquetes, asegurando un retraso mucho menor. Los paquetes VoIP no deben fragmentarse. Ejemplo de uso de LFI Antes 60-bytes Voz 1500-bytes Trama de datos Retraso producido = 187.5 ms (Frame = 1500byte a 64 Kbps) Usando LFI Datos Datos Voz Esquema gráfico LFI Datos 2) Mecanismos de fragmentación y descarte Congestión: RED & WRED • Cuando simultáneamente, muchas conexiones TCP son cortadas por congestión, directamente reducen su caudal abruptamente, con lo cual desaparece la congestión. A continuación todas las conexiones aumentan su caudal de forma exponencial al comprobar que la congestión ha desaparecido, con lo cual, al poco rato la situación de congestión vuelve a producirse, además de producir un fenómeno oscilante. • Solución: descartar paquetes sólo de una conexión, que viole los caudales preestablecidos y dejar intacta las demás. • Existen mecanismo para el tratamiento de la congestión de la red que son beneficiosos. • Entre estos se encuentran: RED (Random Early Detection) y WRED (Weighted Random Early Detection) y DWRED (Distributed WRED). • Estos mecanismos evitan la congestión de la red y la probabilidad de pérdida. • En caso de producirse una fuerte congestión pueden ser capaces de realizar el descarte de paquetes oportunos, es decir, no realizando un descarte paquete al azar, lo cual podría producir por ejemplo, la eliminación de un paquete clave que produjera la reacción del algoritmo slow-start de TCP. RED (Random Early Detection) • Provee a los operadores de la red, la posibilidad de aplicar normas para el manejo del tráfico y maximizar el throughput bajo condiciones de congestión. • Trabaja junto a protocolos a nivel de transporte como TCP, evitando la congestión a aplicando una serie de algoritmos: Distingue entre ráfagas de tráfico temporal que pueden ser absorbidas por la red, y cargas excesivas de tráfico que pueden saturar la red. Trabaja en cooperación con el extremo generador de tráfico, para evitar la oscilación producida por el protocolo TCP, que puede causar ondas de congestión en la red. RED trabaja con TCP, para anticiparse y manejar la congestión en momentos de tráfico excesivo, para maximizar el througput mediante el descarte de paquetes. WRED (Weigted Random Early Detection) • Combina las capacidades de RED y de IP Precedence, para poveer diferentes clases de servicio en función de las características de la información. • WRED también proporciona manejadores para tráfico prioritario en momentos de congestión. • Además posee todas las capacidades anteriormente citadas para RED. • WRED también puede colaborar con RSVP, proporcionando un controlador de carga, o indicando si es factible una reserva de espacio en alguna cola. Esquema gráfico WRED ANCHO DE BANDA DE LA LLAMADA DE VOIP Las siguientes asunciones de cabeceras de los protocolos se utilizadas para los cálculos: a) 40 bytes de IP (20 bytes)/ UDP (8 bytes) / cabeceras de RTP) (12 b) El protocolo en tiempo real comprimido (cRTP) reduce las bytes). cabeceras de IP/UDP/RTP a 2 o 4 bytes (cRTP no esta disponible en redes Ethernet). c) 6 bytes para las cabeceras del Point-to-Point Protocol de Multilink (MP) o Frame Relay Forum (FRF). d) 1 byte para las banderas end-of-frame en MP and Frame Relay tramas. e) 18 bytes para los cabeceras de Ethernet capa 2, incluyendo 4 bytes de FCS o CRC. Nomenclatura: User Datagram Protocol (UDP) Real-Time Transport Protocol (RTP) Multilink Point-to-Point Protocol (MP) Frame Check Sequence (FCS) Cyclic Redundancy Check (CRC) Información de Codecs Codec & Bit Rate (Kbps) G.711 (64 Kbps) G.729 (8 Kbps) G.723.1 (6.3 Kbps) G.723.1 (5.3 Kbps) G.726 (32 Kbps) G.726 (24 Kbps) G.728 (16 Kbps) Codec Codec Calculo del ancho de banda Mean Voice Voice Packets Per Bandwidth MP or Bandwidth Bandwidth w/cRTP MP or Ethernet FRF.12 (Kbps) (Kbps) Sample Size Sample Opinion Payload Size Payload Size Second (Bytes) Interval (ms) Score (MOS) (Bytes) (ms) (PPS) 80 Bytes 10 ms 4.1 160 Bytes 20 ms 50 82.8 Kbps 67.6 Kbps 87.2 Kbps 10 Bytes 10 ms 3.92 20 Bytes 20 ms 50 26.8 Kbps 11.6 Kbps 31.2 Kbps 24 Bytes 30 ms 3.9 24 Bytes 30 ms 34 18.9 Kbps 8.8 Kbps 21.9 Kbps 20 Bytes 30 ms 3.8 20 Bytes 30 ms 34 17.9 Kbps 7.7 Kbps 20.8 Kbps 20 Bytes 5 ms 3.85 80 Bytes 20 ms 50 50.8 Kbps 35.6 Kbps 55.2 Kbps 15 Bytes 5 ms 60 Bytes 20 ms 50 42.8 Kbps 27.6 Kbps 47.2 Kbps 10 Bytes 5 ms 60 Bytes 30 ms 34 28.5 Kbps 18.4 Kbps 31.5 Kbps 3.61 FRF.12 (Kbps) Codec Bit Rate (Kbps) De acuerdo con el codec, éste es el número de los pedacitos por segundo que necesitan ser transmitidos para entregar una llamada de voz. (índice binario del codec = tamaño de muestra del codec/intervalo de la muestra del codec). De acuerdo con el codec, éste es el número de los bytes capturados por el procesador de la señal numérica (DSP) en cada Codec intervalo de la muestra del codec. Por ejemplo, el codificador G.729 Sample Size funciona encendido los intervalos de la muestra del ms 10, (Bytes) correspondiendo a 10 bytes (80 pedacitos) por muestra en un índice binario de 8 Kbps. (índice binario del codec = tamaño de muestra del codec/intervalo de la muestra del codec). Éste es el intervalo de la muestra en el cual el codec funciona. Por Codec ejemplo, el codificador G.729 funciona encendido los intervalos de la Sample Interval (ms) muestra del ms 10, correspondiendo a 10 bytes (80 pedacitos) por muestra en un índice binario de 8 Kbps. (índice binario del codec = tamaño de muestra del codec/intervalo de la muestra del codec). El MOS es un sistema de calificar la calidad de la voz de las conexiones de teléfono. Con el MOS, una amplia gama de oyentes juzga la MOS calidad de una muestra de la voz en una escala de una (malo) a cinco (excelente). Las cuentas se hacen un promedio para proporcionar el MOS para el codec. El tamaño de la carga útil de la voz representa el número de los bytes Voice (o de los pedacitos) que se llenan en un paquete. El tamaño de la carga útil Payload Size de la voz debe ser un múltiplo del tamaño de muestra del codec. Por (Bytes) Voice ejemplo, los paquetes G.729 pueden utilizar 10, 20, 30, 40, 50, o 60 bytes de tamaño de la carga útil de la voz. El tamaño de la carga útil de la voz se puede también representar en Payload Size términos de muestras del codec. Por ejemplo, G.729 voz carga útil tamaño (ms) de 20 ms (dos 10 muestras del codec del ms) representa voz carga útil de 20 bytes [(20 bytes * 8)/(ms 20) = 8 Kbps] El PPS representa el número de los paquetes que necesitan ser transmitidos cada segundo para entregar el índice binario del codec. Por ejemplo, para G.729 llamada con voz carga útil tamaño por PPS paquete de 20 bytes (160 pedacitos), 50 paquete necesitan ser transmitido cada segundo [50 pps = (8)/(de Kbps 160 pedacitos por el paquete)] Formulas para el cálculo del ancho de banda: Los siguientes cálculos son realizados: Tamaño total del paquete = (cabecera capa 2: MP or FRF.12 or Ethernet) + (cabecera IP/UDP/RTP) + (voice payload size) PPS = (codec bit rate) / (voice payload size) Ancho de banda = tamaño total del paquete * PPS Calculo Simple: Se require conocer el ancho de banda empleado en una llamada VoIP utilizando el protocolo G.729 (8 Kbps codec bit rate) con cRTP, MP; tomando en cuenta que por omisión se tomaran 20 bytes del tamaño de la carga útil: Tamaño total del paquete (bytes) = (MP cabecera de 6 bytes) + ( compresión IP/UDP/RTP cabecera de 2 bytes) + (carga útil de la voz de 20 bytes) = 28 bytes Tamaño total del paquete (bits) = (28 bytes) * 8 bits per byte = 224 bits PPS = (8 Kbps codec bit rate) / (160 bits) = 50 pps Note: 160 bits = 20 bytes (default voice payload) * 8 bits per byte Ancho de banda por llamada = tamaño del paquete de voz (224 bits) * 50 pps = 11.2 Kbps