Está en la página 1de 13

Mtodos para Asegurar la Calidad del Servicio

Taller de Redes de Computadores 2010

Departamento de Informtica Universidad Tcnica Federico Santa Mara

Mtodos para Asegurar la Calidad del Servicio (Quality of Service)


Taller de Redes de Computadores 2010 Profesor: Javier Caas R.

Oscar Encina C. oencina@inf.utfsm.cl Jos Miguel Herrera jherrer@alumnos.inf.usm.cl

Contenidos Resumen ............................................................................................................ 1 Objetivos Propuestos .......................................................................................... 2 Introduccin ....................................................................................................... 2 Calidad de Servicio o QoS ................................................................................. 2 Arquitectura de Calidad de Servicio ...................................................................... 3 Mtodos para QoS .......................................................................................... 3 Marcado de Paquetes............................................................................................ 6 Implementacin de QoS ..................................................................................... 7 Tcnicas de Encolamiento .................................................................................. 8 Pruebas y Resultados Experimentales .................................................................. 9 Conclusiones....................................................................................................... 12 Bibliografia 13 Resumen Se dice que una red ofrece Calidad de Servicio cuando esta garantiza el valor de uno o varios parmetros que determinan la red (Prioridad, Retraso, Ancho de banda, Jitter, Errores). Uno de esos parmetros es la Priorizacin en el envo de datos la cual nos asegurar el envo anticipado de un tipo de paquetes con respecto a otro de menor prioridad. Otro de esos parmetros es la asignacin de Banda Ancha a ciertos protocolos o aplicaciones garantizando que en un determinado tiempo habr ms paquetes de un tipo de servicio que de otro que le sea asignado menor porcentaje. Dichos parmetros se configuran sobre un sistema Linux para poder implementar un sistema de Video Conferencia con Calidad de Servicio. 1 de 13

Mtodos para Asegurar la Calidad del Servicio

Taller de Redes de Computadores 2010

Objetivos Propuestos Aprender mediante la investigacin y prctica acerca de los mtodos de QoS. Montar una red QoS en Linux (de trfico privilegiado). Generar QoS para un sistema de Video Conferencia. Utilizar herramientas de trfico de redes para poder medir y registrar los resultados obtenidos.

Introduccin El protocolo IPv4 y el naciente IPv6 constituyen la base de las comunicaciones de Internet. Existen flujos de trfico sobre estas redes que son crticos y deben ser tratados de forma especial pues no todos los datos que son transmitidos tienen la misma importancia. Causa de esto es que surge la necesidad de estudiar e implementar esquemas de Calidad de Servicio que permitan otorgar una distincin en la manipulacin de estos flujos. Adems, dado que la red IP est diseada bajo una filosofa de mejor esfuerzo, no se garantiza el envo de un flujo por sobre otro ni un privilegio de servicios. Por esto, se hace imprescindible la utilizacin de esquemas que garanticen cierto nivel de QoS. En este informe se entregarn las pautas mediante las cuales se logr una mejora considerable e importantsima en la calidad de servicio aplicada a las Video Conferencias.

Calidad de Servicio o QoS Se entiende por Calidad de Servicio a la capacidad de una red para sostener un comportamiento adecuado del trfico que transita por ella, cumpliendo con parmetros relevantes para el usuario final. Su objetivo es el de acotar los parmetros Ancho de Banda, Retardo, Jitter, y Porcentaje de Prdida de los paquetes para ciertas clases de trfico. Cada tipo de trfico es asociado a una Clase de Servicio, utilizndose diversos mtodos en los routers y switches para otorgar el servicio apropiado a cada clase. Se utilizan campos de diferenciacin en los protocolos IPv4 e IPv6 para lograr el marcado de los paquetes. Dichos campos se describirn con posterioridad en Arquitecturas de Calidad de Servicio. Dentro de las consideraciones que se deben tener en cuenta para proporcionar una Calidad de Servicio, es preocuparse por los siguientes elementos (problemas) de las redes: Retardos: Puede que los paquetes tomen un largo tiempo en alcanzar su destino, esto principalmente es 2 de 13

Mtodos para Asegurar la Calidad del Servicio

Taller de Redes de Computadores 2010

