Construcción De Routers Inalámbricos Para Monitorizar Calidad De Servicio
Total Page:16
File Type:pdf, Size:1020Kb
Facultad de Ingenier´ıa - Universidad de la Republica´ Proyecto de grado Construcci´onde routers inal´ambricos para monitorizar calidad de servicio Autores: Supervisores: Johnatan Stanley Galli Mat´ıasRichart Guti´errez Nicol´asSantiago Puppo Perna Eduardo Gramp´ın Castro Instituto de Computaci´on 9 de julio de 2015 “Confine yourself to observing and you always miss the point of your life. The object can be stated this way: Live the best life you can. Life is a game whose rules you learn if you leap into it and play it to the hilt. Otherwise, you are caught off balance, continually surprised by the shifting play. Non-players often whine and complain that luck always passes them by. They refuse to see that they can create some of their own luck. Darwi Odrade - Chapterhouse: Dune" Frank Herbert (\Lim´ıtatea observar y siempre perder´asel sentido de tu vida. Se puede poner de esta manera: Vive la mejor vida que puedas. La vida es un juego cuyas reglas aprendes si saltas a ella y la juegas a fondo. De lo contrario, te encontrar´asen una inestabilidad constante, sorprendi´endote continuamente de los cambios del juego. Quienes no juegan, a menudo se quejan de que la suerte les pasa por al lado. Se niegan a ver que pueden crear un poco de su propia suerte. Darwi Odrade - Dune: Casa Capitular") Resumen Las redes inal´ambricas 802.11, conocidas com´unmente como redes \Wi-Fi", se enfrentan a una gran variedad de problemas de se~naly cobertura. En este proyecto se construye una herramienta que monitorea las redes inal´ambricas, brindando diversa informaci´onde las mismas, teniendo como objetivos centrales entender sus problemas y analizar su funcionamiento, permitiendo lograr una mejor planificaci´on. A lo largo del proyecto se ha avanzado en la construcci´onde esta herramienta, comenzando con la interiorizaci´onen este tipo de redes y sus problem´aticas,realizando luego diferentes estudios del estado del arte, posibles arquitecturas y par´ametrosde monitorizaci´oninteresantes, para finalmente comenzar con el desarrollo de la herramienta. El desarrollo se agrupa en diferentes etapas, desde el dise~noy arquitectura del sistema, hasta su implementaci´oncompleta utilizando C y C++. Luego de completado el desarrollo, se realiz´oco- mo caso de estudio un despliegue en el Instituto de Computaci´oncon el objetivo de tomar mediciones de las redes inal´ambricas dentro de un entorno real. Finalmente se analizaron los re- sultados obtenidos en el despliegue para hallar conclusiones sobre la utilidad de la herramienta, verificando que cumple con los objetivos propuestos. Agradecimientos A quienes nos acompa~naron durante esta importante etapa. Se cierra un ciclo del cual nos llevamos much´ısimo.Sigamos disfrutando el camino. Gracias! A Shawn Patterson, Joshua Bartholomew, Lisa Harriton, The Lonely Island, Tegan y Sara, por alegrar nuestras jornadas de desarrollo. Everything is Awesome! iii Contenido Resumen II Agradecimientos III Contenido IV 1. Introducci´on 1 1.1. Problem´aticaexistente.................................1 1.2. Objetivos........................................2 1.3. Composici´ondel trabajo presentado.........................2 2. Antecedentes4 2.1. Redes inal´ambricas...................................4 2.2. Familia 802.11.....................................6 2.3. Funcionamiento de una red LAN inal´ambrica 802.11................7 2.3.1. Asociaci´onde los clientes con los APs....................8 2.3.2. Utilizaci´ondel canal por diferentes clientes.................9 2.3.3. Detectando el estado del medio........................ 10 2.3.4. Problema del terminal oculto......................... 11 2.4. La trama IEEE 802.11................................. 12 2.5. Problemas de calidad de la se~nalen las redes inal´ambricas............. 15 3. Hardware 16 3.1. Hardware utilizado................................... 16 3.2. Routerboard 133.................................... 16 3.3. Routerboard R52.................................... 18 3.4. OpenWRT....................................... 20 3.5. TP-LINK........................................ 20 4. Estado del arte 22 4.1. Estado del arte en hardware de routers inal´ambricos................ 22 4.1.1. Router Inal´ambrico............................... 22 4.1.2. Funcionamiento de un router inal´ambrico.................. 23 4.1.3. Qualcomm Atheros............................... 23 4.1.4. Intel....................................... 24 4.1.5. Broadcom.................................... 24 4.1.6. Comparativa.................................. 24 iv Contenido v 4.2. Estado del arte en firmware de c´odigoabierto.................... 25 4.2.1. Introducci´on.................................. 25 4.2.2. Alchemy y Talisman - SVEASOFT...................... 26 4.2.3. HyperWRT y Tomato............................. 27 4.2.4. DD-WRT.................................... 27 4.2.5. OpenWRT................................... 28 4.2.6. X-WRT..................................... 28 4.2.7. Tarifa...................................... 28 4.2.8. Elecci´ondel firmware............................. 29 4.3. Estado del arte en lenguajes de programaci´onpara sistemas embebidos...... 29 4.3.1. Definici´onde sistema embebido........................ 29 4.3.2. Evoluci´onde los sistemas embebidos..................... 30 4.3.3. Areas´ de aplicaci´ony ejemplos........................ 30 4.3.4. Caracter´ısticascomunes............................ 31 4.3.5. Componentes de un sistema embebido.................... 32 4.3.6. Requerimientos de dise~no........................... 33 4.3.7. Desarrollo de software en sistemas embebidos................ 34 4.3.8. Lenguajes en sistemas embebidos....................... 35 4.3.9. Elecci´ondel lenguaje a utilizar........................ 40 4.4. Arquitecturas de monitorizaci´on........................... 41 5. Monitorizaci´on 43 5.1. Indicadores de calidad................................. 43 5.2. Herramientas de an´alisisexistentes.......................... 47 5.3. Merkai - CISCO.................................... 50 6. Desarollo 52 6.1. Generalidades...................................... 52 6.1.1. Acercamiento a OpenWRT y las herramientas disponibles......... 52 6.1.2. Trabajando sobre la Routerboard 133.................... 54 6.1.3. Trabajando sobre TP-Link TL-WDR4300.................. 57 6.2. Implementaci´on..................................... 58 6.2.1. Idea general y arquitectura.......................... 58 6.2.2. Servidor..................................... 59 6.2.3. Base de datos.................................. 61 6.2.4. Interfaz con el usuario............................. 62 6.2.5. Monitor..................................... 65 6.2.6. Comparaci´onlibpcap y tcpdump....................... 68 7. Evaluaci´on 70 7.1. Caso de estudio..................................... 70 7.1.1. Escenario de pruebas.............................. 70 7.1.2. M´etricasde las capturas de datos....................... 71 7.2. Procesamiento de los datos capturados........................ 71 7.2.1. An´alisis medio ocupado............................ 71 7.2.2. Tipos de paquetes............................... 74 7.2.3. Clientes que m´aspaquetes y volumen de datos enviaron.......... 79 Contenido vi 7.2.4. Cantidad de paquetes y tr´aficodurante una semana............ 81 7.2.5. Comparaci´onde cantidad de paquetes y transferencia semanal...... 85 7.2.6. Medici´onde se~nal............................... 88 7.2.7. Comparaci´onde tipos en cada monitor.................... 89 7.2.8. Cantidad de dispositivos registrados..................... 93 7.2.9. Tr´aficosin AP origen ni destino........................ 94 7.2.10. Comparaci´onentre tr´aficoenviado y recibido por los APs......... 94 7.2.11. Conclusiones de la evaluaci´on......................... 96 8. Conclusiones y trabajo a futuro 97 8.1. Conclusiones...................................... 97 8.1.1. Investigaci´on.................................. 97 8.1.2. Desarrollo.................................... 98 8.2. Trabajo a futuro.................................... 99 Listado de Figuras 100 Listado de Tablas 103 A. Uso de la herramienta 104 A.1. Consideraciones para que la herramienta funcione correctamente......... 104 A.2. Funcionamiento de la herramienta.......................... 105 B. Base de datos 106 B.1. Pasos para instalar y configurar la base de datos.................. 106 B.2. Script para generar las tablas............................. 106 C. C´odigo 108 C.1. Script macState.sh................................... 108 C.2. Servidor......................................... 110 C.3. Monitor......................................... 120 D. Compilaci´onpara OpenWRT 124 D.1. Paso a paso para la compilaci´oncruzada para OpenWRT............. 124 D.2. Makefile com´un..................................... 125 D.3. Makefile OpenWRT.................................. 125 Bibliograf´ıa 128 Dedicado a los que sab´ıanque este d´ıaiba a llegar. vii Cap´ıtulo1 Introducci´on 1.1. Problem´atica existente Es com´unque en sitios p´ublicos(como universidades, centros comerciales, etc.) se cuente con un servicio de red inal´ambrica, el cual debe poseer una amplia cobertura para ser brindado en buenas condiciones a los usuarios dentro de la zona que se quiere alcanzar. En entornos de este tipo es complejo y dif´ıcilplanificar la instalaci´onde puntos de acceso (los cuales brindar´anel acceso a la red) de forma que se disponga de buena cobertura y calidad de servicio. En particular, en lo que refiere a la calidad, existen diversos problemas para brindar un buen nivel de servicio. Esto ocurre por las particularidades