DISEÑO E IMPLEMENTACION DE UNA HERRAMIENTA PARA EL MONITOREO DE PARAMETROS DE QOS EN REDES NGN ALEXANDER SUAREZ RAMIREZ UNIVERSIDAD AUTÓNOMA DE OCCIDENTE FACULTAD DE INGENIERIA DEPARTAMENTO DE AUTOMATICA Y ELECTRÓNICA PROGRAMA DE INGENIERIA ELECTRÓNICA SANTIAGO DE CALI 2013 DISEÑO E IMPLEMENTACION DE UNA HERRAMIENTA PARA EL MONITOREO DE PARAMETROS DE QOS EN REDES NGN ALEXANDER SUAREZ R Pasantía Institucional para optar al título de ingeniero Electrónico y Telecomunicaciones Director ZEIDA MARÍA SOLARTE Ingeniero electrónico UNIVERSIDAD AUTÓNOMA DE OCCIDENTE FACULTAD DE INGENIERIA DEPARTAMENTO DE AUTOMATICA Y ELECTRÓNICA PROGRAMA DE INGENIERIA ELECTRONICA SANTIAGO DE CALI 2013 Nota de aceptación: Aprobado por el Comité de Grado en cumplimiento con los requisitos exigidos por la Universidad Autónoma de Occidente para optar al título de Ingeniero Electrónico y Telecomunicaciones. HELMUT RUBIO Jurado LEONARDO SAAVEDRA Jurado Santiago de Cali 26 de Abril del 2013 3 CONTENIDO Pág. RESUMEN 9 INTRODUCCIÓN 11 1. PLANTEAMIENTO DEL PROBLEMA 12 2. JUSTIFICACIÓN 13 3. OBJETIVOS 3.1. OBJETIVO GENERAL 3.2. OBJETIVOS ESPECÍFICOS 14 14 14 4. ANTECENDENTES 4.1. VQMANAGER 4.2. CISCO IOS SAA 4.3. D-ITG (DISTRIBUTED INTERNET TRAFFIC GENERATOR) 15 15 16 17 5. MARCO TEÓRICO 5.1. CALIDAD DE SERVICIO 5.2. HERRAMIENTAS DE DESARROLLO 5.2.1. Java. 5.2.2. Jpcap. 5.3 CONCEPTOS BÁSICOS REDES PRÓXIMA GENERACIÓN 5.4 ARQUITECTURA NGN 5.4.1.Estrato de transporte. 5.4.2. Estrato de servicio. 5.4.3. Estrato de gestión. 5.5. TECNOLOGÍAS DE ACCESO EN REDES NGN 5.5.1. Acceso Wimax. 5.5.2. Acceso XDSL. 5.6. QoS 5.6.1Infraestructura. 5.6.2. Verificación. 19 19 19 19 19 20 21 21 22 22 22 22 23 24 24 25 4 5.6.3. Contratación. 5.7. COMPONENTES ARQUITECTURA NGN 5.7.1. MG (MEDIA GETWAY). 5.7.2. MGC (MEDIA GATEWAY CONTROLLER). 5.8. CONCEPTOS BÁSICOSPARA LA CAPTURA DE PAQUETES 5.9. ESTRUCTURA PARA CAPTURA DE PAQUETES 5.10. ESTRUCTURA DEL FLUJO DE PAQUETES 5.10.1. Nivel de kernel. 5.10.2. Nivel de usuario. 5.11. FILTROS 5.11.1. BPF. 5.11.2. Esquema General Del Proceso De Captura BPF. 5.11.3. NPF. 29 29 30 31 31 32 32 33 34 34 34 35 36 6. DISEÑO DE LA HERRAMIENTA PARA EL MONITOREO DE PARÁMETROS QOS 6.1. DISEÑO DEL SERVIDOR 6.1.1. Captura De Paquetes. 6.1.2. Almacenamiento De Paquetes. 6.1.3. Cálculo De Parámetros. 6.1.4. Almacenamiento De Parámetros De QoS. 6.1.5. Resultados En Pantalla. 6.2. DISEÑO DEL CLIENTE 6.2.1. Sincronización. 6.2.2. Captura De Paquetes Y Almacenamiento De Los Resultados. 38 38 39 40 40 41 42 42 42 45 7. DISEÑO DE LA INTERFAZ DE USUARIO EAGLE NETWORK SNIFFER 7.1. INTERFAZ GRÁFICA SERVIDOR 7.1.1. Ventana Principal. 7.1.2. Menú Archivo. 7.1.2.1 Iniciar 7.1.2.2. Reporte. 7.1.3. Ayuda. 7.2. INTERFAZ GRÁFICA CLIENTE 7.2.1. Ventana Principal. 7.2.2. Menú Archivo. 7.2.3. Menú Captura. 7.3. FILTROS 7.3.1. Configuración De Filtros Unidireccionales. 46 46 46 47 48 48 48 49 49 50 50 51 51 5 7.3.2. Configuración De Filtros Bidireccionales. 55 8. SIMULACIONES Y RESULTADOS 8.1. ANALISIS DE PARÁMETROS QoS PARA TRAFICO FTP 8.2. ANALISIS DE PARÁMETROS QoS PARA TRAFICO VoIP 56 56 58 9. CONCLUSIONES 61 BIBLIOGRAFÍA 62 6 LISTA DE FIGURAS Pág. Figura 1. Gráfico de Reporte de Llamada 15 Figura 2. Flujo de Paquetes 16 Figura 3. Interfaz Gráfica D-Itg 18 Figura 4. Modelo Vertical 20 Figura 5. Modelo Horizontal 20 Figura 6: Capas en una Red Ngn 21 Figura 7. Arquitectura Qos 24 Figura 8. Red con Mecanismos Qos 25 Figura 9. Red con Mecanismos Qos 25 Figura 10. Arquitectura Ngn 30 Figura 11. Media Gateway 31 Figura 12. Estructura de la Captura de un Paquete 32 Figura 13. Flujo de los Paquetes 33 Figura 14. Proceso de Captura Bpf 35 Figura 15. Almacenamiento de los Paquetes 36 Figura 16. Estructura Winpcap 37 Figura 17. Diagrama de Flujo Principal Servidor 38 Figura 18. Diagrama de Flujo Captura De Paquetes 39 Figura 19. Diagrama de Flujo Cálculo De Parámetros 41 Figura 20. Diagrama de Flujo Principal Cliente 42 Figura 21. Flujo de los Paquetes 43 Figura 22. Esquema Interfaz de Usuário Servidor 46 Figura 23. Ventana Principal Eagle Network Sniffer 47 7 Figura 24. Ventana de Configuración Servidor Y Cliente 48 Figura 25. Ventana de Reporte Parámetros De Qos 48 Figura 26. Esquema Interfaz De Usuário Cliente 49 Figura 27. Ventana Principal Cliente 50 Figura 28. Ventana de Sincronización del Cliente 51 Figura 29. Ventana de Configuración Ens 52 Figura 30. Ventana de Configuración Ens 52 Figura 31. Ventana de Configuración Ens 53 Figura 32. Ventana de Configuración Ens 53 Figura 33. Ventana de Configuración Ens 54 Figura 34. Ventana de Configuración Ens 54 Figura 35. Esquema de Prueba Para Captura Y Análisis De Parámetros Qos Para Una Llamada De Voip 55 Figura 36. Esquema de Prueba Y Análisis de Parámetros Qos Para Ftp 56 Figura 37. Esquema de Prueba Y Análisis de Parámetros Qos Para Voip 58 8 LISTA DE CUADROS Cuadro 1. Evolución de Tecnología Wimax 23 Cuadro 2. Parámetros de Calidad De Servicios Para Los Distintos Servicios en Redes Ngn 28 Cuadro 3. Resultados Obtenidos Para la Aplicación de Ftp Utilizando Eagle Network Sniffer Y D-Itg 57 Cuadro 4. Comparación de Datos Obtenidos del Servicio de Ftp Con Parámetros de Recomendación Y.1541 58 Cuadro 5. Resultados Obtenidos Para la Aplicación de Voip Utilizando Eagle Network Sniffer Y D-Itg 59 Cuadro 6. Comparación de Datos Obtenidos del Servicio de Voip con Parámetros de Recomendación Y.1541 9 60 RESUMEN En la actualidad, es importante para los usuarios conocer la calidad de los servicios de telecomunicación en las redes de nueva generación, tal y como se venía realizando en la redes convencionales. Esto debido a que es necesario el control de la calidad del servicio (QoS) que se ofrece por parte de los proveedores de telecomunicaciones. El documento describe el proceso de diseño adoptado para crear una herramienta que permite medir parámetros de QoS. Se presentan una serie de pruebas, las cuales permiten comprobar en un ambiente controlado y de manera conjunta con otros simuladores que los datos obtenidos son válidos o coherentes. Palabras claves: IP, Monitoreo, TCP, UDP, QoS, VoIP, NGN 10 INTRODUCCIÓN Los operadores de telecomunicaciones en Colombia hace algunos años ofrecían servicios de voz y datos en distintas infraestructura de red, esto ha evolucionado en los últimos años para ofrecer la voz y los datos en una sola infraestructura de datos conocida como Red de próxima generación (NGN – Next Generation Network). Las redes de próxima generación cuentan con una plataforma unificada de transporte, control, señalización para voz, datos y multimedia, donde la velocidad de transmisión de los paquetes es muy alta, debido a que se soporta en protocolos que facilitan el intercambio de los paquetes. Se deberá tener en cuenta aspectos como la calidad del servicio demandado por las aplicaciones del cliente, ya que sobre las redes NGN se soportan un gran número de aplicaciones y servicios. La medición de la calidad del servicio es de vital importancia tanto para el proveedor de servicios de Internet como para la comisión reguladora (en el caso colombiano, la Comisión de Regulación de las Telecomunicaciones) y los clientes, debido a que las aplicaciones y servicios ofrecidos en las redes NGN deben cumplir con unos valores establecidos en la recomendación Y.1541, la cual tiene por objetivo evaluar la calidad de funcionamiento de la red para servicios basados en el protocolo Internet. El proyecto de investigación de índole académico hace parte de un proyecto que se está realizando en la universidad ICESI, el cual pretende diseñar e implementar una herramienta que tienen como objetivo fundamental medir parámetros de QoS directamente de una traza de tráfico. Una vez realizada la herramienta se definirán escenarios controlados de pruebas, para realizar un análisis que permita evaluar y comparar resultados obtenidos. 11 1. PLANTEAMIENTO DEL PROBLEMA Para la redes de nueva generación (NGN) la calidad de servicio ha sido el motivo de debates, donde se discute si el nivel de servicios que se ofrece a los usuarios por parte del proveedor de telecomunicaciones, cuenta con un nivel de calidad suficiente para su correcto funcionamiento. Los proveedores de telecomunicaciones de banda ancha realizan la medición de la calidad de servicio, haciendo uso de equipos con aplicaciones propietarias que funcionan solo con sus equipos de interconectividad, en donde se desconoce si los parámetros que son presentados al ente regulador (en el caso colombiano, la Comisión de Regulación de las Telecomunicaciones) son correctos y no han sido manipulados. Lo anterior genera la necesidad de diseñar una herramienta que permita obtener la medición de los parámetros de QoS directamente de una traza de tráfico, para poder dar validez de los resultados obtenidos. 12 2. JUSTIFICACIÓN En la actualidad los operadores de servicio de telecomunicaciones tienen la necesidad de ofrecer un nivel de calidad y servicio óptimo, debido a que es un diferenciador por parte del cliente entre los distintos proveedores de telecomunicaciones. Por otra parte para el ente regulador (en el caso colombiano, la Comisión de Regulación de las Telecomunicaciones) también es de suma importancia que los operadores que utilicen redes de nueva generación (NGN), deben de cumplir con unos valores establecidos de jitter, delay y perdida de paquetes, estos valores se verificaran en la recomendación Y.1541 para poder evitar eventuales abusos por el proveedor de Internet, por esta razón la medición de estos parámetros juega un papel muy importante. 13 3. OBJETIVOS 3.1. OBJETIVO GENERAL Diseñar y desarrollar una herramienta que permita obtener los parámetros de calidad y servicio directamente de una traza de tráfico y verificar si estos parámetros están entre los límites establecidos en las recomendaciones de la ITU-T Y.1541. 3.2. OBJETIVOS ESPECÍFICOS Diseñar una herramienta que permita calcular IPTD, IPDV, IPLR, packet rate, bit rate, número de paquetes y tiempo total de la captura, para un traza de trafico IP. Realizar mediciones con la herramienta implementada bajo diferentes condiciones de tráfico en la red utilizando el laboratorio de redes de la Universidad Icesi. Realizar capturas y mediciones de tráfico con la herramienta D‐ITG para comparar los datos obtenidos con los datos medidos con la herramienta diseñada. 14 4. ANTECENDENTES Se presentarán las características de diferentes herramientas que permiten medir parámetros de QoS, con el fin de contextualizar el trabajo a realizar y las características de la herramienta a diseñar y desarrollar. 4.1. VQMANAGER VQManager es una herramienta para realizar el monitoreo continuo en web de la calidad de servicio en una red de VoIP que soporte SIP, H.323, Cisco SCCP (Skinny) y RTP/RTCP. Monitorea en tiempo real el flujo de la llamada para generar informes instantáneos y en detalle en una interfaz web (ver figura 1) de los parámetros como jitter, delay, pérdida de paquetes, número de paquetes analizados y demás. Figura 1. Gráfico de reporte de llamada El VQManager es una herramienta que monitorea los paquetes que fluyen en una llamada IP, de acuerdo a estos paquetes se realizan gráficos en detalle del flujo de la llamada (ver figura 2) y generan estadísticas con reportes pasados que han sido guardados en una base de datos. 15 Figura 2. Flujo de paquetes VQManager es una herramienta con características interesantes y una interfaz amigable que puede ser accedida de manera remota, la cual cumple con la función de facilitar la labor del administrador, pero se limita al monitoreo de solo VoIP. 4.2. CISCO IOS SAA Cisco SAA (Service Assurance Agent) es un software para realiza la medición de parámetros de QoS, el cual viene embebido en routers cisco 17xx con IOS versión 1205T o superior. Ofrece una herramienta para la supervisión del rendimiento de la red para un acuerdo de nivel de servicio IP SLA (Service Level Agreements). Estos routers proporcionan estadísticas en conexiones extremo a extremo generando datos de los parametros de Qos como lo son jitter, delay y perdida de paquetes durante un periodo de tiempo establecido (ver figura 3), deben de estar instalados en la misma red con los dispositivos a los cuales se le realizaran las mediciones, estos almacenaran los datos de QoS que su vez podrán ser accedidos mediante la aplicación IPM (Internetwork Performance Monitor) la cual se encuentra en el software de cisco IOS o por medio de la herramienta de SNMP. 16 Figura 3. Gráfico de Reporte SAA SAA es un software que ofrece una solución para el análisis de la calidad de servicio ofrecido en IP y elimina el uso de otros software o hardware dedicados a este mismo análisis, puede configurarse para que se tomen acciones correctivas cuando hayan problemas en la red, pero su limitante es el uso de aplicaciones propietarias que solo funcionan en dispositivos cisco. 4.3. D-ITG (DISTRIBUTED INTERNET TRAFFIC GENERATOR) Es una herramienta libre desarrollada en la Universidad degli Studi di Napoli Federico II que tiene como función generar tráfico a nivel de paquetes e inyectarlo en la red de manera confiable. Posteriormente genera un informe con los parámetros como IPTD, IPDV e IPLR obtenidos del flujo inyectado. La herramienta puede ser utilizada de dos maneras: la primer manera es ejecutando un archivo llamado (ITGSend.exe) del lado emisor de los paquetes, el cual utiliza un script para configurar el tipo de flujo y a quien se dirige los paquetes, luego son enviados estos datos a otra aplicación la cual se ejecuta del lado del receptor (ITGRecv.exe) para recibir los paquetes sin problemas, una vez finalizado él envió de los paquetes se genera un archivo log, el cual debe ejecutarse con la aplicación (ITGDec.exe), generándose un archivo que contiene los parámetros de interés. La segunda manera es haciendo uso de una interfaz gráfica realizada por Volker Semken que se puede ver en la figura 4. 17 Figura 3. Interfaz Gráfica D-ITG D-ITG es un software muy completo que ofrece una solución para el análisis de la calidad del servicio sobre un tráfico que se genera por el mismo software y en donde se utilizan tiempos ya sea Round Trip Time o One Way Delay según sea el caso. El tráfico que se inyecta en red por parte del software es muy preciso, ya que se configuran parámetros como el número de paquetes, puerto origen, puerto destino, protocolo y tipo de tráfico. Pero este software se limita a que solo genera los parámetros de calidad y servicio para tráfico generado por la misma herramienta, lo cual puede tener consecuencias negativas sobre la red. 18 5. MARCO TEÓRICO 5.1. CALIDAD DE SERVICIO La calidad de servicio fue definido en 1984 en el documento E-800 de la ITU como “el efecto colectivo del rendimiento de un servicio, que determina el grado de satisfacción del usuario de dicho servicio”, dicho esto, para determinar la calidad servicio se necesita satisfacer las necesidades del usuario en un servicio determinado. 5.2. HERRAMIENTAS DE DESARROLLO 5.2.1. Java Para el desarrollo de la herramienta se utilizara java como lenguaje de programación, el cual fue creado por Sun Microsystems en 1995. Siendo un lenguaje de alto nivel orientado a objetos el cual toma mucha de la sintaxis de C y C++ como referencia. Java está compuesto generalmente por un compilador y un intérprete: el compilador produce un código de bytes que se almacenan en un archivo para ser ejecutado por el intérprete llamado máquina virtual de java. 5.2.2. Jpcap. Para el de desarrollo del trabajo de grado se utilizó la librería de Jpcap de código abierto, con el cual se podrá realizar un análisis de las redes en general en la plataforma de win32. Se tendrá la opción capturar todo el flujo que circula en la red o se tendrá la posibilidad de filtrar paquetes de acuerdo a configuraciones realizadas, aceptando los paquetes necesarios y descartando los paquetes filtrados. También se tienen la posibilidad de crear paquetes y ponerlos a circular en la red para realizar posibles análisis. Las librerías de Jpcap son utilizadas por aplicaciones para realizar análisis en la red. A continuación se nombran algunas aplicaciones que se basan en Jpcap. Monitoreo de redes. Generadores de tráfico. Herramientas de seguridad. 19 Analizadores de red y protocolos. Detección de intrusos. 5.3 CONCEPTOS BÁSICOS REDES PRÓXIMA GENERACIÓN Las redes de próxima generación (Next Generation Network) son la evolución de las redes tradicionales, que ofrecen sus servicios en plataformas independientes en un modelo vertical (ver figura 5), generando costos de operación muy elevados debido a sus distintos tipos acceso. Esto llevo a una convergencia para utilizar una plataforma unificada conocida como modelo horizontal (ver figura 6) para prestar servicios a los usuarios, los cuales se pueden enlazar por distintas tecnologías de acceso como también diferentes dispositivos de usuario final. Figura 4. Modelo vertical Servicios Internet Telefonía Red Conmutada Acceso Radio Radio TV Cable Satélite Radiodifusión Figura 5. Modelo Horizontal Servicios Telefonía TV Radio NGN 20 Web Correo 5.4 ARQUITECTURA NGN La arquitectura de las redes NGN está conformada por tres capas: transporte, servicios y gestión (ver figura 7), se explican en detalle las funciones de cada capa en las siguientes secciones. Figura 6: Capas en una red NGN GESTION (Facturación, Gestión usuarios, etc.) SERVICIOS/APLICACIONES (VoIP, video, datos, multimedia) TRANSPORTE RED DE CORE QoS (IP/MPLS) RED DE ACCESO (Xdsl, WIMAXHFC, Ethernet) USUARIOS (Residenciales, Corporativos, Móviles, Banda Ancha) 5.4.1. Estrato de transporte. La función básica del estrato del transporte es proporcionar una interconexión e interoperabilidad entre las redes de acceso, este estrato de transportes está conformado por dos componentes que describen en detalle a continuación. La red de acceso provee una conectividad a los usuarios hacia la red NGN, se podrá acceder por medio de tecnologías como Ethernet, cable coaxial, fibra óptica, xDSL, PLC, WIMax entre otros. Una vez que se haya establecido una conexión a la red NGN, se podrá acceder sin restricción alguna a todos los servicios que estén en la capa de aplicación, proporcionando mecanismos de calidad de servicio para el tráfico del usuario. La red de core asume el rol de transportar el tráfico a través de todo el núcleo de la red NGN, siendo la encargada de contactar el punto de acceso entre el 21 usuario y los servicios. Permitiendo la interconectividad entre la red PSTN (Public switched telephone network) a la red NGN. 5.4.2. Estrato de servicio. Este estrato es el encargado de entregar los servicios y aplicaciones al usuario final, los cuales pudieron haber sido desarrollados internamente o por terceras personas, se le permitirá a los usuarios acceder sin importar el tipo de conexión a la red o el lugar donde se encuentren. Otra función del estrato de servicio es almacenar los perfiles de usuario y los servicios que ha utilizado previamente. 5.4.3. Estrato de gestión. En el estrato de gestión el operador podrá monitorizar la red con el fin de administrar los servicios y la calidad que se está ofreciendo. Adicionalmente se maneja todo lo referente a la facturación por los servicios que se prestan. 5.5. TECNOLOGÍAS DE ACCESO EN REDES NGN En esta sección se describen las tecnologías de acceso como lo son Wimax y xDSL para conexión a la plataforma de las redes de próxima generación, cabe referenciar que estas dos tecnologías no son las únicas existentes. 5.5.1. Acceso Wimax. Wimax (Interoperabilidad mundial para acceso por microondas) es una tecnología de banda ancha que utiliza ondas de radio en las frecuencias de 2.3 a 3.5 Ghz, utiliza el estándar IEEE 802.16 que ha estado en constante evolución desde la primer versión que fue publicada en el 2001 hasta la versión más reciente 802.16m conocida como Wimax 2 será publicada hasta noviembre del 2012. A continuación se explica en la tabla 1 la evolución de wimax. 22 Cuadro 1. Evolución de Tecnología Wimax Estándar Descripción IEEE 802.16 Publicada en el año 2001, utiliza un rango de frecuencia de 10 a 66 Ghz con un ancho de banda de 120 Mbps en rango de distancia de 50Km, se necesitó que este tipo de conexiones tuvieran línea de visión directa, de lo contrario no se establece conexión. Publicada en el año 2003, utiliza un rango de frecuencia de 2 a 11 Ghz, soportaba transmisiones sin necesitan de tener línea de visión directa y adopto OFDM (Multiplexación por División de Frecuencias Ortogonales) en la capa de nivel físico. IEEE 802.16a IEEE 802.16c IEEE 802.16d IEEE 802.16e IEEE 802.16m Publicada en el 2003, utiliza un rango de frecuencia de 10 a 66 Ghz, se corrigen algunos errores de la versión inicial aumentando la interoperabilidad y consistencia entre equipos de diferentes fabricantes. Publicada en el 2004, es utilizado para acceso fijo entre la estación base y un equipo de usuario situado en el domicilio, establece velocidades teóricas de Mbps con un ancho de banda 20MHz Publicada en el 2005 , es utilizado para acceso móvil, permitiendo el desplazamiento del usuario y se conoce como Mobile Wimax. Extensión del 802.16 que entrega datos a velocidad de 1 Gbit/s en reposo y 100 Mbit/s en movimiento. 5.5.2. Acceso XDSL. La tecnología xDSL (Digital Subscribe Line) de acceso a internet banda ancha se basa en la digitalización del bucle de abonado de par de cobre telefónico. Se pueden encontrar diferentes versiones como lo son: ADSL (Asymmetric Digital Subscriber Line): es una tecnología de acceso a internet de banda ancha muy superior en velocidad que la utilizada mediante la marcación telefónica a internet, que ofrece la posibilidad de hablar por teléfono al mismo tiempo que se navega por internet utilizando la red telefónica conmutada. ADSL2: Provee una mayor velocidad de transferencia en el enlace de bajada 12 Mbps y de subida 1 Mbps, debido a que utiliza mecanismos factibles frente a las atenuaciones y fenómenos de diafonía presentes en los pares de cables del tendido telefónico. 23 ADSL2: Esta es un técnica que mejora las velocidades de subida y de bajada de ADSL2 a 24 Mbps y 1.2 Mbps respectivamente. 5.6. QoS Dentro de la arquitectura de una red próxima generación se define una capa virtual de QoS (calidad de servicio) la cual se compone de tres estratos como lo son estrato de infraestructura, verificación y contratación que se relacionan mutuamente con la capa de servicio y con la red de transporte. Figura 7. Arquitectura QoS Contratación: Niveles de Acuerdos de Servicio Verificación: Y.1541 Infraestructura: Dispositivos de Red-Configuración en el Núcleo de Red 5.6.1 Infraestructura. El estrato de infraestructura es donde se ejecutan los métodos para garantizar calidad de servicio a las aplicaciones, ya sea en la configuración previa que tenga el núcleo del operador que es basado en tecnología MPLS (Multiprotocol Label Switching) y en los dispositivos de interconectividad que utilizan métodos que brinden calidad de servicio. Existen distintos tipos de estrategias de encolamiento, que se utilizan en situaciones en donde la demanda de ancho de banda requerida por las aplicaciones excede el ancho total de la red, tal como se puede apreciar en las figuras 9 y 10 en donde se tiene una red con mecanismos de QoS, en la que se satura el enlace debido a que el tráfico ha aumentado, resultando perdida del tráfico de la cola 𝑄1 la cual tiene menos prioridad. 24 Figura 8. Red con mecanismos QoS Figura 9. Red con mecanismos QoS 5.6.2. Verificación. En el estrato de verificación se realizan procesos que comprueban si se está garantizando la calidad del servicio en las aplicaciones, esto se demuestra mediante los parámetros que se exponen en la recomendación ITU-T Y.1540 y verificando que estos parámetros se encuentren en unos valores establecidos en la recomendación ITU-T Y.1541 para así certificar que la aplicación cuenta con una calidad de servicio adecuada para la aplicación. 5.6.2.1. Recomendación Y.1540. La definición adoptada por la ITU-T (International Telecommunication Union –Telecommunication Standarization Sector) sobre la recomendación Y.1540 define los “parámetros de calidad de funcionamiento relativo a la disponibilidad y la transferencia de paquetes del protocolo Internet”. Estos parámetros se aplican al servicio IP de extremo a extremo o punto a punto para los distintos servicios. 25 La presente recomendación va dirigida a los proveedores de servicio de Internet para estar al tanto de la calidad de servicio que se le entrega al cliente, para así poder tomar acciones correctivas cuando no se está cumpliendo con los valores establecidos por la recomendación Y.1541; para el ente regulador (en el caso colombiano, la Comisión de Regulación de las Telecomunicaciones) esta recomendación sirve para evitar abusos por parte de los proveedores de servicio de telecomunicaciones que utilizan NGN; para el usuario esta recomendación es de suma importancia, ya que define los parámetros que se deben de tener en cuenta para el análisis de la calidad de servicio en una red IP, ya que es importante saber si el nivel servicio que están recibiendo por parte del proveedor de internet, o corresponde al que pagan por tenerlo. Esta recomendación define cinco parámetros que se deben de tener en cuenta para el análisis de la calidad de servicio en una red IP, pero para el diseño de la herramienta se tuvieron en cuenta solo tres parámetros que se explicaran a continuación. IPTD (IP PACKET TRANSFER DELAY) Indica el retraso desde la salida de un paquete hasta que este llega a su destino, siendo este parámetro muy frecuente en las aplicaciones de voz sobre IP. Existen distintos tipos de retardo IPTD que se explican a continuación. Retardo de propagación Este se presenta en el medio en que se propagan los paquetes, ejemplo cable coaxial fibra óptica o el aire. Retardo de almacenamiento y envió Se presenta en dispositivos como routers, y switches donde se tiene un procesamiento de los paquetes. Retardo de transmisión. Es el tiempo que ocupa el emisor en poner la información en la línea de transmisión. Retardo del jitter buffer Este es causado por la retención de paquetes antes de enviarlos al destino. Considerando lo dicho anteriormente y haciendo uso de la siguiente expresión se podrá calcular IPTD. 26 n xi Retardo = i=1 n xi = Retardo de cada paquete n = numero de paquetes IPDV (IP PACKET DELAY VARIATION) La variación del retardo también llamada jitter se define como la diferencia del tiempo de llegada de los paquetes, medido por el receptor en comparación con su valor esperado. Es un efecto que se produce en las redes no orientadas a la conexión, donde la discretización de la información en paquetes produce que al llegar estos paquetes al receptor no lleguen en el mismo orden. Considerando lo dicho anteriormente y haciendo uso de la siguiente expresión se podrá calcular IPDV. n xi Variaciondelretardo= 2 n retardo2 . i=1 n 1 xi = Retardo de cada paquete n = numero de paquetes enviados IPLR (IP PACKET LOSS RATIO) Hace referencia a la rata de pérdida de paquetes, la cual se obtiene entre el total de paquetes perdidos sobre el total de paquetes transmitidos en un flujo de datos determinado, existen dos formas por las cuales se descartan los paquetes: descartados por el jitter buffer y por la red. La causa más importante por la que se pierden los paquetes en la red, es porque en los routers se congestionan debido a que se está generando mucho tráfico, este fenómeno se llama cuello de botella el cual genera que la entrada de los buffer se llene, generando que los paquetes se desechen. 𝑹𝒂𝒕𝒂 𝒅𝒆 𝒑𝒆𝒓𝒅𝒊𝒅𝒂 𝒅𝒆 𝒑𝒂𝒒𝒖𝒆𝒕𝒆𝒔 = PL = paquetes perdidos n = numero de paquetes 𝑷𝑳 𝒏 27 5.6.2.2. Recomendación Y.1541. La recomendación Y.1541 define los “Objetivos de calidad de funcionamiento de red para servicios basados en el protocolo Internet”. Esto quiere decir que la recomendación Y.1541 detalla los valores de calidad de servicio que se deben alcanzar por parte de los parámetros de la recomendación Y.1540. Esta recomendación está conformada por unas clases en donde se ubican los servicios que se ofrecen por parte del proveedor de internet, a su vez estas clases se confrontan con los parámetros de la recomendación Y.1540 para así establecer los valores que debe de tener cada servicio (ver tabla 2). Cuadro 2. Parámetros de calidad de servicios para los distintos servicios en redes NGN Parámetro de calidad de funcionamie nto de red Clases de QoS Clase 0 Clase 1 Clase 2 Clase 3 Clase 4 Clase 5* IPTD 100ms 400ms 100ms 400ms 1s U IPDV 50ms 50ms U U U U IPLR 1𝑥10−3 1𝑥10−3 1𝑥10−3 1𝑥10−4 IPER 1𝑥10−3 1𝑥10−3 U U *Clase no especificada. “U” significa no especificado o sin límites. CLASE 0 Servicios muy interactivos, en donde los parámetros de delay y jitter juegan un papel muy importante para que las aplicaciones tengan un buen funcionamiento. Los servicios que se incluyen en clase 0 son: VoIP, videoconferencia, y difusión de audio. CLASE 1 Servicios muy interactivos, son muy parecidos a los de clase 0 pero la diferencia radica que la tolerancia del delay es mayor. Los servicios que se incluyen en clase 1 son: VoIP y videoconferencia a grandes distancias. 28 CLASE 2 Las aplicaciones que se ubican en estrato 2 son de datos transaccionales interactivos en donde el retardo juega un papel muy importante, pero estas aplicaciones son poco sensibles al jitter. Los servicios que se incluyen en clase 2 son: navegación y señalización. CLASE 3 Se ubican aplicaciones como en la clase 2 pero se admiten valores de retardo mayores. CLASE 4 Se ubican aplicaciones donde se soportan pérdidas de datos y no se tienen problemas con el retardo como por ejemplo: videostreaming, transferencia de archivos etc. 5.6.3. Contratación. En el estrato de contratación se generan acuerdos entre el proveedor de servicios y el usuario, en donde se definen las aplicaciones utilizadas por parte del usuario, estas son clasificadas en las cuatro clases vistas anteriormente, las cuales tienen unos valores límites establecidos de parámetros de QoS que el proveedor debe de garantizar. 5.7. COMPONENTES ARQUITECTURA NGN Los componentes que se encuentra comúnmente en la arquitectura NGN (ver figura 11) son los MG (Media getway), MGC (Media Gateway controller), dispositivos de acceso, entre otros. 29 Figura 10. Arquitectura NGN Services Voice Services Multimedia Services Data Services Management Internet MG End-to-end ISP Network Management MG MG MG MG Other Carriers Access TDM Equipment New Access Customerpremise portfolio Premise 5.7.1. MG (MEDIA GETWAY). El Media getway se utiliza en los teléfonos analógicos para transformar la señal análoga en digital, el componente más común que tiene el media gateway es el DSP (Digital signal processor) como se aprecia en la figura 12, el cual tiene la función de transformar la señal analógica en digital, eliminar el eco, detección de silencio, compresión de audio y video y convertir la voz en paquetes debido a que la red NGN trabaja solo con IP. Tiene una interfaz Ethernet y utiliza RTP (Real-time transport protocol) para transmitir los datos. 30 Figura 11. Media Gateway Configuration Data Control Circuit Packet DSP Processor Codec And tone Algorithms Memory 5.7.2. MGC (MEDIA GATEWAY CONTROLLER). Es el dispositivo más importante dentro de la arquitectura NGN ya que se encarga del control y procesamiento de la llamada sobre una red IP, su objetivo principal es brindar un servicio confiable y con calidad tal como se presenta en una red conmutada. Las características más importantes son: Capacidad de proveer sobre la red IP un sistema telefónico confiable en todo momento. Enrutamiento de las llamadas. Compatibilidad con la red conmutada. Bajo costo debido a que se tiene una plataforma unificada. Sistemas de facturación. 5.8. CONCEPTOS BÁSICOSPARA LA CAPTURA DE PAQUETES En esta sección se describe el proceso de captura y flujo de los paquetes desde las capas más bajas del sistema operativo, hasta que estos paquetes llegan al usuario final pasando por una serie de procesos de filtrado realizados mediante el uso de NPF Netgroup Packet Filter, el cual pertenece a la estructura Winpcap en donde se seleccionan solo los datos requeridos para el correcto funcionamiento de la aplicación. 31 5.9. ESTRUCTURA PARA CAPTURA DE PAQUETES En primera instancia para realizar mediciones de los parámetros se debe de tener conocimiento de cómo es capturado un paquete y a su vez procesado para realizar una aplicación. En el nivel más bajo se encuentra el adaptador de red o NIC que es utilizado para capturar los paquetes que circulan por la red, durante este proceso el NIC debe de estar en modo promiscuo para capturar incluso los paquetes que no son directamente para el PC. En la figura 13 se puede observar la estructura para la captura de un paquete, la cual consta del packet capture drive, el cual es un módulo que trabaja a nivel del kernel e interactúa con el adaptador de red para capturar los paquetes. Seguido del packet capture drive se encuentra el packet.dll que trabaja a nivel de usuario, son una librerías de enlace dinámico que proveen funciones como la obtención de información de la tarjeta de red y la lectura de los paquetes que circulan en la red. Este es el funcionamiento básico de la arquitectura para la captura de paquetes. Figura 12. Estructura de la captura de un paquete 5.10. ESTRUCTURA DEL FLUJO DE PAQUETES 32 Los paquetes que fluyen en la red son utilizados por la herramienta, ya sea porque van dirigidos a la tarjeta de red del ordenador o porque la tarjeta de red se encuentra en modo promiscuo. Luego de ser capturados los paquetes pasan por un proceso de filtrado, existen dos tipos de filtros BPF Berkeley Packet Filter y NPF Netgroup packet filter, una vez filtrados los paquetes estos son utilizados por la aplicación. A continuación se profundiza las partes que conforman el nivel de kernel y usuario. Figura 13. Flujo de los paquetes 5.10.1. Nivel de kernel. La captura de los paquetes se realiza en las capas más bajas del sistema operativo llamada área del kernel, es realizado por la tarjeta de red la cual lee los paquetes que se encuentran circulando en la red dejando pasar solo los paquetes necesarios, esto es evitado mediante filtros que son configurados por el programador los cuales bloquean los paquetes indeseables dejando pasar solo los paquetes necesarios para almacenados en 33 un buffer, evitando pérdidas de paquetes, debido a que la aplicación a nivel de usuario puede no estar lista para procesarlos. La interacción entre el nivel del kernel y el de usuario se realiza con una función la cual toma los paquetes que están el buffer y los pasa a la interfaz de usuario en un tiempo establecido. 5.10.2. Nivel de usuario. A nivel de usuario se encuentra el PACKET.DLL es una librería de enlace dinámico la cual se encuentra entre la captura de paquetes y la aplicación a nivel de usuario, ofrece funciones para el manejo de los adaptadores de red como leer, enviar paquetes y filtrar paquetes. También se encuentra libpcap library siendo una librería originaria de UNIX, esta tiene una versión para win32 la cual proporciona una interfaz de alto nivel para la captura de los paquetes mediante el dispositivo de red. Por último en el nivel más alto se tiene la aplicación la cual con los datos obtenidos en los niveles inferiores se calculan los parámetros que afectan la calidad de servicio como son jitter, delay y pérdida de paquetes, con estos valores se comprobara si el servicio prestado cuenta con calidad necesaria. 5.11. FILTROS El proceso de filtrado se realiza mediante el uso de NPF Netgroup Packet Filter el cual pertenece a la estructura Winpcap, siendo NPF la evolución de BPF Berkeley Packet Filter el cual fue creado para trabajar en sistemas UNIX. A continuación se describirá la estructura de BPF Y NPF. 5.11.1. BPF. BPF Berkeley Packet Filteres un filtro que trabaja a nivel de kernel, el cual funciona como tapón dejando solo pasar los paquetes escogidos por el usuario, fue creado para trabajar en sistemas UNIX , cuenta con dos grandes componentes como lo son network tap y el packet filter, los cuales se describen con más detalles en la siguiente sección. NETWORK TAP El network tap hace parte del código BPF pero este no lo ejecuta. Es el encargado de agrupar los paquetes desde el dispositivo de red, si estos paquetes son aceptados por los filtros se colocaran en un buffer y serán devueltos a aquellas aplicaciones a las cuales vaya destinado. 34 PACKET FILTER Es el encargado de filtrar los paquetes generados en la red, si los paquetes son aceptados pasaran hacia la aplicación, en caso contrario serán descartados. BPF no solo se encarga de filtrar el tráfico también se encarga de enviar hacia la aplicación solo el número de bytes necesarios esto quiere decir que si se aplica un filtro solo para obtener los datos del paquete BPF se descartaría las cabeceras, esta acción favorece el rendimiento debido a que los buffer no almacenaran el tamaño total del paquete. 5.11.2. Esquema General Del Proceso De Captura BPF. En la figura 15 se puede observar el esquema general de captura de los paquetes por medio de la tarjeta de red, en el proceso de captura BPF se encarga de comparar cada uno de los paquetes con los filtros establecidos, si estos paquetes son aceptados pasaran hacia sus respectivos buffers que tienen un tamaño por general de 4KB. Un buffer está compuesto por store buffer, el cual recibe los paquetes que llegan desde la tarjeta de red, y otro llamado hold buffer el cual envía los paquetes hacia la aplicación. Figura 14. Proceso de captura BPF Application LibpcapCalls UserLevel Libpcap Library User-Buffer Hold Buffer KernelLevel Store Buffer Device Driver (Berkeley Packet Filter) Filter Network Tap Network Link-Layer Driver Packets 35 Protocol Stack 5.11.3. NPF. NPF puede considerarse como la evolución de BPF debido a que conserva módulos iguales, como lo son los buffers, etapas de filtrado y las bibliotecas tal y como se puede apreciar en la figura 17. La diferencia radica en que los buffers circulares a nivel del kernel procesan los datos, pero estos datos ya no son de tamaño fijo debido a que la cantidad de bytes copiados se actualizan mientras pasan desde el espacio del kernel hacia el espacio del usuario. NPF realiza tareas como la captura de los paquetes, monitoreo, almacenamiento de la información e inyección de tráfico. MONITOREO DE RED Localizándose a nivel del kernel, se encarga de proporcionar estadísticas sobre el tráfico de la red, estas estadísticas se pueden obtener sin necesidad de descargar los paquetes hacia el computador, permitiendo que no se gaste memoria del disco duro ni tampoco en procesamientos innecesarios. ALMACENAMIENTO DE LA INFORMACIÓN El almacenamiento de la información que contienen los paquetes se puede realizar de dos maneras: la primera forma de almacenar los paquetes que se guardan en el disco duro, es siguiendo las flechas de color negro como se puede visualizar en la figura 16, este tipo de almacenamiento tiene un problema ya que se realiza desde el espacio de usuario y requiere de un procesamiento mayor. La segunda manera de almacenar los datos es directamente desde el espacio del kernel, el recorrido que hacen los paquetes se puede ver siguiendo las flechas rojas de la figura 16, este tipo de almacenamiento tiene la ventaja de ser más corto en el recorrido de los paquetes, además el procesamiento disminuye drásticamente. Figura 15. Almacenamiento de los paquetes User-Mode Application Buffer Kernel-Mode Buffer Packet Capture TrafficLogging capture Buffer Drive r Packets Buffer File System Disk 36 Figura 16. Estructura Winpcap 37 6. DISEÑO DE LA HERRAMIENTA PARA EL MONITOREO DE PARÁMETROS QOS En esta sección se presenta el proceso de diseño seguido para que la herramienta calcule los parámetros de calidad de servicio en una red NGN. A la herramienta diseñada se le dio el nombre de Eagle Network Sniffer, la cual funciona capturando el tráfico que se genera en la red en modo pasivo. Esta herramienta está compuesta por dos componentes, un componente servidor y otro componente cliente. 6.1. DISEÑO DEL SERVIDOR El servidor es una parte fundamental de la herramienta ya que cumple con la función de capturar los paquetes en un extremo de la red, estos paquetes son filtrados mediante configuraciones definidas en la interfaz de usuario, estos datos serán guardados con el propósito de ser procesados con los datos capturados en el cliente y generar las medidas de los parámetros de QoS en pantalla. En la figura 18 se describe el diagrama de flujo que compone el servidor. Figura 17. Diagrama de flujo principal servidor Inicio Captura de paquetes Almacenamiento de paquetes Calculo de parámetros Almacenamiento de parámetros QoS Resultados en pantalla 38 6.1.1. Captura De Paquetes. El bloque definido como captura de paquetes (ver figura 19) tiene la función de capturar los paquetes que circulan en la red, sin embargo antes se deben de configurar algunos parámetros como son: dispositivo de red, tiempo de captura y filtros que se utilizaran para realizar la captura, una vez definidos se procede a capturar las marcas de tiempo, id y largo de cada paquete en un tiempo establecido por parte de la interfaz de red definida anteriormente. Figura 18. Diagrama de flujo captura de paquetes Captura de paquetes Búsqueda dispositivos de red Elección del dispositivo de red Configuración dispositivo de red Ingreso tipos de filtro Ingreso de tiempo de captura Iniciar=1 Capturando paquetes Paquete=1 Almacenar Tiempo=1 Fin 39 6.1.2. Almacenamiento De Paquetes. Una vez capturadas las marcas de tiempo, id y largo de cada paquete se procede guardar estos datos en un archivo de texto de nombre servidor, todo con el fin de procesar este archivo cuando se realizan los cálculos de QoS. 6.1.3. Cálculo De Parámetros. Una vez conocido como se calculan cada uno de los parámetros de QoS y teniendo los archivos de texto generados por el cliente y el servidor con las marcas de tiempo, id y largo de cada paquete, se procede a la leer estos archivos con el propósito de comparar las identificaciones de cada paquete, si coinciden se contará como un paquete enviado satisfactoriamente y se analizaran las marcas de tiempo para calcular IPTD (IP Packet Transfer Delay) y IPDV (IP Packet Delay Variation), si por el contrario las identificaciones no coinciden, se cuenta como un paquete perdido calculando IPLR (IP Packet Loss Ratio), al finalizar se cuenta el número de paquetes enviados satisfactoriamente y los paquetes perdidos obteniendo el total de los paquetes. 40 Figura 19. Diagrama de flujo cálculo de parámetros Calculo de parámetros Lectura de los Archivos Servidor y cliente Extracción de id y tiempo Cliente y servidor No Paquetes perdidos +1 ids=idc SI Paquetes aceptados +1 n IPTD = n n xi IPDV = xi i= 1 2 n retardo 2 i=1 n 1 Variables: 𝐱𝐢 = delay por paquete. 𝐱𝐢 = Marca de tiempo mayor − marca de tiempo menor. 𝐧 = numero de paquetes. 𝐧 = paquetes perdidos + paquetes aceptados. 𝐏𝐋 = paquetes perdidos. 𝐢𝐝𝐬 = identificador de paquetes servidor. 𝐢𝐝𝐜 = identificador de paquetes cliente. 6.1.4. Almacenamiento De Parámetros De QoS. Una vez calculado cada uno de los parámetros requeridos se procede a almacenar estos datos en archivo con extensión .txt, lo cual brinda la libertad de visualizar este archivo en cualquier momento. 41 6.1.5. Resultados En Pantalla. Se realiza la lectura del archivo de texto “Resultado”, con el fin de mostrar estos archivos en una ventana generada en la interfaz de usuario. 6.2. DISEÑO DEL CLIENTE El cliente complementa la herramienta en general ya que cumple con la función de capturar los paquetes en el extremo contrario del servidor, iniciando con la sincronización con el servidor debido a que es imprescindible que manejen una hora muy exacta para que no haya problemas en los cálculos de QoS, una vez sincronizados cliente y servidor se procede a definir en la interfaz de usuario los paquetes que se deseen filtrar, los archivos que se generaron con el nombre de cliente serán guardados con el propósito de ser procesados en el servidor. A continuación se analiza en detalle los bloques que componen el cliente. Figura 20. Diagrama de flujo principal cliente Inicio Sincronización Captura de paquetes Almacenamiento de los resultados en el servidor 6.2.1. Sincronización. El bloque definido como sincronización hace referencia a que tanto cliente como servidor deben tener relojes en común, esto con el fin de que el cálculo de los parámetros de calidad de servicio no sea afectado por medidas erróneas. Existen dos maneras de sincronizar los relojes de los computadores (ver figura 22) sincrónicas y plesiocronas, se describen en detalle a continuación: 42 Figura 21. Flujo de los paquetes Sincronización Plesiocronas Sincrónicas Mutuamente Sincrónicas Master/slave PLESIOCRONAS Este tipo de sincronización no utiliza señal de control que coordinen las operaciones de los relojes, utiliza un reloj por cada nodo en la red. Este tipo de sincronización tienen el problema que al ser independientes sus relojes corren con distintas frecuencias, esto lleva a que hayan pequeñas diferencias unos de otros. Esta diferencia produce un crecimiento en el error. SINCRÓNICAS Las redes sincrónicas tienen una señal de control, están enganchadas por fase y frecuencia a un reloj en común. La aplicación necesitará una sincronización sincrónica debido a que las medidas deben de tomarse con un reloj en común entre las máquinas, existen dos tipos de sincronización sincrónica máster/salve y mutuamente sincronizadas. A continuación se definirán los dos tipos de sincronización sincrónica, con base a esto se escogerá el tipo de sincronización que utilizara la aplicación. REDES MASTER/SLAVE Las redes master/slave tienen una distribución jerárquica en donde el reloj que se encuentra en estrato 0 (ver figura 23) hace de maestro para los que están en el estrato 1, este tipo de método es uno de los más utilizados debido a que el reloj esclavo genera una señal de error, esta señal de error es producida al 43 comparar la señal del reloj esclavo con la del maestro en un comparador de fase, esta señal se utiliza para ajustar el reloj esclavo. Figura 22. Redes centralizadas MUTUAMENTE SINCRONIZADAS Consiste en que cada reloj de la red ajusta su escala, esta es comparada con un promedio ponderado de las fases de los otros relojes que se vayan vinculando, se realiza con el propósito de disminuir el error de fase. Existen dos tipos de compensación. COMPENSACIÓN EXPLÍCITA El método que se utiliza se llama avance de reloj, la señal de cada reloj es adelantada una cantidad de tiempo igual al retardo del canal medido y luego transmitido al otro nodo. COMPENSACIÓN IMPLÍCITA Utiliza el sistema de temporización ecualizado, en este sistema la diferencia de fase entre la señal de temporización, señal entrante y la señal local es medida y este valor es transmitido al otro nodo. 44 En cada nodo la señal de control se conforma por la suma de los valores de la diferencia de fase y la medición local de la diferencia de fases de los relojes. MÉTODO DE SINCRONIZACIÓN UTILIZADO POR EL CLIENTE Una vez definidos los tipos de sincronización existentes, se seleccionó la sincronización máster/Slave debido a que se debe de tener un reloj mutuo entre los computadores que realizaran la captura de los paquetes. Este tipo de sincronización se realiza utilizando el protocolo NTP (Network Time Protocol) el cual es un protocolo que sirve para sincronizar sistemas informáticos a través del ruteo de paquetes en una red con latencia variable. 6.2.2. Captura De Paquetes Y Almacenamiento De Los Resultados. El bloque definido como captura de paquetes en el cliente se encarga de capturar los paquetes que circulan en la red de manera similar que en el servidor, la diferencia radica en que una vez terminada la captura, automáticamente se envía el archivo generado con el nombre de Cliente.ans hacia donde se encuentra el servidor para ser procesado. 45 7. DISEÑO DE LA INTERFAZ DE USUARIO EAGLE NETWORK SNIFFER Y CONFIGURACIONES DE FILTROS En este sección se muestra el proceso de diseño seguido para realizar la interfaz gráfica de usuario tanto del cliente como del servidor, se tuvieron en cuenta aspectos como la sincronización que se realiza por parte del cliente ingresando solo la dirección IP del servidor y la transferencia de los archivos generados por el cliente de manera automática hacia el servidor. 7.1. INTERFAZ GRÁFICA SERVIDOR En la figura 23 se puede apreciar el esquema organizacional que se utilizó para realizar la interfaz gráfica del servidor. Figura 22. Esquema interfaz de usuário servidor Menú Archivo Iniciar captura Ver reporte Bienvenido Menú Ayuda Acerca de 7.1.1. Ventana Principal. La ventana principal del servidor (ver figura 24) está compuesta por dos menús desplegables como archivo y ayuda, los cuales contiene lo necesario para el manejo de las funciones de la herramienta. Se describen en detalle a continuación. 46 Figura 23. Ventana principal Eagle Network Sniffer 7.1.2. Menú Archivo. La opción archivo del menú despliega las siguientes opciones: Archivo o Iniciar o Ver Reporte 7.1.2.1. Iniciar. Activar la opción del menú “Archivo > Iniciar” La opción iniciar despliega la ventana (ver figura 25) que se divide en dos segmentos, el primer segmento despliega los nombres, direcciones IP y Mac asociada a cada interfaz de red, en el segundo segmento se permite configurar los parámetros sobre los cuales se realizará la captura de los paquetes, tales como tiempo de captura, tarjeta de red y tipo de filtro. 47 Figura 24. Ventana de configuración servidor y cliente Descripción Tarjetas de red Al seleccionar esta pestaña se define un filtro unidireccional Al seleccionar esta pestaña se define un filtro Bidireccional Número de Tarjeta de red a analizar Dirección IP fuente y destino para filtro unidireccional Tiempo en Segundos de captura 7.1.2.2. Reporte. Activar la opción del menú “Archivo > Reporte” La opción Reporte despliega una ventana, con los datos obtenidos la última vez que se ejecutó el programa. Figura 25. Ventana de reporte parámetros de QoS 7.1.3. Ayuda. Activar la opción del menú “Ayuda > Acerca de”. La opción de opción “Acerca de” despliega una ventana con un pequeño tutorial de manejo del software, el cual contiene la siguiente información: 48 Ingreso de datos para tráfico unidireccional. Ingreso de datos para tráfico bidireccional. Tipos de tráficos que soporta la herramienta. Como realizar la sincronización de relojes. Esta opción de ayuda es muy general por lo cual el software contiene un tutorial en formato .pdf más completo de la forma en que se debe manejar la herramienta, además de algunos ejemplos de capturas con distintos tipos de tráficos. 7.2. INTERFAZ GRÁFICA CLIENTE El diagrama de la figura 27 muestra la organización de la interfaz de usuario del cliente. Figura 26. Esquema interfaz de usuário cliente Menú Captura Iniciar Sincronizació n Configuración Bienvenido Menú Ayuda Acerca de Manual Usuario 7.2.1. Ventana Principal. La ventana principal (ver figura 28) está compuesta por menús desplegables que contienen las funciones que la herramienta puede realizar, se explicarán en detalle a continuación. 49 Figura 27. Ventana principal cliente 7.2.2. Menú Archivo. La opción archivo del menú despliega las siguientes opciones: Archivo o Iniciar o Ver Reporte 7.2.3. Menú Captura. Activar la opción del menú “Archivo > Iniciar captura” La opción iniciar captura despliega la ventana de sincronización de hora (ver figura 29), pidiendo ingresar la dirección IP de host al cual se sincronizara, se deberán de tener los computadores en modo de administrador para que la sincronización se realice con éxito debido a que de esto depende la certeza de los datos, una vez ingresada, se selecciona continuar para generar una ventana (ver figura 25) que permite configurar al igual que en el servidor los parámetros sobre los cuales se realizará la captura. 50 Figura 28. Ventana de sincronización del cliente Una vez configurado todos los parámetros del programa, se inicia el proceso de captura de los paquetes por parte del cliente, terminado el tiempo programado de la captura se genera un archivo con el nombre de Cliente.ans en el computador donde se está ejecutando el para que este procese esta información. 7.3. FILTROS La configuración de los filtros es un tema de mucha importancia, debido a que los paquetes que pasan por el filtro son utilizados para realizar los cálculos de los parámetros de calidad de servicio, se pueden realizar dos tipos de configuraciones como son: filtros unidireccionales y bidireccionales se explican a continuación. 7.3.1. Configuración De Filtros Unidireccionales. Los filtros unidireccionales capturan el tráfico solo en un sentido, los host relacionados a este tipo de filtros se ingresan de dos formas: La primera opción es ingresar los datos de las direcciones ip de los host relacionados en la opción de fuente (IP) y destinatario (IP), siendo la fuente la dirección de IP del host que envía los paquetes y el destinatario la dirección IP del host que recibe los paquetes. Una vez ingresados estos datos en la opción filtro se ingresa el protocolo o el puerto que se desee filtrar TCP, UDP, IPv4, ARP, ICMP y se inicia la captura. 51 Ejemplo 1 Se desea capturar el tráfico icmp generado desde host 192.168.1.2 hacia el host 192.168.0.2 en tiempo de 30 segundos. Datos ingresados por parte del servidor: Figura 29. Ventana de configuración ENS Fuente (IP) 192.168.1.2 Destinatario (IP) 192.168.0.2 Tiempo de captura 30 segundos Filtro Icmp Datos ingresados por el cliente: Figura 30. Ventana de configuración ENS Fuente (IP) 192.168.1.2 Destinatario (IP) 192.168.0.2 Tiempo de captura 30 segundos Filtro Icmp 52 Ejemplo 2 Se desea capturar el tráfico originado por una descarga de una imagen jpg, del computador con dirección IP 192.168.1.2 por el puerto 21, hacia el computador con dirección IP 192.168.1.3 por el puerto 22. Datos ingresados por parte del Servidor: Figura 31. Ventana de configuración ENS Fuente (IP) 192.168.1.2 Destinatario (IP) 192.168.1.3 Tiempo de captura 30 segundos Filtro Port 21 Datos ingresados por parte del cliente: Figura 32. Ventana de configuración ENS Fuente (IP) 192.168.1.2 Destinatario (IP) 192.168.1.3 Tiempo de captura 30 segundos Filtro Port 22 53 La segunda opción es ingresar el filtro, seleccionando la pestaña de solo filtro e ingresando los datos de manera escrita. Ejemplo 3 Se desea capturar el tráfico TCP generado desde host 192.168.1.2 hacia el host 192.168.1.3 en tiempo de 30 segundos. Datos ingresados por parte del servidor: Figura 33. Ventana de configuración ENS Filtro Tcp and (src 192.168.1.2 and dst 192.168.1.3) Tiempo de captura 30 segundos Datos ingresados por parte del cliente: Figura 34. Ventana de configuración ENS Filtro Tcp and (src 192.168.1.2 and dst 192.168.1.3) Tiempo de captura 30 segundos 54 7.3.2. Configuración De Filtros Bidireccionales. Los filtros bidireccionales son los que capturan el tráfico que se genera en ambos sentidos, por ejemplo en una llamada IP. Los host relacionados a este tipo de filtros se ingresan directamente en la opción de filtrado cuando se selecciona la pestaña de solo el filtro y bidireccional, las expresiones que se utilizan para realizar este tipo de filtros son: operadores lógicos, paréntesis, puerto, protocolos y demás. Ejemplo 4 Se desea capturar el tráfico generado en llamada IP del teléfono1 con dirección IP 192.168.0.2 al teléfono 2 con dirección IP 192.168.1.2 en un tiempo de 30 segundos donde se utiliza el puerto 40010 para generar trafico desde el teléfono 1 al teléfono 2 y el puerto 40030 para el tráfico generado desde el teléfono 2 al teléfono 1. Figura 35. Esquema de prueba para captura y análisis de parámetros QoS para una llamada de VoIP Filtro port 40010 and (src 192.168.0.2 and dst 192.168.) or port 40030 and (src 192.168.0.1 and dst 192.168.0.2) Tiempo de captura 30 segundos 55 8. SIMULACIONES Y RESULTADOS Con el fin de analizar los resultados que genera la herramienta Eagle Network Sniffer, se implementó el esquema que se aprecia en la figura 32, El cual está conformado por dos routers CISCO en una conexión back-to-back, además de dos Switches CISCO. 8.1. ANALISIS DE PARÁMETROS QoS PARA TRAFICO FTP Se descargara un archivo de 100KB, el cual se encuentra en el cliente y se producirá una transferencia hacia el servidor como se muestra en la figura 32, se tomaran las medidas utilizando el D-ITG de manera alternada con la herramienta diseñada, con una velocidad del enlace 64Kbps. En la Tabla III se pueden apreciar los resultados obtenidos para un ancho de banda en el enlace WAN de 64Kbps. Las diferencias que se pueden apreciar radican en la manera como el D-ITG empieza a colocar los datos en el enlace, es decir, no se tiene certeza del momento que empieza y termina la medición de los parámetros, ya que cuando se trabaja con el D-ITG, después de que termina el tiempo de envío de datos configurado, pasan alrededor de 5 a 9 segundos para que cierre el flujo y cese el envío de información. Figura 36. Esquema de prueba y análisis de parámetros QoS para FTP 56 Cuadro 3. Resultados obtenidos para la aplicación de FTP utilizando Eagle Network Sniffer y D-itg Parámetro Total Time (s) Total packets Minimum delay (s) Maximum delay (s) Average delay (s) Average jitter (s) Delay standar deviation (s) Bytes received Average bitrate Resultados D-ITG 19.719328 132 0.302434 Resultados Eagle Network Sniffer 19.68555307 132.0 0.242093086 10.133899 10.03705000 7.485182 7.402843213 0.080542 3.233416 ---3.230482505 132000 53.551521 Kbit/s Average packet 6.693940 rate pkt/s Packets 858 (86.67 dropped %) ------6.7054250 868 Haciendo un análisis más a fondo de los resultados obtenidos, se puede apreciar que el D-ITG presenta un error en el número total de paquetes transferidos, porque son 1000 paquetes que se envían y el D-ITG reporta solo 990 paquetes en total, en cambio el ENS realiza el análisis a los 1000 paquetes, debido a esto hay variaciones en los resultados. Debido a que es un servicio de transferencia de archivos se ubica en la clase 4, donde los datos obtenidos por las herramientas se encuentran por encima de los valores establecidos por ITU Y.1541, por ende debe haber problemas en la velocidad del enlace y se deben de rechazar estos servicios con estos valores. 57 Cuadro 4. Comparación de datos obtenidos del servicio de FTP con parámetros de Recomendación Y.1541 Parámetros de calidad de funcionamiento de red IPTD IPDV IPLR IPER Clase 4 Resultados D-ITG 1 Seg U 1 ∗ 10𝑒 − 3 1 ∗ 10𝑒 − 4 7.485 Seg 3.233 Seg 858 --- Resultados Eagle Network Sniffer 7.402 3.230 seg 868 --- 8.2. ANALISIS DE PARÁMETROS QoS PARA TRAFICO VoIP Se realiza una prueba para trafico VoIP, el cual será simulado por el D-ITG en un tiempo de duración de treinta segundos con un ancho de banda 60Kbps, el tráfico se genera en una sola dirección. Una vez establecida la comunicación se captura el tráfico con el ENS. Figura 37. Esquema de prueba y análisis de parámetros QoS para VoIP 58 Cuadro 5. Resultados obtenidos para la aplicación de VoIP utilizando Eagle Network Sniffer y D-itg Parámetro Total Time (s) Total packets Minimum delay (s) Maximum delay (s) Average delay (s) Average jitter (s) Delay estándar deviation (s) Bytes received Average bitrate Resultados D-ITG 31.142867 894 -0.324632 Resultados Eagle Network Sniffer 31.184264 1010 0.3126857 3.2568546 3.4925467 4.1895634 4.3678524 1.2487963 2.582364 ---2.894612 894000 ---30.5246 ---Kbit/s Average packet 28.70641pkt/s 32.3881 pkt/s rate Packets 606(60.6 %) 490 dropped Haciendo un análisis de los resultados obtenidos, se puede apreciar que se presenta una diferencia en el número total de paquetes recibidos por parte de los dos simuladores de 116 paquetes, produciendo diferencias en los valores obtenidos. Por otra parte se puede apreciar que el número de paquetes perdidos es relativamente alto debido a que el ancho de banda es pequeño. Debido a que es un servicio de VoIP se ubica en la clase 1, donde los datos obtenidos por las herramientas sobrepasan los valores establecidos ITU Y.1541, se debe de revisar el ancho de banda del enlace por que la velcidad no es correcta. 59 Cuadro 6. Comparación de datos obtenidos del servicio de VoIP con parámetros de Recomendación Y.1541 Parámetros de calidad de funcionamiento de red IPTD IPDV IPLR IPER Clase 1 Resultados D-ITG 400 ms 50ms 1 ∗ 10𝑒 − 3 1 ∗ 10𝑒 − 4 4.189 Seg 2.582 Seg 606 --- 60 Resultados Eagle Network Sniffer 4.36 Seg 2.894 Seg 490 --- 9. CONCLUSIONES Este tipo de herramientas son de gran utilidad para los proveedores de servicio de telecomunicaciones, debido a que con esta herramienta se podrá monitorear el funcionamiento y desempeño de las aplicaciones, y así tener un punto de comparación entre las herramientas comerciales que ofrecen los fabricantes de dispositivos de interconectividad. Las pruebas comparativas realizadas entre el Eagle Network Sniffer y el Ditg, generaron resultados positivos, debido a que los valores calculados en esas pruebas fueron semejantes. Al realizar la configuración extremo a extremo tanto del servidor como del cliente se debe ser muy cuidadoso al definir de manera correcta el filtro a utilizar, debido a que el software funciona con las identificaciones de cada paquete, y al cometer un error digitando el filtro los parámetros calculados podrían ser erróneos. El tiempo de captura definido por el usuario se recomienda no colocarlo por más de 10 minutos, debido a que el proceso de cálculo de los parámetros se podría demorar un tiempo similar o superior, esto por el Proceso de análisis de los archivos que contienen los datos para los cálculos. Se espera que para la próxima versión de la herramienta esta dificultad se pueda corregir. El manual de usuario realizado para la aplicación género posibilidades de entendimiento para los usuarios nuevos, lo que reduce tiempo de capacitación y costos empleados en estas. Eagle Network Sniffer es una herramienta que analiza la calidad de servicio para cualquier traza de trafico IP en modo pasivo, mientras que otras herramientas existentes en el mercado no lo realizan. El diseño de las interfaces gráficas realizadas para el Eagle Network Sniffer, facilita el ingreso de los datos para realizar el análisis de QoS por parte del usuario. La sincronización de relojes disminuye la posibilidad de errores cuando se realizan los cálculo de los parámetros de QoS, debido a que el tiempo debe de ser común entre la aplicación cliente y servidor. 61 BIBLIOGRAFÍA Cisco System. Measuring delay, Jitter, and packet loss with Cisco IOS SAA and RTTMON. www.cisco.com [en línea]. Consultado 29 de Julio de 2013]. Disponible en internet: www.cisco.com/en/US/tech/tk869/tk769/ technologies_ white_paper09186a00801b1a1e.shtml. DEGIOANNI, Loris. Development of an Architecture for Packet Capture and Network Traffic Analysis. www.winpcap.org [en línea]. Marzo 2000, [consultado 29 de Julio de 2013]. Disponible en internet: http://www.winpcap.org/docs/default.htm. FULVIO RISSO, Loris Degioanni. An Architecture for High Performance Network Analysis. Hammamet. www.winpcap.org [en línea]. Julio 2001, [consultado 29 de Julio de 2013]. Disponible en internet: http://www.winpcap.org/docs/default.htm International Telecommunication Union Telecommunication Stadarization Sector ( ITU-T). Recomendation y.1541. network perfomance objetives for ipbased services. Feb. 2006. ITU-T (International Telecommunication Union Telecommunication Stadarization Sector). Recomendation y.1540, "ip packet Transfer and availability performance parameters. Dec. 2002. Juliet Bates, Stuart Walker, Matthew Bocci, Chris Gallon, Tom Taylor. Converged Multimedia Networks. London: wiley, 2006. 348 p. QUIÑONEZ, Juan Carlos Cuéllar.Caracterización y Comparación entre los Mecanismos de Control de Calidad de Servicio utilizados en Redes de Próxima Generación, Trabajo de grado maestria en ingenieria area de telecomunicaciones. Medellin: Universidad Pontificia Bolivariana. Facultad de Ingeniera, 2010. 119p. ROMERO, Fernando. Sincronizacion de relojes en ambientes distribuido. www. postgrado.info.unlp.edu.a [en línea]. Febrero 2009, consultado 29 de Julio de 2013]. Disponible en internet: http://postgrado.info. unlp.edu.ar/ Carreras/Magisters/Redes_de_Datos/Tesis/Romero_Fernando.pdf MCCANNE, Steven. The BSD Packet Filter: A New Architecture for User-level Packet Capture. www.winpcap.org [en línea]. Enero 1993, [consultado 29 de Julio de 2013]. Disponible en internet: http://www.winpcap.org/docs/default.htm. 62 Zoho corporation. VQManager. http://www.manageengine.com. [en línea]. Consultado 29 de Julio de 2013]. Disponible en internet: www.manageengine.com/network-monitoring/. 63