debido a que permanecen en largas colas y toman alguna ruta menos directa al destino (en su intento de prevenir la congestin). En la mayora de los casos, los retardos excesivos son un gran problema cuando uno se quiere comunicar con sistemas VoIP o sistemas de Video Conferencia. Jitter: Se define como la variacin en el tiempo en la llegada de los paquetes. Puede ser causada por congestin de red (su principal causa), la prdida de sincronizacin por las diferentes rutas seguidas por los paquetes para llegar al destino. Para compensar el jitter se utilizan jitter buffers. En ellos se almacenan los paquetes recibidos con adelantoy se van sirviendo con un pequeo retraso. Los paquetes con retraso se descartan. Si el jitter buffer es muy pequeo, se descartarn muchos paquetes; si es muy grande, se agregar mucho retardo a la comunicacin. Entrega fuera de Orden: Si se tiene un conjunto de paquetes relacionados entre si y stos son encaminados por una red (como Internet), los paquetes pueden tomar diferentes rutas, resultando en diferentes retardos y ocasionando que lleguen en diferente orden de cmo fueron enviados. Para los sistemas de Video Conferencia es vital que los paquetes lleguen en orden, por lo tanto se debe asegurar ese punto (y no as que todos los paquetes lleguen, es decir, admite prdidas). Arquitecturas de QoS Mejor Esfuerzo, servicio tradicional de transporte de datos, donde no hay garanta de la entrega del paquete. TCP/IP fue diseado para dar un servicio best effort o de mejor esfuerzo, sin embargo existen aplicaciones que no pueden funcionar en una red congestionada con best effort (por ejemplo, la Video Conferencia o VoIP, etc). Se han hecho modificaciones a IP para que pueda funcionar como una red con QoS. Servicios Integrados, provee un servicio garantizado, negociando parmetros de red de extremo a extremo mediante RSVP. Cada dispositivo a lo largo de la ruta necesita comprender RSVP y sealizar la QoS requerida. Cada reservacin debe ser actualizada peridicamente lo que se aade trfico a la red. Adems, cada reservacin debe ser mantenida por cada uno de los dispositivos a lo largo de la ruta.

Figura 1: Cabecera IPv4 antes de DiffServ, se marca el campo Type Of Service 3 de 13

Mtodos para Asegurar la Calidad del Servicio

Taller de Redes de Computadores 2010

Figura 2: campo Type Of Service (obsoleto)

Servicios Diferenciados, mediante la clasificacin de paquetes utiliza mecanismos de encolamiento para dar prioridad a los paquetes. Se definen varias clases de servicio, donde se agrupan los trficos. La clasificacin y marcado ocurre slo en los bordes de la red. En base a esta clasificacin se implementa en cada salto el comportamiento deseado.

Figura 3: Cabecera IPv4 con DiffServ (RFC2474, 1998), se marca el campo DS

En definitiva, IntServ (o Servicios Integrados) fue desarrollado con anterioridad a DiffServ, sin embargo DiffServ (o Servicios Diferenciados) se ha extendido ms que IntServ, DiffServ permite agregar flujos, el modelo es escalable. Debido a estas diferencias muchos fabricantes de routers implementan versiones eficientes de DiffServ, pero no de IntServ. Actualmente muchos ISP implementan DiffServ.

La nica (hasta el momento) arquitectura que es capaz de proveernos una real Calidad de Servicio es la arquitectura de Servicios Integrados, sin embargo los costos en los que se debera incurrir para poder implementar una solucin como sta escapan de lo ptimo.

4 de 13

Mtodos para Asegurar la Calidad del Servicio

Taller de Redes de Computadores 2010

Si se deseara implementar esta solucin (Servicios Integrados) habra que adquirir equipos de ltima generacin o que soporten IPv6. Estas implementaciones se pueden encontrar en los Routers Cisco, capaces de leer el campo DS (en IPv4). IPv6 tambin cuenta con un campo para Calidad de Servicio incorporado DS (ver Figura 4).

Figura 4: Cabecera IPv6 con DiffServ (RFC2474, 1998) Por otro lado, se consigui a un costo cero una implementacin de arquitectura de Servicios Diferenciados para una red que desea transmitir Video Conferencia asegurando o garantizando ciertos parmetros (Prioridad y Ancho de Banda).

Mtodos para QoS La implementacin de Polticas de Calidad de Servicio se puede enfocar en varios puntos segn los requerimientos de la red, los principales son: Asignar ancho de banda en forma diferenciada Evitar y/o administrar la congestin en la red Manejar prioridades de acuerdo al tipo de trfico Modelar el trfico de la red

Para esta implementacin en particular se opt por realizar la combinacin de dos requerimientos de red, controlando la Prioridad de acuerdo al tipo de trfico y tambin asignando un Ancho de Banda de forma diferenciada. De esta manera, podremos tener un sistema de Video Conferencia que privilegia el tipo de trfico UDP y que se le es asignada una cantidad de banda ancha superior al resto.

5 de 13

Mtodos para Asegurar la Calidad del Servicio Marcado de Paquetes

Taller de Redes de Computadores 2010

Para realizar el marcado de paquetes se utiliza iptables, en especial la tabla mangle:

La tabla Mangle: En esta tabla podremos modicar parmetros de los paquetes como el TOS (Type Of Service) de IPv4. Esta ser la tabla que utilizaremos para el marcado de paquetes y posterior priorizacin para aplicar QoS. De las cuales se podr marcar un campo TOS o MARK (modificar el campo TOS o marcar el paquete aparte).

MARK: Se utiliza para el marcado de paquetes. Este ser el objetivo que se urilizar junto con tc (programa Trafic Control) para denir las reglas de QoS. Destacar que cuando marcamos un paquete no estamos cambiando ningn valor de la cabecera IP, sino el valor del paquete de cara al kernel. El valor que tomar MARK ser un entero entre 0 y 65535. Para modicar la cabecera IP, podemos cambiar el valor del Type Of Service con el objetivo TOS.

Por ejemplo: labds:~# iptables -t mangle -A PREROUTING -p tcp --dport 21 -j MARK --set-mark 2

Le indicamos a la tabla mangle que todo paquete FTP ( -p tcp --dport 21) que reciba la mquina deber ser marcado (-j MARK --set-mark 2) para su posterior clasicacin y envio (-A PREROUTING).

TOS: Lo utilizaremos para cambiar el valor de 8 bits del campo TOS dentro de la cabecera IPv4. Este campo indica la prioridad del trco, y se aplicar en routers que tengan soporte para QoS. Los valores son: Minimize-Delay - 0x10 Maximize-Throughput - 0x08 Maximize-Reliability - 0x04 Minimize-Cost 2 - 0x02 Normal-Service 0 - 0x00 Por ejemplo:

6 de 13

Mtodos para Asegurar la Calidad del Servicio

Taller de Redes de Computadores 2010

labds:~# iptables -t mangle -A PREROUTING -p icmp -j TOS --set-tos Minimize-Delay Marcamos todos los paquetes ICMP con el TOS Minimize-Delay. Tambin los podramos haber marcado con 0x10. Podemos comprobar que ha cambiado el valor del TOS haciendo un ping y capturando el paquete con un sniffer como Ethereal (tambin pudo haberse utilizado el sniffer Wireshark):

Implementacin de QoS Para lograr implementar QoS en nuestro sistema, en primera instancia fue necesario recompilar el kernel de Linux para poder agregar los mdulos QoS correspondientes. Los mdulos del kernel de Linux para proporcionar QoS son: Networking Options: Network packet filtering P: Netfilter configuration: Netfilter MARK match support Connection state match support Packet filtering

7 de 13

Mtodos para Asegurar la Calidad del Servicio Packet mangling MARK target support Connection tracking Layer7 match support

Taller de Redes de Computadores 2010

Gracias a esto, fue posible utilizar el comado tc (Traffic Control) el cual facilita el marcado de paquetes (para una priorizacin de trfico) y la creacin de colas de prioridad. Tcnicas de Encolamiento Existen 2 tcnicas posibles: 1) Disciplinas de colas simple : Simplemente se limitan a aceptar, reordenar, descartar o retrasar los datos. Podemos utilizar: pfo_fast: First In Fisrst Out, con especial tratamiento al campo TOS. TBF: Deja pasar paquetes que no se excedan de una tasa impuesta por nosotros. RED: nicamente indicado para routers de backbone, en donde el envio de trco debe ser lo ms rpido posible. SFQ: Envia datos de forma equitativa, evitando que nadie se apodere del ancho de banda. 2) Disciplinas de colas con clase:

Estas a diferencia de las simples, tienen nivel de profundidad. Es decir, se puede tener una qdisc raz de la que cuelguen ciertas subdivisiones, en las cuales se podr agrupar diferentes tipos de paquetes (clases) para luego darle prioridades. A su vez, las clases pueden tener otras qdisc con o sin clases. Por defecto, cuando se crea una clase, se le adjunta una qdisc FIFO (se puede cambiar por otra), salvo que de esa clase tenga clases hijas. El esquema se puede visualizar en la siguiente imagen:

8 de 13

Mtodos para Asegurar la Calidad del Servicio

Taller de Redes de Computadores 2010

Para identicar las clases, utilizaremos una notacin de dos nmeros separados por dos puntos : major:minor. El major, se utiliza para referenciar la raz de una clase, en cambio el minor se reere a cualquiera de las clases que descienden de la raz padre. Por ltimo, para tratar a los paquetes en las diferentes clases, se debe utilizar un ltro, que de la misma manera que hacan las reglas del rewall, en caso de cumplir unas determinadas caractersticas, irn a unas clases o a otras. Las principales qdisc con clases: CBQ: Algoritmo que basndose en prioridades, enva paquetes. til para enviar paquetes a clases hijas. HTB: Igual que CBQ pero un poco ms eciente. Filtros: Los ltros sern los que nos permitirn clasicar los paquetes en diferentes clases. fw: Clasicar el trco basndose en la marca del paquete que le colocaremos con el objetivo MARK de iptables. u32: Se basar en caractersticas de la cabecera IP para hacer las clasicaciones. Pruebas y Resultados experimentales FTP SSH Sin Calidad de Servicio: Se enviaron dos archivos en igualdad de condiciones, sin ningn tipo de regla de calidad de servicio, estos archivos eran exactamente iguales y se transfirieron de manera concurrente, uno utilizando FTP y otro utilizando un cliente de copia de archivos va SSH. De la figura que se encuentra abajo se puede concluir que el ancho de banda se reparte en igual proporcin por los servicios, la cantidad de paquetes enviados es la misma en casi todo instante.

9 de 13

Mtodos para Asegurar la Calidad del Servicio

Taller de Redes de Computadores 2010

Figura 5: FTP SSH Sin Calidad de Servicio (concurrente)

FTP SSH con Calidad de Servicio: En esta segunda prueba, se aplicaron las siguientes reglas de calidad de servicio: SSH tiene prioridad 2 mayor a FTP que tiene prioridad 3 y el Ancho de banda es igual para ambos tipos de transferencias. Se repite el experimento realizado anteriormente, transfirieron dos archivos iguales de 80Mb cada uno va SSH y FTP. Nuevamente para este experimento se igual y asign la misma cantidad de Ancho de Banda. En la segunda imagen se puede observar con claridad lo que sucede al terminar primero la transferencia del archivo por SSH. Al finalizar, el ancho de banda es utilizado por la conexin FTP y rpidamente enva el resto del archivo. Esto ocurri pues no se escribieron reglas para controlar de manera especial el ancho de banda para cada uno, por lo tanto, ste se pudo sumar a la nica transferencia en curso.

Figura 6 y 7: FTP SSH Con Calidad de Servicio (concurrente) 10 de 13

Mtodos para Asegurar la Calidad del Servicio FTP SSH Skype Sin Calidad de Servicio:

Taller de Redes de Computadores 2010

En este experimento se agreg el servicio VoIP Skype. Este escenario consiste en la transferencia de 160 Mb repartidos entre transferencias SSH y FTP. A este carga, se le debe sumar la cantidad de paquetes que Skype es capaz de enviar pese a la enorme transferencia de informacin. La prueba se realiz de manera concurrente para los tres servicios. Ninguna regla de Calidad de Servicio fue aplicada. Como se puede ver en los grficos obtenidos, la conexin SSH y FTP agotan todo el ancho de banda no permitindole a Skype una correcta comunicacin, no es capaz de enviar todos los paquetes y la calidad de la video conferencia es bastante deficiente.

Figura 8: FTP SSH Skype Sin Calidad de Servicio (concurrente)

FTP SSH Skype con Calidad de Servicio: En este escenario, se le aplicaron las reglas de Calidad de Servicio, dejando Skype con la mayor prioridad de 1, luego SSH con una prioridad 2 y finalmente FTP con una prioridad de 3. Junto con esto, tambin controlamos el Ancho de banda para cada servicio, repartimos un total de 2Mb de ancho de banda de la siguiente manera, Skype utilizar el 50%, mientras que SSH utilizar un 30% y finalmente FTP el 20% restante. Los resultados son concluyentes, se aprecia una muy buena calidad en la transferencia de la informacin de la Video Conferencia, en ningn momento se produce una cada del servicio pese a que simultneamente se produce una transferencia de 160Mb. En los grficos se puede apreciar que la conexin de Skype (trfico UDP), enva una mayor cantidad de paquetes por intervalo de tiempo comparado con SSH y FTP. Esto se debe a que Skype, tiene una prioridad en las colas de salida y tambin en la colas de entrada. A esto, se le debe agregar que tiene un Ancho de banda reservado del 50% del total disponible.

11 de 13

Mtodos para Asegurar la Calidad del Servicio

Taller de Redes de Computadores 2010

Sin duda el objetivo principal se cumpli de manera satisfactoria. La Video Conferencia se realiza sin problemas, los retardos son mnimos y la calidad aumenta pues llegan una mayor cantidad de paquetes que hacen de la experiencia algo mucho mas fluido y natural. A continuacin se muestran los grficos que describen el escenario anterior.

Figura 9 y 10: FTP SSH Skype con Calidad de Servicio (concurrente) Los grficos anteriores corresponden a la misma situacin testeada dos veces en tiempos distintos. Los resultados son similares como era de esperarse.

Conclusiones Existen muchas maneras y combinaciones para lograr una Calidad de Servicio, la implementacin de arquitecturas de Servicios Diferenciados por sobre los Servicios Integrales constituy algo fundamental, pues no solo no se incurri en gastos especiales de Routers capaces de manejar campos especiales, si no que la implementacin fue muy rpida, precisa y econmica. Es absolutamente necesario configurar cada enrutador con polticas y reglas de calidad de servicio si se desea asegurar en un cien porciento la calidad del servicio, sin embargo, realizar una distribucin y modelacin del trfico de una LAN es perfectamente viable implementando Servicios Diferenciados, y sus resultados son satisfacen totalmente las expectativas.

Las redes universitarias y tambin en las empresas se deberan preocupar de configurar e implementar soluciones de Calidad de Servicio, pues no solo es econmico (en el caso de los Servicios Diferenciados) si no que tambin es muy til, pues se podra tener un control total del tipo de trfico que se desea privilegiar. Con el auge de las aplicaciones online, en las empresas se est migrando todas las aplicaciones de gestin a la red debindose conectar a servidores externos; En situaciones como stas, si se
12 de 13

Mtodos para Asegurar la Calidad del Servicio

Taller de Redes de Computadores 2010

implementara de manera correcta la Calidad de Servicio, se podra controlar y privilegiar el trfico hacia ese servidor y asegurarle un ancho de banda; Esto traera como consecuencia un inmediato aumento en la satisfaccin de la experiencia de uso de los clientes con su sistema de administracin remoto (como los sistemas integrados de gestin, por ejemplo). En los laboratorios tambin se podran aplicar ciertas reglas de Calidad de Servicio para que los alumnos que realicen cierto tipo de transferencias, o deseen realizar actividades no acadmicas tengan un porcentaje menor de Banda Ancha que aquellos que desean visitar pginas de docentes. La cantidad de aplicaciones que tiene la Calidad de Servicio es grandsima, ms an, con el auge de las redes, controlar el tipo y la cantidad de trfico asignado para sus ellas es crucial, siempre se debera privilegiar aqul servicio para el cual existe la red. Si la red se cre para realizar Video Conferencias, stas deben tener el privilegio y asignadas una mayor cantidad de garantas. Por otro lado, si la red es educativa, los sitios distractivos deben tener menos privilegios que aquellos educacionales o de investigacin.

Bibliografa Quality of Service-Fact or Fiction? Geoff Huston, Internet Protocol Journal Vol. 3 N 1. http://www.cisco.com/warp/public/759/ipj_3-1/ipj_3-1_qos.html Intserv: http://www.ietf.org/html.charters/intserv-charter.html RSVP: http://www.ietf.org/html.charters/rsvp-charter.html Diffserv: http://www.ietf.org/html.charters/diffserv-charter.html Grupo de Trabajo QoS Internet2: http://www.internet2.edu/qos/wg B. Teitelbaum: Internet 2 Qbone: A Test Bed for Differentiated Services, www.isoc.org/inet99/proceedings/4f/4f_1.htm

13 de 13