Planificación y Compartición de Recursos en Redes
Transcripción
Planificación y Compartición de Recursos en Redes
Planificación y Compartición de Recursos en Redes Inalámbricas Malladas Universidad de Vigo Departamento de Enxeñería Telemática Enrique Costa Montenegro Directores Francisco Javier González Castaño Juan Carlos Burguillo Rial 2007 Dpto. de Enxeñería Telemática ETSE de Telecomunicación Universidade de Vigo Campus Universitario s/n E-36310 Vigo TESIS DOCTORAL Planificación y Compartición de Recursos en Redes Inalámbricas Malladas Autor: Enrique Costa Montenegro Ingeniero de Telecomunicación Directores: Francisco Javier González Castaño Doctor Ingeniero de Telecomunicación Juan Carlos Burguillo Rial Doctor Ingeniero de Telecomunicación Marzo de 2007 TESIS DOCTORAL Planificación y Compartición de Recursos en Redes Inalámbricas Malladas Autor: D. Enrique Costa Montenegro Directores: Dr. D. Francisco Javier González Castaño Dr. D. Juan Carlos Burguillo Rial TRIBUNAL CALIFICADOR Presidente: Dr. D. Joan García Haro Vocales: Dr. D. Ignacio Soto Campos Dr. D. Javier Vales Alonso Dr. D. Luis López Fernández Secretario: Dr. D. Pedro Salvador Rodríguez Hernández CALIFICACIÓN: Vigo, a de de . “Todos esos momentos se perderán en el tiempo. . . como lágrimas. . . en la lluvia.” Roy Batty, 2019 A los que ya no están. Abstract Wireless local area networks (WLANs) have largely succeeded, and their base stations or Access Points (APs) are common in large public areas, such as airport terminals, universities, offices, hotels, etc. Sophisticate network planning has been considered essential in cellular networks to warrant substantial investment savings. WLANs can also be controlled by the users, both at application and transport level, creating the so called user networks. This paradigm has become possible with the advent of broadband wireless networking technologies such as IEEE 802.11. One of the objectives of this thesis consists of the study of different methods for wireless networks planning, specially for those based on the IEEE 802.11 standard. We consider this planning from two different points of view. First, we will study how to maximize wireless coverage from various APs, using different mathematical algorithms, maximizing range and quality of the signal in a giving space. Then, and once we have the definitive placement of the APs, we will obtain a mesh network maximizing total bandwidth. Using game theory and agents, another objective consists of defining a scenario to demonstrate that resource sharing is an advantageous strategy that benefits most nodes in a wireless mesh network. Keywords: Wireless Netwoks, Planning, Optimization, Game Theory, Multi-Agent Systems, Shared Resources. Resumen Las redes inalámbricas de área local (WLANs, Wireless Local Area Networks) han demostrado con creces su eficacia, y sus estaciones base o puntos de acceso (APs, Access Points) son comunes en grandes áreas públicas, como pueden ser las terminales de los aeropuertos, universidades, oficinas, hoteles, etcétera. La planificación de redes se ha considerado como una tarea esencial en las redes celulares para reducir costes sustancialmente. Los propios usuarios pueden controlar las WLANs, tanto a nivel de aplicación como de transporte, creando lo que se ha dado en llamar redes de usuarios. Este paradigma se ha hecho posible gracias a la tecnología de redes inalámbricas de banda ancha, como IEEE 802.11. En este trabajo doctoral, uno de los objetivos que nos fijamos es el estudio de diferentes métodos para la planificación de redes inalámbricas, más concretamente las que siguen los estándares IEEE 802.11. Dicha planificación se tratará desde dos puntos de vista diferentes. Primero se estudiará cómo maximizar la cobertura que ofrecen los APs, gracias a métodos matemáticos de maximización del área cubierta y la calidad de señal dentro de ese espacio. Segundo, y una vez fijada la posición de los APs, se establecerá una red mallada con dichos APs que maximice el ancho de banda conjunto. El siguiente objetivo consiste en definir, haciendo uso de la teoría de juegos y de agentes, un escenario donde se verifique que la estrategia de compartición de recursos resulta la más provechosa para los nodos de una red inalámbrica mallada. Para ello se definirá la salida a Internet como el recurso compartido. Palabras clave: Redes Inalámbricas, Planificación, Optimización, Teoría de Juegos, Sistemas Multi-Agente, Compartición de Recursos. Agradecimientos Bastante tiempo ha pasado desde que un día empecé esta carrera, hasta este momento, en el que me encuentro cerca de culminarla con una tesis doctoral. Durante todo este tiempo he conocido a muchas personas y otras ya conocidas siguieron ahí. Por eso llega el momento de agradecer tanto su ayuda, su apoyo, o solo el estar ahí. Un primer agradecimiento va, cómo no, a la familia. Por su paciencia, comprensión, y su apoyo durante este largo camino. Lógicamente le siguen los amigos y amigas. Todos los que he conocido durante todo este tiempo, tanto con los que sigo en contacto, como con los que no. Los buenos amigos, los malos o los que solo son conocidos. Los de aquí, o los que he conocido a lo largo de mis viajes. Se os quiere. Las aficiones, a pesar de no ser personas, considero que son algo a agradecer. Las que te liberan de los sinsabores de la vida diaria, las que te hacen sentirte vivo, las que te hacen vivir otras realidades, las que te hacen cantar y saltar, las que te hacen jugar, las que te hacen relajar, las que te hacen reír, las que te hacen sufrir, en fin, todo lo que te hace desconectar. Siguen mis directores de la tesis, gracias por su ayuda, paciencia y apoyo a lo largo de este largo trabajo. A mis compañeros de grupo por su colaboración. A todos mis compañeros de trabajo durante este tiempo, afortunadamente no todo ha sido trabajo. A los profesores, compañeros de estudio y demás con los que me he introducido en el mundo de las telecomunicaciones. He viajado mucho durante este tiempo, algo que siempre agradeceré. No solo por ser algo que me encanta, poder ver sitios nuevos, sino por lo que considero muy importante, conocer otra gente, otras culturas, algo que te hace crecer como persona. Imposible es acordarme de todos los agradecimientos, por eso estos han sido impersonales. Como se suele decir: son todos los que están, pero como siempre, no están todos los que son. A los que no están, os lo agradezco también. Todos estos han sido mis agradecimientos, y los reitero, gracias de nuevo a todos! Tabla de Contenidos 1. Introducción 1.1. Objetivos de la tesis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.2. Introducción a las redes inalámbricas . . . . . . . . . . . . . . . . . . . . 1.3. Principios de la planificación de cobertura . . . . . . . . . . . . . . . . . 1.4. Principios de la planificación de enlaces . . . . . . . . . . . . . . . . . . 1.5. Principios de la optimización de compartición de recursos en redes de usuarios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.6. Estructura de la tesis y contribuciones . . . . . . . . . . . . . . . . . . . 1 2 3 6 7 11 12 2. Estado del Arte 2.1. Introducción . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.2. Evolución de la planificación de redes inalámbricas en general . . . . . . 2.3. Evolución de la planificación de cobertura en redes 802.11 . . . . . . . . 2.4. Evolución de la planificación de enlaces en redes 802.11 . . . . . . . . . 2.5. Evolución de la optimización de la compartición de recursos en redes de usuario . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.5.1. Redes de usuarios . . . . . . . . . . . . . . . . . . . . . . . . . . 2.5.2. Modelos P2P . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.5.3. Teoría de juegos . . . . . . . . . . . . . . . . . . . . . . . . . . 2.5.4. Sistemas multi-agente . . . . . . . . . . . . . . . . . . . . . . . 13 13 15 17 18 3. Base Tecnológica 3.1. Introducción . . . . . . . . . . . . . . . . . . . . . . 3.2. IEEE 802.11 . . . . . . . . . . . . . . . . . . . . . . 3.2.1. Características . . . . . . . . . . . . . . . . 3.2.2. Arquitecturas: modos ad-hoc e infraestructura 3.2.3. Capa MAC . . . . . . . . . . . . . . . . . . 27 27 28 29 35 38 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19 19 20 22 23 Tabla de Contenidos VIII 3.2.3.1. Sincronización de las estaciones . . 3.2.3.2. Exploración del medio . . . . . . . . 3.2.3.3. Creación de BSS . . . . . . . . . . . 3.2.3.4. Gestión de potencia . . . . . . . . . 3.2.3.5. Asociación a un punto de acceso . . 3.2.3.6. Formato de trama . . . . . . . . . . 3.2.3.7. Función de coordinación distribuida 3.2.3.8. Función de coordinación puntual . . 3.2.4. Capa PHY . . . . . . . . . . . . . . . . . . . 3.2.4.1. Subcapa PLCP . . . . . . . . . . . . 3.2.4.2. Subcapa PMD . . . . . . . . . . . . 3.2.5. Seguridad . . . . . . . . . . . . . . . . . . . . 3.3. Futuras tecnologías inalámbricas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4. Métodos Matemáticos para la Planificación de Puntos de Acceso para Maximizar la Cobertura 4.1. Introducción . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.2. Modelado del problema . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.3. Resolviendo el modelo de optimización . . . . . . . . . . . . . . . . . . 4.3.1. Enfoques anteriores . . . . . . . . . . . . . . . . . . . . . . . . . 4.3.2. Minimización sin restricciones y sin derivadas . . . . . . . . . . 4.4. Pruebas numéricas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.4.1. Simulador . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.4.2. Pruebas iniciales . . . . . . . . . . . . . . . . . . . . . . . . . . 4.4.3. Búsqueda por zonas . . . . . . . . . . . . . . . . . . . . . . . . 4.5. Conclusiones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41 42 44 44 45 45 50 52 55 56 59 60 61 65 66 67 72 72 74 77 77 78 81 84 5. Planificación de Enlaces para la Maximización del Ancho de Banda en Redes de Usuarios 87 5.1. Introducción . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88 5.2. Algoritmo de planificación distribuido . . . . . . . . . . . . . . . . . . . 89 5.2.1. Asignación del canal IEEE 802.11b . . . . . . . . . . . . . . . . 89 5.2.2. Creación de los enlaces inalámbricos . . . . . . . . . . . . . . . 92 5.2.3. Algoritmo de planificación distribuido . . . . . . . . . . . . . . . 94 5.3. Ajuste del nodo básico . . . . . . . . . . . . . . . . . . . . . . . . . . . 95 5.3.1. Regla de interferencia entre canales deshabilitada . . . . . . . . . 95 5.3.2. Regla de interferencia entre canales habilitada . . . . . . . . . . . 98 5.4. Algoritmo de planificación centralizado . . . . . . . . . . . . . . . . . . 100 Tabla de Contenidos . . . . . . . . . . . . . 100 100 101 102 103 103 104 104 105 105 107 107 108 6. Estudio de la Compartición de Recursos en Redes de Usuarios 6.1. Introducción . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6.2. Estrategias, topología de nodos y comportamiento . . . . . . . . . . . . . 6.3. Aproximación con autómatas celulares sencillos . . . . . . . . . . . . . . 6.4. Aproximación con sistemas multi-agente . . . . . . . . . . . . . . . . . . 6.4.1. Tipos de estrategia . . . . . . . . . . . . . . . . . . . . . . . . . 6.4.2. Tráfico de red . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6.4.3. Escenarios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6.4.4. Aprendiendo CreditLimit . . . . . . . . . . . . . . . . . . . . . . 6.4.5. Resultados de las simulaciones . . . . . . . . . . . . . . . . . . . 6.5. Aproximación más realista con sistemas multi-agente . . . . . . . . . . . 6.5.1. Consideraciones sobre topología y tráfico en las redes de usuarios 6.5.2. Estrategias, escenarios y ajustes . . . . . . . . . . . . . . . . . . 6.5.3. Resultados . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6.5.3.1. CreditLimit no adaptativo . . . . . . . . . . . . . . . . 6.5.3.2. CreditLimit adaptativo . . . . . . . . . . . . . . . . . . 6.6. Conclusiones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111 112 114 116 121 121 121 122 123 123 128 128 128 129 129 130 131 7. Conclusiones y Trabajos Futuros 7.1. Conclusiones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7.1.1. Métodos matemáticos para la planificación de puntos de acceso para maximizar la cobertura . . . . . . . . . . . . . . . . . . . . 7.1.2. Planificación de enlaces para la maximización del ancho de banda en redes de usuarios . . . . . . . . . . . . . . . . . . . . . . . . 133 133 5.5. 5.6. 5.7. 5.8. 5.4.1. Conjuntos y constantes . . . . . . . . . . 5.4.2. Variables . . . . . . . . . . . . . . . . . 5.4.3. Condiciones . . . . . . . . . . . . . . . 5.4.4. Restricciones . . . . . . . . . . . . . . . 5.4.5. Función objetivo . . . . . . . . . . . . . Pruebas realizadas . . . . . . . . . . . . . . . . . Algoritmo de planificación centralizado mejorado 5.6.1. Nuevas variables . . . . . . . . . . . . . 5.6.2. Nuevas condiciones . . . . . . . . . . . . 5.6.3. Nuevas restricciones . . . . . . . . . . . 5.6.4. Nueva función objetivo . . . . . . . . . . Nuevas pruebas realizadas . . . . . . . . . . . . Conclusiones . . . . . . . . . . . . . . . . . . . IX . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 133 134 X Tabla de Contenidos 7.1.3. Estudio de la compartición de recursos en redes de usuarios . . . 134 7.2. Trabajos futuros . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 135 Lista de Figuras 1.1. 1.2. 1.3. 1.4. Escenario para planificación de WLAN interior: oficina . . Escenario para planificación de WLAN exterior: área rural Despliegue de APs en WLAN exterior: área rural . . . . . Nodo básico para la creación de la red mallada . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 8 9 10 3.1. 3.2. 3.3. 3.4. 3.5. 3.6. 3.7. 3.8. 3.9. 3.10. 3.11. 3.12. 3.13. 3.14. 3.15. 3.16. 3.17. 3.18. 3.19. 3.20. 3.21. 3.22. Tipos de redes inalámbricas . . . . . . . . . . . . . . . . . Hardware IEEE 802.11: Clientes . . . . . . . . . . . . . . Hardware IEEE 802.11: Puntos de Acceso . . . . . . . . . Hardware IEEE 802.11: Antenas . . . . . . . . . . . . . . Hardware IEEE 802.11: Cables . . . . . . . . . . . . . . Red IEEE 802.11 doméstica . . . . . . . . . . . . . . . . Estado de los estándares 802.11 en 1999 . . . . . . . . . . Estado de los estándares 802.11 en 2003 . . . . . . . . . . Estándares 802.11 añadidos después de 2003 . . . . . . . Canales en la banda de 2.4 Ghz en IEEE 802.11b . . . . . Algunos elementos de las redes IEEE 802.11 . . . . . . . Red IEEE 802.11 con arquitectura en modo ad-hoc . . . . Transmisión de datos en una ESS . . . . . . . . . . . . . . Red IEEE 802.11 con arquitectura en modo infraestructura Problema del nodo oculto . . . . . . . . . . . . . . . . . . Apretón de manos en cuatro pasos . . . . . . . . . . . . . Problema del nodo expuesto . . . . . . . . . . . . . . . . Funciones de coordinación de la capa MAC . . . . . . . . Sincronización en modo infraestructura . . . . . . . . . . Sincronización en modo ad-hoc . . . . . . . . . . . . . . . Exploración del medio . . . . . . . . . . . . . . . . . . . Formato de la trama MAC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28 30 30 31 31 32 33 33 34 35 36 37 37 38 39 40 40 42 42 43 43 45 Lista de Figuras XII 3.23. 3.24. 3.25. 3.26. 3.27. 3.28. 3.29. 3.30. 3.31. 3.32. 3.33. 3.34. 3.35. 3.36. 3.37. Formato del campo de control en la trama MAC . . . . . . . . . Funcionamiento del algoritmo de backoff . . . . . . . . . . . . Transmisión de una trama de datos sin RTS/CTS . . . . . . . . . Colisión en trama de datos, A y C son nodos ocultos . . . . . . Transmisión de una trama de datos con RTS/CTS . . . . . . . . Transmisión de una trama de datos con fragmentación . . . . . . Ejemplo de un periodo sin contienda . . . . . . . . . . . . . . . Subcapas de la capa física . . . . . . . . . . . . . . . . . . . . . Formato de la trama para subcapa PLCP para salto de frecuencia Formatos largo y corto de PPDU . . . . . . . . . . . . . . . . . Ensanche de la señal con el Código Barker . . . . . . . . . . . . Transmisión en la capa física a 1 Mbps . . . . . . . . . . . . . . Transmisión en la capa física a 2 Mbps . . . . . . . . . . . . . . Transmisión en la capa física a 5.5 Mbps . . . . . . . . . . . . . Transmisión en la capa física a 11 Mbps . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46 51 52 53 53 54 55 56 57 57 59 59 60 60 61 4.1. Escenario para planificación de WLAN en exteriores: área rural . . . . . 4.2. Escenario para planificación de WLAN en exteriores: área rural en 2 dimensiones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.3. Ejemplo de ejecución con tecnología de 500 metros . . . . . . . . . . . . 4.4. Ejemplo de ejecución con tecnología de 1000 metros . . . . . . . . . . . 68 69 85 86 5.1. 5.2. 5.3. 5.4. 5.5. 5.6. 5.7. 5.8. 5.9. 5.10. Ejemplo de nodo básico . . . . . . . . . . . . . . . . . . . . . . . . . . . 90 Patrón de frecuencias y rejilla de celdas . . . . . . . . . . . . . . . . . . 91 Problema de establecimiento de conexión dual en un sentido . . . . . . . 92 Problema de establecimiento de conexión dual en dos sentidos . . . . . . 93 Escenarios y posibles infraestructuras . . . . . . . . . . . . . . . . . . . 95 Ejemplo de red, regla de interferencia entre canales deshabilitada. Ginebra 96 Ejemplo de red, regla de interferencia entre canales deshabilitada. Vigo . 97 Ejemplo de red, regla de interferencia entre canales habilitada. Ginebra . . 99 Ejemplo de red, regla de interferencia entre canales habilitada. Vigo . . . 99 Vigo, nuevo algoritmo con un 25 % de conexiones congeladas . . . . . . 109 6.1. 6.2. 6.3. 6.4. 6.5. Red de usuarios con conexiones compartidas a Internet. . . . . . . . . . . 113 El nodo Ni y dos posibles vecindarios . . . . . . . . . . . . . . . . . . . 115 Porcentaje de cooperadores después de 2400 horas, escenario con imitación119 Porcentaje de cooperadores después de 2400 horas, escenario aislado . . . 119 Evolución de los cooperadores (C) y desleales (D) (K = 4, CreditLimit=7.5, 100 días, escenario con imitación) . . . . . . . . . . . . . . . . 120 Lista de Figuras XIII 6.6. Evolución de los cooperadores (C) y desleales (D) (K = 4, CreditLimit=7.5, 200 días, escenario aislado) . . . . . . . . . . . . . . . . . . . . 120 6.7. Evolución de cooperadores (C), desleales (D) y nodos basados en agentes (A) (K = 4, 100 días, escenario con imitación) . . . . . . . . . . . . . . 124 6.8. Distribución espacial de cooperadores (C), desleales (D) y nodos basados en agentes (A) (K = 4, 20 días, escenario con imitación) . . . . . . . . . 125 6.9. Comparación de tasas de transferencia de cooperadores (C), desleales (D) y nodos basados en agentes (A) (K = 4, 100 días, escenario con imitación) 125 6.10. Evolución de cooperadores (C), desleales (D) y nodos basados en agentes (A) (K = 4, 50 días, escenario aislado) . . . . . . . . . . . . . . . . . . 126 6.11. Distribución espacial de cooperadores (C), desleales (D) y nodos basados en agentes (A) (K = 4, 50 días, escenario aislado) . . . . . . . . . . . . . 127 6.12. Comparación de tasas de transferencia de cooperadores (C), desleales (D) y nodos basados en agentes (A) (K = 4, 50 días, escenario aislado) . . . 127 6.13. Escenario con imitación con CreditLimit adaptativo. Los cooperadores ganan. El eje x representa el tiempo en segundos. Los porcentajes se hacen estables tras 23 días . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 131 6.14. Escenario aislado con CreditLimit adaptativo. Los cooperadores ganan. El eje x representa el tiempo en segundos. Los porcentajes se hacen estables tras 58 días . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 132 Lista de Tablas 1.1. Familia de estándares 802.11 . . . . . . . . . . . . . . . . . . . . . . . . 3.1. 3.2. 3.3. 3.4. Tipos de redes inalámbricas . . . . . . . . . . . . . . . . . Comparativa entre estándares 802.11b, 802.11a y 802.11g Canales de 802.11b permitidos según países . . . . . . . . Tipos y subtipos del campo de control en la trama MAC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 . . . . 29 34 35 48 4.1. Resultados de diferentes configuraciones de neighborhood search . . . . 4.2. Resultados iniciales . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.3. Resultados con búsqueda por zonas de diferentes configuraciones de simulated annealing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.4. Resultados con búsqueda por zonas de diferentes configuraciones de nonmonotone derivative-free search . . . . . . . . . . . . . . . . . . . . . . 4.5. Resultados con búsqueda por zonas con tecnología de 500 metros . . . . 4.6. Resultados con búsqueda por zonas con tecnología de 1000 metros . . . . 79 80 5.1. Tarjetas que establecen conexión ( %) . . . . . . . . . . . . . . . . . . . 5.2. Grado de los puntos de acceso, en función de la regla de interferencia entre canales ( %) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.3. Porcentaje de tipos de enlaces, en función de la regla de interferencia entre canales ( %) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.4. Resultados de las pruebas realizadas . . . . . . . . . . . . . . . . . . . . 5.5. Tamaño del problema de programación entera . . . . . . . . . . . . . . . 5.6. Mejoras con función objetivo (15) . . . . . . . . . . . . . . . . . . . . . 5.7. Mejoras en los casos de interferencias . . . . . . . . . . . . . . . . . . . 96 82 83 83 84 97 98 103 104 108 108 6.1. Cooperadores en estado permanente . . . . . . . . . . . . . . . . . . . . 129 6.2. Cooperadores en estado permanente con CreditLimit adaptativo . . . . . . 130 Lista de Algoritmos 4.1. Simulated annealing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.2. Modificaciones del pseudo-código de simulated annealing para las pruebas iniciales . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.3. Algoritmo no-monótono sin derivadas . . . . . . . . . . . . . . . . . . . . 4.4. [Z, fZ ] = INTERPOLATE(S, D, τ ) . . . . . . . . . . . . . . . . . . . . . . 4.5. Simulated annealing con búsqueda por zonas . . . . . . . . . . . . . . . . 73 74 76 77 82 Capı́tulo 1 Introducción Contenido 1.1. Objetivos de la tesis . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 1.2. Introducción a las redes inalámbricas . . . . . . . . . . . . . . . . . 3 1.3. Principios de la planificación de cobertura . . . . . . . . . . . . . . 6 1.4. Principios de la planificación de enlaces . . . . . . . . . . . . . . . . 7 1.5. Principios de la optimización de compartición de recursos en redes de usuarios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 1.6. Estructura de la tesis y contribuciones . . . . . . . . . . . . . . . . . 12 Desde que el IEEE creó el grupo de trabajo 802.11 [IEEE 802.11, WWW] encargado de los estándares inalámbricos en 1997, las redes inalámbricas han experimentado una asombrosa proliferación. Desde la incertidumbre inicial sobre su futuro hasta la actualidad, en la que están presentes en la mayoría de las grandes áreas públicas, como pueden ser las terminales de los aeropuertos, universidades, oficinas, hoteles, etcétera. Las redes gestionadas por los usuarios se han visto beneficiadas por la aparición de tecnologías inalámbricas como IEEE 802.11b o IEEE 802.11g, que representan una de las últimas etapas en la evolución del control de las redes [Hubaux et al., 2001]. Esta evolución empezó con las redes telefónicas; en ellas, las operadoras (telcos) controlaban tanto el transporte como las aplicaciones. Más tarde, Internet permitió que los usuarios pasasen a controlar las aplicaciones; aunque las telcos seguían controlando el transporte en la mayor parte de Internet, en algunos escenarios la tecnología portadora ya estaba al alcance de los usuarios finales, de manera que aparecieron de forma natural “islas” gestionadas por los usuarios [Leganes Wireless, WWW, Athens Wireless, WWW, Negroponte, 2002]. Por ejemplo, esta clase de infraestructuras actualmente proporciona acceso de banda ancha en algunas zonas rurales de España, a través de pasarelas asimétricas por satélite. De todas formas no todo es sencillo para las redes de usuarios, e incluso para redes de un ámbito muy local (como pueden ser las redes inalámbricas gratuitas que ofrecen los ayuntamientos), ya que las operadoras han comenzado a interponer denuncias 2 Capítulo 1. Introducción [CMT, WWW]. La creación de las infraestructuras para estas redes inalámbricas conlleva un proceso de planificación, que normalmente se realiza gracias a la experiencia previa, debido a que el modelado del sistema es un proceso complicado, y el software necesario es costoso y difícil de usar. Dicha planificación implica como primera labor el posicionamiento en el espacio de los puntos de acceso (APs), con el objetivo final de que la cobertura sea lo mayor posible. El posicionamiento varía mucho dependiendo de si se planifica una red en interiores o en exteriores. Una vez posicionados los APs, es necesario elegir las bandas en las que van a trabajar. Este proceso se puede realizar con algoritmos de planificación de redes. La norma indica que existen para España trece bandas a elegir, teniendo en cuenta que algunas frecuencias se superponen, lo que puede producir interferencias que afecten a la señal recibida. La elección de frecuencias para los APs, junto con la correcta elección de los enlaces intermedios, determinará la calidad de la red inalámbrica final. Dada la característica definitoria de estas redes, el control en manos de los usuarios finales, es interesante utilizarlas para la compartición de recursos, como puede ser la salida a Internet. Dicha compartición ha de ser beneficiosa para todos los usuarios, y se puede estudiar bajo la teoría de juegos y el modelado basado en agentes. 1.1. Objetivos de la tesis La problemática expuesta nos lleva a plantear los siguientes objetivos para este trabajo doctoral: Planificación del posicionamiento de puntos de acceso en redes inalámbricas exteriores para la maximización de la cobertura. Utilizando algoritmos de optimización no monótonos y sin derivadas (DF) resolveremos este problema de planificación, y compararemos los resultados con los métodos anteriormente expuestos en la literatura, neighborhood search (NS) (búsqueda de vecinos) y simulated annealing (SA) (templado simulado), en términos de resultados y del tiempo necesario para obtenerlos. Planificación de los enlaces en redes inalámbricas exteriores para la maximización del ancho de banda resultante. Utilizando un simulador a medida, y un resolvedor matemático tanto de problemas lineales como no lineales, intentaremos optimizar la elección de los enlaces entre los puntos de acceso y las tarjetas inalámbricas, para que la capacidad de la red resultante sea lo mayor posible. Para dicha optimización tendremos que cumplir ciertas restricciones para minimizar las posibles interferencias (abstrayendo el comportamiento de la capa MAC). Optimización multi-agente de los recursos en redes inalámbricas exteriores para favorecer la cooperación. Dada una red obtenida gracias a los objetivos anteriores, utilizando la teoría de juegos y modelando a cada nodo como un agente, verificaremos que la cooperación es la estrategia más provechosa cuando se comparte un recurso como la salida a Internet, y cómo dicha cooperación beneficia a la mayoría de los usuarios. 1.2. Introducción a las redes inalámbricas 3 El resto del capítulo está organizado como sigue: la sección 1.2 describe brevemente la evolución y perspectivas de las redes inalámbricas, resaltando aspectos relativos a la problemática de esta tesis. Las secciones 1.3 y 1.4 presentan los principios básicos de la planificación de posicionamiento y enlaces en redes inalámbricas. La sección 1.5 presenta los principios de la optimización en las redes de usuarios. Finalmente, en la sección 1.6 se resumen la estructura de la tesis y sus contribuciones. 1.2. Introducción a las redes inalámbricas En los últimos años se está produciendo un gran auge de la tecnología “sin cables”. Los primeros elementos informáticos en llegar al mercado han sido ratones y teclados, pero la filosofía wireless se ha extendido poco a poco a todos los periféricos, hasta permitir la instalación de redes locales prescindiendo de cables. Son varias las alternativas y protocolos, aunque sin duda la más extendida es la certificación Wi-Fi [Wi-Fi, WWW], que aprovecha la banda de 2,4 Ghz (de uso libre y sin licencia) mediante los protocolos de red 802.11b y 802.11g. Con ellos se consiguen, en condiciones ideales de distancia entre equipos, velocidades de 11 y 54 Mbps, respectivamente. En el horizonte se adivinan distintas alternativas a esta certificación. La posibilidad de conectar dos o más PCs sin el engorro de los cables es una alternativa ideal tanto para el usuario doméstico, que utiliza un par de ordenadores en su casa, como para la pequeña o mediana empresa. Las redes wireless son parecidas a las redes tradicionales: simplemente se necesita una tarjeta de red Wi-Fi por ordenador, pero también un punto de acceso (AP) que las cohesione. Los principales fabricantes de tecnología informática ofrecen una amplia gama de soluciones. En muchas ciudades crece la idea de formar unas redes wireless de libre acceso. Consisten en “telas de araña” de APs comunicados mediante antenas. PCs, portátiles, PDAs o teléfonos móviles particulares podrían utilizar estas redes desde cualquier punto de la ciudad. Existen dos tipos de redes inalámbricas: “Ad-Hoc” y en modo infraestructura. La primera es de tipo “punto a punto”. Los clientes se conectan directamente unos con otros. Simplemente envían los paquetes de información “al aire”, con la esperanza de lleguen a su destino. En la red en modo infraestructura se utiliza el dispositivo AP, que actúa como un hub o concentrador tradicional. Envía directamente los paquetes de información a cada ordenador de la red. El hub incrementa la velocidad y eficiencia de la red y es imprescindible para soluciones profesionales. Un aspecto importante a la hora de montar una red es la pérdida de señal. El estándar Wi-Fi 802.11b permite una velocidad máxima de datos de 11 Mbps. Al funcionar con señales de radio, la distancia entre transmisor y receptor y la calidad de cables y conectores (si es que utilizamos antenas) son factores muy importantes para alcanzar una velocidad adecuada. Una señal débil implica paquetes perdidos. Además no hay que olvidar que tanto las microondas como los teléfonos digitales inalámbricos tienen una longitud de onda similar y pueden causar interferencias. La seguridad es otro factor importante. La utilización de ondas de radio añade un factor de riesgo a las redes sin cables, ya que cualquier receptor puede recoger la señal. 4 Capítulo 1. Introducción Normalmente se utilizan sistemas de encriptación para reforzar la seguridad en las redes wireless. El más utilizado es WEP (Wired Equivalent Privacy) [WEP, WWW] que emplea encriptación de hasta 512 bits, aunque se ha demostrado que este método de protección no es seguro, y últimamente los fabricantes incorporan WPA (Wi-Fi Protected Access) [WPA, WWW] proporcionando un nivel de seguridad mayor. A continuación reseñamos los elementos hardware más importantes que podemos encontrar en las redes inalámbricas: Cliente: cada ordenador que accede a la red como cliente debe estar equipado con una tarjeta Wi-Fi. Las más comunes son de tipo PC Card (para portátiles) aunque pueden conectarse a una ranura PCI estándar mediante una tarjeta adaptadora. Existen también tarjetas USB, y en la actualidad todos los dispositivos portátiles integran su propia tarjeta Wi-Fi. Punto de Acceso (AP): hace las veces del hub tradicional. Envía cada paquete de información directamente al ordenador indicado, con lo que mejora sustancialmente la velocidad y eficiencia de la red. Normalmente es una solución hardware. Antena: se utilizan solamente para mejorar la señal, así que no siempre son necesarias. Las antenas direccionales emiten en una única dirección y es preciso orientarlas “a mano”. Dentro de este grupo están las de rejilla, las Yagi, las parabólicas, las “pringles” y las de panel. Las antenas omnidireccionales emiten y reciben señal a lo largo de 360o . Pigtail: es el cable que conecta la antena con la tarjeta de red. Es el único que se necesita en una WLAN y hay que vigilar posibles pérdidas de señal. Haremos ahora una breve semblanza de la evolución de los estándares WLAN. La velocidad de transmisión de datos ha variado desde 1 a 100 Mbps. Como la velocidad original era insuficiente, las capas físicas se mejoraron a finales de los 90, obligando al grupo IEEE 802.11 a generar estándares nuevos, que se distinguían por una letra añadida. La tabla 1.1 presenta el “alfabeto” del estándar 802.11, así como sus características principales. El estándar 802.11b, que proporciona hasta 11 Mbps, se introdujo en septiembre de 1999, y 802.11a, hasta 54 Mbps, en diciembre de 1999. Las tasas de la tabla representan la velocidad instantánea de la capa PHY, es decir, el usuario real percibirá un rendimiento de entre 1/3 y 2/3 del total, dependiendo de diversos factores. El estándar 11a opera en una banda más alta, la de 5 GHz U-NII (Unlicensed National Information Infrastructure), por lo que los equipos son ligeramente más costosos. La creciente popularidad de WLAN despuntó con el estándar 11b alrededor de 2000-2001, mientras que 11a ha tenido menos éxito en el mercado. Aunque 11a es técnicamente superior - al menos en cuanto a tasa o bitrate - 11b se ajustó mejor al mercado: era “suficientemente bueno”, compatible con los estándares 802.11 anteriores que utilizaban DSSS y un poco más barato. Algo más tarde, en noviembre de 2001, las modulaciones de 11a que proporcionaban una velocidad mayor se agregaron a la banda de 2.4 GHz, produciéndose así la variante 11g, que llega hasta 54 Mbps. A día de hoy 11g es el estándar más común del mercado. Los millones de dispositivos 11b existentes causan una inercia considerable, por lo que se decidió que la mayoría del circuito 11g fuera compatible con la interfaz de radio 11b. 1.2. Introducción a las redes inalámbricas Grupo de Trabajo 802.11 802.11 (1997), 802.11 (1999) 802.11a (1999) 802.11b (1999) 802.11c 802.11d (2001) 802.11e 802.11f (2003) 802.11g (2003) 802.11h (2003) 802.11i (2004) 802.11j (2004) 802.11k 802.11m 802.11n 802.11p 802.11r 802.11s 802.11t 802.11u 802.11v 5 Descripción Estándar base Extensión a 5 Ghz, hasta 54 Mbps Extensión en la banda de 2.4 Ghz hasta 11 Mbps Añade información para funcionamiento como bridge Diferencias en capa PHY para distintos países Mejoras en QoS Prácticas recomendadas para comunicaciones entre puntos de acceso Extensión para velocidad de 11a en la banda de 2.4 Ghz Elección dinámica de canal y extensiones de control de potencia impuestas por Europa Mejoras de seguridad en la capa MAC Soporte para las bandas de 4.9 Ghz en Japón Medidas de los recursos radio Mantenimiento de estándares, correcciones técnicas y editoriales Extensión para throughputs elevados, más de 100 Mbps Acceso inalámbrico en vehículos Transición rápida entre bloques básicos Redes malladas Predicciones del funcionamiento inalámbrico Interconexión con redes externas Manejo de redes inalámbricas Tabla 1.1: Familia de estándares 802.11 (para estatus actual ver [IEEE 802.11, WWW]) 6 Capítulo 1. Introducción Según la popularidad de WLAN fue creciendo, pronto se manifestó su limitada cobertura y su debilidad frente a interferencias entre APs. Por ello, la atención de la comunidad inalámbrica se centró en un nuevo estándar, IEEE 802.16 [IEEE 802.16, WWW], que especifica el acceso inalámbrico de banda ancha. Además se ha puesto mucho esfuerzo en especificar sus extensiones de movilidad. El grupo de certificaciones 802.16, WiMAX, está realizando enormes esfuerzos para especificar la arquitectura del sistema y contar así en un futuro cercano con una nueva red inalámbrica estandarizada, cuyos equipos puedan operar entre sí al margen de la compañía que los haya desarrollado. Aun en su etapa inicial ya se reconoce a WiMAX como competidor con las tecnologías celulares en el mercado de acceso inalámbrico a redes de datos, y es muy probable que la comunidad celular intente captar esta tecnología mediante el estándar que ofrezca interoperabilidad entre WiMAX y sus sistemas. Respecto al futuro, las redes domésticas WLAN 802.11 podrán soportar varios flujos de televisión de alta definición (HDTV, High Definition Television). En el caso de las empresas, el bitrate útil actual de WLAN es claramente inferior al de las LANs tradicionales, por lo cual puede que no sean adecuadas para algunas tareas de altas prestaciones como servidores con gran trasiego de datos de entrada y salida, o replicación y copias de seguridad. Como conexión de acceso, 802.11 podrá servir razonablemente bien a la mayoría de los usuarios. Un factor muy interesante para el futuro es el impacto del estándar 11e, referente a la calidad de servicio, en los ambientes públicos. Si satisface las expectativas podremos esperar que las WLAN 802.11 satisfagan nuestras necesidades a medio plazo, y que además añadan nuevos servicios. 1.3. Principios de la planificación de cobertura Las WLANs son cada vez más comunes en hogares y oficinas. En la figura 1.1 podemos ver un esquema para la planificación de una oficina, tomado de [Rodrigues et al., 2000]. Además, los proveedores de Internet han comenzado a instalar WLANs públicas en aeropuertos, hoteles, áreas muy frecuentadas en general e incluso zonas rurales. En las figuras 1.2 y 1.3 podemos ver un escenario sintético que representa una posible área rural y el despliegue correspondiente de APs. Una parte importante del coste de la instalación proviene de la planificación de red, el cableado y la mano de obra para la instalación de los APs. Es por lo tanto crucial simplificar la instalación de la red para reducir los costes del despliegue, sin merma del funcionamiento deseado del sistema. Por lo tanto, examinaremos diversos métodos de optimización en la literatura para obtener la colocación óptima de los puntos de acceso y compararemos el funcionamiento de los algoritmos propuestos con los procedimientos triviales de instalación. Los algoritmos de optimización típicos son heurísticos que evalúan una función objetivo para maximizar el área de cobertura y la calidad de la señal sobre un espacio discreto de búsqueda. Los algoritmos de búsqueda al azar pueden dar soluciones muy buenas, pero exhiben a menudo características de difícil convergencia. Los algoritmos de cortes sucesivos, tales como el pruning, convergen en tiempo polinómico, pero producen generalmente soluciones sub-óptimas. Por lo tanto se ha propuesto una combinación de ambos métodos, usando algoritmos de corte para obtener las posiciones iniciales de los APs, y neighborhood 1.4. Principios de la planificación de enlaces 7 search (NS) y simulated annealing (SA) para refinarlos [Unbehaun y Kamenetsky, 2003]. En nuestro caso, como principal aportación, demostraremos que el modelo cumple ciertas condiciones que nos permiten aplicar algoritmos recientes no monótonos y sin derivadas (DF, derivative-free) que a diferencia de SA y NS, garantizan la convergencia [Garcia-Palomares et al., 2006]. Además, demostraremos que esta aproximación es mejor que las propuestas anteriormente. Figura 1.1: Escenario para planificación de WLAN interior: oficina (tomado de [Rodrigues et al., 2000]) Nos hemos centrado en la planificación de redes exteriores, dado que son la manifestación habitual de las redes de usuario. Aparte de eso, la planificación en interiores es mucho más compleja por los rebotes de las señales en objetos o paredes, por lo que para aplicarla se necesitan complejos algoritmos de trazado de rayos. Para la realización de este trabajo se ha implementado un resolvedor en lenguaje Java. Dado un escenario de valles y montañas definido gracias a una función matemática, permite la ubicación inicial de un número determinado de APs, de forma aleatoria o según un fichero de configuración. El resolvedor permite la configuración de numerosos parámetros relevantes, tanto del escenario como de los puntos de acceso, o de los métodos que utiliza. Busca la solución óptima para cada uno de los tres posibles métodos: sin derivadas (DF), neighborhood search (NS) y simulated annealing (SA). Tras suficientes ejecuciones de los métodos con diferentes parámetros compararemos los resultados, y extraeremos las conclusiones pertinentes. 1.4. Principios de la planificación de enlaces La planificación de frecuencias no es exclusiva de las redes WLANs. Lo usual es disponer de varias estaciones base y un rango de frecuencias, y planificar éstas de forma que las estaciones base no se interfieran entre sí. El problema que plantean las redes IEEE 802.11b es que, aunque disponen de 13 frecuencias diferentes, solo tres de ellas 8 Capítulo 1. Introducción Figura 1.2: Escenario para planificación de WLAN exterior: área rural no se solapan. Por ello la planificación resulta más complicada. Para la planificación de nuestras redes utilizaremos el método propuesto en [Box, 1978], que intenta minimizar las interferencias. Divide el escenario en celdas cuadradas, y asigna una misma frecuencia a los APs que ocupan una celda dada. Para el posterior desarrollo de la red mallada es necesario establecer enlaces. Definiremos para ello los nodos básicos, figura 1.4, compuestos por: Un punto de acceso. Una o más tarjetas inalámbricas. Un ordenador central. Una red local. Una conexión a Internet. Dada esta configuración impondremos unas reglas para el establecimiento de los enlaces entre las tarjetas inalámbricas y los puntos de acceso, con el fin de minimizar las interferencias al tiempo que maximizamos la capacidad de la red mallada. Se desarrollarán dos algoritmos para la generación de la red: uno distribuido, que ejecutan los propios nodos de la red, y otro centralizado, que se desprende de un modelo de optimización matemática lineal entera. Los resultados numéricos demostrarán que el modelo de optimización centralizado es más eficiente, aunque el modelo distribuido es 1.4. Principios de la planificación de enlaces 9 Figura 1.3: Despliegue de APs en WLAN exterior: área rural (en rojo posición inicial de APs, en verde la final, y en rojo claro su área de cobertura) 10 Capítulo 1. Introducción Figura 1.4: Nodo básico para la creación de la red mallada 1.5. Principios de la optimización de compartición de recursos en redes de usuarios 11 competitivo, ya que la propia red puede ejecutarlo y genera resultados de calidad aceptable. Posteriormente complicaremos el modelo matemático al introducir restricciones no lineales debidas a las interferencias. Este nuevo modelo, mucho más costoso computacionalmente, nos puede servir como herramienta para la validación de modelos de planificación más simples. Para el algoritmo distribuido se ha realizado un simulador de los nodos de la red en lenguaje Java con varios parámetros relevantes configurables. Dado un escenario con la posición de los APs se ejecuta el simulador, que trata a cada nodo como un hilo paralelo, y siguiendo unas reglas básicas se crea la red mallada. Para el modelo centralizado, los mismos escenarios se modelan con el lenguaje GAMS [GAMS, WWW], incluyendo las mismas reglas. Los resolvedores asociados a GAMS nos permiten aproximarnos a la solución óptima. Compararemos finalmente los dos algoritmos, tanto en calidad de resultados como en el tiempo necesario para conseguirlos. 1.5. Principios de la optimización de compartición de recursos en redes de usuarios Para el estudio de la optimización de recursos compartidos en redes de usuarios evaluaremos la viabilidad del control distribuido de dichos recursos en las redes inalámbricas exteriores. Una de las aplicaciones más comunes en las redes de usuarios es el intercambio de ficheros entre iguales (redes P2P, peer to peer). En la mayoría de estas redes (Kazaa [Kazaa, WWW], Emule [Emule, WWW], y BitTorrent [BitTorrent, WWW]) se sigue un sistema de créditos para intentar que la compartición de archivos sea lo más justa posible [Kazaa Ratio, WWW, Kulbak y Bickson, 2005, Tamilmani et al., 2003]. En nuestro caso puede ser útil representar el acceso externo a Internet (entendiendo por tal el conjunto de enlaces entre la red de usuarios e Internet) como un recurso compartido que se puede optimizar mediante cooperación entre los nodos (esto es, si un nodo no puede satisfacer su demanda con su enlace externo, solicita la ayuda de otro nodo a través de la red interna de usuarios de banda ancha). Para modelar esta compartición de recursos y la posible cooperación entre los usuarios recurriremos a la teoría de juegos [Binmore, 1994], que nos proporciona las herramientas matemáticas para comprender las estrategias que pueden seguir los usuarios. Consideraremos inicialmente autómatas celulares para modelar estas redes, y la teoría de juegos para modelar el comportamiento del nodo. Cada nodo decide si se comporta como cooperante o como desleal. Los cooperantes ayudarán prestando su salida a Internet, mientras que los desleales intentarán aprovecharse de los recursos de la red sin dar nada a cambio. Las simulaciones, realizadas gracias a un simulador programado en Java, nos ayudarán a entender las condiciones que han de producirse para que los cooperantes ganen el juego. Posteriormente modelaremos los nodos como agentes para simular y evaluar un nuevo escenario de control distribuido. Los resultados confirmarán que es posible mejorar la 12 Capítulo 1. Introducción compartición de recursos en redes de usuarios con agentes autónomos que controlan que los préstamos de recursos a los vecinos no sobrepasen límites de crédito apropiados. Para finalizar, modelaremos de manera realista tanto la topología como el tráfico de la red de usuarios, y evaluaremos un nuevo esquema avanzado de control distribuido basado en agentes. Los resultados de la simulación confirmarán en redes realistas la principal conclusión de nuestra investigación previa: es posible mejorar la compartición de recursos en las redes de usuarios con agentes autónomos, que toman sus decisiones a partir de información local. 1.6. Estructura de la tesis y contribuciones El resto de esta tesis está organizado de la siguiente forma: El capítulo 2 repasa el estado actual de las propuestas de planificación y optimización en los ámbitos académico y comercial. El capítulo 3 expone pormenorizadamente la base en la que se asientan las tecnologías inalámbricas utilizadas a lo largo de esta tesis doctoral, explicando su funcionamiento. Esta explicación sirve para entender los sistemas que se presentan en los capítulos siguientes. El capítulo 4 describe los algoritmos que hemos diseñado para la planificación de posicionamiento de APs en redes inalámbricas exteriores, comparando dichos algoritmos con las propuestas previas. Este capítulo está avalado por el artículo [González et al., 2006] en la revista Computational Optimization and Applications. El capítulo 5 es la segunda contribución de la tesis. Se estudia la planificación de frecuencias en redes inalámbricas exteriores. Para ello se enfrentarán un simulador y un modelo matemático, respectivamente relacionados con un algoritmo distribuido y otro centralizado, con el objetivo de maximizar el ancho de banda conjunto de la red mallada. Este capítulo está apoyado por las referencias [Costa et al., 2004] y [Costa et al., 2005]. El capítulo 6 trata sobre la compartición de recursos en redes de usuarios. Se estudiará primero esta compartición en redes ideales según la teoría de juegos y el modelado mediante agentes, para determinar cuál es la estrategia más beneficiosa, y comprobar si aporta beneficios a los usuarios. Posteriormente se extrapolará este estudio a redes más realistas. Este capítulo está avalado por los artículos [Burguillo et al., 2004], [Burguillo et al., 2006] y [Burguillo et al., 2006:2]. Además sirve de base para un capítulo en el libro [Costa et al., 2006] dentro de la colección Studies in Computational Intelligence de Springer-Verlag. Finalmente, el capítulo 7 presenta las conclusiones de esta tesis doctoral y propone líneas de trabajo futuras. Capı́tulo 2 Estado del Arte Contenido 2.1. Introducción . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13 2.2. Evolución de la planificación de redes inalámbricas en general . . . 15 2.3. Evolución de la planificación de cobertura en redes 802.11 . . . . . 17 2.4. Evolución de la planificación de enlaces en redes 802.11 . . . . . . . 18 2.5. Evolución de la optimización de la compartición de recursos en redes de usuario . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19 2.5.1. Redes de usuarios . . . . . . . . . . . . . . . . . . . . . . . . . 19 2.5.2. Modelos P2P . . . . . . . . . . . . . . . . . . . . . . . . . . . 20 2.5.3. Teoría de juegos . . . . . . . . . . . . . . . . . . . . . . . . . 22 2.5.4. Sistemas multi-agente . . . . . . . . . . . . . . . . . . . . . . 23 Este capítulo repasa los trabajos relacionados con los objetivos de esta tesis. Para empezar, en la sección 2.1 haremos una pequeña introducción al desarrollo histórico de las comunicaciones inalámbricas. En la sección 2.2 comentaremos la evolución de la planificación de las redes inalámbricas en general, lo que nos servirá de base para considerar en la sección 2.3 la planificación de posicionamiento en redes 802.11 en particular. Tras esto, en la sección 2.4 nos centraremos en los estudios que se han realizado sobre la elección de los enlaces entre los nodos de las redes malladas. Por último, en la sección 2.5 veremos cómo se han utilizado la teoría de juegos, y el modelado multi-agente en las redes de usuarios. 2.1. Introducción La historia de las comunicaciones móviles comenzó con los trabajos de los primeros pioneros en el área. Los experimentos de Hertz inspiraron a Marconi para buscarles utilidad. Las necesidades de comunicación en la primera y segunda guerras mundiales dieron 14 Capítulo 2. Estado del Arte origen a las comunicaciones celulares por radio, especialmente en frecuencias cada vez más altas, y aceleraron su desarrollo. Los primeros sistemas comerciales eran simples, y requerían un operador para hacer la llamada. En caso de las llamadas originadas desde un móvil el cliente tenía que buscar un canal libre manualmente. Los laboratorios Bell fueron los primeros en introducir el concepto celular como lo conocemos hoy. En diciembre de 1971 demostraron cómo se podía diseñar un sistema celular. El primer sistema celular del mundo comenzó a operar en Tokio, en 1979. NTT, conocida por sus trabajos en sistemas celulares basados en Wideband Code Division Multiple Access (WCDMA), se encargó de la red. El sistema utilizaba 600 canales dúplex en la banda de 800 MHz con una separación de canal de 25 KHz. Durante los años 80 se observó que, desde el punto de vista del usuario, una sola interfaz era suficiente para proporcionar roaming. En 1989, el gobierno japonés inició un estudio que llevó a la introducción del sistema digital Pacific Digital Cellular (PDC) en 1991. En 1981, dos años más tarde que en Japón, la era celular llegó a Europa. Nordic Mobile Telephone comenzó a operar en la banda de 450 MHz (sistema NMT450) en Escandinavia. El Total Access Communication System (TACS) se lanzó en el Reino Unido en 1982 y el Extended TACS se desarrolló en 1985. Posteriormente, el sistema celular C450 se introdujo en Alemania en septiembre de 1985. Así, al final de los años 80 Europa tenía varios sistemas celulares que no podían interoperar. Para entonces estaba claro que los sistemas celulares de primera generación estaban quedando obsoletos, dado que la tecnología de circuitos integrados permitía que la comunicación digital no solo fuese práctica, sino también más económica que la analógica. A principios de los años 90, la segunda generación (2G) de sistemas celulares (digitales) se comenzó a desarrollar en todo el mundo. Europa llevó la delantera introduciendo el Global System for Mobile Communications (GSM). El objetivo de GSM era proporcionar un único estándar en Europa. Esto permitiría servicios de voz sin interrupciones a través de Europa, en términos de roaming internacional. La situación en los Estados Unidos fue algo diferente a la de Europa. Los sistemas analógicos de primera generación seguían el estándar Advanced Mobile Phone System (AMPS), disponible para el uso público desde 1983. Había tres líneas principales para el desarrollo de los sistemas celulares en los EE.UU. El primer sistema digital, lanzado en 1991, era el IS-54 (North American TDMA Digital Cellular), a partir del cual se introdujo en 1996 una nueva versión que soportaba servicios adicionales (IS-136). Mientras tanto, IS-95 (cdmaOne) se desplegó en 1993. Ambos estándares funcionan en la misma banda. Al mismo tiempo, la US Federal Communications Commission (FCC) habilitó un nuevo bloque de espectro en la banda de 1900 MHz. Esto permitió que el GSM1900 (PCS) se incorporara al mercado. Durante la última década el mundo de las telecomunicaciones ha cambiado drásticamente por varias razones técnicas y políticas. El empleo generalizado de la tecnología digital ha traído cambios radicales en los servicios y las redes. Además, el mundo se está haciendo más pequeño: el roaming interno en Japón, Europa o los EE.UU. ya no es suficiente. La globalización tiene su impacto también en el mundo celular. Además, la fuerte necesidad de un acceso sin hilos a Internet a través de los terminales móviles ha motivado la aparición de un estándar universal, que se conoce como Universal Mobile Telecommunication System (UMTS). Estas nuevas redes de tercera generación (3G) integran las características de las redes telefónicas y las de las redes IP. Por otra parte, estas últimas 2.2. Evolución de la planificación de redes inalámbricas en general 15 comienzan a transportar flujos de voz, aunque con calidad limitada y retardos difíciles de controlar. Los comentarios y las predicciones sobre las comunicaciones de banda ancha y el acceso inalámbrico a Internet están dibujando un escenario con servicios ilimitados y aplicaciones disponibles para el consumidor “donde quiera, cuando quiera”. Los usuarios esperan poder navegar por Internet, comprobar sus correos electrónicos, descargar archivos, hacer llamadas en tiempo real, realizar videoconferencias y una gran variedad de tareas a través de las comunicaciones sin hilos. La nueva generación de comunicaciones móviles será revolucionaria no solamente en términos de la tecnología de acceso por radio, sino también de nuevas soluciones técnicas. Los requisitos también vienen de nuevas visiones de negocio. 2.2. Evolución de la planificación de redes inalámbricas en general La referencia [Gamst et al., 1985] aborda la planificación de redes radio (RNP, Radio Network Planning), pero se centra más en las funcionalidades de una herramienta de RNP que en el proceso completo de planificación. Este artículo desafió las prácticas existentes en RNP enumerando las siguientes debilidades: La planificación estaba basada en una disposición hexagonal de la red. La densidad del tráfico se asumía uniforme. La propagación de las ondas de radio se consideraba independiente del escenario. Las localizaciones de las estaciones base se elegían arbitrariamente, mientras que en la práctica se utilizaban ubicaciones prefijadas. No se consideraba el tráfico en los límites de la región. La discusión continuó en [Gamst, 1987], donde se consideraba por primera vez el impacto de los requisitos de calidad en la planificación de redes de radio. Este artículo investiga la evolución de la red para mejorar la capacidad mediante la sectorización de la estación base. Se identifican los retos del tráfico no uniforme, y se propone una solución por división en células. Con la evolución de los sistemas 2G comenzaron a apreciarse los requisitos de aumento de la capacidad. Además, la asunción inicial de que los clientes celulares estarían sobre todo en los vehículos resultó incorrecta, y los niveles máximos de potencia transmitida se redujeron un orden de magnitud. Todo esto forzó a que las redes celulares dejasen a un lado la estructura omnidireccional y se generalizó la sectorización - una celda tendrá típicamente tres sectores en vez de uno [Gamst, 1987, Lee, 1990:1]. Debido a la necesidad creciente de eficacia espectral, el mecanismo del control de interferencia se hizo más importante. Además, también se introdujo la inclinación de la antena como mecanismo de reducción de interferencia co-canal [Lee, 1990:2]. El modelo macro-celular de la propagación perdió exactitud. Se precisaban nuevos modelos para la planificación microcelular. 16 Capítulo 2. Estado del Arte Se puede observar que la planificación de redes de radio y su desarrollo en el tiempo están fuertemente relacionadas con el desarrollo de las tecnologías de acceso y sus requisitos. La planificación de redes de radio seguía únicamente el objetivo de proporcionar cobertura. Se empleaban antenas omnidireccionales elevadas para ese fin. El modelo Okumura-Hata todavía se utiliza extensamente para el cálculo de la cobertura en la planificación de redes macro-celulares [Okumura et al., 1968, Hata, 1980]. Ciertas mejoras y la adaptación de la acción COST231 han producido el exitoso modelo COST231-Hata, que también se puede aplicar a las redes radio de tercera generación [COST 231]. Los progresos COST más recientes se pueden consultar en [Correia, 2001]. Otro modelo popular es Walfisch-Ikegami. Se basa en la asunción de que la onda transmitida se propaga sobre los tejados por un proceso de múltiples difracciones [Lee, 1990:1, Lee, 1990:2]. Aunque el modelo de Walfisch-Ikegami se considera de micro-células, se puede utilizar cuando la antena del transmisor está por debajo de los tejados de los edificios colindantes. Las altas densidades de usuarios en las células impusieron una distribución más cuidadosa de los escasos recursos espectrales. Como los métodos de planificación y asignación de frecuencias se basaban mayormente en la predicción de datos de la propagación, los modelos de propagación se refinaron más. Los modelos más exactos están basados en trazado de rayos. Algunos de estos modelos se pueden encontrar en [Wei et al., 1999, Rajala et al., 1999]. Además del desarrollo del modelo de propagación se hizo evidente que las demandas de aumento de la capacidad solo se podrían resolver con una mejor planificación de la frecuencia. La asignación de frecuencia, junto con la planificación y la optimización de los vecinos de la célula, eran los puntos principales al planificar redes GSM. Los saltos en frecuencia se introdujeron para mejorar la eficacia espectral. En la literatura, se pueden encontrar numerosos métodos de asignación de frecuencias, como por ejemplo la aplicación de simulated annealing en [Duque-Anton et al., 1993]. En [Almgren et al., 1996] se expone un método para la planificación automática de frecuencia para D-AMPS. En [Frullone et al., 1996] se introducen características avanzadas para Frequency Division Multiple Access/Time Division Multiple Access (FDMA/TDMA). Estas características incluyen la mejora de la reutilización de las frecuencias gracias a saltos, antenas adaptativas, carga fraccionaria y estructuras celulares jerárquicas. Basándonos en varios artículos (por ejemplo, [Magnusson y Olofsson, 1997, Olofsson et al., 1996, Walton et al., 1998]) se puede concluir que la predicción de la propagación tiene una exactitud limitada, puesto que el escenario de la propagación es muy difícil de modelar y se sigue un modelo genérico. Esto se aplica especialmente cuando se necesita considerar las características de atenuación. Las últimas actividades en el control de redes radio se concentran en la optimización del último tramo. La configuración inicial prevista mejora automáticamente a partir de la estadística recogida de la red real. El aspecto más importante de este método es que las relaciones entre células vecinas que se basan inicialmente en la predicción de la propagación se mejoran con medidas reales. Así, las inexactitudes se pueden compensar en la fase de optimización. 2.3. Evolución de la planificación de cobertura en redes 802.11 2.3. 17 Evolución de la planificación de cobertura en redes 802.11 Las redes inalámbricas de área local son un complemento emergente de las comunicaciones celulares. Se trata de tecnologías de acceso radio de corto alcance, gran ancho de banda y fácil utilización. Se emplean para sustituir las LAN cableadas, con la libertad que ello aporta. Prácticamente, un sinónimo de WLAN es el estándar 802.11, aunque algunas otras tecnologías sirven al mismo propósito. Los estándares 802.11 originales se desarrollaron durante 1991-1997. El primer estándar propuesto, 802.11 - sin ninguna letra -, se aceptó en junio de 1997 y consistía en la especificación de una capa de acceso al medio (MAC, Medium Access Control) y tres capas físicas (PHYs, Physical): saltos de frecuencia, espectro ensanchado de secuencia directa (DSSS, Direct Sequence Spread Spectrum) e infrarroja. Las capas físicas radio operaban en la banda de 2.4 GHz, de uso ISM (industrial, científico, médico) y disponible globalmente, y alcanzaban una velocidad de hasta 2 Mbps. Con el tiempo la variante DSSS se fue convirtiendo en la más utilizada. La capa MAC es robusta y elegante, es fácil de usar y funciona eficientemente incluso en ambientes con muchas interferencias. Posteriormente han ido apareciendo nuevos estándares, que mejoraban los anteriores, sobre todo con mayores velocidades. Entre los más importantes están el 802.11a, el 802.11b y el 802.11g. En el capítulo 3 profundizaremos en los diferentes estándares. La planificación previa de frecuencia u otros parámetros relacionados con los enlaces radio no es estrictamente necesaria, sobre todo en redes domésticas, aunque en grandes áreas con muchos APs o en las redes de usuarios una planificación cuidadosa permitirá que la red funcione mucho mejor. La planificación debe perseguir una reducción de las interferencias co-canal e inter-canal, y un posicionamiento de APs que maximice la cobertura. En nuestro estudio nos centraremos en las redes inalámbricas en modo infraestructura, en las que el AP funciona como un hub o concentrador tradicional. Envía directamente los paquetes de información a cada ordenador de la red. El hub incrementa la velocidad y mejora la eficiencia de la red, y es imprescindible para el despliegue de redes grandes y con un número elevado de usuarios. Centraremos nuestro estudio en redes exteriores. Las redes interiores suelen ser redes domésticas o de oficinas, y no suelen utilizarse para redes de usuarios. Aparte de esto, la planificación es mucho más compleja y requiere complicados modelos de trazado de rayos. En la bibliografía podemos encontrar diferentes estudios de planificación en interiores, como puede ser en [Rodrigues et al., 2000] donde se propone un método para 802.11 consistente en una colocación inicial de los APs, la realización de medidas, y la utilización de dichas medidas en un problema de optimización lineal entera para determinar los mejores posicionamientos. Posteriormente, [Mateus et al., 2001] amplía el estudio a 802.11b (11 Mbits). En [Hills, 2001] se implementa una herramienta software que, dado el posicionamiento de los APs, calcula la cobertura y calidad de la señal, y distribuye las frecuencias para minimizar posibles interferencias. En [Unbehaun y Kamenetsky, 2003] podemos ver ejemplos de planificación para dos casos de redes interiores. Se emplean métodos heurísticos tales como neighborhood search (NS) y simulated annealing (SA) 18 Capítulo 2. Estado del Arte para obtener el mejor posicionamiento de los puntos de acceso. Otra aproximación para interiores puede verse en [Runser et al., 2003] donde a partir de un plano en dos dimensiones del escenario interior, y mediante un algoritmo determinista basado en la FDPF (Fourier Domain Parflow) se logran tiempos de computación menores sin merma en la calidad de los resultados. En [Wertz et al., 2004] se presenta un método de planificación basado en un software de trazado de rayos. [Ling y Yeung, 2005] proponen un método de maximización del throughput de la red que optimiza a la vez la posición de los APs y las frecuencias de funcionamiento. Para redes exteriores, en [Kamenetsky y Unbehaun, 2002, Unbehaun y Kamenetsky, 2003] se emplean de nuevo métodos para la optimización de la cobertura. En [Lee et al., 2002] se intenta minimizar la utilización máxima de los canales, a partir de un problema de programación lineal entera. En cambio, en [Kouhbor et al., 2005] se resuelve el problema con un algoritmo de descenso de gradiente discreto. Se obtiene el número óptimo de APs para cubrir un área y su posición, partiendo del conocimiento del número de usuarios de la red y sus posiciones. Por último, en [Xenou et al., 2006] podemos comprobar que el modelo de propagación que hemos seguido para nuestro problema es válido, gracias a la comparación de los resultados que se desprenden de dicho modelo con medidas prácticas. 2.4. Evolución de la planificación de enlaces en redes 802.11 En la literatura de planificación de redes inalámbricas hay una gran riqueza de resultados, desde los primeros métodos para asignar frecuencias [Box, 1978] hasta los complicados algoritmos de planificación de las redes actuales de telefonía celular que evitan al máximo las interferencias [Sarkar y Sivarajan, 2002]. En lo que atañe a las redes inalámbricas del tipo IEEE 802.11b, podemos observar que en la mayoría de los casos se trabaja con los tres canales que no se interfieren. Por tanto, los enlaces utilizarán cualquiera de estas tres frecuencias, y lo que se compartirá es el ancho de banda que proporciona el AP. La única interferencia que se puede producir es la co-canal, que se presenta cuando dos puntos de acceso con la misma frecuencia están próximos, y sus áreas de cobertura se solapan. En [Hills, 2001] se presenta una herramienta software de posicionamiento de APs, y se distribuyen los canales 1, 6 y 11 para minimizar posibles interferencias. En [Lee et al., 2002] se soluciona el problema modelándolo como un programa lineal entero, que optimiza los canales según la frecuencia del AP y las de sus vecinos. En [Wertz et al., 2004], se busca la solución que ofrezca menos interferencia co-canal en las zonas más importantes con un software de trazado de rayos. Aparentemente, [Ling y Yeung, 2005] es el único método que considera la interferencia co-canal. Mediante un heurístico busca la posición y frecuencia de los APs, maximizando el throughput y la compartición equitativa de la red. Varios artículos recientes están tratando el tema de la interferencia en la capa MAC entre APs y las estaciones que pertenecen a diversas celdas. En [Li et al., 2003] se estudia el caso en el que dos celdas se solapan levemente, mientras que en [Panda et al., 2005] se considera el caso en el que el grado de solapamiento varía. En [Hakengard y Hjalmar, 2006] se puede ver un estudio de 2.5. Evolución de la optimización de la compartición de recursos en redes de usuario 19 la interferencia co-canal en redes IEEE 802.11a/g. 2.5. Evolución de la optimización de la compartición de recursos en redes de usuario Para modelar la compartición de recursos en las redes de usuarios, y la posible cooperación entre éstos, utilizaremos los resultados de diferentes campos, que nos ayudarán a realizar nuestro estudio. Primero veremos el concepto de redes de usuarios, para enlazar después con los diferentes modelos P2P existentes, y relacionar a ambos centrándonos sobre todo en sus similitudes. A continuación veremos que la teoría de juegos nos proporciona las herramientas necesarias para definir el objeto de nuestro estudio. Por último nos centraremos en los sistemas multi-agente con los que modelaremos nuestro problema. 2.5.1. Redes de usuarios Las tecnologías inalámbricas tales como IEEE 802.11 [IEEE 802.11, WWW] han hecho posibles las redes de usuarios. Como se ha dicho, representan una de las últimas etapas en la evolución en el control de las redes [Hubaux et al., 2001]. Existen propuestas para convertir comunidades de usuarios Wi-Fi en Telcos comerciales (por ejemplo, la red FON [FON, WWW]). Los participantes en la red FON comparten sus recursos (hasta un 40 % de su ancho de banda inalámbrico) para construir una infraestructura de red, permitiendo que los clientes externos se conecten a ésta. Como recompensa, los participantes de FON reciben una participación en los beneficios y pueden tener acceso a cualquier recurso de la red libremente. Esta clase de soluciones pueden llevar eventualmente a redes completamente controladas por los usuarios, a la par que funcionales. Se puede argumentar que la compartición del acceso a Internet puede ser ilegal. Sin embargo, el parasitismo de los recursos de los operadores está bastante extendido, y merece la atención académica. Por ejemplo, considérese el caso del web caching [WebCache, WWW], una técnica para la mejora de prestaciones de protocolos P2P que explota la infraestructura de los operadores imitando a servicios de la red (no relacionados con P2P) a nivel de puertos. Por claridad asumimos que todos los nodos básicos que ya hemos definido están “externamente conectados”. Además, asumimos que la capacidad de la red de usuarios es mayor que la capacidad del acceso al exterior (esto es cierto para redes típicas, por ejemplo IEEE 802.11g y DSL), y por tanto la red interna siempre tiene capacidad. En una red de usuarios, los nodos básicos pueden compartir fácilmente contenidos, debido al gran ancho de banda interno. El cuello de botella se produce en las conexiones “exteriores” a Internet. Optimizando su uso, el funcionamiento global (y, por consiguiente, la satisfacción de los usuarios) puede mejorar enormemente. Por estabilidad de la red nos referimos a las condiciones tales que las demandas externas (por ejemplo, descargas o transmisiones externas para intercambios de archivos P2P) se pueden satisfacer con la capacidad de acceso a Internet, en media. Esto es posible si: 1. La demanda al exterior de cada nodo básico se puede satisfacer en media con su 20 Capítulo 2. Estado del Arte propia capacidad externa, o 2. Todos los nodos básicos cooperan a través de la red de usuarios, y su demanda combinada al exterior se puede satisfacer en media con su capacidad exterior combinada. Aunque la primera condición sea posible (y por lo tanto, la cooperación no sea estrictamente necesaria para garantizar la estabilidad de la red), la cooperación reduce los tiempos de servicio (los nodos con conexiones exteriores libres pueden ayudar temporalmente a sus vecinos en sus picos de demanda). Sin embargo, no hay autoridad central, y los nodos egoístas intentarán probablemente maximizar sus prestaciones. Este problema ha exigido atención académica. Por ejemplo, en [Korilis et al., 1995] se demuestra que, cuando los usuarios toman decisiones no cooperativas, es posible mejorar el funcionamiento de la red. Los autores analizan el problema de los equilibrios en la red y proponen soluciones para mejorar sus prestaciones. Como en nuestro trabajo, aplican la teoría de juegos al estudio de la red. Otro trabajo relacionado es [Orda et al., 1993], donde varios usuarios egoístas comparten una red de comunicaciones. Cada usuario intenta optimizar sus propias prestaciones controlando el encaminamiento de su demanda, lo que corresponde a un juego no cooperativo. Los autores investigan el equilibrio de Nash de esos sistemas. 2.5.2. Modelos P2P Las arquitecturas par-a-par (P2P) se auto-organizan en presencia de una población altamente variable de nodos, con fallos en la red y en los ordenadores, sin necesidad de un servidor central y, por tanto, sin la sobrecarga de su administración. Las características inherentes de tales arquitecturas son típicamente la escalabilidad, y la oposición a la censura y control centralizado, así como el acceso creciente a recursos. La administración, el mantenimiento, la responsabilidad de las operaciones, e incluso la noción de la “propiedad” de los sistemas P2P se distribuyen también entre los usuarios, en vez de recaer en una única compañía, institución o persona [Androutsellis y Spinellis, 2004]. Estas características convierten a los sistemas P2P en ideales para diversas aplicaciones distribuidas. Por ejemplo: Computación distribuida. Esta categoría incluye a los sistemas cuyo objetivo es aprovecharse de la capacidad de procesamiento disponible en los ordenadores libres (ciclos de CPU). Las tareas de computación intensiva se dividen en unidades pequeñas de trabajo y se distribuyen entre los pares. Algunos ejemplos son Seti@home (actualmente bajo la infraestructura de Boinc) [Sullivan III et al., 1997, Boinc project, WWW], genome@home [Larson et al., 2003, Genome@home, WWW] o Condor [Condor project, WWW]. Comunicaciones directas. También se han empleado sistemas P2P para comunicación directa en tiempo real entre usuarios. Los ejemplos incluyen chats, aplicaciones de mensajería instantánea y foros [Gu y Jarvenpaa, 2003]. 2.5. Evolución de la optimización de la compartición de recursos en redes de usuario 21 Bases de datos distribuidas. Proporcionan la infraestructura y la capacidad de consulta para las bases de datos P2P. Algunos ejemplos son [Bernstein et al., 2002, Huebsch et al., 2003, Halevy et al., 2003, Nejdl et al., 2002]. Distribución de contenidos. Ciertamente, la killer-app de los sistemas P2P es el intercambio de archivos. Algunos ejemplos bien conocidos son eMule [Kulbak y Bickson, 2005], Kazaa [Kazaa, WWW] o BitTorrent [BitTorrent, WWW]. Internet. A esta categoría pertenecen los servicios P2P como los sistemas multicast [VanRenesse et al., 2003, Castro et al., 2002], overlay routing [Castro et al., 2002:2], infraestructuras para indirecciones en Internet [Stoica et al., 2002], y aplicaciones de seguridad que proporcionan protección contra ataques de denegación del servicio o de virus [Keromytis et al., 2002, Janakiraman et al., 2003, Vlachos et al., 2004]. En todos los ejemplos anteriores, el modelo P2P mejora la compartición de recursos. Aunque la cooperación puede ser una estrategia útil, consume recursos del nodo y degrada el funcionamiento del equipo del usuario. Dado que los pares racionales y egoístas siempre intentan mejorar sus prestaciones, pueden rechazar proveer servicio a otros cuando no tienen incentivos claros. Entonces, la “tragedia de los comunes” [Hardin, 1968] puede producirse, llevando a los pares a una deslealtad generalizada. Su manifestación principal en las redes P2P es el free-riding [Adar y Huberman, 2000]. Descubrir a los usuarios free-riders en los sistemas P2P es difícil debido a varias razones [Feldman et al., 2004]: Población grande y con muchos cambios: Los protocolos P2P tienen muchos clientes, y a menudo su presencia es breve en el sistema. Asimetría de interés: las transacciones carecen de reciprocidad. Coste nulo de la identidad: los nodos pueden cambiar libremente de identidad. Carencia de historial: es imposible que un nodo almacene las identidades de todos los clientes con los que se ha comunicado. Desconocimiento de otros: es imposible conocer las transacciones de todos los clientes. Estas condiciones son la causa principal del free-riding en sistemas P2P. Los mecanismos que incentivan la colaboración pertenecen a dos categorías: los esquemas basados en tokens [Golle et al., 2001] y los basados en reputación [Chu et al., 2004]. En los primeros, el control de los tokens se vuelve más complejo según la red crece, y se necesita una entidad segura y centralizada que se encargue de ellos. Los segundos se basa en historia compartida de las transacciones, pero son vulnerables a los ataques de tipo conspiración (cuando varios nodos no-cooperantes declaran haber recibido servicio de otros no-cooperantes). El algoritmo MaxFlow en [Feldman et al., 2004] soluciona este problema pero es bastante costoso y requiere información adicional para construir el gráfico base. 22 Capítulo 2. Estado del Arte Por una parte, las redes de usuario comparten algunos problemas de los sistemas P2P generales: población grande, asimetría de intereses y desconocimiento de otros. Por otra parte, los nodos fijos de las redes de usuario pueden no experimentar ni grandes cambios, ni coste nulo de las identidades y no carecer de historial. Sin embargo, estos problemas pueden aparecer en redes móviles de usuarios con establecimiento dinámico de la conexión. 2.5.3. Teoría de juegos El análisis y los principios de resolución de los conflictos de intereses ha sido tradicionalmente el ámbito de estudio de la teoría de juegos de von Neumann y Morgenstern [von Neumann y Morgenstern, 1944]. La teoría de juegos se ha aplicado desde su fundación al ámbito de la Microeconomía [Doblado et al., 2003], en el que se han desarrollado distintos protocolos de interacción aplicables a los conflictos de intereses (subastas, votaciones, regateos, equilibrios de mercado, etc.) junto con los parámetros que permiten evaluar los resultados de dicha aplicación [Osborne y Rubinstein, 1994] (por ejemplo, los criterios de bienestar social, equilibrio de Nash, simetría, óptimo de pareto, etc.). La evolución de los sistemas informáticos en los últimos años ha dejado patente que estos sistemas no trabajan de manera aislada. Los nuevos sistemas pasan a ser elementos activos y forman parte de las nuevas comunidades virtuales. El aumento de elementos que pertenecen a estas comunidades y la diversidad de cada uno de ellos, unidos a la necesidad de interacción de dichos elementos, hacen necesario el desarrollo de sistemas de comunicaciones fiables y comprensibles para todos sus miembros. Las diferentes capacidades de cada elemento y las competencias a la hora de realizarlas implican desarrollar estrategias de coordinación y cooperación para el desarrollo de actividades conjuntas. La coordinación y/o cooperación son fundamentales en entornos inteligentes, donde cada elemento de la comunidad es un ente interesado. Ahora bien, los diferentes elementos pueden o deben cooperar para la resolución de problemas complejos que ellos mismos de forma aislada no podrían solucionar. Uno de los mecanismos principales de cooperación es la negociación, que se define como el encuentro para resolver una situación entre diferentes participantes. En el encuentro, cada uno de los participantes oferta y demanda un conjunto de recursos así como las condiciones de la negociación, que permiten llegar a un acuerdo. Si el resultado de la negociación es positivo, cada uno de los participantes se compromete a desarrollar los acuerdos realizados. Este compromiso no es permanente, debido a que se pueden producir situaciones posteriores donde el entorno sufra modificaciones. Estas modificaciones pueden invalidar los términos acordados del protocolo para alguno de los elementos que participan en la negociación. La teoría de juegos [Binmore, 1994, Fudenberg y Tirole, 1991, Owen, 1995] proporciona las herramientas matemáticas necesarias para comprender las posibles estrategias de los agentes egoístas cuando eligen unas determinadas acciones. La teoría de juegos estudia las interacciones entre los distintos elementos que participan en una negociación, donde el resultado no sólo depende de su actuación sino también de las decisiones que toma el resto de elementos participantes. Un juego es una descripción de la estrategia de interacción que incluye las restriccio- 2.5. Evolución de la optimización de la compartición de recursos en redes de usuario 23 nes sobre las acciones que los elementos pueden realizar y sus intereses, pero en ningún momento especifica las acciones que se llevan a cabo. Los elementos que componen un juego son: participantes o jugadores, acciones, información, estrategias, beneficios, resultados y equilibrios [Kraus, 2001]. Los participantes son elementos individuales que pueden tomar decisiones a lo largo del juego con el objetivo de maximizar su beneficio. Las acciones definen el posible conjunto de actuaciones que un participante puede desarrollar, dependiendo del conocimiento que el jugador tenga del entorno de negociación, esto es, de la información. Las estrategias definen los planes de acción que cada participante ejecuta a lo largo del juego, y dependiendo de ellas obtiene unos beneficios. Los beneficios cuantifican el resultado final de la negociación. El resultado define los acuerdos tanto positivos como negativos obtenidos en el proceso. Por último, el equilibrio define la equidad del protocolo independientemente del participante. El tipo más simple de juego es el de una tirada y movimiento simultáneo. En él, todos los agentes deben elegir una acción y todas las acciones se hacen efectivas de forma simultánea. Cada agente selecciona una opción mediante una función que es un sistema combinado de las posibles acciones. En un juego extendido, los agentes participan por turnos y reciben una rentabilidad al final de una secuencia de acciones. Un juego de una tirada es generalmente adecuado para muchos sistemas distribuidos, con encuentros que requieran coordinación. El contexto de los juegos cooperativos y la evolución de la cooperación se ha estudiado de manera extensa en entornos biológicos, sociales y ecológicos [Schweitzer et al., 2002], dando lugar a marcos teóricos generales como el Dilema del Prisionero, que se puede manifestar en el contexto de las telecomunicaciones [Lopez et al., 2005]. En [Axelrod, 1984] se mostró cómo la cooperación puede emerger naturalmente en una sociedad de individuos con motivaciones egoístas. En [Hoffmann, 2000] se revisa el trabajo de los últimos veinte años en el campo de la evolución de la cooperación. La teoría de juegos y el dilema generalizado del prisionero se han aplicado para modelar los problemas de incentivos en los sistemas P2P. Como ejemplo se puede consultar [Feldman et al., 2004]. El propio BitTorrent utiliza una alternativa de la estrategia Tit-forTat [Axelrod, 1984]. BitTorrent propone un mecanismo de incentivo Bit-for-bit, donde los pares reciben tanto como contribuyen. En una simulación con varias pruebas, identidades persistentes y ninguna complicidad, [Axelrod, 1984] demuestra que la estrategia Tit-forTat es dominante. Incluso al margen de su simplicidad, en caso de que los pares tengan ancho de banda asimétrico de conexión a la red este mecanismo degrada el funcionamiento de todo el sistema. 2.5.4. Sistemas multi-agente Los sistemas basados en agentes constituyen una de las áreas más importantes de investigación y desarrollo que han emergido en las tecnologías de la información desde los años 90 [Luck et al., 2005]. Antes de introducir los sistemas multi-agente (MAS, MultiAgent Systems), necesitamos definir qué entendemos por un agente. Desafortunadamente, no hay un acuerdo general en la comunidad investigadora. Por tanto, utilizaremos una definición clásica [Wooldridge y Jennings, 1995]: “el término agente se utiliza para denotar un hardware o (más generalmente) un sistema informático software que goza principal- 24 Capítulo 2. Estado del Arte mente de las siguientes características”: Autonomía: los agentes funcionan sin la intervención directa de seres humanos u otros, y tienen cierto control sobre sus acciones y estado interno; Habilidad social: los agentes interactúan con otros agentes (y posiblemente seres humanos) gracias a una cierta clase de lengua para la comunicación con agentes; Reactividad: los agentes perciben su entorno, y responden de manera oportuna a sus cambios; Actividad: los agentes no solo actúan en respuesta a su ambiente, también son capaces de exhibir un comportamiento dirigido a conseguir una meta, tomando la iniciativa. Hay algunas otras cualidades que pueden estar presentes [Wooldridge y Jennings, 1995], pero generalmente no se consideran como un requisito: Movilidad: los agentes pueden moverse a través de la red, esto es, los agentes pueden trasladar datos junto con instrucciones que se ejecutan de forma remota. Veracidad: un agente no comunica deliberadamente información falsa. Benevolencia: los agentes prestan ayuda a otros agentes de su entorno, siempre y cuando no entre en conflicto con sus propios objetivos. Racionalidad: los agentes actúan de forma racional con el único fin de cumplir sus objetivos. Adaptabilidad (o aprendizaje): los agentes modifican su comportamiento a partir de las experiencias previas. Para simplificar, un agente es cualquier entidad que pueda percibir su ambiente a través de sensores y cambiarlo con actuadores [Russell y Norvig, 2002]. Los agentes coexisten e interactúan con otros agentes de diversas maneras. Un sistema que consiste en un grupo de agentes que interactúan se denomina un sistema multi-agente (MAS), y el correspondiente subcampo de la inteligencia artificial (AI) que se ocupa de los principios y el diseño de los MAS se llama inteligencia artificial distribuida. Como se puede apreciar, tanto en las distintas definiciones de agentes como en las características que los definen, no tiene sentido la existencia de agentes individuales, sino que los agentes se encuentran en entornos donde hay más agentes. Un sistema multi-agente debe reunir los siguientes elementos [Ferber, 1999]: Un entorno que representa el marco en el que existen los agentes. Un conjunto de objetos. Estos objetos se integran con el entorno, es decir, es posible asociar en un momento dado uno de estos objetos con un lugar del entorno. Estos objetos son pasivos y los agentes pueden percibirlos, crearlos, destruirlos y modificarlos. 2.5. Evolución de la optimización de la compartición de recursos en redes de usuario 25 Un conjunto de agentes que se consideran como objetos especiales que representan las entidades activas del sistema. Un conjunto de relaciones que unen objetos y, por lo tanto, agentes. Un conjunto de operaciones que hacen posible que los agentes perciban, produzcan, consuman, transformen y manipulen objetos. Operadores que representan la realización de operaciones sobre el mundo y la reacción de éste frente a la alteraciones. Estos operadores se pueden entender como las leyes del universo. Así pues, la influencia que unos agentes ejercen sobre otros se produce no solo por sus interacciones directas, sino también por la modificación que un agente puede realizar sobre el entorno y que otros agentes son capaces de percibir. Esta situación aumenta enormemente la complejidad del diseño de los sistemas multi-agente, ya que obliga a estudiar el entorno con detalle para detectar qué acciones de un agente pueden afectar a otro agente. En la ingeniería del software, la tecnología MAS se ve como un paradigma novedoso y prometedor. Un sistema complejo software se puede tratar como una colección de muchos agentes, cada uno de ellos con su propia funcionalidad local y características, consiguiendo así la funcionalidad total del sistema. Algunas de las ventajas de la tecnología MAS en los sistemas software a gran escala son [Sycara, 1998]: Mayor rapidez y eficacia, debido al cómputo asíncrono y paralelo. Robustez y fiabilidad, en el sentido de que la totalidad del sistema puede experimentar únicamente una “pequeña degradación” cuando uno o más agentes fallan. Escalabilidad y flexibilidad, puesto que es fácil agregar agentes nuevos al sistema. Coste, si se asume que un agente es barato comparado con la totalidad del sistema. Desarrollo y reutilización, puesto que es más fácil desarrollar y mantener un software modular que uno monolítico. El ámbito de investigación en agentes y sistemas multi-agente es muy activo. Un ejemplo de esta gran actividad queda reflejado en las sucesivas redes de excelencia de la Unión Europea dedicadas a la tecnología de agentes: AgentCities.NET: Testbed for a Worldwide Agent Network (2001-2003) [Agentcities, WWW] y AgentLink: Europe’s ESPRIT-funded Network of Excellence for agent-based computing (iniciada en 1999 y que continúa con la actual AgentLink III) [Agentlink, WWW]. AgentLink está compuesta por 131 organizaciones de 20 países, 37 de las cuales pertenecen al sector industrial. Otro ejemplo de la repercusión de esta tecnología se puede apreciar en la revista Autonomous Agents and Multi-Agent Systems, que se creó en el año 2002 y ya se encuentra entre las 25 revistas con mejor índice de impacto en el área de la Inteligencia Artificial [ISI, WWW]. Si nos centramos en el marco de las interacciones podemos también detectar la relevancia que estos mecanismos tienen en la tecnología multi-agente. Por ejemplo, analizando los artículos 26 Capítulo 2. Estado del Arte presentados en la conferencia AAMAS’06 - Autonomous Agents & MultiAgent Systems se observa que un 45,6 % de los aceptados están relacionados con temas de coordinación y negociación. Hasta ahora, los sistemas multi-agente se han aplicado en diversos dominios. Algunos ejemplos son: Ciencias sociales, donde la tecnología MAS se utiliza para simular interactividad y otros fenómenos sociales [Axelrod, 1984, Gilbert y Doran, 1994, Moss y Davidson, 2001]. Minería de datos distribuida y recuperación de datos [Maes, 1994]. Realidad virtual. Los juegos de ordenador utilizan agentes para implementar un comportamiento inteligente [Terzopoulos, 1999]. En robótica, se emplean para controlar un grupo de robots que navegan autónomamente a través de su entorno [Roumeliotis y Bekey, 2002]. Subastas y comercio Sandholm, 1999]. electrónico en Internet [Noriega y Sierra, 1999, Pero éstos son solo algunos ejemplos, puesto que la tecnología MAS también se ha aplicado al control, programación y planificación de la fabricación, el control del tráfico aéreo, la medicina, el aprendizaje electrónico, el control de las telecomunicaciones, etc. Se pueden encontrar ejemplos de utilización de MAS en estos campos en libros recientes [Ferber, 1999, Weiss, 1999, Wooldridge, 2002, Agentes Software y Sistemas Multi-Agente, 2005]. Capı́tulo 3 Base Tecnológica Contenido 3.1. Introducción . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27 3.2. IEEE 802.11 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28 3.2.1. Características . . . . . . . . . . . . . . . . . . . . . . . . . . 29 3.2.2. Arquitecturas: modos ad-hoc e infraestructura . . . . . . . . . . 35 3.2.3. Capa MAC . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38 3.2.4. Capa PHY . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55 3.2.5. Seguridad . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60 3.3. Futuras tecnologías inalámbricas . . . . . . . . . . . . . . . . . . . . 61 En este capítulo se expone la base tecnológica subyacente en los sistemas inalámbricos a los que se refiere esta tesis doctoral, explicando su funcionamiento. Esta explicación sirve de base para entender los resultados de los capítulos siguientes. En la sección 3.1 se enumeran las diferentes tecnologías inalámbricas estandarizadas por el IEEE. En la sección 3.2 nos centramos en la tecnología clave para esta tesis, IEEE 802.11. Para finalizar, en la sección 3.3 se mencionan las futuras tecnologías inalámbricas de banda ancha, como pueden ser IEEE 802.11n e IEEE 802.16 (o como comercialmente se la conoce, WiMAX). Es previsible que se le puedan aplicar algunas aportaciones de esta tesis doctoral. 3.1. Introducción Con los términos “red inalámbrica” o “wireless” nos referimos a las tecnologías de telecomunicaciones en las que se emplean ondas de radio, infrarrojos o microondas en vez de cables. Se beneficia de ellas una gran variedad de dispositivos como teléfonos móviles, pagers, ordenadores portátiles, dispositivos localizadores, redes de ordenadores, sistemas por satélite o PDAs (Personal Digital Assistants). 28 Capítulo 3. Base Tecnológica En los últimos años se ha producido un gran desarrollo de las comunicaciones móviles, desde extrañarnos al ver un teléfono móvil por la calle a extrañarnos cuando alguien nos dice que no lo tiene. Estas tecnologías nos proporcionan conectividad y acceso a las tradicionales redes cableadas, así como flexibilidad y movilidad gracias a las comunicaciones inalámbricas. La aceptación es tal que en la actualidad todos los ordenadores portátiles incluyen interfaz inalámbrica, y actualmente empieza a ofrecerse acceso de banda ancha a Internet a través de redes inalámbricas. Por ello, IEEE formó un comité para crear estándares inalámbricos, entre los que destacan: IEEE 802.11 Wireless Local Area Network (WLAN), redes inalámbricas de área local. Son el equivalente sin hilos de las redes LAN Ethernet. IEEE 802.15 Wireless Personal Area Network (WPAN), redes inalámbricas de área personal. Redes de muy corto alcance, como Bluetooth. IEEE 802.16 Wireless Metropolitan Area Network (WMAN), redes inalámbricas de área metropolitana. Proveen servicios de conexión de banda ancha a Internet. En la figura 3.1 se comparan los diferentes tipos de redes inalámbricas y su alcance. En la tabla 3.1 se muestra la misma información más extensamente y de forma numérica. Figura 3.1: Tipos de redes inalámbricas En este capítulo nos centraremos en las redes IEEE 802.11, en las que se basa esta tesis, y comentaremos brevemente la norma IEEE 802.16, al representar el futuro de las redes inalámbricas de acceso a Internet. 3.2. IEEE 802.11 En este apartado repasaremos las redes inalámbricas IEEE 802.11. Nos centraremos principalmente en las redes IEEE 802.11b, en las que se centra este trabajo doctoral, pero estudiaremos otros estándares dado que se podrían beneficiar del trabajo realizado. 3.2. IEEE 802.11 29 Tecnología Inalámbrica Bluetooth Satélite 1G - Móviles Analógicos 2G - Móviles Digitales 2.5G - Móviles Digitales 3G - Móviles Digitales WLAN 802.11b WLAN 802.11a WLAN 802.11g WLAN 802.11n (2007) Fixed Broadband Wireless Access (F-BWA) WAP WiMAX 802.16 4G Alcance 10 m Mundial Nacional Nacional Nacional Nacional 100 m 50 m 100 m 250 m 56 Km Nacional 16 Km 16 Km Velocidad 1 Mbps 14 Kbps 384 Kbps 2-10 Mbps 11 Mbps 54 Mbps 54 Mbps 540 Mbps 1 Gbps 384 Kbps 75 Mbps 75 Mbps Tabla 3.1: Tipos de redes inalámbricas Los elementos hardware más importantes que podemos encontrar en las redes inalámbricas IEEE 802.11 son: Cliente: cada ordenador que acceda a la red como cliente debe estar equipado con una tarjeta Wi-Fi. En la figura 3.2 podemos ver algunos elementos relacionados con clientes Wi-Fi. Punto de Acceso: hace las veces de hub tradicional. Envía cada paquete de información directamente al ordenador indicado, con lo que mejora sustancialmente la velocidad y eficiencia de la red. Es normalmente una solución hardware. En la figura 3.3 podemos ver ejemplos de puntos de acceso. Antenas: se utilizan para mejorar la señal, así que no siempre son necesarias. Las antenas direccionales emiten en una única dirección y es preciso orientarlas a mano. En la figura 3.4 podemos ver ejemplos de antenas. Pigtail: es simplemente el cable que conecta la antena con la tarjeta de red. Es el único cable necesario en una WLAN, y hay que vigilar posibles pérdidas de señal. En la figura 3.5 podemos ver ejemplos de cables y otros utensilios. En la figura 3.6 se muestra un ejemplo de red inalámbrica doméstica. 3.2.1. Características Las redes inalámbricas de área local (WLAN) son una alternativa a las redes Ethernet. Para estandarizarlas, IEEE creó el grupo de especificaciones 802.11x. Definen una capa de acceso al medio (MAC) y una capa física (PHY). Los estándares 802.11, 802.11b y 802.11g utilizan la banda espectral de 2.4 a 2.483 GHz, mientras que 802.11a utiliza la banda de 5 Ghz. Las tasas de transmisión dependen del estándar elegido y son: 30 Capítulo 3. Base Tecnológica Figura 3.2: Hardware IEEE 802.11: Clientes Figura 3.3: Hardware IEEE 802.11: Puntos de Acceso 3.2. IEEE 802.11 31 Figura 3.4: Hardware IEEE 802.11: Antenas Figura 3.5: Hardware IEEE 802.11: Cables 32 Capítulo 3. Base Tecnológica Figura 3.6: Red IEEE 802.11 doméstica 802.11: 1, 2 Mbps 802.11b: 1, 2, 5.5, 11 Mbps 802.11a/g: 6, 9, 12, 18, 24, 36, 48, 54, 108 Mbps Los diferentes estándares 802.11 se resumen en la tabla 1.1. En la figura 3.7 podemos ver el estado de los estándares en 1999, así como las capas físicas implementadas. En la figura 3.8 se muestra la evolución hasta 2003, y por último la figura 3.9 recoge los estándares que se añadieron con posterioridad a esa fecha. En la tabla 3.2 podemos ver una comparativa de los principales estándares de transmisión 802.11 indicando sus ventajas. Cabe destacar que el 11b fue el primero, aunque el 11g está ganando terreno debido a su mayor velocidad. El 11a es un estándar prácticamente exclusivo para EE.UU., ya que usa una banda de frecuencia no licenciada en otros países. Para asegurar el cumplimiento del estándar 802.11 se crea la WECA (Wireless Ethernet Compatibility Alliance, alianza de compatibilidad de redes Ethernet inalámbricas), que crea el sello “wireless fidelity” (Wi-Fi) para certificar la inter-operabilidad de los productos Wi-Fi (IEEE 802.11) y promover Wi-Fi como el estándar global para redes inalámbricas. Esta alianza está compuesta por más de 200 compañías y ha certificado más de 1250 productos. En su página web (http://www.wi-fi.org/) se puede comprobar si un producto cumple el estándar Wi-Fi. 3.2. IEEE 802.11 33 Figura 3.7: Estado de los estándares 802.11 en 1999 Figura 3.8: Estado de los estándares 802.11 en 2003 34 Capítulo 3. Base Tecnológica Figura 3.9: Estándares 802.11 añadidos después de 2003 Estándar Banda Disponibilidad Velocidad Interferencias Ventajas 802.11b 2.4 Ghz Mundial 11 Mbps Teléfonos inalámbricos, microondas, Bluetooth Más barato, excelente rango de señal, atraviesa la mayoría de las paredes, lo usan la mayoría de los APs gratuitos 802.11a 5 Ghz EE.UU. 54 Mbps Dispositivos HyperLAN Soporta más usuarios, no sufre interferencias de equipos que trabajen a 2.4 Ghz, puede coexistir con redes b y g, cobertura limitada a una habitación 802.11g 2.4 Ghz Mundial 54 Mbps Teléfonos inalámbricos, microondas, Bluetooth A un coste ligeramente mayor se consiguen velocidades cinco veces superiores a las de b, compatible con redes y puntos de acceso b, excelente rango de señal, atraviesa la mayoría de las paredes Tabla 3.2: Comparativa entre estándares 802.11b, 802.11a y 802.11g 3.2. IEEE 802.11 35 Centrándonos en el estándar base para esta tesis doctoral, IEEE 802.11b tiene como objetivo desarrollar una capa de acceso al medio (MAC) y una capa física (PHY) para proporcionar conectividad inalámbrica para estaciones fijas, portátiles y móviles dentro de un área local. Se nos ofrecen 14 canales en la banda de 2.4 GHz, y solo 3 canales (1, 6 y 11) están separados en frecuencia. Es decir, una instalación que solo utilizase estos canales estaría libre de interferencias inter-canal. En la figura 3.10 podemos ver la distribución de estos canales, y en la tabla 3.3 los canales que se permiten en diferentes países. Figura 3.10: Canales en la banda de 2.4 Ghz en IEEE 802.11b Países EE.UU. / Canadá Europa (excluyendo Francia) Francia Japón Frecuencias permitidas 1-11 1-13 10-13 1-14 Tabla 3.3: Canales de 802.11b permitidos según países 3.2.2. Arquitecturas: modos ad-hoc e infraestructura Antes de aclarar los tipos de arquitectura que nos ofrecen las redes IEEE 802.11, es conveniente definir algunos conceptos (figura 3.11): Estaciones (STA): cualquier recurso que contenga una interfaz con las capas MAC y PHY 802.11b. Basic Service Set (BSS): bloque básico de red 802.11b. Consta de estaciones 802.11b con capacidad para comunicarse directamente. Extended Service Set (ESS): unión de varias BSS. Sistema de Distribución (DS): componentes lógicos y físicos encargados de proporcionar la interconexión de varias BSSs. En la mayoría de los sistemas comerciales, el sistema de distribución es una red Ethernet. 36 Capítulo 3. Base Tecnológica Figura 3.11: Algunos elementos de las redes IEEE 802.11 Puntos de Acceso (APs): entidades con funcionalidad de estación, que proporcionan acceso al Servicio de Distribución. Service Set Identifier (SSID): identificador de una ESS. Medio inalámbrico: para el intercambio de datos entre estaciones se utiliza un medio sin hilos. Se definen varias capas físicas encargadas de apoyar a la capa MAC. Inicialmente se estandarizaron dos capas físicas de radiofrecuencia (RF) y una capa física infrarroja, aunque las capas de RF han sido las más utilizadas. La arquitectura ad-hoc emplea conexiones “punto a punto”. Los clientes se conectan directamente entre sí. Está formada por una BSS aislada, sin puntos de acceso, cuyas STA tienen capacidad de intercomunicación. Ofrece cobertura limitada, y no se requiere una planificación previa. En la figura 3.12 podemos ver un ejemplo de este tipo de arquitectura. La arquitectura en modo infraestructura utiliza un punto de acceso que funciona como un hub o concentrador tradicional. Este tipo de arquitecturas nace de la necesidad de alcanzar mayores rangos de cobertura y de integrar varias BSS dispersas, y pueden apoyarse en redes cableadas (LAN) como DS. Hay que aclarar que el estándar no define la estructura física del DS, que podrá ser cable Ethernet, coaxial, fibra óptica, transmisión inalámbrica, etc. El acceso a dicho sistema de distribución tiene lugar a través del punto de acceso. En esta arquitectura, cada STA debe autentificarse ante el DS, y asociarse con el AP de su BSS. Se permite la movilidad de las STA entre las BSS, y las STA se asocian al punto de acceso del que reciben más potencia. La transmisión de una STA a otra no depende de si comparten BSS o no, es el DS el que se encarga de llevar la trama al destino. Varias ESS pueden compartir un mismo espacio físico, pero necesitan diferenciarse por el SSID, el identificador de ESS. Las transmisiones dentro de una BSS pasan a través del AP. En la figura 3.13 podemos ver un ejemplo de cómo se realizan las transmisiones de datos dentro de una ESS. En la figura 3.14 podemos ver un ejemplo de arquitectura en modo infraestructura. 3.2. IEEE 802.11 37 Figura 3.12: Red IEEE 802.11 con arquitectura en modo ad-hoc Figura 3.13: Transmisión de datos en una ESS 38 Capítulo 3. Base Tecnológica Figura 3.14: Red IEEE 802.11 con arquitectura en modo infraestructura 3.2.3. Capa MAC La capa MAC se encarga del control de acceso al medio. Proporciona contención y prevención de colisiones para que las distintas estaciones puedan acceder al medio para enviar sus datos, además de imparcialidad para que ninguna estación tenga preferencia sobre otra. Esto se consigue con un esquema distribuido de acceso al medio sin un árbitro centralizado. Cada estación 802.11 utiliza el mismo método para acceder al medio. La capa MAC correspondiente debe admitir cualquier capa física. La mayoría de las redes cableadas usan el protocolo MAC CSMA/CD (Carrier Sense Multiple Access with Collision Detection, acceso múltiple con detección de portadora y de colisiones). Las estaciones escuchan antes de transmitir. Si ya hay una estación transmitiendo, la nueva esperará e intentará transmitir tras un tiempo. Si nadie está transmitiendo, la nueva estación empieza a enviar datos. Si dos estaciones envían al mismo tiempo, las transmisiones chocarán, y la información se perderá. Aquí es donde interviene la detección de colisiones. La estación escuchará para asegurarse de que su transmisión llegó a su destino sin colisiones. Si ocurrió una colisión, las estaciones esperarán y lo intentarán de nuevo más adelante. El tiempo que las estaciones esperan se determina mediante un algoritmo de backoff. Este protocolo funciona muy bien para LANs cableadas, pero en redes inalámbricas presenta los problemas del nodo oculto y el nodo expuesto. En el problema del nodo oculto (figura 3.15), el nodo C no puede oír al nodo A. Entonces, si el nodo A está transmitiendo, el nodo C no lo sabrá y puede intentar transmitir a su vez. Esto dará lugar a colisiones. La solución a este problema es CSMA/CA (Carrier Sense Multiple Access with Collision Avoidance, acceso múltiple con detección de portadora y prevención de colisiones), que funciona de la siguiente manera: la estación 3.2. IEEE 802.11 39 escucha antes de enviar. Si alguien está transmitiendo, la estación esperará un tiempo al azar y lo intentará otra vez. Si nadie está transmitiendo, enviará un mensaje corto, el RTS (Ready To Send, preparado para enviar). Este mensaje contiene la dirección de destino y la duración de la transmisión. Las demás estaciones sabrán ahora que deben esperar ese tiempo antes de poder transmitir. El destino entonces enviará un mensaje corto, CTS (Clear To Send, despejado para transmitir). Este mensaje le indica a la fuente que puede enviar sin peligro de colisiones. Cada paquete con datos se asiente (ACK). Si no se recibe un asentimiento, la capa MAC retransmite los datos. Esta secuencia se conoce como “apretón de manos en cuatro pasos” (figura 3.16) y es el protocolo seleccionado para el estándar 802.11. El soporte de secuencia RTS-CTS es opcional, pero las estaciones deben responder apropiadamente en cualquier caso. Figura 3.15: Problema del nodo oculto La secuencia de transmisión RTS/CTS dura mucho tiempo, especialmente por la latencia a la que se ven forzadas las estaciones antes de que la transmisión pueda comenzar. Consecuentemente, se utiliza solamente en ambientes con tráfico intensivo en los que la contención aporta una ayuda significativa en la transmisión. Para tráfico escaso no es necesaria. Esta secuencia crea el problema del nodo expuesto (figura 3.17). Supongamos que B quiere transmitir a A, y C a D. Ambas transmisiones pueden ser simultáneas porque solo va a haber mala recepción en el área entre C y B. B transmite, C escucha el canal y erróneamente cree que no puede transmitir. Se produce una pérdida de tiempo en el envío de C a D debido a que se espera a la detección de que alguien está transmitiendo o a la recepción de un CTS. Los métodos de acceso para IEEE 802.11 se pueden clasificar en métodos de conten- 40 Capítulo 3. Base Tecnológica Figura 3.16: Apretón de manos en cuatro pasos Figura 3.17: Problema del nodo expuesto 3.2. IEEE 802.11 41 ción, como ya hemos visto, y métodos de sondeo. Los sistemas de contención emplean heurísticos (backoff aleatorio, escucha del canal antes de transmitir, y periodos de espera obligatorios entre envíos de datos) para evitar (sin eliminar totalmente) las colisiones en el envío de datos. Los métodos de sondeo se emplean cuando se necesita servicio con restricciones temporales, es decir transferencias orientadas a conexión, y solo están disponibles para redes en modo infraestructura. Para ello se emplea un mensaje, a modo de baliza, que puede insertar el punto de acceso, y le permite sondear individualmente a las estaciones seleccionadas para enviar o recibir datos. La duración del periodo de sondeo se controla mediante un parámetro en el punto de acceso, y forma parte del mensaje de tipo baliza. Los sistemas de contención resultan adecuados para un tráfico a ráfagas asíncrono. Estos sistemas trabajan particularmente bien cuando el tamaño de las ráfagas es comparable al tamaño usual del paquete en el medio, o a pequeños múltiplos de éste. La capa MAC tiene un método alternativo para la ausencia de árbitro centralizado, como puede ser un AP, y en modo ad-hoc. Sin embargo, dicho método es menos eficiente que cuando hay un AP presente. El acceso al medio inalámbrico está controlado por las funciones de coordinación. Existen dos, que se describen a continuación y se ilustran en la figura 3.18: DCF (Distributed Coordination Function, función de coordinación distribuida): es la base del mecanismo de acceso estándar CSMA/CA. Como en Ethernet, primero se comprueba que nadie esté transmitiendo antes de empezar. Para evitar colisiones, las estaciones utilizan un tiempo de backoff aleatorio después de enviar cada frame, y la primera que complete la espera se apodera del canal. En algunas circunstancias, el DCF puede utilizar la técnica de CTS/RTS para reducir la posibilidad de colisiones. PCF (Point Coordination Function, función de coordinación puntual): proporciona servicios sin contención. Unas estaciones especiales llamadas puntos de coordinación se utilizan para asegurar que se puede acceder al medio sin necesidad de competir por él. Estos puntos de coordinación residen en los puntos de acceso, por lo que esta función está restringida a las redes en modo infraestructura, aunque no todos los APs comerciales la implementan. Permite a las estaciones transmitir frames con restricciones temporales y explota mejor el medio. Aparte de estas funciones, la capa MAC tiene más funcionalidades, como pueden ser la sincronización de las estaciones, la exploración del medio, la creación de una BSS, la gestión de potencia, la asociación y la reasociación, que veremos a continuación con más detalle. 3.2.3.1. Sincronización de las estaciones Todas las estaciones en una BSS deben sincronizarse con un reloj común. Para ello, cada estación incorpora una función de sincronización temporal (TSF). En modo infraestructura, cada punto de acceso posee un temporizador independiente, que dispara el envío de una trama beacon (baliza) a intervalos regulares. El AP manda una copia de su TSF 42 Capítulo 3. Base Tecnológica Figura 3.18: Funciones de coordinación de la capa MAC en cada beacon, y las estaciones aceptan siempre el TSF de la beacon de su AP. Podemos ver un esquema en la figura 3.19. Figura 3.19: Sincronización en modo infraestructura En modo ad-hoc, cada estación enviará beacons a intervalos no regulares. Una vez recibidos, cada estación actualizará su TSF si el tiempo de la trama beacon recibida es mayor que el suyo. Podemos ver un esquema en la figura 3.20. Una vez conseguida la sincronización, existen técnicas para mantenerla, de exploración activa o pasiva del medio, de ajuste de los temporizadores de las estaciones y de sincronización a base de saltos de frecuencia de la capa física. Para más información sobre estas técnicas se recomienda consultar el capítulo 11 del estándar [IEEE 802.11 Standard, WWW]. 3.2.3.2. Exploración del medio Las estaciones necesitan explorar el medio para determinar los bloques básicos de servicio a los que pueden unirse, independientemente de que estén dichos bloques en modo ad-hoc o infraestructura. Se puede utilizar una exploración pasiva o activa. Cuando recibe 3.2. IEEE 802.11 43 Figura 3.20: Sincronización en modo ad-hoc una orden, la estación explora el medio. Dicha orden ha de contener el parámetro SSID que indica a la estación el identificador de servicio básico a buscar. En caso de que tenga valor broadcast, se buscarán todos los disponibles. Para asociarse a una ESS en particular usando la exploración pasiva, la estación explorará las tramas beacon que contienen el SSID buscado, y de estas tramas extraerá toda la información necesaria de las capacidades de la ESS, así como de si pertenece a una red en modo ad-hoc o infraestructura. En caso de exploración activa, la estación debe transmitir tramas de sondeo (probe frames) con el SSID deseado. Si existe dicha ESS, recibirá información sobre sus capacidades. Si decide unirse, la estación adopta el BSSID, el valor del contador de tiempo del TSF, los parámetros de la capa física y el periodo del beacon especificado en la petición. El usuario de una tarjeta cliente 802.11b puede configurarla para unirse a cualquier red de inicio, o solo a una en concreto (cuando se forma parte de una red determinada). Si no encuentra una red, el usuario puede decidir crear una nueva. En este caso, decide los parámetros: nombre de la red, clave WEP o no, periodo beacon, etc. En la figura 3.21 podemos ver cómo se realiza la exploración tanto para una red en modo ad-hoc como para una en modo infraestructura. En color verde están los intentos de conectarse a cualquier red, y en rojo los de conectarse a una red específica. Figura 3.21: Exploración del medio 44 3.2.3.3. Capítulo 3. Base Tecnológica Creación de BSS Las estaciones inalámbricas pueden crear bloques básicos de red. En caso de que estas estaciones sean puntos de acceso, pueden crear redes en modo infraestructura. Si son tarjetas inalámbricas, pueden crear redes en modo ad-hoc con otras tarjetas, o unirse a redes en modo infraestructura. La estación que quiere crear una BSS determina el identificador de la BSS (BSSID) que se va a usar, indicando si la red va a estar en modo infraestructura o ad-hoc. Después debe configurar varios parámetros como el canal a utilizar y el periodo de la trama beacon. A continuación iniciará el temporizador TSF, lo arrancará y comenzará a transmitir beacons. Cada bloque básico de servicio tiene un BSSID, un identificador de 48 bits que sirve para distinguirlo de otros BSS. En caso de una BSS en modo infraestructura, el BSSID suele ser la dirección MAC del punto de acceso, aunque lo puede definir el usuario. En una red en modo ad-hoc, el BSSID tiene los bits de la siguiente forma: bit Universal/Local con valor 1, bit Individual/Group con valor 0 y 46 bits generados de forma aleatoria. Un BSSID con todos los bits a 1 es un BSSID broadcast, y se utiliza cuando una estación móvil intenta localizar una red. 3.2.3.4. Gestión de potencia La gestión de potencia es un aspecto fundamental de los dispositivos inalámbricos, debido a que muchos son móviles y necesitan baterías para su funcionamiento. Los componentes que consumen más energía son los sistemas de radiofrecuencia, como los amplificadores de transmisión y recepción. Las estaciones inalámbricas pueden maximizar la vida de la batería apagando el transmisor-receptor de radio periódicamente. Durante los periodos en los que permanecen dormidos, los puntos de acceso almacenan la información de las estaciones que están dormidas. Si los puntos de acceso han almacenado información para alguna estación, lo hacen saber en las posteriores tramas beacon. Las estaciones se despiertan para oír las beacon, y en caso de que comprueben que hay información para ellas se la pedirán al punto de acceso mediante las tramas PS-Poll. En el caso de las redes en modo infraestructura, el funcionamiento es el siguiente. Las estaciones pueden operar en modo PS (Power-Save, ahorro de energía) o Awake (despierto). El punto de acceso no transmitirá tramas de forma normal a las estaciones en modo Power-Save, sino que las irá almacenando en buffers. Dentro de las tramas beacon se inserta un TIM (mapa de indicación de tráfico), que refleja las estaciones que tienen tramas pendientes en el punto de acceso. Las estaciones en modo Power-Save despertarán periódicamente (este periodo se define cuando se unen a una BSS) y escucharán las tramas beacon. La estación enviará al punto de acceso una trama PS-Poll cuando sepa que existen tramas pendientes para ella. El AP responde con las tramas almacenadas. La STA saldrá del modo Power-Save indicándoselo al AP en un bit del campo de control de las tramas que envíe. En modo ad-hoc, el comportamiento es similar. Se establecerán periodos durante los cuales todas las estaciones estarán despiertas, a los que se denomina ATIM Windows, que comienzan con la transmisión de una trama ATIM (Ad-hoc Traffic Indication Message, mensaje de indicación de tráfico ad-hoc). Una estación transmite una trama ATIM antes de transmitir una trama a otra estación en modo Power-Save. Cuando reciba la trama 3.2. IEEE 802.11 45 ATIM, la segunda saldrá del modo Power-Save hasta la siguiente trama beacon, si hay tramas almacenadas para ella. La trama ATIM se transmite después de realizar un algoritmo de backoff tras recibir o transmitir una trama beacon, para evitar coincidencias de varias estaciones que manden este tipo de tramas. Se debe asentir a las tramas ATIM en el intervalo ATIM Window. Las tramas de información se envían un tiempo después de terminar el periodo ATIM Window, según un algoritmo de backoff. Por último, una estación indicará que está en el modo Power-Save mediante la puesta a 1 del bit Power Save, dentro de la cabecera de la trama MPDU, y que está despierta poniéndolo a 0. 3.2.3.5. Asociación a un punto de acceso Las estaciones envían una petición de asociación al punto de acceso, indicando sus capacidades (velocidades de transmisión, si admiten poll, etc.) y el identificador de la red a la que se quieren unir, o un valor broadcast en caso de que les sea indiferente. El punto de acceso responde con una trama association_confirm, aceptando o rechazando dicha asociación, e indicando las capacidades de la BSS y asignándole un identificador de asociación a la estación. La estación debe asentir la respuesta de asociación. El punto de acceso aceptará la asociación si la estación está previamente autentificada. En caso contrario, rechazará la petición, indicando la razón en la respuesta de asociación. Por último, el punto de acceso informará al sistema de distribución de la asociación de la estación. 3.2.3.6. Formato de trama Para resolver los desafíos que se presentaron, los desarrolladores se vieron forzados a dotar al formato de trama de la capa MAC de varias características únicas, como pueden ser cuatro campos de dirección. No todas las tramas utilizan todos los campos de dirección, y los valores asignados a estos campos de dirección pueden cambiar dependiendo del tipo de trama que se transmita. En la figura 3.22 podemos ver el formato genérico de la trama MAC 802.11. Figura 3.22: Formato de la trama MAC Las tramas MAC no incluyen algunas de las características clásicas de las tramas Ethernet, como pueden ser el campo type/length y el preámbulo. El preámbulo 802.11 es parte de la capa física, y los detalles de la encapsulación tales como tipo y longitud están presentes en la cabecera de los datos de la trama MAC. Cada trama comienza con dos bytes que definen el campo Frame Control (control de la trama). Podemos ver cómo se divide este campo en la figura 3.23. Sus componentes son: 46 Capítulo 3. Base Tecnológica Figura 3.23: Formato del campo de control en la trama MAC Versión del protocolo: estos dos bits indican la versión de MAC que se utiliza en el resto de la trama. Actualmente solo se ha desarrollado una versión, y se le asigna el número 00. Otros valores aparecerán cuando el IEEE estandarice cambios en la capa MAC que sean incompatibles con la especificación inicial. Campos de tipo y subtipo: estos seis bits sirven para identificar el tipo de trama que se va a usar. Para hacer frente a la falta de fiabilidad debida a las transmisiones inalámbricas, se han incorporado muchas funciones de gestión y control a la capa MAC, como pueden ser las operaciones RTS/CTS, los asentimientos, etc. En la tabla 3.4 podemos ver cómo se combinan los identificadores del tipo y del subtipo para crear los diversos tipos de tramas. Bits To_DS y From_DS: estos dos bits indican si la trama tiene como destino el sistema de distribución. Todas las tramas de redes en modo infraestructura tendrán uno de los bits del sistema de distribución a 1. La interpretación de los campos de dirección depende de los valores de estos bits. A continuación podemos ver cómo se interpretan: • From_DS=0, To_DS=0: Todas las tramas de gestión y control. Tramas de datos en una red en modo ad-hoc. • From_DS=0, To_DS=1: Tramas de datos transmitidas por una estación en una red en modo infraestructura. • From_DS=1, To_DS=0: Tramas de datos recibidas por una estación en una red en modo infraestructura. • From_DS=1, To_DS=1: Tramas de datos en un bridge inalámbrico. Más fragmentos: la función de este bit es muy similar a la del bit homónimo en IP. Cuando la capa MAC fragmenta una trama de un nivel superior, el fragmento inicial y los siguientes (salvo el último), fijarán este bit a 1. Algunas tramas de gestión pueden ser suficientemente grandes y requerirán fragmentación. El resto de las tramas fijan este bit a 0. Reintento: de vez en cuando, algunas tramas deben retransmitirse. Cualquier trama de una retransmisión fijará este bit a 1 para ayudar a la estación receptora en la eliminación de tramas duplicadas. Gestión de energía: las tarjetas inalámbricas 802.11 suelen estar instaladas en ordenares portátiles a baterías o en dispositivos móviles. Para aumentar la duración de la 3.2. IEEE 802.11 47 batería, muchos dispositivos pequeños tienen la capacidad de apagar temporalmente partes de las tarjetas inalámbricas. Este bit indica si el remitente se pondrá en modo de ahorro de energía después del envío de esta trama. Si toma valor 1 indica que la estación estará en modo ahorro, y un 0 indica que la estación estará activa. Los puntos de acceso realizan un número de funciones de gestión importantes, por lo que no se les permite pasar a modo de ahorro de energía. Por tanto, este bit siempre es 0 en las tramas que transmite un punto de acceso. Más datos: para permitir que las estaciones se pongan en modo de ahorro de energía, los puntos de acceso deben almacenar las tramas que reciben del sistema de distribución. El punto de acceso pondrá este bit a 1 para indicar que por lo menos una trama está disponible y tiene como destino una estación en modo ahorro de energía. WEP: dado que las transmisiones inalámbricas son intrínsecamente más fáciles de interceptar que las transmisiones en una red cableada, 802.11 define un sistema de rutinas de cifrado llamado WEP (Wired Equivalent Privacy, privacidad equivalente a la cableada) para proteger y autentificar los datos. Cuando una trama se procesa mediante WEP, este bit se fija a 1. Orden: las tramas y los fragmentos se pueden transmitir en orden al coste de un procesado adicional por parte de las capas MAC de los emisores y receptores. Cuando se realiza la entrega en orden estricto este bit se fija a 1. Tras el campo Frame Control viene el campo Duration/ID, que también ocupa dos bytes. Este campo tiene varias aplicaciones y toma una de las formas siguientes: Fijar el NAV: el NAV (Network Allocation Vector, vector de asignación de red) es un contador temporal que indica la duración de la reserva del medio. Las estaciones fijarán el NAV a la duración durante la que esperan utilizar el medio, incluyendo cualquier trama necesaria para terminar la operación actual. Cuando el bit 15 del campo Duration/ID es 0, este campo se utiliza para fijar el NAV. El valor representa los microsegundos de ocupación del medio para la transmisión que actualmente está en curso. Todas las estaciones deben supervisar las cabeceras de todas las tramas que reciben y actualizar su NAV consecuentemente. Cualquier valor que prolongue el tiempo de ocupación del medio actualizará el NAV y bloqueará el acceso al medio durante ese tiempo adicional. Tramas transmitidas durante periodos libres de contención: durante estos periodos, los bits 14 y 15 tendrán valores 0 y 1 respectivamente. El resto de bits valdrán 0, lo cual arroja un valor de 32.768. Este valor se interpreta como NAV, y permite a cualquier estación que no haya recibido el beacon que anunciaba el periodo libre de contención actualizar su NAV con un valor convenientemente grande para evitar interferir con las transmisiones por sondeo. Tramas PS-Poll: en las que los bits 14 y 15 tienen valor 1. Las estaciones móviles pueden ahorrar energía apagando temporalmente sus sistemas, pero deberán 48 Capítulo 3. Base Tecnológica Type value b3 b2 00 00 00 00 00 00 00 00 00 Type description Management Management Management Management Management Management Management Management Management Subtype value b7 b6 b5 b4 0000 0001 0010 0011 0100 0101 0110-0111 1000 1001 00 00 00 00 01 01 01 01 01 01 01 10 10 10 10 10 10 10 10 10 11 Management Management Management Management Control Control Control Control Control Control Control Data Data Data Data Data Data Data Data Data Reserved 1010 1011 1100 1101-1111 0000-1001 1010 1011 1100 1101 1110 1111 0000 0001 0010 0011 0100 0101 0110 0111 1000-1111 0000-1111 Subtype description Association request Association response Reassociation request Reassociation response Probe request Probe response Reserved Beacon Announcement traffic indication message (ATIM) Disassociation Authentication Deauthentication Reserved Reserved Power-Save (PS)-Poll Request To Send (RTS) Clear To Send (CTS) Acknowledgement (ACK) Contention-Free (CF)-End CF-End + CF-Ack Data Data + CF-ACK Data + CF-Poll Data + CF-Ack + CF-Poll Null function (no data) CF-ACK (no data) CF-Poll (no data) CF-ACK + CF-Poll (no data) Reserved Reserved Tabla 3.4: Tipos y subtipos del campo de control en la trama MAC 3.2. IEEE 802.11 49 despertarse periódicamente. Para asegurar que no se pierda ninguna trama, las estaciones que se despiertan transmiten una trama PS-Poll para recuperar cualquier trama almacenada en el punto de acceso. Junto con esta petición, las estaciones que despiertan incorporan la identificación de la asociación, que indica la BSS a la que pertenecen. Seguidamente vienen los cuatro campos de dirección, con seis bytes cada uno. En algunas tramas se pueden utilizar los cuatro campos, y se numeran debido a que se utilizan para diversos propósitos dependiendo del tipo de trama. La regla general nos dice que la dirección 1 se utiliza para el receptor, la 2 para el transmisor, y el campo de la dirección 3 para filtrado por parte del receptor. El direccionamiento 802.11 sigue las convenciones de otras redes IEEE 802, incluyendo Ethernet. Las direcciones son de 48 bits. Si el primer bit que se envía al medio físico es un 0, la dirección representa una sola estación (unicast). Cuando el primer bit es un 1, la dirección representa un grupo de estaciones físicas y se denomina dirección multicast. Si todos los bits son 1, la trama es de broadcast, y se entrega a todas las estaciones conectadas con el medio inalámbrico. Estas direcciones se utilizan para una variedad de propósitos: Dirección de destino: como en Ethernet, la dirección de destino es el identificador IEEE MAC de 48 bits que corresponde al destino final: la estación que pasará la trama a un protocolo de mayor nivel para que la procese. Dirección de la fuente: es el identificador IEEE MAC de 48 bits que identifica la fuente de la transmisión. Una única estación puede ser la fuente de una trama, así que el bit Individual/Group siempre vale 0 para indicar una estación individual. Dirección del receptor: es el identificador IEEE MAC de 48 bits que indica la estación inalámbrica que debe procesar la trama. Si se trata de una estación inalámbrica, la dirección del receptor es la dirección de destino. Para las tramas con un nodo conectado a una Ethernet a través de un punto de acceso como destino, el receptor es la interfaz inalámbrica del punto de acceso, y la dirección de destino puede ser un router conectado a Ethernet. Dirección del transmisor: es el identificador IEEE MAC de 48 bits de la interfaz inalámbrica que transmitió la trama al medio. La dirección del transmisor se utiliza solamente en bridges inalámbricos. Identificación del bloque de servicio básico (BSSID): para identificar redes inalámbricas en la misma zona, las estaciones deben de estar asignadas a un BSS. En redes en modo infraestructura, el BSSID es la dirección MAC de la interfaz inalámbrica del punto de acceso. En las redes en modo ad-hoc el BSSID se genera de forma aleatoria. El número de campos de dirección depende del tipo de trama. La mayoría de las tramas de datos utilizan tres campos para la fuente, el destino y el BSSID. El número y la colocación de los campos de dirección en una trama de datos depende de cómo viaja 50 Capítulo 3. Base Tecnológica dicha trama en relación al sistema de distribución. La mayoría de las transmisiones usan tres campos, de ahí el que solo tres de las cuatro direcciones sean contiguas en el formato de trama. El siguiente campo es Sequence Control (control de secuencia), que tiene 16 bits. Se utiliza para la defragmentación y para desechar tramas duplicadas. Se compone de un subcampo de 4 bits llamado número del fragmento, y otro subcampo de 12 bits llamado número de secuencia. A las tramas de un nivel superior se les asigna un número de secuencia cuando atraviesan la capa MAC para una transmisión. El subcampo del número de secuencia es un contador de las tramas transmitidas. Comienza en 0 y se incrementa en una unidad para cada trama de nivel superior que vaya manejando la capa MAC. Si se fragmentan las tramas de nivel superior, todos los fragmentos tendrán el mismo número de secuencia. Cuando se retransmiten las tramas, el número de serie no cambia. Lo que diferencia a los fragmentos es su número del fragmento (al primer fragmento se le da el número 0). Dicho número se incrementa en una unidad por cada fragmento. Los fragmentos retransmitidos conservan sus números de secuencia originales para ayudar a unirlos posteriormente. A continuación está el subcampo Frame Body (cuerpo de la trama), también llamado campo de datos. Transporta la información procedente de capas superiores desde una estación a otra. IEEE 802.11 puede transmitir tramas con un campo de datos de 2304 bytes como máximo, aunque en la práctica se pueden enviar hasta 2312 bytes para considerar la sobrecarga que introduce WEP. Por último, y como en Ethernet, la trama se cierra con el campo FCS (Frame Check Sequence, secuencia de comprobación de la trama). El FCS recibe a menudo el nombre de CRC (control de redundancia cíclica) debido a las operaciones matemáticas subyacentes. El FCS permite que las estaciones comprueben la integridad de las tramas recibidas. Todos los campos de la cabecera MAC y el campo de datos se incluyen en el FCS. Cuando las tramas se envían por la interfaz inalámbrica se calcula el FCS. Las estaciones receptoras pueden después recalcularlo y compararlo con el recibido. Si son iguales, hay una alta probabilidad de que la trama sea correcta. En Ethernet, las tramas con un FCS erróneo se desechan sin más, y las tramas con un FCS correcto se pasan a la capa superior. En las redes 802.11, las tramas que pasan la comprobación de integridad del FCS pueden también requerir que el receptor envíe una trama de asentimiento. Por ejemplo, las tramas de datos que se reciben correctamente se deben asentir positivamente, o en otro caso se retransmitirán. En 802.11 no existen asentimientos negativos para las tramas en las que falla el FCS. En ese caso, las estaciones deben esperar el tiempo de asentimiento antes de retransmitir. 3.2.3.7. Función de coordinación distribuida Esta función de coordinación es el método obligatorio de acceso al medio para todas las estaciones 802.11. Está presente tanto en las redes ad-hoc como infraestructura. El acceso se realiza mediante el protocolo CSMA/CA (acceso múltiple por detección de portadora, con prevención de colisión), en el que las estaciones contienden por el canal. Cada estación, antes de transmitir, escucha el medio. Si está temporalmente libre (el tiempo viene determinado por el estándar y se denomina IFS), transmite. En caso contra- 3.2. IEEE 802.11 51 rio realiza un procedimiento de backoff exponencial, y retrasa la transmisión hasta que el canal esté libre durante un determinado número de timeslots no consecutivos (determinado por el algoritmo de backoff ). Este procedimiento de backoff incrementa la ventana de transmisión para una misma trama cada vez que se ejecuta. La tasa de transferencia de datos disminuye por la existencia de colisiones, y debido a ello no se puede acotar el tiempo de acceso al canal para un paquete determinado. En la función de coordinación, cuando una trama de datos se ha recibido correctamente se emplean asentimientos positivos. La función incorpora mecanismos de detección de portadora tanto virtuales como físicos, para minimizar el número de colisiones: Virtuales: el NAV (Network Allocation Vector) es una variable que mantienen las estaciones e indica el uso próximo del canal. Se actualiza a partir de la recepción de tramas RTS, CTS, datos, etc. Esta actualización siempre se realiza al valor mayor. Físicos: la capa física detecta que el canal está ocupado si recibe una señal de una potencia superior al umbral ED_Threshold del estándar. Es posible añadir la condición de que la señal detectada sea además una señal 802.11 válida. Una vez reflejen los mecanismos de detección de portadora que el canal está vacío, se podrá transmitir. En la figura 3.24 podemos ver cómo funciona el algoritmo de backoff cuando el medio está ocupado, y cómo las diferentes estaciones contienden para conseguir el canal. Figura 3.24: Funcionamiento del algoritmo de backoff En esta función hay diferentes tiempos que deben respetar las estaciones, para que la contienda por el canal sea justa. Estos son: SIFS (Short InterFrame Space, espacio corto entre tramas): tiempo de espera para responder con un ACK a una trama de datos o con una trama CTS a una trama RTS, y después de las tramas CF-Poll durante un CFP (Contention Free Period, periodo sin contienda). Tiene un valor de 10 µs. PIFS (PCF InterFrame Space, espacio entre tramas en PCF): tiempo que espera el CP para comenzar un CFP. Tiene un valor de 30 µs. 52 Capítulo 3. Base Tecnológica DIFS (DCF InterFrame Space, espacio entre tramas en DCF): tiempo que espera una estación para acceder al canal. Tiene un valor de 50 µs. EIFS (Extended InterFrame Space, espacio entre tramas extendido): tiempo que espera una estación después de recibir una trama con el CRC erróneo. En la figura 3.25 podemos ver el funcionamiento de alguno de estos tiempos en la transmisión de una trama de datos, y cómo emplea el temporizador NAV una estación que espera para poder transmitir. A pesar de todas estas precauciones, las colisiones pueden ocurrir, ya sea porque dos estaciones ven el canal libre al mismo tiempo, porque coinciden los resultados del algoritmo de backoff o por el problema del terminal oculto (figura 3.26). Para evitar estas colisiones, se utiliza el mecanismo RTS/CTS, que se basa en la transmisión de pequeñas tramas y solo se utiliza para paquetes de determinado tamaño, aunque no las elimina por completo. En la figura 3.27 podemos ver su funcionamiento, así como la actualización del temporizador NAV en las estaciones que esperan para transmitir. Figura 3.25: Transmisión de una trama de datos sin RTS/CTS Por último, en la figura 3.28 podemos ver el esquema de la transmisión de una trama de datos cuando se utiliza fragmentación, y cómo afecta esto de manera diferente a los temporizadores NAV de las estaciones que esperan para enviar. 3.2.3.8. Función de coordinación puntual El acceso al medio inalámbrico a través de esta función de coordinación es opcional, y solo está implementada en algunos puntos de acceso comerciales de alta gama. Es muy adecuada para aplicaciones en tiempo real. Solo se dispone de ella en redes en modo infraestructura. Se establecen periodos libres de contienda (CFP, Contention Free Period), en los que un punto de coordinación (PC, Point Controller) que reside en el punto de acceso gestiona el acceso al medio. 3.2. IEEE 802.11 Figura 3.26: Colisión en trama de datos, A y C son nodos ocultos Figura 3.27: Transmisión de una trama de datos con RTS/CTS 53 54 Capítulo 3. Base Tecnológica Figura 3.28: Transmisión de una trama de datos con fragmentación Esta función proporciona transferencia de tramas sin contienda, es decir, las estaciones no necesitan “pelear” por el medio. El orden de acceso al medio está controlado por el punto de coordinación, que reside en el AP, y al que obedecen todas las estaciones, según un esquema maestro-esclavo. El mecanismo de acceso comienza con una trama beacon que indica la duración del periodo sin contienda (CFP). Recibida esta trama, cada estación actualizará sus temporizadores NAV, y no podrá transmitir salvo que se lo requieran. El punto de coordinación establece turnos rotatorios, en cada uno de los cuales pregunta a una estación si tiene alguna trama para transmitir mediante el envío de una trama CF-Poll, que podrá contener una trama de datos (desde el punto de acceso a la estación) y/o un asentimiento de una trama recibida previa. Al recibir la estación la trama CF-Poll, responderá con una de las siguientes opciones: una trama de datos, una trama de datos y un asentimiento, un asentimiento o una trama nula. Dependiendo de la trama que reciba, el punto de coordinación actuará en consecuencia, y después seguirá con la siguiente estación en su polling-list o lista de sondeo. Una vez se recorra toda esta lista, terminará el periodo libre de contienda al enviar una trama CF-End. En la figura 3.29 se muestra un ejemplo de un periodo sin contienda, donde se puede ver cómo se van sondeando las estaciones que están en la lista de sondeo, y cómo durante la duración de este periodo otras estaciones no contienden. La longitud máxima del periodo viene dada por la variable CF_Max_Duration, que debe tener una longitud mínima, de forma que se proporcione tiempo suficiente para que el punto de coordinación consulte a una estación (CF-Poll) y obtenga una respuesta de tipo datos más asentimiento. El punto de coordinación puede acabar el periodo sin contienda antes de lo previsto, enviando una trama CF-End, que hace que cada estación reinicie su temporizador NAV. Una vez acabe un periodo sin contienda, y antes de empezar otro, habrá un periodo con contienda cuya longitud debe ser suficiente para enviar al menos una trama. El punto de coordinación tiene la obligación de explorar todas las estaciones de su lista de sondeo aunque no tenga tramas pendientes para ellas. El estándar no especifica claramente las características de la lista de sondeo, pero se tiene que cumplir que el punto de coordinación envíe una trama CF-Poll al menos a una estación durante un periodo sin 3.2. IEEE 802.11 55 Figura 3.29: Ejemplo de un periodo sin contienda contienda, si es que hay alguna en su lista de sondeo. Al terminar con la lista de sondeo durante un periodo sin contienda, el punto de coordinación puede volver a recorrer (total o parcialmente) la lista, o terminar el periodo enviando una trama CF-End. Una estación indica que se le puede sondear cuando se asocia al punto de acceso, pero puede cambiar su estado realizando una reasociación. El punto de coordinación la incluirá en la lista de sondeo cada cierto tiempo, pero no de forma regular. La estación indicará, además, si desea pertenecer o no a la lista de sondeo en el momento de la asociación. Cabe la opción de que una estación comunique su deseo de no figurar nunca en la lista de sondeo. 3.2.4. Capa PHY El estándar 802.11 describe diferentes capas físicas. Inicialmente, en el año 1997, 802.11 estandariza tres: FHSS (Frequency Hopping Spread Spectrum, espectro ensanchado por salto de frecuencias), IR (InfraRed light, infrarrojos) y DSSS (Direct Sequence Spread Spectrum, espectro ensanchado por secuencia directa), todas ellas con velocidades de 1 y 2 Mbps. Posteriormente, en 1999, se desarrollaron dos nuevas capas físicas: 802.11a, que trabaja en la banda de 5 Ghz con velocidades de hasta 54 Mbps y utiliza OFDM (Orthogonal Frequency Division Multiplexing, multiplexado por división ortogonal en frecuencia), y 802.11b, que trabaja en la banda de 2.4 GHz con nuevas velocidades de 5.5 y 11 Mbps y utiliza HR-DSSS (High Rate Direct Sequence Spread Spectrum, espectro ensanchado por secuencia directa de alta tasa). La primera solo es válida en EE.UU. Por último, en 2001, las modulaciones de 802.11a que proporcionaban una velocidad mayor se agregaron a la banda de 2.4 GHz, desarrollándose así la capa física 802.11g, que alcanza una tasa de 54 Mbps. Cada capa física está dividida en dos subcapas o funciones de protocolo, como se puede ver en la figura 3.30: Subcapa PMD (Physical Medium Dependent, dependiente del medio físico): define las características y los métodos de transmisión y recepción de datos a través del medio inalámbrico entre dos o más estaciones. Subcapa PLCP (Physical Layer Convergence Procedure, convergencia de la capa 56 Capítulo 3. Base Tecnológica Figura 3.30: Subcapas de la capa física física): intercalada entre la subcapa PMD y la capa MAC, agrega su propia cabecera a las tramas, y define el método de asignación de tramas de la capa MAC a tramas adecuadas para intercambiar datos de usuario e información de gestión entre dos o más estaciones con la misma subcapa PMD. Cabe destacar que cada subcapa PMD requiere la definición de una única subcapa PLCP. Dicha subcapa puede ser nula, si los servicios necesarios de la capa física están definidos en la subcapa PMD. Por último, la capa MAC interactúa con la subcapa PLCP a través de primitivas de servicio, y dicha subcapa también interactúa con la subcapa PMD a través de primitivas de servicio. Todas estas primitivas están definidas en el estándar. A continuación veremos el funcionamiento de las subcapas PLCP y PMD para el estándar 802.11b, en el que se basa este trabajo doctoral. Para otras capas físicas el funcionamiento sería análogo, y puede verse en los capítulos 9, 10 y 11 de [Gast, 2002] o en [IEEE 802.11 Standard, WWW]. 3.2.4.1. Subcapa PLCP Antes de que cualquier trama pueda modular la portadora de radiofrecuencia, la subcapa PLCP, encargada de la convergencia de la capa física, debe preparar las tramas procedentes de la capa MAC. Las diversas subcapas PMD subyacentes pueden estar sujetas a diversos requisitos, así que 802.11 permite a cada capa física una cierta holgura en la preparación de las tramas MAC para su transmisión al medio inalámbrico. Como ejemplo, en la figura 3.31 podemos ver el formato de la trama para subcapa PLCP para salto de frecuencia, y en la figura 3.32 podemos ver los formatos largo y corto de PPDU (PLCP Protocol Data Unit, unidad de datos del protocolo PLCP). Cabe destacar que tanto el preámbulo como la cabecera de las PPDUs se transmiten a 1 o 2 Mbps, mientras que la información puede ir a diferentes velocidades, dependiendo del tipo de conexión. Esto supone una infrautilización del sistema, ya que parte de la trama se transmite a velocidades muy inferiores a 11 Mbps. La subcapa PLCP toma las tramas MAC que las estaciones desean transmitir, y forma a partir de ellas unidades de datos del protocolo PLCP (PPDU). Dichas unidades se pueden dividir en tres campos principales, que a su vez se dividen en subcampos, organizados de la siguiente forma: Preámbulo: al igual que en las redes Ethernet cableadas, el preámbulo ayuda a sincronizar transmisor y receptor. Se compone de los subcampos: 3.2. IEEE 802.11 57 Figura 3.31: Formato de la trama para subcapa PLCP para salto de frecuencia Figura 3.32: Formatos largo y corto de PPDU 58 Capítulo 3. Base Tecnológica • Sync: este subcampo consiste en un número de bits que alternan ceros y unos (010101... 01), avisando así al receptor de que una señal admisible está presente. El receptor comienza a sincronizarse con la señal entrante después de detectar la secuencia sync. Las estaciones buscan el patrón sync para prepararse para recibir datos. Además de ayudar a sincronizar emisor y receptor, el campo sync cumple tres propósitos. La presencia de una señal sync indica que la llegada de una trama es inminente. En segundo lugar, las estaciones que tienen antenas múltiples para combatir el multipath (llegada de la misma señal por diferentes caminos) u otros problemas de recepción pueden seleccionar la antena con la señal más fuerte. Finalmente, el receptor puede medir la frecuencia de la señal entrante y realizar cualquier corrección necesaria para la mejora de la recepción de la señal. • SFD (Start Frame Delimiter, delimitador del comienzo de trama): como en Ethernet, el SFD señala el final del preámbulo y marca el principio de la cabecera de la trama. Es un subcampo de 16 bits. En caso de que se utilice una PPDU de formato largo toma siempre el valor 1111 0011 1010 0000 (F3A0 Hex) y, si la PPDU usa el formato corto, el valor es el inverso, es decir 0000 1100 0101 1111 (0A3F Hex). Cabecera: la cabecera PLCP sigue al preámbulo, y contiene parámetros específicos de la capa física que emplea el PLCP. Se compone de los siguientes subcampos: • Signal (señal): este subcampo identifica la tasa binaria a la que se va a enviar la trama 802.11, con su valor binario igual a dicha tasa dividida entre 100. El campo contendrá el valor 00001010 para 1 Mbps, 00010100 para 2 Mbps, 00110111 para 5.5 Mbps y 01101110 para 11 Mbps. Sin embargo, estos campos del PLCP siempre se envían con la tasa binaria más baja, 1Mbps. Esto sirve para asegurar que el receptor utilice inicialmente el mecanismo correcto para la demodulación, el cual cambiará con las diversas tasas binarias de datos. • Service (servicio): este subcampo se fija siempre a 00000000, y el estándar 802.11 lo reserva para usos futuros. • Length (longitud): este subcampo representa el número de microsegundos que serán necesarios para transmitir el contenido del PPDU, y el receptor utilizará esta información para determinar el final de la trama. • Frame Check Sequence (secuencia de comprobación de la trama): este subcampo se usa para detectar posibles errores en la cabecera de la trama de la capa física. El estándar define que este campo debe contener el resultado del algoritmo de comprobación de redundancia cíclica de 16 bits. La capa MAC también realiza funciones de detección de error en el contenido de PPDU. PSDU (Physical layer Service Data Unit, unidad de datos de la capa física): este campo contiene la trama que ha entregado la capa MAC y se desea enviar. 3.2. IEEE 802.11 3.2.4.2. 59 Subcapa PMD La subcapa PMD, dependiente del medio físico, define las características y los métodos de transmisión y recepción de datos a través del medio inalámbrico. En el caso de IEEE 802.11b se utiliza espectro ensanchado por secuencia directa, y para ello la secuencia de ensanchado que se emplea es el “Código Barker”: +1, -1, +1, +1, -1, +1, +1, +1, -1, -1, -1. Se consigue con él una tasa de ensanchado de 11 Mcps, y un ancho de banda de la señal de 22 MHz, como se puede ver en la figura 3.33. Figura 3.33: Ensanche de la señal con el Código Barker IEEE 802.11b utiliza la banda comprendida entre 2.4 Ghz y 2.483 GHz, que se divide en 14 canales separados por 5 MHz. Dado que cada canal ocupa 22 Mhz, se produce un solapamiento de canales adyacentes. Para calcular la frecuencia central de un canal se utiliza la formula: F recuencia Central = 2412 + (n − 1) × 5 M hz, n = 1, . . . , 14 Respecto a las antenas, la PIRE (Potencia Isotrópica Radiada Efectiva) máxima que se permite es de 100mW = 20dBm en Europa, y 200mW = 23dBm en los EE.UU. Para cada una de las cuatro posibles tasas binarias de transmisión de IEEE 802.11b se utiliza una modulación diferente. En el caso de 1 Mbps se utiliza DBPSK (Differential Binary Phase Shift Keying), en la que se produce un cambio de fase binario (con un bit 0 se mantiene la misma fase, y con 1 se invierte), como se puede ver en la figura 3.34. En el caso de 2 Mbps se utiliza DQPSK (Differential Quadrature Phase Shift Keying), en la que se agrupan 2 bits de entrada para producir un cambio de fase en cuadratura, como se puede ver en la figura 3.35. Figura 3.34: Transmisión en la capa física a 1 Mbps 60 Capítulo 3. Base Tecnológica Figura 3.35: Transmisión en la capa física a 2 Mbps Para las transmisiones a 5.5 y 11 Mbps no se utiliza la secuencia de Barker. En su lugar, 802.11b utiliza CCK (Complementary Code Keying) para proporcionar secuencias ensanchadas a tasas binarias más altas. CCK obtiene diferentes códigos de ensanche a partir de funciones bastante complejas, dependiendo de los bits que se vayan a enviar. El modulador posee una tabla con la secuencia necesaria que corresponde al patrón de bits de datos a enviar. Esto es necesario para procesar eficientemente los datos de entrada y así alcanzar las tasas binarias más elevadas. En lugar de CCK, que es obligatoria, para estas tasas también es posible usar PBCC (Packet Binary Convolutional Code), que es opcional y emplea un mayor número de símbolos, pero necesita un procesador más potente en las estaciones. En 5.5 Mbps se utiliza una palabra o secuencia de ensanchado de 8 chips, la velocidad de ensanchado es de 11 Mcps, y se transmiten símbolos de 8 chips con 4 bits por símbolo, con lo que obtenemos una tasa binaria de 5.5 Mbps. El esquema se puede ver en la figura 3.36. Por último, en 11 Mbps se utiliza una palabra o secuencia de ensanchado de 8 chips, la velocidad de ensanchado es de 11 Mcps, y se transmiten símbolos de 8 chips y 8 bits por símbolo, con lo que obtenemos una tasa binaria de 11 Mbps. El esquema se puede ver en la figura 3.37. Figura 3.36: Transmisión en la capa física a 5.5 Mbps 3.2.5. Seguridad Podemos distinguir dos tipos de seguridad en las redes inalámbricas. La primera es la privacidad. Dado que la información se transmite por el aire, y que cualquier persona con 3.3. Futuras tecnologías inalámbricas 61 Figura 3.37: Transmisión en la capa física a 11 Mbps una estación inalámbrica tiene acceso, es necesario proteger de alguna forma la información que se envía. La segunda es la autentificación. No podemos permitir que cualquier persona se pueda unir a la red y disfrutar de sus beneficios. Respecto a la seguridad por autentificación, tiene que estar disponible entre las estaciones de una red en modo ad-hoc, o entre las estaciones y el punto de acceso de una red en modo infraestructura. En ambos casos podemos definir nuestra red como un sistema abierto, es decir, tendremos un algoritmo nulo de identificación, por lo que cualquier estación se puede autentificar y unirse a nuestra red. En caso de que busquemos seguridad, podemos utilizar el algoritmo WEP desarrollado por el IEEE y de las primeras estaciones inalámbricas. Este algoritmo utilizaba una clave compartida de 40 o 104 bits, pero muy pronto se demostró que no era seguro. Se puede invertir captando una cantidad suficiente de tramas, consiguiendo así la clave compartida. Por ello IEEE decidió desarrollar el estándar 802.11i. Como dicho estándar tardaba mucho en completarse, la alianza Wi-Fi desarrolló WPA (Wi-Fi Protect Access, acceso protegido a Wi-Fi) que, basado en 802.11i, incorpora protocolos de intercambio de claves temporales más robustos que el RC4 de WEP. También posee autentificación mediante 802.1x y EAP (Extensible Authentication Protocol, protocolo de autentificación extensible). Aparte de esta solución, siempre es posible aumentar la seguridad de autentificación de las redes inalámbricas mediante filtrados por dirección MAC, o mediante servidores Radius. Respecto a la privacidad de las comunicaciones inalámbricas, las tramas se pueden encriptar mediante el protocolo WEP, que se emplea la misma clave que en el procedimiento de autentificación, y por tanto adolece de la misma problemática de seguridad. El estándar 802.11i también soluciona estos problemas, y los equipos comerciales emplean el algoritmo WPA ante dichas deficiencias. 3.3. Futuras tecnologías inalámbricas Realizaremos ahora, para concluir el capítulo de la parte técnica, una pequeña introducción a las futuras tecnologías inalámbricas de banda ancha: IEEE 802.11n e IEEE 802.16, o, como comercialmente se la conoce, WiMAX. Es previsible que admita algunas aportaciones de esta tesis doctoral. 62 Capítulo 3. Base Tecnológica En enero de 2004, el IEEE anunció la formación del grupo de trabajo 802.11n para desarrollar una nueva revisión del estándar 802.11. Funcionando en 2.4 GHz, la velocidad real de transmisión podría llegar a los 500 Mbps (lo que significa que las velocidades teóricas de transmisión serían aún mayores), y debería ser hasta 10 veces más rápido que una red bajo los estándares 802.11a y 802.11g, y cerca de 40 veces más rápido que una red bajo el estándar 802.11b. También se espera que la cobertura de las redes sea mayor con este nuevo estándar, sobre todo en interiores, donde se prevé un radio de acción de unos 50 metros. Todas estas mejoras se consiguen gracias a antenas múltiples en el transmisor y receptor. Existen también otras propuestas alternativas que se podrán considerar y se espera que el estándar (que debía ser completado hacia finales de 2006) se implante hacia 2008, puesto que hasta principios de 2007 no se espera acabar el segundo boceto. No obstante ya hay dispositivos que ofrecen de forma no oficial este estándar (con la promesa de actualizaciones para cumplir el estándar cuando el definitivo esté implantado). El otro futuro estándar es 802.16x, conocido como WiMAX. Es una especificación para WMAN (Wireless Metropolitan Area Network, redes metropolitanas inalámbricas) de banda ancha, que desarrolla y promueve el consorcio industrial WiMAX (Worldwide Interoperability for Microwave Access), cuyos dos miembros más representativos son Intel y Nokia. Como sucedió con Wi-Fi, que garantiza la interoperabilidad entre distintos equipos, la etiqueta WiMAX se asociará globalmente con el propio nombre del estándar. El hecho de que WiMAX no sea todavía una tecnología de consumo ha permitido que el estándar se desarrolle conforme a un ciclo bien establecido, lo que garantiza su estabilidad y conformidad con las especificaciones, algo parecido a lo que sucedió con GSM. A pesar de que el proyecto para la creación de un nuevo estándar se gestó hace años en el IEEE, hasta abril de 2002 no se publicó la primera versión. Se refería a enlaces fijos de radio con visión directa entre transmisor y receptor, pensados para cubrir la “última milla”, utilizando eficientemente varias frecuencias en la banda de 10 a 66 GHz. Un año más tarde, en marzo de 2003, se ratificó una nueva versión, 802.16a, y fue entonces cuando WiMAX empezó a cobrar relevancia como una tecnología inalámbrica de banda ancha. También se pensó para enlaces fijos, ya que alcanza un rango de 40 a 70 kilómetros, operando en la banda de 2 a 11 GHz, parte de la cual es de uso común y no requiere licencia de operación. Es válido para topologías punto a multipunto y, opcionalmente, para redes en malla, y no requiere visión directa. Emplea las bandas de 3.5 GHz y 10.5 GHz con licencia (2.5-2.7 en Estados Unidos), y las de 2.4 GHz y 5.725-5.825 GHz, de uso común. Un aspecto importante del estándar 802.16x es que define una capa MAC que soporta múltiples enlaces físicos (PHY). Esto es esencial para que los fabricantes de equipos puedan diferenciar sus productos y ofrecer soluciones adaptadas a distintos entornos. Sin embargo, WiMAX también tiene competidores, y así existen alternativas como Hyperaccess (>11 GHz) e HyperMAN (<11 GHz) del ETSIT. Sin embargo, el auge de WiMAX ha propiciado que se esté estudiando la posibilidad de armonizarlos. No debemos olvidarnos de Mobile-Fi, el estándar 802.20 del IEEE, específicamente diseñado desde un principio para tráfico IP nativo para acceso móvil de banda ancha. Provee velocidades entre 1 y 16 Mbps en distancias de hasta 15-20 Km, utilizando frecuencias por debajo de la banda de 3.5 GHz. El estándar 802.16 puede alcanzar una velocidad de comunicación de más de 100 3.3. Futuras tecnologías inalámbricas 63 Mbps en un canal con un ancho de banda de 28 MHz (en la banda de 10 a 66 GHz), mientras que el 802.16a puede llegar a los 70 Mbps, operando en un rango de frecuencias más bajo (<11 GHz). Estas velocidades tan elevadas se consiguen gracias a la modulación OFDM (Orthogonal Frequency División Multiplexing, multiplexado por división ortogonal en frecuencia) con 256 subportadoras. Esta técnica de modulación es la que también se emplea para la TV digital, sobre cable o satélite, así como para Wi-Fi (802.11a), por lo que está suficientemente probada. Soporta los modos FDD (Frecuency Division Duplexing) y TDD (Time Division Duplexing) para facilitar su interoperabilidad con otros sistemas celulares o inalámbricos. IEEE 802.16 admite cientos de usuarios por canal, con un gran ancho de banda. Es adecuado para tráfico continuo y a ráfagas y es independiente del protocolo. Así, transporta IP, Ethernet, ATM, etc. y soporta múltiples servicios simultáneos. IEEE 802.16e ofrece calidad de servicio (QoS), por lo que resulta adecuado para voz sobre IP (VoIP), datos y vídeo. Por ejemplo, la voz y el vídeo requieren baja latencia pero soportan bien la pérdida de algún bit, mientras que las aplicaciones de datos deben estar libres de errores pero toleran bien el retardo. Otra característica de WiMAX es que soporta las llamadas antenas inteligentes, propias de las redes celulares de 3G, lo que mejora la eficiencia espectral. Se llega a conseguir 5 bps/Hz, el doble que 802.11a. Estas antenas inteligentes emiten un haz muy estrecho que se puede orientar electrónicamente hacia el receptor, con lo que se evitan las interferencias entre canales adyacentes y se consume menos potencia. También se contempla la posibilidad de formar redes malladas (mesh networks) para que los distintos usuarios se puedan comunicar entre sí sin necesidad de visión directa. Ello permite, por ejemplo, la comunicación en una comunidad de usuarios dispersos a un coste muy bajo y con gran fiabilidad al disponer de rutas alternativas. En cuanto a seguridad, incluye medidas para la autentificación de usuarios y la encriptación de los datos mediante los algoritmos Triple DES (128 bits) y RSA (1024 bits). Una de las principales limitaciones en los enlaces a larga distancia vía radio es la limitación de potencia, para evitar interferencias con otros sistemas, y el alto consumo de batería que se requiere. Sin embargo, los recientes avances en los procesadores digitales de señal hacen que las señales muy débiles (que llegan con poca potencia al receptor) se puedan interpretar sin errores, de lo que se aprovecha WiMAX. Con los avances en el diseño de baterías se conseguirán terminales móviles WiMAX, que podrán competir con los tradicionales de GSM, GPRS y UMTS. Las primeras versiones de WiMAX están pensadas para comunicaciones punto a punto o punto a multipunto, típicas de los radioenlaces por microondas. Las próximas ofrecerán total movilidad, por lo que competirán con las redes celulares. Los primeros productos que están apareciendo en el mercado ofrecen enlaces de alta velocidad para conexión a las redes fijas públicas o para establecer enlaces punto a punto. Así, WiMAX puede resultar muy adecuado para unir puntos de acceso Wi-Fi a las redes de los operadores, sin necesidad de establecer un enlace fijo. El equipamiento Wi-Fi es relativamente barato, pero a menudo la cobertura es insuficiente. WiMAX extiende el alcance de Wi-Fi y supone una seria alternativa a las redes 3G. Para las empresas, el coste puede ser hasta 10 veces menor que si se emplea un enlace cableado de banda ancha. El acceso WiMAX residencial será pronto una realidad, 64 Capítulo 3. Base Tecnológica compitiendo con las conexiones ADSL o de cable. Otra de sus aplicaciones consiste en ofrecer servicios a zonas rurales de difícil acceso, a las que no llegan las redes cableadas. En los países en desarrollo resulta interesante para el despliegue rápido de servicios, compitiendo directamente con las infraestructuras basadas en redes de satélite, que son muy costosas y presentan una alta latencia. La instalación de estaciones base WiMAX es sencilla y económica, por lo que los operadores móviles pueden considerarlo una amenaza. No obstante, también pueden verlo como una manera fácil de extender sus redes y entrar en un nuevo negocio con la oportunidad que ello representa. Capı́tulo 4 Métodos Matemáticos para la Planificación de Puntos de Acceso para Maximizar la Cobertura Contenido 4.1. Introducción . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66 4.2. Modelado del problema . . . . . . . . . . . . . . . . . . . . . . . . . 67 4.3. Resolviendo el modelo de optimización . . . . . . . . . . . . . . . . 72 4.3.1. Enfoques anteriores . . . . . . . . . . . . . . . . . . . . . . . . 72 4.3.2. Minimización sin restricciones y sin derivadas . . . . . . . . . 74 4.4. Pruebas numéricas . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77 4.4.1. Simulador . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77 4.4.2. Pruebas iniciales . . . . . . . . . . . . . . . . . . . . . . . . . 78 4.4.3. Búsqueda por zonas . . . . . . . . . . . . . . . . . . . . . . . 81 4.5. Conclusiones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84 En este capítulo describiremos los algoritmos que hemos diseñado para la planificación de posicionamiento de los puntos de acceso en redes inalámbricas exteriores. Pertenecen a la categoría de algoritmos de optimización no-monótonos sin derivadas, y modelaremos nuestro problema como un problema de minimización sin restricciones. Compararemos nuestro algoritmo con las propuestas previas en la literatura [Kamenetsky y Unbehaun, 2002, Unbehaun y Kamenetsky, 2003]. En la sección 4.1 se hará una breve introducción. En la sección 4.2 se describirá e identificará el modelo de optimización para la planificación de redes WLAN exteriores. En la sección 4.3 repasaremos los trabajos previos y demostraremos que el problema satisface las condiciones de [Garcia-Palomares y Rodriguez, 2002] para aplicar los últimos algoritmos sin derivadas 66 Capítulo 4. Métodos Matemáticos para la Planificación de Puntos de Acceso para Maximizar la Cobertura propuestos en [Garcia-Palomares et al., 2006]. En la sección 4.4 realizaremos las pruebas numéricas para evaluar los algoritmos sin derivadas no-monótonos y desarrollaremos una variante adaptada al problema que mejora la heurística descrita en estudios previos. Finalmente, la sección 4.5 concluye el capítulo. 4.1. Introducción Una parte importante del coste de la instalación de las WLANs proviene de la planificación de red, el cableado y la mano de obra para la instalación de los puntos de acceso. Es por tanto crucial simplificar la instalación de la red para reducir los costes de despliegue, sin comprometer la calidad del servicio. Para ello, examinaremos diversos métodos de optimización existentes en la literatura para obtener la colocación óptima de los puntos de acceso y compararemos el funcionamiento de los algoritmos propuestos con los procedimientos triviales de instalación. Los algoritmos de optimización típicos son heurísticos que evalúan una función objetivo para maximizar el área de cobertura y la calidad de la señal en un espacio discreto de búsqueda. Los algoritmos de búsqueda al azar pueden dar soluciones muy buenas, pero exhiben a menudo una difícil convergencia. Los algoritmos de cortes sucesivos, tales como el pruning, convergen en tiempo polinómico, pero producen generalmente soluciones sub-óptimas. Por tanto, se ha propuesto una combinación de ambos métodos, aplicando algoritmos de corte para obtener las posiciones iniciales de los APs, y neighborhood search (NS) y simulated annealing (SA) para refinarlas. Debido a que la función objetivo del modelo a optimizar no es diferenciable en todos los puntos, investigaciones previas [Kamenetsky y Unbehaun, 2002, Unbehaun y Kamenetsky, 2003] descartaron los métodos de gradiente, y adoptaron los algoritmos heurísticos descritos anteriormente. En nuestro caso, como principal aportación, demostraremos que el modelo cumple ciertas condiciones que nos permiten aplicar algoritmos recientes no monótonos y sin derivadas (DF, derivative-free), que, a diferencia de SA y NS, garantizan convergencia [Garcia-Palomares et al., 2006]. Además, demostraremos que esta aproximación es mejor que las propuestas anteriores. Nos hemos centrado en la planificación de redes exteriores, que representan el tipo habitual de redes de usuario. Aparte de eso, la planificación en interiores es mucho más compleja por los rebotes de las señales en objetos o paredes, por lo que para aplicarla se necesitan complejos algoritmos de trazado de rayos. Para la realización de este trabajo se ha implementado un resolvedor en lenguaje Java. Dado un escenario de valles y montañas definido gracias a una función matemática, permite la ubicación inicial de un número determinado de APs, de forma aleatoria o según un fichero de configuración. El resolvedor permite la configuración de numerosos parámetros relevantes, tanto del escenario como de los puntos de acceso, o de los métodos que utiliza. Tiene como objetivo determinar las posiciones de los puntos de acceso que maximicen la cobertura en el área de estudio, para proveer la mayor conectividad posible, y busca la solución óptima mediante tres métodos: sin derivadas (DF), neighborhood search (NS) y simulated annealing (SA). Tras suficientes ejecuciones de los métodos con diferentes parámetros, compararemos los resultados, y extraeremos las conclusiones pertinentes. 4.2. Modelado del problema 67 La notación en este capítulo es estándar, pero la detallaremos: las letras griegas minúsculas son escalares, las letras latinas minúsculas son vectores en IR2 , xjk , es la componente j-ésima del vector xk , y ||x|| es la norma Euclidiana. Una letra latina mayúscula, por ejemplo S, es una colección de vectores en IR2 ; si S = {s1 , . . . , sp } también se puede decir que S ∈ IR2p ; τ S = {τ s1 , . . . , τ sp }, y la suma Z = S + D quiere decir que S y D tienen el mismo número de elementos, por ejemplo p, y zk ∈ Z si y solamente si ∃k ∈ {1, . . . , p} | zk = sk + dk . Generalmente el subíndice i es el valor de una entidad (escalar, vector, conjunto, y así sucesivamente) en la iteración i-ésima de un algoritmo; por ejemplo Si = {si1 , . . . , sip } es un conjunto de p vectores en IR2 , en la iteración i-ésima. 4.2. Modelado del problema Consideramos un escenario sintético al aire libre caracterizado por valles y colinas, como el que se puede ver en la figura 4.1. La complejidad de este escenario impide claramente el posicionamiento de los puntos de acceso mediante la experiencia, especialmente cuando solo se dispone de pocos APs. Propondremos un modelo que sea adecuado para este escenario. A lo largo del capítulo asumiremos que se conoce la topología del escenario; formalmente, todos los puntos x = (x1 , x2 ) pertenecen a un conjunto compacto X ⊂ IR2 , y la superficie ζ(·) : X → IR es una función continua conocida que determina la altura unívocamente para cada punto de X. Por tanto, dado un punto x = (x1 , x2 ), se calcula su altura y por consiguiente el escenario, gracias a la fórmula (4.1). Esta fórmula está adaptada a nuestro problema, de forma que trabaja con valores de x1 y x2 entre 0 y 10 kilómetros. El resultado que nos devuelve (es decir la altura) está en el rango de 0 a 0.4, es decir, entre 0 y 400 metros. Todo ello corresponde perfectamente a un escenario rural con valles y colinas. En la figura 4.2 podemos ver este escenario en un mapa de nivel, siendo las líneas más claras las que indican zonas más altas y las más oscuras las que indican zonas más bajas. ζ(x) = 0, 1[2 − 0, 2( sin( (x1 − 5) + 4(x2 − 5) ) − 2 cos( 2(x1 − 5) + 3(x2 − 5) ) − 3 sin( 2(x1 − 5) − (x2 − 5) ) + 4 cos( (x1 − 5) − 2(x2 − 5) ) ) ] (4.1) Dados dos puntos cualesquiera s, x ∈ X, se define δ(s, x) mediante la ecuación (4.2), que denota la distancia euclidiana entre ζ(s) y ζ(x). δ 2 (s, x) = ||s − x||2 + (ζ(s) − ζ(x))2 (4.2) Suponemos que estamos en un escenario sin reflexiones o llegada de la señal de radio por múltiples caminos. Por tanto, la propagación de las ondas de radio se puede modelar como propagación en espacio libre según la fórmula (4.3) donde Sr es la potencia recibida en vatios, St es la potencia transmitida en vatios, Gt es la ganancia isotrópica de la antena transmisora, Gr es la ganancia isotrópica de la antena receptora, λ es la longitud de onda 68 Capítulo 4. Métodos Matemáticos para la Planificación de Puntos de Acceso para Maximizar la Cobertura Figura 4.1: Escenario para planificación de WLAN en exteriores: área rural y d es la distancia entre la unidad transmisora y la receptora, expresada en las mismas unidades que la longitud de onda. 2 λ Sr = St G t G r (4.3) 4πd Podemos expresar la ecuación (4.3) en decibelios, aplicando el logaritmo decimal en ambos lados, con lo que se obtiene la ecuación (4.4). Suponiendo que disponemos del mismo equipamiento en todo el escenario, los tres primeros términos en la parte derecha de la ecuación van a ser siempre iguales. Los dos términos restantes se conocen como pérdida de propagación en espacio libre (Path Loss, PL). Sr (dBW ) = St (dBW ) + Gt (dBi) + Gr (dBi) + 20 log10 λ 4π − 20 log10 (d) (4.4) Antes de que definamos formalmente cómo aplicamos PL en nuestro caso, necesitamos otro concepto útil que tiene una interpretación geométrica sencilla. Dado un conjunto S ⊆ X y un punto x ∈ X decimos que x es visible para el conjunto S si ∃(s ∈ S)∀λ(0 ≤ λ ≤ 1) : ζ(s + λ(x − s)) ≤ ζ(s) + λ(ζ(x) − ζ(s)), (4.5) y definimos V (S) como el conjunto de todos los puntos x ∈ X visibles desde el conjunto S. En nuestro caso, podemos ahora definir PL como g(S, x) en el punto x ∈ V (S) desde S, que viene dado por la fórmula (4.6). 4.2. Modelado del problema 69 Figura 4.2: Escenario para planificación de WLAN en exteriores: área rural en 2 dimensiones 70 Capítulo 4. Métodos Matemáticos para la Planificación de Puntos de Acceso para Maximizar la Cobertura g(S, x) = 10 mı́n log10 s∈S 4π 2 (δ (s, x) + θ) , λ (4.6) donde θ ≥ 0 es una constante estrictamente positiva. Este valor es necesario ya que las consideraciones físicas o teóricas imponen que g(S, x) esté acotada inferiormente. Si no existiese esta constante, y el punto de medida coincidiese con un punto de acceso, la distancia entre ambos sería cero, y el logaritmo de cero es una inconsistencia matemática. En los experimentos numéricos de este capítulo escogimos θ = 2 metros, y la explicación física es que los puntos de acceso suelen colocarse a una altura determinada para funcionar correctamente. En teoría g(S, x) = ∞ para x 6∈ V (S), pero, para condicionar el problema, en la implementación se fijó un valor grande de g(S, x) para x 6∈ V (S), en concreto 1000 dB. Es decir, exactamente un orden de magnitud por encima del máximo PL para un punto de medida en el límite de la visibilidad de un punto de acceso. Por último, podemos ver que nuestro PL en la ecuación (4.6) es el inverso de los componentes que definen el PL en la ecuación (4.4). Esto se debe a que PL toma valores negativos de dB en la ecuación (4.4), y lo que nosotros pretendemos es minimizar una función. El valor que multiplica al logaritmo también es diferente, pero se trata simplemente de una constante que no afecta a la solución. Sean S = {s1 . . . , sp }, sk ∈ X, k = 1, . . . , p las posiciones de los p puntos de acceso en X. Nuestro objetivo es colocar los p puntos de acceso en X de forma que la potencia media que se pierde por la distancia sea lo menor posible. También puede ser útil garantizar que no se exceda un valor máximo de PL. Desarrollamos un modelo teórico de optimización y explicamos las simplificaciones necesarias para la formulación de un modelo práctico que se pueda resolver razonablemente con algoritmos modernos. Debemos precisar que nuestros modelos no restringen la colocación de los puntos de acceso en posiciones fijas en una rejilla, como se plantea frecuentemente en otros métodos expuestos en la literatura. Sin embargo, nuestro algoritmo puede adaptarse fácilmente a una rejilla si así se requiere por consideraciones físicas. En la fórmula (4.7) que define nuestro modelo, se busca reducir al mínimo el valor medio de PL en X, limitando su valor máximo a gM . R minimizar g(s1 , . . . , sp , x)dx X s1 , . . . , s p (4.7) sujeto a : g(s1 , . . . , sp , x) ≤ gM , x ∈ X. Un método común para solucionar (4.7) consiste en sustituir el conjunto X por un conjunto discreto Y = {x1 , . . . , xq }, xk ∈ X, k = 1, . . . , q. Sin embargo, no podemos asegurar que el modelo (4.7) sea factible para todos los x ∈ Y . Cuando la topología del escenario ζ(X) es muy irregular puede que el número de APs no sea suficiente para cubrir todo el área. Es decir, pueden existir puntos no visibles x ∈ Y , y dada la definición g(S, x) > gM , el modelo (4.7) no sería factible. Por otra parte, como la función objetivo toma valores muy grandes, la colocación de los puntos de acceso no será relevante en muchos casos. 4.2. Modelado del problema 71 Analizaremos ahora nuestro PL en los puntos visibles, es decir, X minimizar g(s1 , . . . , sp , x) s1 , . . . , s p x∈(Y ∩V (S)) (4.8) sujeto a : g(s1 , . . . , sp , x) ≤ gM , x ∈ (Y ∩ V (S)). En este caso, el modelo puede no ser factible cuando el número de puntos de acceso no sea suficiente para cubrir adecuadamente el escenario, dada la existencia de puntos x ∈ (Y ∩ V (S)) que no puedan satisfacer las restricciones de (4.8). Para remediar este problema de factibilidad podemos introducir una función de castigo, con lo que resulta el problema sin restricciones de la fórmula (4.9). minimizar S X [g(S, x) + µM máx(0, g(S, x) − gM )] (4.9) x∈(Y ∩V (S)) Los problemas sin restricciones y con penalización tienen algunas características interesantes: si el modelo (4.8) es factible, cuanto mayor sea el valor del µM más se aproximará la solución de (4.9) a una solución factible de (4.8). Por otra parte, cuando µM es bastante grande pero finito, los puntos Karush Kuhn Tucker de (4.9) y (4.8) coinciden. Estos resultados son ampliamente conocidos y se pueden encontrar en cualquier libro de optimización [Bertsekas, 1995, Nocedal y Wright, 1999]. Obviamente, se puede controlar la factibilidad del modelo teóricamente si gM es infinito o toma un valor muy grande. No obstante, se debe ser cauto al elegir un valor apropiado para gM , que en la realidad representa la calidad de servicio (QoS) que imponemos a nuestro modelo, en caso de que queramos que las conexiones tengan una tasa binaria determinada dentro de las que nos ofrece IEEE 802.11. Observación 1: La tecnología inalámbrica actual establece una distancia máxima desde el punto de acceso r, más allá de la cual se acepta que la pérdida de potencia debida a la distancia es intolerable. Por tanto, cualquier punto más allá de la distancia r se considera invisible, es decir, [mı́n δ(s, x) > r] ⇒ [x 6∈ V (S)] s∈S (4.10) A partir de ahora, consideraremos gM como la pérdida de potencia asociada a la distancia r. Por la observación anterior, todos los puntos visibles son factibles, es decir, satisfacen las restricciones, y el modelo (4.9) se puede utilizar con µM = 0. Para completar nuestro modelo necesitamos incorporar los puntos no visibles al cálculo de la función objetivo. Obviamente, fijar g(S, x) = ∞ para los puntos invisibles (no factibles), como en estudios previos (véase [Lewis y Torczon, 1999] sección 3.5 y referencias), no es numéricamente aceptable. Agregamos un valor constante ψ para cada punto no visible, y nuestro modelo se convierte en: X g(S, x) + cψ, minimizar f (S) = S x∈V (S) (4.11) donde c es el número de puntos de medida en el conjunto (Y − V (s)), es decir, el número de puntos no visibles. 72 Capítulo 4. Métodos Matemáticos para la Planificación de Puntos de Acceso para Maximizar la Cobertura 4.3. Resolviendo el modelo de optimización En esta sección nos ocuparemos de la solución del último modelo (4.11), así como de la elección apropiada de los parámetros necesarios. Los algoritmos de optimización son iterativos. Comenzando con una estimación de la solución S1 = {s11 , . . . , s1p }, se genera una subsecuencia {Si }i∈I = {si1 , . . . , sip }i∈I que idealmente converge a la solución del problema (4.11). Como es común en toda implementación de un modelo, hay varios parámetros que debe fijar el usuario. Algunos de ellos influirán notablemente en el funcionamiento del algoritmo, y dependen a menudo de la estructura de la función objetivo. 4.3.1. Enfoques anteriores Al escribir este trabajo doctoral, los trabajos más recientes sobre la optimización de la cobertura de los puntos de acceso eran los descritos en [Kamenetsky y Unbehaun, 2002, Unbehaun y Kamenetsky, 2003]. En dichos trabajos se sugieren dos métodos: neighborhood search (búsqueda de vecinos) y simulated annealing (templado simulado). Los métodos de descenso de gradiente se desechaban explícitamente porque la función objetivo no era diferenciable (non-smooth). Describiremos brevemente estos métodos: Neighborhood search: Este método es un heurístico simple que busca un mínimo local de la función objetivo. Dada una iteración Si = {si1 , . . . , sip }, el algoritmo busca en su vecindad N (Si , τ ) para un cierto τ > 0, e intenta encontrar Z ∈ N (Si , τ ) que proporcione un descenso de la función objetivo, es decir, f (Z) < f (Si ). Si el algoritmo tiene éxito, se actualiza la iteración a Si+1 = Z y continúa la búsqueda. Si no tiene éxito, el algoritmo termina. Para facilitar los cálculos, los autores [Kamenetsky y Unbehaun, 2002, Unbehaun y Kamenetsky, 2003] proponen establecer una rejilla de búsqueda G ⊂ X, cardinal(G) > p, y forzar que {Si }∞ i=1 ⊂ G. Es decir, los puntos de la rejilla deben pertenecer a X, superar en número a los puntos de acceso, y las posiciones de los puntos de acceso deben pertenecer a la rejilla. El algoritmo explora los puntos de la rejilla de búsqueda G que están situados a una cierta distancia de Si . Cuanto mayor sea la región de vecindad más lento será el método, pero mayor será la posibilidad de encontrar un punto que permita una nueva iteración. Simulated annealing: Existen varias versiones de este método. En este trabajo doctoral hemos seguido la versión propuesta en [Locatelli, 2000] debido a sus características de convergencia. Sin embargo, tuvimos que agregar una salvaguarda para prevenir el estancamiento: básicamente, el algoritmo asigna S = Sm , el mejor valor encontrado hasta el momento, cuando no se detecta ninguna mejora en 10 iteraciones consecutivas. Las observaciones 2 a 8 y el algoritmo 4.2 complementan la implementación del algoritmo 4.1. 4.3. Resolviendo el modelo de optimización 73 Algoritmo 4.1: Simulated annealing Parámetros de entrada: • S = {s1 , . . . , sp } • ρ, t: radio y temperatura iniciales • 4ρ : variación del radio • µ: factor de contracción de t • ρ , t : convergencia para ρ, t • ρl , tl : cotas inferiores para ρ, t • f : tolerancia para valores funcionales Pseudo-código: Sm = S, fS = fm = f (S), tm = t, ρm = ρ while ((ρm > ρ ) or (tm > t )) do Generamos D = {d1 , . . . , dp } aleatoriamente Z = S + D, fZ = f (Z) Generamos β ∈ [0, 1] aleatoriamente if (β < exp((fS − fZ )/t)) then S = Z, fS = fZ if (fS < fm ) then Sm = S, fm = fS end end if ((fS − fm )> f (ABS(fm )+1)) then ρ =MAX(ρl ; ρm ) t =MAX(tl ; tm ) else ρ =MAX(ρm − 4ρ ; ρ ) t =MAX(µtm ; t ) ρm = ρ, tm = t end end /* Observación 2 */ /* Observación 3 */ /* Observación 4 */ /* Observación 5 */ /* Observación 6 */ /* Observación 7 */ /* Observación 8 */ Observación 2: Guardamos el mejor S y los menores valores encontrados de f , t, ρ en las variables Sm , fm , tm , ρm . Observación 3: Se consigue la convergencia cuando la temperatura (t) es baja y el radio (ρ) es pequeño. Ambos criterios se necesitan según el teorema 4.1 de [Locatelli, 2000]. Observación 4: Geométricamente, djk es la componente j-ésima de la dirección de 74 Capítulo 4. Métodos Matemáticos para la Planificación de Puntos de Acceso para Maximizar la Cobertura búsqueda dk ∈ IR2 , k = 1, . . . , p. Todas las componentes se generan aleatoriamente a partir de una curva normal Gaussiana con media cero, y una desviación típica σ = ρ/3. Solo se genera una de estas direcciones si solo se mueve un punto de acceso. Observación 5: En la práctica se puede necesitar que cada punto de acceso esté situado en una zona acotada, es decir, ak ≤ sk ≤ bk , k = 1, . . . , p; en cuyo caso zkj = mediana[ajk ; sjk + djk ; bjk ], j = 1, 2. Observación 6: Se acepta el punto Z si satisface la condición Metropolis en la ecuación 1 de [Locatelli, 2000]. Observación 7: Comprobamos si Z es mejor que el mejor punto registrado. Observación 8: Implementamos las ecuaciones 4 y 6 de [Locatelli, 2000]. El radio y la temperatura decrecen si el valor de la evaluación funcional está cerca del mejor registrado hasta ese momento; si no es así, permanecen acotados inferiormente por ρl y tl respectivamente. Si esta condición no se cumple en 10 iteraciones consecutivas, el algoritmo restaura S = Sm . En el algoritmo 4.2 se puede ver dicha modificación. Algoritmo 4.2: Modificaciones del pseudo-código de simulated annealing para las pruebas iniciales Sm = S, fm = f (S), tm = t, ρm = ρ, no_improv= 0 while ... ((ρm > ρ ) or (tm > t )) do if ((f (S)−fm )> f (ABS(fm )+1)) then ρ =MAX(ρl ; ρm ) t =MAX(tl ; tm ) no_improv= no_improv+1 if (no_improv== 10) then S = Sm no_improv= 0 end else ρ =MAX(ρm − 4ρ ; ρ ) t =MAX(µtm ; t ) ρm = ρ, tm = t no_improv= 0 end end 4.3.2. Minimización sin restricciones y sin derivadas La función g(S, x) con θ > 0 no es diferenciable en el conjunto V (S) pero tiene derivadas direccionales definidas en todos los puntos, lo que constituye la asunción básica de un algoritmo reciente para la minimización sin restricciones. Los resultados numéricos nos demuestran que el algoritmo es competitivo con otros que intentan encontrar un mínimo local satisfactorio [Garcia-Palomares y Rodriguez, 2002, 4.3. Resolviendo el modelo de optimización 75 Garcia-Palomares et al., 2006]. Esencialmente, este algoritmo es un proceso iterativo que no fuerza la disminución de f (Si ), pero impone una cota controlada ϕi ≥ f (Si ) en cada iteración. Más específicamente, dado un tamaño de paso τi > 0, y una dirección unitaria D ∈ IR2p , D = {d1 , . . . , dp }, una iteración del algoritmo tiene éxito si: f (Si + τi D) ≤ f (Si ) + αi (ϕi − f (Si )) − ν(τi ) (4.12) donde ν(·), ϕ, satisfacen las asunciones A4 y A5 explicadas más adelante. El punto Si se bloquea cuando el algoritmo no puede satisfacer la ecuación (4.12) con un conjunto de direcciones {D1 , . . . , Dn }, n > 2p que abarcan positivamente IR2p (es decir, son un sistema generador para coeficientes positivos). Se demuestra en [Garcia-Palomares et al., 2006] que bajo las asunciones A1 a A5 explicadas más adelante, la secuencia de puntos bloqueados converge a un punto de orden cero S ∗ de f (S), es decir, f 0 (S ∗ , Dk ) ≥ 0, k = 1, . . . , n, y la derivada direccional es no negativa a lo largo de las direcciones dadas. En teoría, si A6 también se cumple, entonces ∇f (S ∗ ) = 0, pero somos conscientes de que A6 rara vez se cumple para funciones como las nuestras, por lo que no haremos hincapié en esta posibilidad. Se pueden consultar más detalles e información sobre este tema en [Garcia-Palomares y Rodriguez, 2002, Garcia-Palomares et al., 2006]. Reproducimos la tabla 1 de [Garcia-Palomares et al., 2006] en el algoritmo 4.3. Pasamos a enumerar ahora las asunciones necesarias: A1. f (S) : IR2p → IR está acotada inferiormente, y {Si }∞ i=1 permanece en un conjunto compacto. A2. f (S) tiene derivadas direccionales f 0 (S, D) definidas en todos los puntos: η>0⇒ f 0 (S, ηD) = ηf 0 (S, D), f (S + ηD) = f (S) + ηf 0 (S, D) + o(η) (4.13) A3. Las direcciones D1 , . . . , Dn abarcan positivamente R2p . A4. La función ν(·) : IR+ → IR+ es little-o de τ , lo que quiere decir: lı́m ν(τ )/τ = 0 τ ↓0 A5. Los valores de referencia {ϕi }∞ 1 son cotas superiores de f (·), es decir, ϕi ≥ f (Si ) para todos los i, y disminuyen lo suficiente tras un número finito dado de iteraciones exitosas. A6. f (S) es estrictamente diferenciable o convexa en todos los puntos limítrofes de la secuencia {Si }∞ i=1 que genera el algoritmo. 76 Capítulo 4. Métodos Matemáticos para la Planificación de Puntos de Acceso para Maximizar la Cobertura Algoritmo 4.3: Algoritmo no-monótono sin derivadas Parámetros de entrada: τ , µ, τ, ϕ Get S, let fS = f (S) repeat success= 0 Elegir Dk , k = 1, . . . , n que abarquen positivamente IR2p for j = 1 to n do [Z, fZ ] = INTERPOLATE (S, Dk , τ ) /* Observación 9 */ α =MIN(τ ; α) φ = fS + α(ϕ − fS ) /* Observación 10 */ if (fZ ≤ φ − ν(τ )) then success=success+1 S=Z fS = fZ end end /* Observación 11 */ ϕ = fS /* Observación 12 */ if (success > max_success) then τ = γτ else if (success == 0) then τ = µτ end until (τ > τ ) Observación 9: El caso más sencillo de INTERPOLATE(S, D, τ ) es Z = S +τ D, fZ = f (Z). Sin embargo, en la sección 4.4 seguiremos el procedimiento del algoritmo 4.4, que produjo resultados muy buenos en [Garcia-Palomares et al., 2006]. Observación 10: Si α = 0, obtenemos una versión monótona del algoritmo libre de derivadas, que converge al mínimo local en la vecindad del punto de partida. Observación 11: A5 se cumple. Observación 12: Para mejorar la convergencia, [Garcia-Palomares et al., 2006] sugería expandir τ , es decir, τ = γτ dado un cierto parámetro γ > 1 cada vez que se alcanzara un número significativo de éxitos. Sin embargo, la convergencia también está garantizada para γ = 1 y max_success= 0. En los que respecta a las asunciones A1 a A5: (1) La función objetivo g(·) : IR2p → IR según se define en las ecuaciones (4.6) y (4.9) es no negativa y S = {s1 , . . . , sp } están dentro del conjunto compacto X, (2) g(·) posee derivadas direccionales definidas en todos los puntos, (3) las direcciones de búsqueda Dk ∈ IR2p , k = 1, . . . , n se generaron en nuestras pruebas como se sugiere en [Garcia-Palomares y Rodriguez, 2002], (4) la elección de ν(τ ) en la sección 4.4 es 0,001τ 2 , y (5) ϕ = g(S) tan pronto como se hayan explorado 4.4. Pruebas numéricas 77 todas las direcciones en D (algoritmo 4.3 y observación 11). Algoritmo 4.4: [Z, fZ ] = INTERPOLATE(S, D, τ ) Parámetros de entrada: S, D ∈ IR2p , τ > 0 D = τ D, Zrig = S + D, Zlef = S − D fZ =MIN(f (Zrig ); f (Zlef )) /* no hay interpolación */ if (fZ > f (S)) then return fZ y su argumento Z /* cambio de sentido */ else if (fZ == f (Zlef )) then D = −D end γ = 2, Z = S + D, Zlef = S, Zrig = Z + 2D while (2f (Zlef )+f (Zrig )−3f (Z)≤ 0) /* no hay convexidad */ do γ = 2γ Zlef = Z, Z = Zrig , Zrig = Z + γD end 4f (Zlef ) − f (Zrig ) − 3f (Z) D Zmin = Z + 4f (Zlef ) + 2f (Zrig ) − 6f (Z) fZ =MIN(f (Zmin ); f (Z); f (Zrig )) return fZ y su argumento Z 4.4. Pruebas numéricas Modelamos un escenario exterior compuesto por valles y montañas de 10 Km × 10 Km que resulta de la ecuación (4.1) y se representa en la figura 4.1. Según hemos visto previamente, la visibilidad se determina gracias a la topología ζ(X), y el rango de distancias de transmisión depende de la tecnología inalámbrica. Nuestra representación del terreno indica las dificultades que se encontrarán al modelar un escenario montañoso como el gallego, donde se despliegan actualmente redes IEEE 802.11. Dado que se trabaja en la banda de 2.4 GHz, en la ecuación (4.6) λ = 0,125. Consideramos dos tecnologías para nuestras simulaciones, “pura” y “amplificada”, tales que los rangos de los puntos de acceso son 500 metros y 1 kilómetro, respectivamente. El conjunto Y viene dado por una discretización uniforme del escenario formando una rejilla con puntos a 50 metros. En él deseamos instalar 100 puntos de acceso (p = 100) y obtener la mayor cobertura posible. Fijamos ψ = 1000, que es un orden de magnitud mayor que la máxima pérdida de potencia debida a la distancia. Finalmente, normalizamos la función objetivo dividiéndola por su valor en el punto de partida. 4.4.1. Simulador Para el desarrollo de estas pruebas se ha creado un simulador Java altamente configurable. Partiendo de la ecuación (4.1) que describe el escenario, se elige el algoritmo que 78 Capítulo 4. Métodos Matemáticos para la Planificación de Puntos de Acceso para Maximizar la Cobertura queremos utilizar para maximizar la cobertura. Este algoritmo toma su configuración de un fichero de parámetros de optimización. Se ejecuta con el comando java Principal en la línea de comandos, y admite los siguientes parámetros de operación: -pfxxx: la posición de los puntos de acceso se toma de un fichero en el mismo directorio que el simulador, de nombre mapaxxx.txt (por ejemplo, mapa001.txt). -pa: la posición de los puntos de acceso es aleatoria (valor por defecto). -napxxx: donde xxx indica el número de puntos de acceso (100 es el valor por defecto). -mex: indica el método que se va a utilizar para resolver el problema: (1) nonmonotone derivative-free search, (2) simulated annealing y (3) neighborhood search. -cpg: se calcula la potencia de forma global, como en la sección 4.4.2. Éste es el valor por defecto. -cpz: se calcula la potencia por zonas, como en la sección 4.4.3. -nor: indica si se normaliza el resultado de la función objetivo. Se divide el resultado por el valor inicial de la función objetivo. Por defecto no se normaliza. -alwxxx: xxx es el alcance de la tecnología inalámbrica, expresado en kilómetros. Utilizamos 0.5 para la tecnología “pura” y 1 para la “amplificada”. El primero es el valor por defecto. -nodm: indica si se rechaza que se dibuje el mapa con los resultados de posicionamiento y alcance finales, como en las figuras 4.3 y 4.4. Por defecto se dibuja. 4.4.2. Pruebas iniciales En la primera tentativa para solucionar el problema, aplicamos los tres algoritmos competidores -neighborhood search, simulated annealing y non-monotone derivative-free search- según lo descrito en la sección 4.3. Ajustamos los diferentes parámetros de los métodos en ensayos preliminares, y éstos quedaron de la siguiente forma: Neighborhood search Como en [Unbehaun y Kamenetsky, 2003], comprobamos cada punto de acceso por turnos y probamos todas las posiciones vecinas posibles del punto de acceso, quedándonos con la que disminuya más la función objetivo. Se itera hasta que no se consigue ninguna disminución. Definimos la rejilla de búsqueda G discretizando el escenario en diferentes tamaños de paso. Asimismo, se varía el tamaño del vecindario, que es el número de puntos de rejilla cercanos a la posición actual del punto de acceso. Determinamos la posición inicial de los puntos de acceso distribuyéndolos uniformemente a lo largo del 4.4. Pruebas numéricas 79 escenario. Así obtuvimos los resultados de la tabla 4.1, donde podemos ver que el tiempo de computación aumenta con el tamaño del vecindario. Finalmente escogimos un tamaño de vecindario de 8 puntos y un paso de 100 metros, que es el mismo que usaremos para los otros métodos. Paso (metros) 50 100 200 200 Vecindario 8 8 8 24 Resultado vs resultado inicial 90,80 % 89,95 % 90,21 % 80,48 % Número de evaluaciones 3042 2967 1432 8841 Tiempo (segundos) 49219 48006 23169 143047 Tabla 4.1: Resultados de diferentes configuraciones de neighborhood search Simulated annealing Como indicamos anteriormente, es necesario incorporar una salvaguarda para prevenir el estancamiento al algoritmo básico de simulated annealing (algoritmo 4.1). Básicamente, el algoritmo 4.2 reinicia S a Sm si no hay mejora en 10 iteraciones. Los parámetros elegidos tras ajustar el algoritmo son: • ρ = 0,5, t = 0,1 • 4ρ = 1,3 × 10−4 • µ = 0,997 • ρ = 0,1, t = 10−5 • ρl = 0,2, tl = 10−4 • f = 10−2 Non-monotone derivative-free search Como se explica en [Garcia-Palomares et al., 2006], fijamos las direcciones Dk ∈ IR2p , k = 0, . . . , 2p (con n = 2p en este caso) de la siguiente forma: • Generamos un vector unitario U ∈ IR2p , aleatoriamente si hace falta. j U , if k = 0 j 1 − 2U k U k , if j = k > 0 • Dk = −2U k U j , j 6= k > 0 Fijamos los parámetros siguientes (valores fijos o iniciales, según corresponda): • τ = 0,1 • µ = 0,3 • γ = 1,3 y max_success= 100. • τ = 0,5 80 Capítulo 4. Métodos Matemáticos para la Planificación de Puntos de Acceso para Maximizar la Cobertura • Fijamos inicialmente ϕ al valor de la función objetivo en el punto de partida. • α = 0, es decir, en nuestra primera tentativa realizamos una búsqueda monótona. Por último, fijamos ν(τ ) = 0,001τ 2 . En la sección 4.4.3 podremos ver cómo afecta este parámetro al método, y la razón por la que se escoge este valor. Observación 13: Tanto en simulated annealing como en non-monotone derivativefree search la búsqueda se detiene cuando el desplazamiento posible de los puntos de acceso es menor que 100 metros (ρ = 0,1, τ = 0,1). Asimismo, la ubicación inicial de los puntos de acceso para ambos métodos es aleatoria. Por ello, se han ejecutado varias simulaciones para cada método, y lo que se muestra es el resultado medio. La tabla 4.2 muestra las prestaciones medias de los diversos métodos (porcentaje del valor inicial de la función objetivo a la finalización del algoritmo), a partir de localizaciones fijas de los puntos de acceso para el primer método y al azar para los dos siguientes. Se emplea la tecnología inalámbrica “pura”, con un alcance de 500 metros. Método NS SA DF, α = 0 Media de resultado vs resultado inicial 89,95 % 81,76 % 71,42 % Media de número de evaluaciones 2967 6349 6892 Media de tiempo (segundos) 48006 102727 111512 Tabla 4.2: Resultados iniciales A pesar de los buenos resultados de simulated annealing, los parámetros de este método son muy difíciles de ajustar. Los resultados de non-monotone derivative-free search son superiores a los de los otros métodos. Como se explica en [Garcia-Palomares et al., 2006], cuanto mayor es el valor de α, más probable es escapar de los mínimos locales. Sin embargo, el tiempo de cómputo del algoritmo non-monotone derivative-free search aumenta. Por tanto, en las pruebas iniciales no hemos aprovechado el algoritmo totalmente, y escogemos α = 0. La tabla 4.2 también muestra los tiempos de procesado de los tres métodos. Los tiempos son altos en general. Para reducirlos, a continuación formularemos una variante para el cálculo de la función objetivo que solo mueve un punto de acceso cada vez. Llamaremos a esta modificación “búsqueda por zonas”. La variante del método non-monotone derivative-free search resultante cumple las condiciones teóricas necesarias, así que la convergencia sigue estando garantizada. 4.4. Pruebas numéricas 4.4.3. 81 Búsqueda por zonas Si solo “movemos” un punto de acceso cada vez, en vez de “moverlos” todos juntos, la evaluación de la función objetivo consume mucho menos tiempo, dado que la mayoría de los cálculos de g(S, x) no varían. Formalizaremos esta estrategia teóricamente. Supongamos que dividimos el escenario en q zonas sin solapamiento Xj , j = 1, . . . , q, tales que X = ∪j=1..q Xj y Xk ∩ Xj = ∅, k 6= j. Supongamos también que cuando movemos el punto de acceso k-ésimo, las posiciones de los restantes puntos de acceso no cambian, es decir, el grupo pasa de S = {s1 , . . . , sk , . . . , sp } a S 0 = {s1 , . . . , s0k , . . . , sp }. Cuando esto sucede, V (S 0 ) = V (S) ∪ V (s0k ) − V (sk ). Sea r el rango de la tecnología inalámbrica en espacio abierto. Para obtener rápidamente una estimación Tv de V (sk ) ∪ V (s0k ), desechamos todos los Xj | ∀x ∈ Xj min(δ(sk , x), δ(s0k , x)) > r. Sea Tnv el conjunto de zonas desechadas y sea Tv = V (S 0 ) − Tnv . Entonces, calculamos X g(S 0 , x) (4.14) x∈Tv y mantenemos X x∈Tnv g(S 0 , x) = X g(S, x) (4.15) x∈Tnv de la iteración anterior. En todas las pruebas numéricas, dividimos nuestro escenario en 100 zonas de 1Km × 1Km (q = 100). Calculamos una componente de la función objetivo por cada zona al principio de la ejecución del algoritmo. Cuando se mueve únicamente un punto de acceso, no hace falta recalcular la función objetivo en las zonas que no se han visto afectadas por el movimiento de dicho punto de acceso. Esta manera de calcular el valor de la función objetivo reduce el tiempo de cálculo por evaluación funcional de 20 segundos en media a apenas 1,5 segundos en un Pentium IV. En el algoritmo neighborhood search solo exploramos N (Si , τ ) moviendo un punto de acceso cada vez. Las pequeñas modificaciones necesarias para los restantes métodos se exponen a continuación: Simulated annealing Para cada k ∈ {1, . . . , p} se genera una dirección aleatoria en IR2 para obtener Z y f (Z), siguiendo el procedimiento ya explicado. El ajuste de los parámetros es como en la sección 4.4.2 con las únicas excepciones de µ = 0,8 y 4ρ = 0,1. En la tabla 4.3 podemos ver resultados para diferentes valores de 4ρ , lo que muestra la dificultad de ajustar este método. Finalmente nos quedamos con el valor 0,1. El algoritmo 4.5 formaliza nuestra variante de simulated annealing con búsqueda por zonas (solo se mueve un punto de acceso cada vez). 82 Capítulo 4. Métodos Matemáticos para la Planificación de Puntos de Acceso para Maximizar la Cobertura Tecnología (metros) 500 500 500 500 1000 1000 1000 1000 4ρ 0,05 0,08 0,09 0,1 0,05 0,08 0,09 0,1 Media de resultado vs resultado inicial 76,95 % 78,20 % 78,33 % 77,76 % 55,24 % 56,60 % 57,18 % 54,85 % Media de número de evaluaciones 4080 4100 5120 4440 4180 5260 5380 4460 Tabla 4.3: Resultados con búsqueda por zonas de diferentes configuraciones de simulated annealing Algoritmo 4.5: Simulated annealing con búsqueda por zonas Sm = S, fm = f (S), fmG = f (S), tm = t, ρm = ρ,no_improv= 0 while ((ρm > ρ ) or (tm > t )) do for k = 1 to p do D=0 Escoger dk en D aleatoriamente (ver observación 4) Z =S+D if (RAND<exp((f (S)−f (Z))/t)) then S = Z, f (S)= f (Z) if (f (S)< fm ) then Sm = S, fm = f (S) end end end if ((f (S)−fmG )>f (ABS(fmG )+1)) then ρ =MAX(ρl ; ρm ),t =MAX(tl ; tm ) no_improv=no_improv+1 if (no_improv== 5) then S = Sm no_improv= 0 end else ρ =MAX(ρm − 4ρ ; ρ ) t =MAX(µtm ; t ) ρm = ρ, tm = t fmG =MIN(fmG ; f (x)) no_improv= 0 end end 4.4. Pruebas numéricas 83 Non-monotone derivative-free search En la tabla 4.4 podemos ver resultados para diferentes valores de ν(τ ). Finalmente hemos tomado el valor 0,001τ 2 . El resto de los parámetros se ajusta como en la sección 4.4.2, con la única excepción de max_success = 20. Sea S = {s1 , . . . , sk , . . . , sp }. Para mover un único punto de acceso cada vez, por ejemplo sk , generamos un conjunto de direcciones de búsqueda unitarias dj ∈ IR2 , j = 1, . . . , n, de forma que el conjunto D = {d1 , . . . , dn } abarque positivamente IR2 . Recordemos que n ≥ 3. Decimos que se produce un éxito cuando f (s1 , . . . , sk−1 , sk + τi dj , sk+1 , . . . , sp ) ≤ f (S) + αi (ϕi − f (S)) − ν(τi ) para un dj ∈ D y un s ∈ S. El punto S se bloquea si el algoritmo no puede mover un único s ∈ S. El algoritmo se puede ejecutar en paralelo en un sistema multiprocesador y se demuestra trivialmente que después de probar con todos los s ∈ S se ha efectuado una búsqueda en un conjunto de direcciones que abarca positivamente IR2 , aunque estamos utilizando al menos 3p direcciones de búsqueda. Tecnología (metros) 500 500 500 1000 1000 1000 ν(τ ) 0,1τ 2 0,01τ 2 0,001τ 2 0,1τ 2 0,01τ 2 0,001τ 2 Media de resultado vs resultado inicial 85,04 % 75,51 % 72,52 % 61,20 % 49,53 % 46,14 % Media de número de evaluaciones 2346 2942 3762 3272 3832 4434 Tabla 4.4: Resultados con búsqueda por zonas de diferentes configuraciones de nonmonotone derivative-free search Las tablas 4.5 y 4.6 demuestran las prestaciones medias de los diferentes métodos a partir de localizaciones aleatorias de los puntos de acceso, para el alcance de las dos tecnologías. La cobertura media en las configuraciones iniciales de los puntos de acceso es del 32,11 % para el rango de 500 metros y del 67,44 % para el rango de 1000 metros. Método NS SA DF, α = 0 DF, α = 0,1 DF, α = 1 Media de resultado vs resultado inicial 89,95 % 77,76 % 72,52 % 71,19 % 70,78 % Media de número de evaluaciones 2967 4440 3761,8 10710,6 36420,8 Media de tiempo (segundos) 4153 6216 5266 14994 50989 Cobertura final 42,64 % 49,43 % 52,84 % 54,81 % 55,99 % Tabla 4.5: Resultados con búsqueda por zonas con tecnología de 500 metros 84 Capítulo 4. Métodos Matemáticos para la Planificación de Puntos de Acceso para Maximizar la Cobertura Método NS SA DF, α = 0 DF, α = 0,1 DF, α = 1 Media de resultado vs resultado inicial 86,49 % 54,86 % 46,14 % 44,1 % 39,31 % Media de número de evaluaciones 1405 4460 4433,6 12152 50542 Media de tiempo (segundos) 6519 20694 20571 56385 234514 Cobertura final 81,75 % 86,23 % 89,96 % 91,33 % 92,61 % Tabla 4.6: Resultados con búsqueda por zonas con tecnología de 1000 metros Los métodos simulated annealing y non-monotone derivative-free search siguen siendo superiores al neighborhood search. El coste computacional de todos los métodos disminuye notablemente con búsqueda por zonas. Por ello, aunque non-monotone derivativefree search con α = 0 da mejores resultados que simulated annealing en términos de valor final de la función objetivo y coste computacional global, podemos intentar mejorar el resultado de non-monotone derivative-free search aumentando α. Las figuras 4.3 y 4.4 muestran gráficamente el resultado del algoritmo non-monotone derivative-free search con búsqueda por zonas, para distancias de 500 y 1000 metros respectivamente. Cuanto más oscuras son las curvas, más bajo es el terreno. Las zonas punteadas representan las coberturas de los puntos de acceso (puntos visibles) al final de la ejecución del algoritmo. 4.5. Conclusiones En este capítulo hemos estudiado los algoritmos sin derivadas para la optimización de la planificación de redes inalámbricas de área local (WLAN), que puede modelarse como un problema de minimización libre de restricciones con mínimos locales. La función objetivo no es diferenciable en el conjunto factible (puntos visibles) pero tiene derivadas direccionales en todos los puntos. Por tanto, los métodos de descenso de gradiente no son apropiados, y las investigaciones anteriores [Kamenetsky y Unbehaun, 2002] y [Unbehaun y Kamenetsky, 2003] se han apoyado en heurísticos, tales como neighborhood search y simulated annealing. En este capítulo demostramos que el problema satisface las condiciones de [Garcia-Palomares y Rodriguez, 2002], y que los algoritmos sin derivadas no monótonos de [Garcia-Palomares et al., 2006] se pueden utilizar. Las pruebas iniciales de la sección 4.4.2 revelan su potencial, pero plantean el problema del alto coste computacional. Por tanto, desarrollamos la modificación de “búsqueda por zonas” en la sección 4.4.3. La variante resultante de non-monotone derivative-free search reduce drásticamente el tiempo de cómputo, manteniendo la calidad de la solución final. Cabe destacar que la cobertura final para la tecnología con alcance de 1000 metros es aproximadamente del 90 % a partir de una cobertura inicial de aproximadamente el 67 %, lo cual representa un nivel excelente de calidad de servicio, dada la topología del terreno y el número de puntos de acceso desplegados. 4.5. Conclusiones Figura 4.3: Ejemplo de ejecución con tecnología de 500 metros 85 86 Capítulo 4. Métodos Matemáticos para la Planificación de Puntos de Acceso para Maximizar la Cobertura Figura 4.4: Ejemplo de ejecución con tecnología de 1000 metros Capı́tulo 5 Planificación de Enlaces para la Maximización del Ancho de Banda en Redes de Usuarios Contenido 5.1. Introducción . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88 5.2. Algoritmo de planificación distribuido . . . . . . . . . . . . . . . . . 89 5.2.1. Asignación del canal IEEE 802.11b . . . . . . . . . . . . . . . 89 5.2.2. Creación de los enlaces inalámbricos . . . . . . . . . . . . . . 92 5.2.3. Algoritmo de planificación distribuido . . . . . . . . . . . . . . 94 5.3. Ajuste del nodo básico . . . . . . . . . . . . . . . . . . . . . . . . . . 95 5.3.1. Regla de interferencia entre canales deshabilitada . . . . . . . . 95 5.3.2. Regla de interferencia entre canales habilitada . . . . . . . . . . 98 5.4. Algoritmo de planificación centralizado . . . . . . . . . . . . . . . . 100 5.4.1. Conjuntos y constantes . . . . . . . . . . . . . . . . . . . . . . 100 5.4.2. Variables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100 5.4.3. Condiciones . . . . . . . . . . . . . . . . . . . . . . . . . . . 101 5.4.4. Restricciones . . . . . . . . . . . . . . . . . . . . . . . . . . . 102 5.4.5. Función objetivo . . . . . . . . . . . . . . . . . . . . . . . . . 103 5.5. Pruebas realizadas . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103 5.6. Algoritmo de planificación centralizado mejorado . . . . . . . . . . 104 5.6.1. Nuevas variables . . . . . . . . . . . . . . . . . . . . . . . . . 104 5.6.2. Nuevas condiciones . . . . . . . . . . . . . . . . . . . . . . . . 105 5.6.3. Nuevas restricciones . . . . . . . . . . . . . . . . . . . . . . . 105 5.6.4. Nueva función objetivo . . . . . . . . . . . . . . . . . . . . . . 107 5.7. Nuevas pruebas realizadas . . . . . . . . . . . . . . . . . . . . . . . 107 5.8. Conclusiones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 108 Capítulo 5. Planificación de Enlaces para la Maximización del Ancho de Banda en 88 Redes de Usuarios En este capítulo proponemos una metodología para desplegar infraestructuras de telecomunicaciones a gran escala basadas en IEEE 802.11. Nuestra aproximación se basa en unas reglas básicas para generar topologías malladas con capacidades de supervivencia. Dichas reglas palían las interferencias, tanto en el mismo canal como entre canales. Para la planificación de la infraestructura se van a utilizar dos algoritmos: una versión distribuida, que ejecutan los propios nodos de la infraestructura, y una versión centralizada según un modelo de optimización lineal con números enteros. Los resultados numéricos demostrarán que el modelo de optimización es más eficiente pero el algoritmo distribuido es competitivo, dado que la propia red inalámbrica puede ejecutarlo y genera resultados de buena calidad. Posteriormente, mejoraremos el modelo de optimización convirtiéndolo en un modelo no lineal, mucho más complejo. Dicho modelo nos puede servir como una herramienta de planificación o como una cota de rendimiento para la validación de modelos de planificación más sencillos. El capítulo se organiza como sigue: en la sección sección 5.1 se hará una breve introducción, en la sección 5.2 se definen las reglas para la planificación y se describe el algoritmo distribuido para el despliegue de la infraestructura. La sección 5.3 estudia la mejor configuración de los elementos básicos de la infraestructura. Llamamos a este proceso ajuste del nodo básico. La sección 5.4 describe el algoritmo de planificación centralizado, que es un modelo de optimización lineal entera con restricciones que obedecen a las reglas para el despliegue. Por tanto, cualquier solución del algoritmo distribuido de despliegue será un punto factible del modelo de optimización. La sección 5.5 presenta los resultados numéricos para ambos algoritmos en dos escenarios realistas - Ginebra (Suiza) y Vigo (España) - y una serie de escenarios sintéticos más grandes. La sección 5.6 describe un nuevo modelo de optimización no lineal entera que también satisface las reglas de planificación. La sección 5.7 presenta los resultados de las pruebas numéricas para este nuevo modelo en el escenario de Vigo. Finalmente, la sección 5.8 expone las conclusiones. 5.1. Introducción IEEE 802.11 es una tecnología que se utiliza actualmente para instalar redes inalámbricas domésticas y de oficinas, e incluso redes de acceso inalámbricas metropolitanas. El rápido crecimiento de esta tecnología ha abierto nuevos horizontes en el mercado de las telecomunicaciones, y ha sugerido nuevos servicios. En este capítulo, proponemos un sistema de reglas básicas para nodos IEEE 802.11 con el fin de generar infraestructuras o topologías malladas con capacidades de supervivencia. Las redes inalámbricas a gran escala basadas en IEEE 802.11 no son nuevas [MIT Roofnet, WWW]. En nuestro modelo, un nodo básico se compone de un router, un punto de acceso IEEE 802.11 y una o más tarjetas inalámbricas IEEE 802.11 para obtener varias conexiones de red (merece la pena mencionar que algunos puntos de acceso comerciales soportan tanto conexiones de clientes como enlaces inalámbricos con otros puntos de acceso [HP WL520, WWW]). Los nodos básicos pueden estar también conectados a una LAN de usuarios (que cubra un edificio, por ejemplo). Este modelo es adecuado para zonas de baja densidad demográfica, donde las tecnologías como ADSL o cable no están siempre disponibles. También puede representar redes de usuarios en teja- 5.2. Algoritmo de planificación distribuido 89 dos (rooftop) que unen redes LAN de edificios (como en los escenarios descritos en las secciones 5.3 y 5.5). Nuestro estudio se basa en el estándar IEEE 802.11b, debido a que ha sido el subestándar de 802.11 más extendido en la Unión Europea durante mucho tiempo (en estos momentos IEEE 802.11g se está imponiendo debido a su mayor tasa de transferencia). Sería fácil ampliar los resultados de este capítulo a otros subestándares. 5.2. Algoritmo de planificación distribuido La red está compuesta por nodos básicos. Podemos ver un ejemplo en la figura 5.1. Cada uno de ellos tiene los siguientes componentes: Un punto de acceso inalámbrico IEEE 802.11b, que aceptará o rechazará conexiones de tarjetas inalámbricas IEEE 802.11b de otros nodos básicos, creando así una infraestructura de red inalámbrica. Varias tarjetas inalámbricas IEEE 802.11b, para establecer enlaces inalámbricos con puntos de acceso en nodos básicos próximos. Ordenador del edificio, que actuará como servidor DHCP y como router para los datos de los usuarios. Puede realizar otras tareas tales como firewall, caché de contenidos, etc. Red LAN, que conecta todos los ordenadores y aplicaciones de los usuarios (es opcional, dado que un nodo básico puede consistir en un único usuario con un ordenador, o incluso ninguno, en caso de nodos “puros” de infraestructura). Una conexión a Internet, típicamente DSL o cable. Es opcional, dado que las conexiones a Internet no están disponibles en algunos puntos. Incluso en escenarios urbanos, un grupo de nodos básicos (usuarios o edificios) podrían compartir una única conexión DSL o cable. Un único punto de acceso por nodo básico es la opción lógica, puesto que puede recibir varias conexiones de diferentes tarjetas inalámbricas. Múltiples canales IEEE 802.11b en cada nodo básico comprometerían la planificación de las celdas, puesto que el número de canales disponible es bastante limitado. La sección 5.3 probará que dos tarjetas inalámbricas por nodo básico son suficientes para un funcionamiento satisfactorio. Además, esta elección aporta diversidad a la red, una cuestión clave para garantizar supervivencia en redes rurales de usuarios, inherentemente poco fiables. 5.2.1. Asignación del canal IEEE 802.11b El subestándar IEEE 802.11b posee 13 canales superpuestos, como se puede ver en la figura 3.10 de la sección 3.2. En la planificación de la infraestructura inalámbrica, intentamos reducir al mínimo la interferencia, tanto dentro del mismo canal (co-canal) como entre canales que se superponen (inter-canal). La interferencia co-canal se produce Capítulo 5. Planificación de Enlaces para la Maximización del Ancho de Banda en 90 Redes de Usuarios Figura 5.1: Ejemplo de nodo básico 5.2. Algoritmo de planificación distribuido 91 cuando dos puntos de acceso cercanos utilizan el mismo canal. La interferencia intercanal ocurre cuando los puntos de acceso o las tarjetas inalámbricas con canales solapados transmiten simultáneamente. Usaremos el algoritmo de planificación celular clásico de [Box, 1978] para obtener un patrón de frecuencias para una rejilla de celdas en un área determinada (figura 5.2). El canal 7 no se utiliza, y lo hemos elegido deliberadamente por ser el central, es decir, el más propenso a interferencias con otros canales. Figura 5.2: Patrón de frecuencias y rejilla de celdas Dividimos el escenario a planificar en celdas cuadradas, y asignamos los canales de los puntos de acceso según el patrón de frecuencias. En principio, todos los puntos de acceso que pertenecen a nodos básicos dentro de una misma celda utilizan el mismo canal. Según nuestras medidas (con un punto de acceso D-Link DWL-1000 y tarjetas inalámbricas D-Link DWL-650), el alcance máximo (sin utilizar ninguna forma de amplificación) de una conexión entre la tarjeta inalámbrica y el punto de acceso fue de 170 metros. La interferencia co-canal en IEEE 802.11b es insignificante a distancias mayores de 50 metros [Chen y Gilbert, 2001]. Por tanto, como primer acercamiento para atenuar la interferencia co-canal e inter-canal, decidimos permitir solamente un nodo básico completamente activo por cada celda (todos los nodos básicos restantes en la misma celda son parcialmente activos, es decir, el punto de acceso y una de las tarjetas inalámbricas están deshabilitados) y fijamos el lado de las celdas cuadradas en 50 metros. Introduciendo estas limitaciones, intentamos mantener la interferencia co-canal al menor nivel posible dentro de la infraestructura inalámbrica. Si hay más de dos nodos básicos en una celda, necesitamos una regla para decidir qué nodos básicos cambiarán su estado a parcialmente activo. Alcanzamos el nivel más bajo de interferencia cuando el nodo básico completamente activo es el que está más cercano al centro de la celda. Que todos los nodos básicos de una celda menos uno estén parcial- Capítulo 5. Planificación de Enlaces para la Maximización del Ancho de Banda en 92 Redes de Usuarios mente activos puede conllevar un ahorro de material inalámbrico en la infraestructura, y por tanto, una reducción de costes. Sin embargo, esta solución puede ser poco deseable, porque la red puede evolucionar (nodos básicos que aparecen y desaparecen), y puede ser interesante disponer de la capacidad de todos los nodos básicos en el futuro. Cabe observar también que el coste por usuario es muy bajo si el nodo básico está unido a una LAN. Otra posible solución sería una consulta periódica. En ella, cada nodo básico difunde su posición y frecuencia. Si otro nodo en la misma celda recibe esta información, puede decidirse a cambiar al estado parcialmente activo (utilizando alguna clase de comparación, o asignando prioridades a subzonas de la celda o vía cierta clase de negociación). Observación 1: A diferencia de las soluciones típicas para la planificación de frecuencias de acceso en comunicaciones móviles, utilizamos la división en celdas para la planificación de frecuencias de infraestructuras. Por esa razón, algunos algoritmos recientes como [Sarkar y Sivarajan, 2002] no se pueden aplicar directamente. 5.2.2. Creación de los enlaces inalámbricos Según las especificaciones de IEEE 802.11b, tan pronto como un nodo básico esté activo, sus tarjetas inalámbricas intentarán conectarse al punto de acceso más cercano (según la calidad de la señal), que será el punto de acceso del propio nodo básico si está habilitado. Por supuesto, no podemos permitir que esto suceda. Sin embargo, la solución a este problema es sencilla, puesto que los puntos de acceso existentes permiten filtrar direcciones MAC, bloqueando así las direcciones de tarjetas inalámbricas locales. Aún así tenemos problemas más complicados: si una tarjeta inalámbrica en el nodo básico A está conectada al punto de acceso del nodo básico B, la segunda tarjeta de A no debería poder conectarse al nodo básico B, puesto que habría (i) menos capacidad total debido al reparto temporal del punto de acceso y (ii) menor diversidad en la red. Esta situación (problema de establecimiento de conexión dual en un sentido) puede detectarse y evitarse porque ambas tarjetas inalámbricas de A pueden decirle a B que pertenecen al mismo rango de red. Esta situación se puede ver en la figura 5.3. Figura 5.3: Problema de establecimiento de conexión dual en un sentido (tomada de [Costa et al., 2004]) 5.2. Algoritmo de planificación distribuido 93 Cuando una tarjeta inalámbrica quiere conectarse a un punto de acceso remoto, el nodo básico remoto debe comprobar si alguna de sus tarjetas ya tiene un enlace en la dirección opuesta. La tarjeta que realiza la petición debe notificarle al punto de acceso remoto su rango de red. Con esta información, el nodo básico remoto puede comprobar si alguna de sus tarjetas ya pertenece al mismo rango de red (problema de establecimiento de conexión dual en dos sentidos como se puede ver en la figura 5.4). En este caso se deniega la conexión. Figura 5.4: Problema de establecimiento de conexión dual en dos sentidos (tomada de [Costa et al., 2004]) En zonas densamente pobladas con muchos nodos básicos se presenta otro problema de establecimiento de la conexión cuando algunos puntos de acceso reciben muchas conexiones, reduciendo así la tasa de transferencia. Este problema se puede solucionar si el número de conexiones por punto de acceso se limita, lo que se puede implementar en el nivel MAC de IEEE 802.11b. Cuando una tarjeta desea conectarse a un punto de acceso, debe enviar una trama de petición de asociación, como vimos en la sección 3.2.3. Si se permite la conexión, el punto de acceso responde con una trama de respuesta a la asociación. Si no es así, la tarjeta inalámbrica buscará otro punto de acceso. Por tanto, podríamos bloquear las tramas de respuesta a la asociación cuando el contador de conexiones alcance un límite, para mantener así una tasa de transferencia razonable. Esto puede tener un efecto secundario beneficioso, porque permite el crecimiento de la red, sobre todo en sus extremos. Sin embargo, debemos comentar que esta solución implica una modificación del estándar. Consideraremos ahora la interferencia co-canal e inter-canal. La interferencia co-canal es extremadamente baja debido a la planificación de celdas y su tamaño. Además, los enlaces entre celdas son tan cortos como sea posible. En relación a la interferencia entre canales, comprobamos que si dos fuentes IEEE 802.11b físicamente cercanas transmiten en frecuencias con una separación de dos canales, la degradación en la tasa de transferencia puede llegar al 50 %, y que una separación de tres canales es prácticamente suficiente para evitar la interferencia entre canales. Los casos de interferencia entre canales pueden ser bastante comunes en nuestro escenario. Por ejemplo, cuando las dos tarjetas inalámbricas en un nodo básico en una celda “5” en la figura 5.2 tienen enlaces con puntos de Capítulo 5. Planificación de Enlaces para la Maximización del Ancho de Banda en 94 Redes de Usuarios acceso en las celdas vecinas “1” y “3”, las cuáles tienen una separación de dos canales. Así, consideramos añadir una regla para la mitigación de la interferencia entre canales. Si se implementa, a los elementos de un nodo básico (tarjetas y punto de acceso) solo se les permite establecer enlaces que tengan una separación mutua en frecuencia de al menos tres canales. Esto reduce la interferencia entre canales drásticamente (especialmente si se usan antenas directivas). Estudiaremos el efecto de esta regla en la sección 5.3.2. 5.2.3. Algoritmo de planificación distribuido Enumeraremos ahora los pasos que debe seguir una tarjeta inalámbrica para establecer un enlace con un punto de acceso que pertenece a un nodo básico remoto: 1. La tarjeta inalámbrica intenta establecer una conexión con el punto de acceso más cercano. Inicialmente, éste será el punto de acceso local, a menos que el nodo básico sea parcialmente activo. El punto de acceso local evita la conexión filtrando la dirección MAC de la tarjeta inalámbrica. 2. La tarjeta inalámbrica intenta establecer una conexión con el siguiente punto de acceso más cercano. Supongamos que el nodo básico local (el que solicita una conexión) es el nodo A y que el nodo básico remoto (al que se le solicita la conexión) es el nodo B. Las reglas de planificación se aplican como sigue: Regla para evitar el establecimiento de conexión dual en dos sentidos: Supongamos que una tarjeta en el nodo básico B está ya conectada al punto de acceso en el nodo básico A. La tarjeta de A proporciona su rango de IP al nodo básico B. El nodo básico B bloquea la conexión. Regla para evitar el establecimiento de conexión dual en un sentido: Supongamos que una tarjeta inalámbrica de A está ya conectada con el punto de acceso de B y la segunda tarjeta de A también intenta establecer una conexión con B. El nodo básico B rechaza el segundo intento de conexión, dado que procede del mismo rango IP. Regla de desbordamiento de conexiones: Supongamos que el punto de acceso de B ha alcanzado su límite de conexiones. Simplemente deja de transmitir tramas de respuesta de asociación, bloqueando así cualquier petición de conexión. Regla de interferencia entre canales: Supongamos que la tarjeta inalámbrica de A encuentra un punto de acceso remoto B cuyo canal está a menos de tres canales de (i) el canal del punto de acceso de A o (ii) el canal de alguna de las otras tarjetas inalámbricas de A. Si se implementa la regla de interferencia entre canales, la tarjeta inalámbrica de A ignora al nodo básico B y busca otra alternativa. 3. Conexión conseguida, si la tarjeta inalámbrica satisface todas las condiciones impuestas por las reglas de planificación. Observación 2: Todos los nodos básicos de la infraestructura siguen los pasos 1 al 3 concurrente y asíncronamente. 5.3. Ajuste del nodo básico 5.3. 95 Ajuste del nodo básico Desarrollamos un simulador Java ad-hoc basado en el algoritmo de planificación distribuido para ajustar el número mínimo de tarjetas inalámbricas que requiere cada nodo básico. Consideramos dos escenarios realistas para la infraestructura con un número significativo de nodos básicos (aproximadamente 50), que corresponden a Ginebra, Suiza (figura 5.5(a)) y a Vigo, España (figura 5.5(b)). Fijamos un límite superior de cuatro conexiones de tarjetas inalámbricas por punto de acceso. (a) Sector de Ginebra (b) Sector de Vigo Figura 5.5: Escenarios y posibles infraestructuras 5.3.1. Regla de interferencia entre canales deshabilitada El porcentaje de tarjetas inalámbricas que son capaces de establecer una conexión se puede ver en la tabla 5.1. Si los nodos básicos tienen más de dos tarjetas, el porcentaje de tarjetas desconectadas aumenta debido a las reglas de planificación. La mejor opción Capítulo 5. Planificación de Enlaces para la Maximización del Ancho de Banda en 96 Redes de Usuarios parece consistir en dos tarjetas por nodo básico, porque casi todas las tarjetas están conectadas (como en el caso de una única tarjeta), y la infraestructura resultante posee mayor diversidad de enlaces. Las figuras 5.6 y 5.7 muestran las redes de usuarios urbanas resultantes para un límite máximo de dos tarjetas por nodo básico: los cuadrados negros representan nodos básicos completamente activos, y los cuadrados con “×” representan los parcialmente activos (15 de 60 en la figura 5.6 y 6 de 46 en la figura 5.7). El color de los enlaces indica la tasa de transferencia, negro para enlaces a 11 Mbps, rojo para 5,5 Mbps, azul para 2 Mbps y verde para 1 Mbps. Regla de interferencia Tarjetas entre canales por nodo Ginebra Deshabilitada Vigo Ginebra Habilitada Vigo 1 2 3 4 100 99,9 95,53 81,02 100 100 98,09 85,3 100 97,53 83,6 63,79 100 97,8 80,15 60,3 Tabla 5.1: Tarjetas que establecen conexión ( %) Figura 5.6: Ejemplo de red, regla de interferencia entre canales deshabilitada. Ginebra En todas las simulaciones restantes trabajaremos con dos tarjetas inalámbricas por nodo básico. Evaluaremos ahora el grado de conexiones de los puntos de acceso, que obviamente va a ser menor que cinco. Contamos también los enlaces desde los nodos básicos parcialmente activos. La tabla 5.2 muestra los resultados. Podemos observar que hay puntos de acceso sin conexiones. Esto no significa que los nodos básicos correspondientes estén aislados, dado que sus tarjetas están conectadas con otros puntos de acceso. Por supuesto, tampoco significa que los recursos de la red se malgasten, puesto que esos puntos de acceso se localizan principalmente en los bordes 5.3. Ajuste del nodo básico 97 Figura 5.7: Ejemplo de red, regla de interferencia entre canales deshabilitada. Vigo Regla de interferencia Grado de los 0 1 2 3 4 entre canales puntos de acceso Ginebra 10,8 16,22 28,89 16,67 27,33 Deshabilitada Vigo 13 20 20,5 32 14,5 Ginebra 7,56 25,78 25,33 14,22 27,11 Habilitada Vigo 11 24 24,5 24,25 16,25 Tabla 5.2: Grado de los puntos de acceso, en función de la regla de interferencia entre canales ( %) Capítulo 5. Planificación de Enlaces para la Maximización del Ancho de Banda en 98 Redes de Usuarios del escenario, y serán puntos de extensión de la infraestructura para futuros crecimientos. También cabe observar que más del 50 % de los puntos de acceso tienen como máximo dos conexiones, lo que implica una alta tasa de transferencia en ellas. A continuación evaluaremos la capacidad de los enlaces. Medimos las siguientes capacidades con un punto de acceso D-Link DWL-1000 y tarjetas inalámbricas D-Link DWL-650 en campo abierto y sin ninguna interferencia: 11 Mbps para menos de 125 metros, 5,5 Mbps de 125 a 140 metros, 2 Mbps de 140 a 150 metros y 1 Mbps de 150 a 170 metros. Tomando estas medidas como referencia, calculamos el porcentaje de enlaces de cada tipo (tabla 5.3). Obsérvese que la mayor parte de las tarjetas transmitirían a 11 Mbps en condiciones ideales. Regla de interferencia Tipos de entre canales enlace Ginebra Deshabilitada Vigo Ginebra Habilitada Vigo 11 Mbps 97,81 95,7 91,52 89,42 5.5 2 1 No Mbps Mbps Mbps conectado 0,2 1,4 0,57 0 3,14 0 1,16 0 1,62 3,43 0,95 2,47 6,16 1,16 1,04 2,2 Tabla 5.3: Porcentaje de tipos de enlaces, en función de la regla de interferencia entre canales ( %) Sin embargo, todos los enlaces a un punto de acceso dado (cuatro en el peor de los casos) comparten este ancho de banda. De la tabla 5.2, si la regla de interferencia entre canales está deshabilitada, se desprende que el grado medio de conexiones a los puntos de acceso en Ginebra y Vigo es de 2,33 y 2,15, respectivamente. Por lo tanto, ambas infraestructuras de red utilizarían la tecnología IEEE 802.11b eficientemente, si no fuera por la presencia de la interferencia entre canales (11 Mbps por enlace con una penalización típica del 50 % debida a la compartición del canal del punto de acceso). En la siguiente sección estudiaremos el impacto de la regla de interferencia entre canales. 5.3.2. Regla de interferencia entre canales habilitada Mantenemos el número de tarjetas por punto de acceso que determinamos en la sección 5.3.1, y activamos la regla de interferencia entre canales para evaluar su impacto. Las figuras 5.8 y 5.9 muestran el resultado. Según la tabla 5.1, el porcentaje de tarjetas que se conectan a un punto de acceso está cerca del 100 %: 97, 53 % en el caso de Ginebra y 97, 8 % en el caso de Vigo (aproximadamente 100 % en ambos casos cuando la regla de interferencia entre canales estaba deshabilitada, tabla 5.1). Cabe observar que, aunque hay algunas tarjetas desconectadas, no hay ningún nodo aislado en las figuras 5.8 y 5.9. Podemos deducir de la tabla 5.2 que el grado medio de los puntos de acceso no varía perceptiblemente al aplicar la regla de interferencia entre canales (2,23 para Ginebra y 2,11 para Vigo). El porcentaje de enlaces con tasa más alta disminuye, pero está cercano al 90 % (tabla 5.3). Concluimos que habilitar la regla de interferencia entre canales es una estrategia 5.3. Ajuste del nodo básico Figura 5.8: Ejemplo de red, regla de interferencia entre canales habilitada. Ginebra Figura 5.9: Ejemplo de red, regla de interferencia entre canales habilitada. Vigo 99 Capítulo 5. Planificación de Enlaces para la Maximización del Ancho de Banda en 100 Redes de Usuarios ventajosa para mejorar la calidad de la infraestructura, dado que el rendimiento es prácticamente igual si se deshabilita la regla, como se ha visto en la sección 5.3.1. 5.4. Algoritmo de planificación centralizado Además del algoritmo de planificación distribuido expuesto en la sección 5.2, hemos desarrollado un modelo matemático de optimización para la planificación de la infraestructura, cuyas restricciones representan las reglas explicadas en la sección 5.2.3. Por tanto, cualquier solución del algoritmo de planificación distribuido es un punto factible del algoritmo de planificación centralizado. El modelo matemático de optimización es un programa entero, es decir, algunas variables son reales y otras enteras (en nuestro caso, la mayor parte de estas últimas son booleanas), y tanto la función objetivo como las restricciones son lineales. El modelo utiliza la asignación de canal de la sección 5.2.1. Todos los nodos básicos de una celda dada son parcialmente activos, excepto el más cercano al centro. Además, el modelo se basa en las conclusiones de la sección 5.3: hay dos tarjetas inalámbricas por nodo básico y la regla de interferencia entre canales está habilitada. Por claridad, describiremos nuestro modelo progresivamente, definiendo los conjuntos, las constantes, las variables, las condiciones, las restricciones y la función objetivo. 5.4.1. Conjuntos y constantes El conjunto principal BN contiene N nodos básicos bi , i = 0, . . . , N − 1. Este conjunto se divide en dos subconjuntos disjuntos, BNf (nodos básicos completamente activos) y BNp (nodos básicos parcialmente activos). Es decir, BNp ∩ BNf = ∅ y BN = BNp ∪ BNf . La definición de la infraestructura se complementa con los siguientes parámetros: dij : distancia en metros entre los nodos básicos bi y bj , es decir, D es una matriz N × N. kij : capacidad en Mbps del enlace que conecta los nodos básicos bi y bj , es decir, K es una matriz N × N . ch_api : parámetro que indica el canal del punto de acceso del nodo básico bi , determinado según la asignación de canales de la sección 5.2.1. Nuestro modelo se rige por la siguiente convención: si el nodo básico bi es parcialmente activo, su canal es cero. Si es completamente activo, ch_api toma el valor del índice correspondiente al canal de IEEE 802.11b más dos. Por tanto, ch_api es cero o un número entero cuyo valor está en el intervalo [3, 15]. 5.4.2. Variables Sean i, j = 0, . . . , N − 1. Las variables del modelo son: c1ij : Variable booleana. Si vale 1 la tarjeta inalámbrica #1 en bi está conectada con el punto de acceso del nodo bj . Vale 0 en otro caso. 5.4. Algoritmo de planificación centralizado 101 c2ij : Misma definición para la tarjeta inalámbrica #2 en bi . ch_w1i : Variable real que indica el canal de la tarjeta inalámbrica #1 de bi (el canal del punto de acceso al que está conectada la tarjeta #1). El modelo de optimización asegura que esta variable tomará valores enteros (véase la observación 3 más abajo). ch_w2i : Variable real que indica el canal de la tarjeta inalámbrica #2 de bi (el canal del punto de acceso al que está conectada la tarjeta #2). El modelo de optimización asegura que esta variable tomará valores enteros (véase la condición C6 y la observación 3 más abajo). δi : Variable booleana. Si la tarjeta inalámbrica #1 de bi no está conectada, toma el valor 1 para fijar así ch_w1i al canal simulado 18. El canal simulado 18 se incluye para fijar las restricciones (7) a (9), equivalentes a la regla de interferencia entre canales (véase la observación 4 más abajo). ei , fi : Variables booleanas, para definir las restricciones lineales (8) y (9) que fuerzan que se cumpla la regla de interferencia entre canales en un nodo completamente activo bi (véase la observación 4 más abajo). 5.4.3. Condiciones De las especificaciones para el diseño de la infraestructura inalámbrica, podemos imponer una serie de condiciones a las variables del modelo. Las herramientas de optimización avanzadas de la sección 5.5 se aprovechan de ellas, para reducir drásticamente el tamaño del modelo y el tiempo de ejecución. Sean bi y bj nodos básicos en BN . Sea bp un nodo básico en BNp . Entonces: C1 c1ip , c2ip = 0, puesto que los nodos parcialmente activos no tienen puntos de acceso, y por tanto no pueden aceptar conexiones. C2 c2pi = 0, puesto que la tarjeta inalámbrica #2 está deshabilitada en los nodos parcialmente activos. C3 kij = 0 ⇒ c1ij , c2ij = 0, no es posible establecer enlaces entre nodos básicos que están muy separados. C4 c1ii , c2ii = 0, no se permiten conexiones dentro del mismo nodo básico. C5 | ch_api − ch_apj | < 3 ⇒ c1ij , c2ij = 0, debido a la regla de interferencia entre canales. Para entender esta condición, supóngase que c1ij = 1 o c2ij = 1 y | ch_api − ch_apj | < 3. Si es así, una de las tarjetas inalámbricas en bi está conectada con el punto de acceso en bj . Por tanto, al menos una tarjeta que transmite en el canal ch_apj es físicamente adyacente a bi , cuyo punto de acceso transmite en el canal ch_api . Así, se producirían transmisiones cercanas en canales solapados. C6 ch_w2p = 0, puesto que la tarjeta inalámbrica #2 está deshabilitada en los nodos parcialmente activos. Capítulo 5. Planificación de Enlaces para la Maximización del Ancho de Banda en 102 Redes de Usuarios 5.4.4. Restricciones 1. c1ij + c2ij + c1ji + c2ji ≤ 1, i, j = 0, . . . , N − 1. Reglas para evitar el establecimiento de la conexión dual en uno y dos sentidos. P 2. j c1ij + δi = 1, i = 0, . . . , N − 1. La tarjeta inalámbrica #1 en el nodo bi puede establecer como máximo una conexión. Si la tarjeta está desconectada δi = 1, y δi = 0 en otro caso. P 3. j c2ij ≤ 1, i = 0, . . . , N − 1. La tarjeta inalámbrica #2 del nodo bi puede establecer una conexión como máximo. P 4. i (c1ij + c2ij ) ≤ 4, j = 0, . . . , N − 1. El nodo básico bj puede aceptar hasta cuatro conexiones de tarjetas inalámbricas. P 5. ch_w1i = j (c1ij × ch_apj ) + 18δi , i = 0, . . . , N − 1. La tarjeta inalámbrica #1 del nodo bi adquiere el canal del punto de acceso al que se conecta, o el canal simulado 18 en caso de que no esté conectada. P 6. ch_w2i = j (c2ij × ch_apj ), bi ∈ BNf . La tarjeta inalámbrica #2 del nodo bi adquiere el canal del punto de acceso al que está conectada, o el canal simulado 0 en caso de no estar conectada. Observación 3: Cabe destacar que, aunque ch_w1i y ch_w2i se declaran como variables reales continuas, sus valores factibles son números enteros debido a las restricciones (5) y (6). Como es sabido, un modelo con números enteros debe evitar en lo posible un número innecesariamente grande de variables discretas. 7. ei + fi = 1, bi ∈ BNf . Las variables ei y fi son complementarias. Esta restricción nos ayuda a definir las restricciones (8) y (9) a continuación. 8. (ch_w2i −ch_w1i ) ≥ 3ei −18fi , bi ∈ BNf . Esta restricción fuerza el cumplimiento de la regla de interferencia entre canales cuando (i) las tarjetas #1 y #2 en bi ∈ BNf están conectadas y (ii) ch_w2i > ch_w1i . 9. (ch_w2i − ch_w1i ) ≤ −3fi + 12ei , bi ∈ BNf . Este restricción fuerza el cumplimiento de la regla de interferencia entre canales cuando (i) las tarjetas #1 y #2 en bi ∈ BNf están conectadas y (ii) ch_w2i < ch_w1i . Observación 4: Las restricciones (7) a (9) son extremadamente importantes en nuestro modelo porque equivalen a la restricción convexa inversa | ch_w2i − ch_w1i | ≥ 3, que induce una región factible disjunta. Obsérvese que si ei = 1, ch_w2i − ch_w1i ≥ 3 y la desigualdad (9) se cumple. En caso contrario, si ei = 0, ch_w1i − ch_w2i ≥ 3 y la desigualdad (8) se cumple. Obsérvese también la importancia del canal simulado 18 para la tarjeta #1: si representáramos el estado desconectado de ambas tarjetas con el canal simulado 0, las restricciones (8) y (9) no podrían ser factibles al mismo tiempo. Se puede obtener más información sobre el modelado de restricciones disjuntas en los capítulos 9 y 10 de [Williams, 1999]. 5.5. Pruebas realizadas 5.4.5. 103 Función objetivo El modelo busca maximizar la capacidad de la infraestructura, la cual se puede representar aproximadamente como: 10. P i,j [ (kij /dij ) × (c1ij + c2ij ) ], que es una función objetivo lineal. Pretende conseguir tantos enlaces inalámbricos de alta capacidad como sea posible, y da prioridad máxima a los más cortos. La linealidad de la función objetivo permite utilizar el software de optimización eficientemente. 5.5. Pruebas realizadas Probamos ambos algoritmos de planificación - versión distribuida de la sección 5.2 y versión centralizada de la sección 5.4 - en los escenarios realistas descritos en la sección 5.3, y en tres escenarios sintéticos con 100, 200 y 300 nodos básicos, respectivamente. Los escenarios sintéticos se generaron aleatoriamente colocando nodos básicos en un área de 900 × 700 m2 . Programamos el modelo matemático del algoritmo centralizado con GAMS 21.3. Una vez compilado, el modelo se pasó a CPLEX 9.0.0, un resolvedor de altas prestaciones de problemas de optimización lineales y enteros. Ambos algoritmos se ejecutaron en un Pentium IV a 2,4 GHz con memoria de 512 MB. Los resultados de las pruebas se muestran en la tabla 5.4, ordenada según el tamaño del escenario (número de nodos básicos). El algoritmo distribuido se evaluó con el simulador Java de la sección 5.3. Algoritmo Vigo (Fig. 5.5(b)) Ginebra (Fig. 5.5(a)) Sintético 100 nodos Sintético 200 nodos Sintético 300 nodos distribuido centralizado distribuido centralizado distribuido centralizado distribuido centralizado distribuido centralizado Función objetivo (10) (Mbps/m) 14,61 15,06 19,11 20,21 32,21 33,27 87,38 91,66 146,96 151,73 Tabla 5.4: Resultados de las pruebas realizadas Observamos que, obviamente, el algoritmo centralizado es mejor en todos los casos cuando consideramos la función objetivo (10). Sin embargo, la mejora es relativamente baja. La tabla 5.5 muestra los tamaños del problema, según CPLEX. Para resumir, el algoritmo distribuido puede ser más ventajoso en la práctica, porque: Capítulo 5. Planificación de Enlaces para la Maximización del Ancho de Banda en 104 Redes de Usuarios Los puntos factibles que entrega el algoritmo distribuido tienen una alta calidad según (10). Los propios nodos de la infraestructura pueden ejecutar el algoritmo distribuido: una vez se inician, los nodos básicos simplemente buscan vecinos y aceptan o rechazan conexiones según las reglas básicas definidas en la sección 5.2. Restricciones Variables Variables discretas Vigo 46 nodos 2483 4513 1016 Ginebra 60 nodos 4021 7516 1225 Sintético 100 nodos 10821 20631 1662 Sintético 200 nodos 41345 81002 4782 Sintético 300 nodos 91733 181254 8515 Tabla 5.5: Tamaño del problema de programación entera 5.6. Algoritmo de planificación centralizado mejorado En la sección 5.4 propusimos un algoritmo de planificación centralizado según un modelo lineal entero. A continuación presentaremos un nuevo modelo de planificación de enlaces que tiene en consideración tanto las reglas de planificación de la sección 5.2 como las restricciones explícitas contra las interferencias. El nuevo modelo es un programa no lineal entero. El modelo asigna los canales según lo descrito en la sección 5.2.1. Debido a la complejidad del modelo no lineal, es imposible solucionarlo con nuestro resolvedor en un ordenador Pentium IV. Decidimos dividir el problema en partes y solucionarlo iterativamente. Primero solucionamos el modelo lineal explicado en la sección 5.4 para conseguir un valor inicial para el segundo paso. En este segundo paso, el modelo considera solamente restricciones debidas a la interferencia co-canal. Entonces congelamos un subconjunto de conexiones sin interferencia entre canales para así definir un nuevo punto de partida para el tercer paso, que considera interferencia entre canales adyacentes (distancia uno). El cuarto paso considera interferencia de distancia dos entre canales. A partir del punto que resulta comenzamos otra vez tomando en cuenta solamente la interferencia co-canal. El algoritmo debe parar cuando la mayoría de los enlaces no varían. En ese momento se entrega como resultado final la solución intermedia con máximo valor de la función objetivo (que tiene en cuenta las interferencias co-canal y entre canales con distancias uno y dos). Sin embargo, obtuvimos resultados de interés práctico con una sola ejecución de los primeros dos pasos. Describiremos a continuación los añadidos que hemos debido introducir en el modelo lineal de la sección 5.4. 5.6.1. Nuevas variables Sean i, j = 0, . . . , N − 1. Las nuevas variables en el modelo son: 5.6. Algoritmo de planificación centralizado mejorado 105 conex_api : variable real, que indica el número de conexiones que recibe el nodo básico i. Toma valores en el intervalo [0,4]. capi : variable real, suma de las capacidades de los enlaces que recibe el nodo básico i. cap_poni : variable real, media de las capacidades de los enlaces que recibe el punto de acceso del nodo básico i. degr0i : variable real, indica la degradación en el nodo básico i debida a los enlaces inalámbricos que transmiten en el mismo canal. perc_d0i : variable real, indica el porcentaje de pérdida de capacidad debido a la interferencia co-canal en el nodo básico i. 5.6.2. Nuevas condiciones Sean bi , bj nodos básicos en BN . Sea bp un nodo básico en BNp . Entonces: C7 conex_app = 0: los nodos parcialmente activos no tienen punto de acceso, por lo que no pueden recibir ninguna conexión. C8 capp = 0: los nodos parcialmente activos no tienen punto de acceso, por lo que la capacidad de sus conexiones es nula. C9 degr0p = 0: los nodos parcialmente activos no tienen punto de acceso. Por tanto no reciben enlaces y no se pueden degradar. C10 perc_d0p = 1: los nodos parcialmente activos no tienen punto de acceso, así que no sufren degradación. C11 cap_ponp = 0: los nodos parcialmente activos no tienen punto de acceso. Por tanto la capacidad de sus conexiones es nula. 5.6.3. Nuevas restricciones P P 10. conex_api = j c1ji + j c2ji , bi ∈ BNf . Calculamos el número de conexiones que recibe un nodo completamente activo. P 11. capi = j (kji × (c1ji + c2ji )), bi ∈ BNf . Calculamos la capacidad agregada de los nodos completamente activos. Observación 5: Debido la complejidad de la función degr0i , bi ∈ BNf , decidimos dividirla en tres partes (12.1 a 12.3). P = j [(1 si (ch_api − ch_apj ) 1−c2ji 1−c1ji + 1+1000(ch_api −ch_w2j )10 ], donde bj 1+1000(ch_api −ch_w1j )10 12.1 degr0i _1 = 0, 0 en otro caso) + ∈ BN, i 6= j y dij ≤ 50. Capítulo 5. Planificación de Enlaces para la Maximización del Ancho de Banda en 106 Redes de Usuarios Estos términos cuentan el número de elementos que afectan al punto de acceso en el nodo básico i produciendo interferencia co-canal. Solo se consideran los elementos a menos de 50 metros. El primer término cuenta simplemente los puntos de acceso que interfieren. El segundo término considera las tarjetas inalámbricas #1 que interfieren. Cabe destacar que si la tarjeta inalámbrica #1 de j establece un enlace con el punto de acceso i, el factor 1 − c1ji será cero (las restricciones del modelo evitan las interferencias). También se puede observar que 1 + 1000(ch_api − ch_w1j )10 será 1 si ch_api es igual a ch_w1j (interferencia co-canal), y crece exponencialmente con la distancia entre canales (1001 para distancia 1, 1024000 para 2, y así sucesivamente). Como denominador, esta expresión penaliza al segundo término, que es solamente significativo en caso de interferencia co-canal. Es posible proponer formulaciones alternativas (más claras) con la función valor absoluto, signo o los escalones, pero el resolvedor las considera no diferenciables o discontinuas. Finalmente, el tercer término cuenta las tarjetas inalámbricas #2 que interfieren. P P (c1ik −c1jk )2 1−c1ij 12.2 degr0i _2 = j [ 1+1000(ch_apj −ch_w1i )10 + k 2(1+1000(ch_w1j −ch_w1i )10 ) + P (c1ik −c2jk )2 k 2(1+1000(ch_w2j −ch_w1i )10 ) ], donde bj ∈ BN, i 6= j y dij ≤ 50. Estos términos cuentan el número de elementos que afectan a la tarjeta inalámbrica #1 en el nodo básico i produciendo interferencia co-canal. Solo se consideran los elementos a menos de 50 metros. El primer término representa los puntos de acceso que interfieren, y es similar al segundo término de (12.1). El segundo término considera las tarjetas inalámbricas #1 que interfieren. Obsérvese que, si ambas #1 en i y j P tarjetas inalámbricas 2 están conectadas al mismo punto de acceso, el factor k (c1ik − c1jk ) será cero (las restricciones tienden a evitar la interferencia). Sin embargo, si las tarjetas están conectadas a diferentes puntos de acceso, la suma de sus contribuciones multiplicadas por el factor co1 mún 2(1+1000(ch_w1 10 será dos (lo que explica el número 2 en el denominador del j −ch_w1i ) ) segundo término). Finalmente, el tercer término cuenta las tarjetas inalámbricas #2 que interfieren. Si solo está conectada una tarjeta, los denominadores en los términos segundo y tercero son tan grandes que no contribuyen a la interferencia. P P (c2ik −c1jk )2 1−c2ij 12.3 degr0i _3 = k 2(1+1000(ch_w1j −ch_w2i )10 ) + j [ 1+1000(ch_apj −ch_w2i )10 + P (c2ik −c2jk )2 k 2(1+1000(ch_w2j −ch_w2i )10 ) ], donde bj ∈ BN, i 6= j y dij ≤ 50. Estos términos cuentan el número de elementos que afectan a la tarjeta inalámbrica #2 en el nodo básico i produciendo interferencia co-canal. Solo se consideran los elementos a menos de 50 metros. El primer término cuenta los puntos de acceso que interfieren, y es similar al tercer término de (12.1). El segundo término cuenta las tarjetas inalámbricas #1 que interfieren, y es similar al tercer término de (12.2). Finalmente, el tercer término cuenta las tarjetas inalámbricas #2 que interfieren. 12. degr0i = degr0i _1 + degr0i _2 + degr0i _3, perc_d0i = 1 ,b 1+degr0i i ∈ BNf El término perc_d0i indica el porcentaje de capacidad perdida debida a interferencia co-canal. Obsérvese que, si no hay interferencia co-canal (degr0i = 0), perc_d0i = 1, es decir, no hay pérdida alguna. Para un solo elemento que interfiera, perc_d0i = 0,5, y así sucesivamente. 5.7. Nuevas pruebas realizadas 13. cap_poni = capi , conex_api 107 bi ∈ BNf . Representa la capacidad media de las conexiones del punto de acceso en el nodo básico i. 5.6.4. Nueva función objetivo El modelo intenta maximizar la capacidad de la infraestructura con la siguiente función objetivo: P 14. Maximizar i [cap_poni × perc_d0i ], bi ∈ BNf . que es no lineal debido a las divisiones en la restricción 12. 5.7. Nuevas pruebas realizadas Probamos el nuevo modelo en el escenario de Vigo, figura 5.5(b). Para reducir al mínimo la interferencia co-canal e inter-canal, una función objetivo alternativa sería: P 15. Maximizar i [cap_poni × perc_d0i × perc_d1i × perc_d2i ], bi ∈ BNf . 16. perc_d1i = 1 ,b 1+0,75×degr1i i 17. perc_d2i = 1 ,b 1+0,5×degr2i i ∈ BNf ∈ BNf degr1i y degr2i son similares a degr0i (12), con alguna complejidad adicional debida a las distancias entre canales interferentes a distancia 1 y 2 respectivamente. Los pesos 0,75 (16) y 0,5 (17) representan la menor pérdida de capacidad debida a las distancias 1 y 2. La complejidad de todo el problema MINLP (programación no lineal entera) es enorme. Intentamos solucionarlo con GAMS 21.4. Una vez compilado, se envió a DICOPT2x-C, un resolvedor MINLP que utiliza CPLEX 9.0.0 para solucionar los subproblemas MIPS (programación entera) y CONOPT2 para solucionar los subproblemas NLP (programación no lineal). El resolvedor no consiguió resultados en un Pentium IV a 2.4 GHz con 512 MB de memoria. Incluso tras la compilación de GAMS, el tamaño del problema MINLP es de 2804 filas, 4840 columnas, y 32874 valores no nulos. Por tanto, y según lo explicado previamente, desarrollamos una aproximación iterativa al problema, que consideraba las tres distancias que producían interferencias (0, 1 y 2) por separado, y solo la aplicamos para la distancia 0. Esto equivale a ejecutar una vez los dos primeros pasos (algoritmo de planificación distribuido de la sección 5.2 → MIPS de la sección 5.4 → nueva aproximación al problema con distancia 0). El tamaño del MINLP que resulta es de 2524 filas, 4554 columnas, y 25326 valores no nulos. El tamaño puede parecer igual, pero cabe destacar que hemos eliminado principalmente restricciones no lineales. La tabla 5.6 muestra los resultados obtenidos con la nueva función objetivo (15). Observamos mejora frente a los resultados de los métodos de las secciones 5.2 y 5.4. Los resultados son muy similares cuando congelamos conexiones para optimizar la velocidad Capítulo 5. Planificación de Enlaces para la Maximización del Ancho de Banda en 108 Redes de Usuarios del método. Esto posiblemente se debe a que consideramos la interferencia co-canal en primer lugar y, puesto que es la más problemática, las mejores conexiones se congelan al principio. Sin embargo, como podríamos esperar de antemano, el tiempo transcurrido cae drásticamente con el número de conexiones congeladas (las pruebas 1 y 2 alcanzaron el límite de tiempo de ejecución fijado en 3600 segundos). Test / conexiones congeladas Test 1 (0 %) Test 2 (10 %) Test 3 (25 %) Test 4 (50 %) Algoritmo distribuido 183,3792 198,2935 183,7588 160,3011 Primer modelo matemático 248,8336 241,9191 250,528 252,2052 Nuevo modelo matemático 259,6676 261,6800 274,1521 265,3527 Tiempo en nuevo modelo 3600 3600 239 183,74 Tabla 5.6: Mejoras con función objetivo (15) La tabla 5.7 muestra los casos de interferencia asociados a los valores de la función objetivo en la tabla 5.6 (x − y − z: x casos de interferencia con distancia entre canales 0, y con distancia 1 y z con distancia 2). Observamos una mejora en todos los casos con el nuevo modelo matemático. En algunos, se elimina totalmente la interferencia co-canal. Test / conexiones congeladas Test 1 (0 %) Test 2 (10 %) Test 3 (25 %) Test 4 (50 %) Algoritmo distribuido 6 - 34 - 56 8 - 28 - 50 6 - 32 - 42 6 - 38 - 44 Primer modelo matemático 6 - 38 - 34 8 - 38 - 40 10 - 34 - 32 6 - 38 - 34 Nuevo modelo matemático 0 - 34 - 44 6 - 20 - 42 2 - 24 - 36 0 - 34 - 46 Tabla 5.7: Mejoras en los casos de interferencias En la figura 5.10 podemos ver la red que resulta al congelar el 25 % de las conexiones. Observamos que la red sigue totalmente conectada (no queda ningún nodo aislado). El grado medio de conexiones por nodo es de 2,74. 5.8. Conclusiones En este capítulo hemos propuesto dos aproximaciones a la planificación de infraestructuras de redes IEEE 802.11. El elemento principal de nuestra infraestructura de red es el nodo básico, compuesto por elementos inalámbricos (dos tarjetas inalámbricas, según el ajuste de la sección 5.3, y un punto de acceso), que nos permiten alcanzar un compromiso entre prestaciones y diversidad. Proponemos y comparamos dos algoritmos de planificación, distribuido y centralizado. El segundo es un modelo de optimización entera. Argumentamos que, aunque el modelo matemático de optimización produce mejores resultados, el algoritmo distribuido puede ser en la práctica más ventajoso. Aunque el capítulo se centra en IEEE 802.11b, puede generalizarse a otros subestándares. Nuestros algoritmos no eliminan la interferencia (dado un escenario, hay que lograr un equilibrio entre interferencia y conectividad). Sin embargo, según nuestros resultados, 5.8. Conclusiones 109 Figura 5.10: Vigo, nuevo algoritmo con un 25 % de conexiones congeladas tanto la interferencia co-canal como la inter-canal son muy bajas en la solución. Claramente, esto se debe a que ambos algoritmos tienden a elegir enlaces cortos (el algoritmo distribuido confía en que las tarjetas inalámbricas establezcan conexiones con puntos de acceso IEEE 802.11 con mayor potencia de señal). Posteriormente, mejoramos nuestro enfoque centralizado con un modelo de optimización no lineal entera, que introduce restricciones para minimizar las interferencias. Este nuevo acercamiento produce claramente mejores resultados en términos de interferencia, y sus prestaciones no distan mucho de las de los modelos anteriores. El algoritmo no elimina totalmente la interferencia. Sin embargo, según nuestros resultados, las interferencias co-canal e inter-canal son razonablemente bajas en la solución. Capı́tulo 6 Estudio de la Compartición de Recursos en Redes de Usuarios Contenido 6.1. Introducción . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112 6.2. Estrategias, topología de nodos y comportamiento . . . . . . . . . . 114 6.3. Aproximación con autómatas celulares sencillos . . . . . . . . . . . 116 6.4. Aproximación con sistemas multi-agente . . . . . . . . . . . . . . . 121 6.4.1. Tipos de estrategia . . . . . . . . . . . . . . . . . . . . . . . . 121 6.4.2. Tráfico de red . . . . . . . . . . . . . . . . . . . . . . . . . . . 121 6.4.3. Escenarios . . . . . . . . . . . . . . . . . . . . . . . . . . . . 122 6.4.4. Aprendiendo CreditLimit . . . . . . . . . . . . . . . . . . . . . 123 6.4.5. Resultados de las simulaciones . . . . . . . . . . . . . . . . . . 123 6.5. Aproximación más realista con sistemas multi-agente . . . . . . . . 128 6.5.1. Consideraciones sobre topología y tráfico en las redes de usuarios128 6.5.2. Estrategias, escenarios y ajustes . . . . . . . . . . . . . . . . . 128 6.5.3. Resultados . . . . . . . . . . . . . . . . . . . . . . . . . . . . 129 6.6. Conclusiones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 131 En este capítulo evaluamos la viabilidad del control inteligente y distribuido de recursos compartidos en redes gestionadas por los usuarios. En dichas redes, la cooperación de los nodos puede optimizar la compartición de accesos a Internet (creación de enlaces entre las redes de usuarios e Internet). Este trabajo se basa en conceptos tales como los sistemas multi-agente, las redes de usuarios, el intercambio de ficheros en sistemas Peer to Peer (P2P), y la teoría de juegos. En la sección 2.5 se ha realizado una aproximación al estado del arte de dichos conceptos. Presentaremos una evaluación de diversos esquemas de control distribuido basados en agentes, utilizando el concepto de límite de 112 Capítulo 6. Estudio de la Compartición de Recursos en Redes de Usuarios crédito, en redes malladas ideales con tráfico uniforme. Cada nodo de la red mallada elige comportarse como un cooperador o como un desleal. Los cooperadores pueden ayudar al intercambio de los ficheros, mientras que los desleales intentan conseguir ventaja en los recursos de la red sin proporcionar ayuda como compensación. Posteriormente, presentaremos un modelo más realista, tanto en el tráfico como en la topología de la red de usuarios, y evaluaremos un nuevo esquema de control distribuido basado en agentes. Los resultados de la simulación de este capítulo confirman que es posible mejorar la compartición de recursos en las redes de usuario con agentes que comprueban que los servicios de intercambio que se ofrecen a los nodos vecinos no sobrepasan un límite de crédito apropiado, y que toman decisiones de forma autónoma a partir de su propia información local. Como validación de nuestro trabajo, hemos observado que los protocolos más populares de P2P, como eMule, Kazaa y BitTorrent, utilizan estrategias orientadas al crédito. El capítulo se organiza como sigue: en la sección 6.1 se hará una breve introducción. La sección 6.2 propone diferentes estrategias, topologías, y los comportamientos que se utilizarán como aproximación al problema de compartir recursos distribuidos en redes de usuario. La sección 6.3 muestra los resultados de una aproximación con autómatas celulares. La sección 6.4 describe una aproximación mediante sistemas multi-agente para solucionar el mismo problema, y la sección 6.5 introduce un modelo más realista de las redes de usuario. Finalmente, la sección 6.6 presenta las conclusiones de este capítulo. 6.1. Introducción La figura 6.1 muestra una red de usuarios, compuesta por varios nodos interconectados con enlaces de gran capacidad. Para usos tales como el intercambio de archivos Peer to Peer (P2P), puede ser útil considerar el acceso “externo” a Internet (conjunto de conexiones entre la red de usuarios e Internet, como se puede ver en la figura 6.1) como un recurso compartido que puede optimizar la cooperación entre nodos (es decir, si un nodo no puede servir su demanda con su propia conexión al exterior, solicita ayuda de otros nodos vía la red interna de usuarios de gran ancho de banda). Los nodos deciden si se conceden las peticiones de cooperación o no, analizando la información limitada que poseen del estado de sus vecinos, o solamente a partir de su propia experiencia. En este trabajo tenemos como objetivo analizar las condiciones que fomentan la cooperación en redes reales de usuarios. En principio, es trivial pensar que la cooperación mejora el funcionamiento global de la red. Sin embargo, una pequeña población de usuarios no cooperativos puede conducir a una deslealtad masiva, dado que los agentes de los nodos deciden su conducta en base a información local (como hacen los usuarios reales). Podríamos imponer varias condiciones que conducen a la cooperación entre nodos, pero si tomamos como referencia el comportamiento de los usuarios en entornos de compartición de archivos, esta cooperación nunca se produciría. Por tanto, los algoritmoa de decisión local de los nodos propensos a la cooperación constituyen la clave para la optimización de las redes de usuario. Hemos desarrollado un marco para su estudio basado en la teoría de juegos [Binmore, 1994] para analizar el comportamiento de los nodos y proporcionar los resultados que explican las condiciones necesarias para que los nodos cooperativos triunfen, es decir, para que sean una mayoría. Este marco nos ayudará a 6.1. Introducción 113 Figura 6.1: Red de usuarios con conexiones compartidas a Internet. modelar exactamente el problema de cooperación-deslealtad, y probar las posibles estrategias de los agentes, que lleven a la compartición global de los recursos y la mejora del funcionamiento de la red. Para ocultar las complejidades de la compartición del ancho de banda en las aplicaciones de intercambio de archivos, hemos modelado la red de usuarios como un juego donde las celdas (es decir, los nodos de usuarios) eligen entre dos estrategias básicas: cooperación y deslealtad. Los cooperadores ayudan a las celdas vecinas en el intercambio de archivos en Internet (hasta un límite de crédito dado), mientras que los desleales no ofrecen ayuda a sus vecinos (aunque sí solicitan ayuda para sus demandas). Por tanto, los desleales representan a los usuarios no cooperadores, un problema típico en las redes P2P, también conocidos como free-riders [Adar y Huberman, 2000]. Como demostraremos, teniendo en cuenta la distribución espacial de la población y restringiendo la interacción a los vecinos cercanos, una coexistencia espacial estable de los cooperadores y los desleales es posible bajo ciertas condiciones. Además, demostraremos que el funcionamiento de la red depende fuertemente del límite de crédito inicialmente seleccionado. De acuerdo con estos resultados, proponemos una estrategia factible para la estabilización de la red de usuarios basada en agentes, que dinámicamente adaptan su límite de crédito. Los resultados muestran una capacidad notable para reducir al mínimo el impacto de los puntos de encuentro de cooperadores y desleales en el escenario geométrico de la red, es decir, tanto cooperadores como desleales tenderán a formar agrupaciones. Dichas estrategias se pueden adaptar a otras situaciones. Por ejemplo, la evolución de los principales protocolos P2P indica que tienden a emplear la misma técnica que pro- 114 Capítulo 6. Estudio de la Compartición de Recursos en Redes de Usuarios pondremos para fijar límites a la cooperación, como prevención contra los desleales: cada nodo fija los límites de crédito para sus pares (los nodos con los que interactúa). Por ejemplo, éste es el caso de eMule [Kulbak y Bickson, 2005], Kazaa [Kazaa Ratio, WWW], BitTorrent [Tamilmani et al., 2003]. Es decir, nuestra asunción es realista. Por lo tanto, nuestra meta es doble. Primero, demostrar que nodos cooperativos basados en agentes pueden ser una mayoría en las redes de usuarios, mejorando la compartición de recursos. Segundo, que esos nodos basados en agentes pueden aprender fácilmente a evitar a los free-riders mediante límites adaptativos de crédito. 6.2. Estrategias, topología de nodos y comportamiento En esta sección definiremos un juego espacial compuesto donde las acciones se realizan de forma simultánea y los agentes pueden interactuar con varios vecinos a la vez. Cada agente recibe como retribución una tasa de transferencia de datos en cada turno. Cuanto mejor sea la estrategia elegida dentro del contexto, mejor será la retribución, es decir, mayor será la transferencia de datos. Obsérvese que la retribución que recibe un agente dado depende de las elecciones que hace y de las que hace el resto. Después de un número predefinido de turnos (24 horas = un día), cada agente i elije una estrategia si ∈ S, donde S es el conjunto de todas las estrategias. El agente mantendrá esta estrategia durante 24 horas. Asumimos que, si cada hora la longitud de la cola de una celda excede un umbral definido, el agente que gobierna las peticiones de la celda pide ayuda a sus vecinos por cada archivo pendiente (entrante o saliente). Los agentes vecinos pueden conceder el uso de sus conexiones al exterior o no, dependiendo de su estado actual y estrategia. Implementamos la ayuda en las transacciones como un protocolo de contrato de red: cada vecino responde con una oferta o un rechazo. El agente que realiza la petición selecciona la oferta de la celda que le proporcionó la mejor tasa de transferencia en el pasado. Modelamos las diversas estrategias de cooperación y deslealtad como sigue: Cooperación: un cooperador siempre ayuda a sus vecinos sin límite alguno. La cooperación modela a usuarios altruistas en las redes P2P. Cooperación con límite de crédito: un cooperador ayuda a sus vecinos hasta un cierto límite de crédito fijo (denotado por CreditLimit). Si la célula j alcanza su límite de crédito, la celda i no ayuda a la j de nuevo a menos que j devuelva su deuda ayudando a i cuando ésta lo solicite. Basada en agente: un nodo que siga esta estrategia adaptará individualmente y dinámicamente su valor de CreditLimit para optimizar la interacción con sus vecinos. Deslealtad: un desleal nunca ayuda, así que nunca concederá acceso a su conexión exterior. Sin embargo, los desleales piden a sus vecinos ayuda cuando la necesitan. Por tanto, utilizan recursos compartidos oportunísticamente como algunos usuarios hacen en las redes P2P (free-riders). 6.2. Estrategias, topología de nodos y comportamiento 115 En lo referente a la distribución de las demandas de las celdas, dependiendo del modelo hemos empleado hasta tres tipos de celdas denotados por A, B y C. Los diferentes tipos de celdas tienen periodos ocupados disjuntos a lo largo del día, como explicaremos en las próximas secciones. Para la distribución espacial de los nodos consideramos un escenario en dos dimensiones con celdas cuadradas. Dicho escenario contiene N nodos. Cada nodo seguirá una de las estrategias básicas. La figura 6.2 muestra un nodo i en una celda con la estrategia si y dos posibles vecindades. En el modelo expuesto en la sección 6.3, cada celda (es decir, nodo) del escenario interactuará con sus vecinos para hacerse cargo del tráfico al exterior. Por tanto, hay interacciones tanto locales como espaciales entre las celdas vecinas. Figura 6.2: El nodo Ni y dos posibles vecindarios (el primero con cuatro nodos Ni 1 a Ni 4, y el segundo con doce nodos Ni 1 a Ni 12) Si dejamos que cada nodo del sistema interactúe con los restantes N − 1, tenemos una población panmíctica. Sin embargo, en las redes reales de usuarios cada nodo solo interactúa con algunos vecinos. Así, consideramos que cada celda i interactúa solo con K celdas en su vecindad inmediata. La interacción viene dada por los tiempos de servicio que demandan para los datos de entrada o salida al exterior, es decir, cuando la cola de servicio exterior de un nodo supera un umbral dado, el nodo pide ayuda a sus vecinos para hacerse cargo de los archivos implicados. Para introducir una escala, elegimos una unidad de tiempo de una hora para generar nuevas demandas de tráfico y para las interacciones con los vecinos. Por tanto, el número total de interacciones por hora puede ser K × N o menor. Decidimos que, durante un periodo de 24 horas (un día), la estrategia si de un nodo no cambia, y para permitir el cambio se juegan una serie de partidas de movimiento simultáneo e interacción única (single shot game). También decidimos considerar un día como la unidad mínima de tiempo para el cambio de estrategia, puesto que los patrones de tráfico son similares en las mismas horas de diferentes días. Después de que pase un día, si puede cambiar según lo descrito en los dos siguientes escenarios: 116 Capítulo 6. Estudio de la Compartición de Recursos en Redes de Usuarios Escenario con imitación. Este escenario modela de alguna forma las situaciones reales donde la gente intercambia información con sus vecinos e imita a algunos de ellos. El principal interés de este escenario es proporcionar una perspectiva sobre lo que sucede si se comparte la información. Es muy popular en muchos juegos espaciales del dilema del prisionero [Feldman et al., 2004, Schweitzer et al., 2003]. Este escenario permite determinar si la cooperación es factible o no. Por tanto, nos permite predecir la estrategia más popular en un juego con compartición de la información. Se asume que cada nodo debe conocer las estrategias anteriores de sus K vecinos al final del día. El nodo i imita la estrategia de su “mejor” vecino k, con la mejor de las peores tasas de transferencia horarias durante el último día (usando 24 medidas). Decidimos comparar los valores de la tasa de transferencia de cada hora en vez de los diarios para que la satisfacción de los usuarios sea un compromiso entre la experiencia media y la del caso peor. Al final de cada día d, el nodo i calcula x = argmaxx∈K (minh∈d (th(h, x)) donde th(h, x) es la tasa de transferencia del vecino x durante la hora h. Entonces, el nodo i imita la estrategia del nodo x. Obviamente, el nodo mantiene su comportamiento anterior si el nodo con mayor tasa de transferencia siguió la misma estrategia. Escenario aislado. Este escenario modela la situación en la que los nodos no tienen información sobre las decisiones que toman sus vecinos, y simplemente utilizan su propia experiencia para elegir su estrategia futura. Cada nodo compara su peor tasa de transferencia durante el último día (usando 24 medidas horarias por día) con los valores medios obtenidos en el pasado con las estrategias alternativas, y emplea un algoritmo para decidir la estrategia para el día siguiente. 6.3. Aproximación con autómatas celulares sencillos En esta sección resumiremos diversas características interesantes del juego espacial que resulta de usar autómatas celulares estocásticos en las simulaciones [Schweitzer et al., 2003, Burguillo et al., 2004]. Un autómata celular es un modelo discreto que consiste en una rejilla regular de celdas. Cada uno de ellos posee un número finito de estados. El tiempo también es discreto, y el estado de una celda en el tiempo t es una función de los estados de un conjunto finito y fijo de celdas (llamadas vecindad) en el tiempo t − 1. Los vecinos son una selección de celdas que mantienen algún tipo de relación con la celda especificada, y dichos vecinos no cambian. Cada celda sigue la misma regla para los posibles cambios de estado, basada en 6.3. Aproximación con autómatas celulares sencillos 117 valores que obtiene de su vecindad. Cada vez que estas reglas se aplican a toda la rejilla resulta una nueva generación de estados. Según lo dicho previamente, todos los casos de estudio tienen lugar en una red de usuarios completamente simétrica. Cada celda se relaciona con K vecinos (hemos considerado dos casos K = 4 y K = 8). Los principales parámetros de nuestra simulación son: Hay (50 × 50 = 2,500) celdas en la red de usuarios. La distribución de las demandas viene dada por dos periodos: • Periodo ocupado: la celda genera una demanda de tiempo de servicio uniforme con una media de 8 unidades durante 12 horas del día. • Periodo tranquilo: análogo al caso anterior, con una media de 1 unidad durante las 12 horas restantes. Los enlaces al exterior tienen un ancho de banda de 5 unidades de demanda por hora. Cabe observar que este ancho excede levemente a la demanda media (0,5 × 8 + 0,5 × 1 = 4,5), y por tanto la capacidad externa está equilibrada. Los archivos que demanda la celda tienen un tamaño máximo de dos unidades de demanda. Inicialmente, asignamos las dos estrategias de los nodos (cooperación con límite de crédito o deslealtad) y los dos patrones de tráfico de los nodos (A o B) con la misma probabilidad. Cada nodo (incluyendo los desleales) pide ayuda a sus vecinos si genera más de 5 unidades de demanda por hora. Tenemos dos escenarios: escenario con imitación (según se definió en la sección 6.2) y escenario aislado, en el que cada nodo es un autómata estocástico con dos estados que corresponden a las dos posibles estrategias. Cada nodo compara su peor tasa de transmisión durante el último día (usando 24 medidas horarias tomadas a lo largo del día) con los valores medios obtenidos a lo largo de la historia con la otra estrategia. Si su tasa de transmisión es mejor que el valor medio de la estrategia alternativa, entonces el nodo aumenta linealmente la probabilidad de seleccionar la estrategia actual si en el siguiente juego (es decir, día). Utilizamos el esquema lineal de refuerzo para los autómatas estocásticos descrito en [Narendra y Thathachar,1989]. Al final de cada día d, el nodo i calcula f (i, d) = minh∈d (th(h, i)). • Si f (i, d) es estrictamente mayor que los valores medios diarios f hasta ese momento en el que se seguía la estrategia alternativa, entonces: P robsi [d + 1] = P robsi [d] + 0,1(1 − P robsi [d]) P robsi [d + 1] = 0,9P robsi [d] (si denota la estrategia alternativa) • La estrategia para el día siguiente se selecciona según las probabilidades P robsi [d + 1] y P robsi [d + 1]. 118 Capítulo 6. Estudio de la Compartición de Recursos en Redes de Usuarios Inicialmente, ejecutamos nuestras simulaciones con un único tipo de celda (A o B). En este caso, los desleales se convirtieron en mayoría. Contábamos con este resultado, puesto que todas las celdas están ocupadas a las mismas horas del día y, por consiguiente, no existe recompensa en la cooperación. Cuando consideramos dos tipos de celdas (A y B), observamos lo siguiente: Sean percC y percD los porcentajes de cooperadores y desleales al final de la simulación, respectivamente. Se cumple que percC >> percD en estado permanente si los cooperadores eligen correctamente el parámetro CreditLimit. Cuanto mayor sea el valor de percC , mayor será la tasa de transmisión de la red global. Más o menos, esto se cumple para un CreditLimit entre 10 y 30. Las figuras 6.3 y 6.4 muestran el porcentaje de celdas cooperadoras después de 2400 horas de simulación, en los escenarios con imitación y aislado respectivamente. El éxito de la cooperación en función de CreditLimit sugiere que, en una implementación basada en agentes, éstos deberían ajustar el CreditLimit dinámicamente, según su contexto y las consideraciones internas de su cola. Aunque los cooperadores y los desleales están totalmente mezclados al comienzo de la simulación, los cooperadores tienden a formar confederaciones. Esta distribución espacial tiende a la establilidad. Las figuras 6.5 y 6.6 muestran la evolución de los porcentajes de cooperadores y desleales en los escenarios con imitación y aislado. La elección de CreditLimit es especialmente crítica en el escenario con imitación: si los cooperadores son demasiado conservadores (CreditLimit bajo) o demasiado benevolentes (CreditLimit alto), la cooperación tiene menos éxito que la deslealtad. Sin embargo, en el escenario aislado, este efecto solo es evidente si los cooperadores son conservadores. Una posible explicación de este resultado en el caso de imitación es que, para un CreditLimit con valores bajos alrededor de 10, los desleales solo pueden engañar a los cooperadores al principio del juego, puesto que las deudas tienen que devolverse puntualmente. Si los cooperadores son demasiado benévolos, los desleales les engañan totalmente. Por otra parte, si los cooperadores son demasiado conservadores, su comportamiento se acerca al de los desleales. El pico del éxito de la cooperación es menor en el caso aislado. Esto es lógico, puesto que los nodos no comparten información. En todo caso, demostramos que incluso los autómatas estocásticos simples del escenario aislado se acercan al pico de cooperación en el escenario con imitación. Comenzando con una distribución inicial aleatoria de cooperadores y desleales, aparecen varias zonas de dominios espaciales, cada una de ellas dominada por cooperadores o desleales. También observamos que, a largo plazo, los porcentajes de cooperadores y desleales se mantienen. 6.3. Aproximación con autómatas celulares sencillos 119 Figura 6.3: Porcentaje de cooperadores después de 2400 horas, escenario con imitación (tomada de [Burguillo et al., 2004]) Figura 6.4: Porcentaje de cooperadores después de 2400 horas, escenario aislado (tomada de [Burguillo et al., 2004]) 120 Capítulo 6. Estudio de la Compartición de Recursos en Redes de Usuarios Figura 6.5: Evolución de los cooperadores (C) y desleales (D) (K = 4, CreditLimit=7.5, 100 días, escenario con imitación) (tomada de [Burguillo et al., 2004]) Figura 6.6: Evolución de los cooperadores (C) y desleales (D) (K = 4, CreditLimit=7.5, 200 días, escenario aislado) (tomada de [Burguillo et al., 2004]) 6.4. Aproximación con sistemas multi-agente 6.4. 121 Aproximación con sistemas multi-agente En la sección anterior hemos visto que la cooperación se puede considerar una estrategia acertada en las redes de usuarios. En esta sección adaptamos el simulador para explorar estrategias más complejas que siguen una aproximación mediante sistemas multi-agente. 6.4.1. Tipos de estrategia En esta aproximación modelamos los tres tipos de estrategias que se explican a continuación: Deslealtad: un desleal nunca ayuda pero pide ayuda a sus vecinos. Un desleal modela a un usuario parasitario, un free-rider de las redes P2P. Cooperación: un cooperador ayuda siempre a sus vecinos sin límite alguno. La cooperación modela a usuarios altruistas de las redes P2P. Basada en agente: un nodo que siga esta estrategia adapta dinámicamente e individualmente su valor de CreditLimit para optimizar la interacción con sus vecinos. Según lo explicado previamente en la sección 6.2, implementamos la ayuda en las transacciones como un protocolo de contrato de red. 6.4.2. Tráfico de red Para los propósitos de esta sección, consideramos tres tipos de nodos: A, B y C. Dichos nodos generan la demanda de tiempos de servicio (datos de entrada del exterior o de salida al exterior) durante periodos ocupados y tranquilos disjuntos: Nodos A: El periodo ocupado dura desde las 0 hasta las 8 horas con una demanda uniforme de tiempos de servicio de media 8 unidades. El periodo tranquilo tiene una media de 1 unidad durante las 16 horas restantes. Nodos B: El periodo ocupado dura desde las 8 hasta las 16 horas con una demanda uniforme de tiempos de servicio de media 8 unidades. El periodo tranquilo tiene una media de 1 unidad durante las 16 horas restantes. Nodos C: El periodo ocupado dura desde las 16 hasta las 24 horas con una demanda uniforme de tiempos de servicio de media 8 unidades. El periodo tranquilo tiene una media de 1 unidad durante las 16 horas restantes. Con estos tipos de nodos modelamos tres comportamientos típicos de los usuarios en Internet: A para usuarios nocturnos (por ejemplo, los estudiantes), B para usuarios en su trabajo diario (por ejemplos, nodos comerciales), y C para usuarios en su tiempo de ocio (por ejemplo, trabajadores en su hogar). Elegimos una media de 8 unidades durante el periodo ocupado, algo superior al tiempo de servicio por hora (5 unidades). El servicio global que demanda cada nodo en promedio durante un día es (8 × 8 + 1 × 16 = 80), que es menor que (24 × 5 = 120). Por tanto, satisfacemos las condiciones de estabilidad de la red. 122 Capítulo 6. Estudio de la Compartición de Recursos en Redes de Usuarios 6.4.3. Escenarios Consideramos de nuevo dos escenarios para nuestra simulación: Escenario con imitación: éste es el mismo escenario que en la sección 6.2. La única diferencia es que los agentes aprenden el valor de CreditLimit según lo descrito más adelante en la sección 6.4.4. Escenario aislado: Realizamos una aproximación similar a la descrita en [Schaerf et al., 1995]. Consideramos que cada agente almacena un vector con el número de veces N Ti que el agente i ha empleado cada una de las estrategias posibles. Definimos un estimador de la eficacia de la estrategia como: EEi (s, d + 1) := α × f (i, d) + (1 − α) × EEi (s, d) Donde f (i, d) = minh∈d (th(h, i)) representa el valor mínimo de la tasa de transferencia (th) que obtiene por el agente i durante cualquier hora de ese día. Consideramos la peor tasa de transferencia ya que los usuarios intentan mejorar sus peores condiciones. El parámetro α viene dado por la fórmula: α=w+ 1−w N Ti (s) siendo N Ti (s) el número de veces que el agente i utiliza la estrategia s y w una constante con un valor real. Fijamos w = 0,3 basándonos en los resultados de [Schaerf et al., 1995]. El término (1 − w)/N Ti (s) es un coeficiente corrector, que tiene un efecto apreciable solo cuando N Ti (s) es pequeño. Cuando N Ti (s) crece, este término se vuelve insignificante con respecto a w. Para seleccionar la nueva estrategia para el día siguiente, necesitamos una distribución de probabilidad. Inicialmente, forzamos que cada agente pruebe cada estrategia posible por lo menos una vez. Entonces calculamos: ENi (s) = EEi (s, d + 1)n donde n es un parámetro real y positivo. Para convertir esto en una probabilidad, para cada una de las estrategias s ∈ S definimos: P robi (s) = ENi (s) ETi P Siendo ETi = S ENi (s) el factor de normalización. Por tanto, ENi (s) claramente predispone la elección hacia las estrategias que han dado mejores resultados en el pasado. La intensidad de dicha predisposición depende de n; cuanto mayor sea el valor de n, más fuerte será la predisposición. Con valores altos de n (por ejemplo, n > 20) el agente tiende a elegir siempre la estrategia con mejores resultados. No obstante, según se explica en [Feldman et al., 2004], esta opción no permite que 6.4. Aproximación con sistemas multi-agente 123 el agente explore otras estrategias cuando hay cambios en el contexto. Por tanto fijamos n = 10. 6.4.4. Aprendiendo CreditLimit Mediante una estrategia basada en agentes, queremos que cada nodo aprenda el mejor CreditLimit que debe aplicar dependiendo de sus condiciones de tráfico y su contexto, es decir, sus vecinos y la interacción con ellos. El agente tiene un corto plazo para explorar el espacio de valores de CreditLimit (CL), puesto que un retraso en la convergencia al valor correcto podría causar una disminución de la tasa de transferencia. Bajo estas condiciones, consideramos que los algoritmos genéticos funcionan bien, y son más fáciles de usar y adaptar que otras técnicas de optimización [Garcia-Palomares et al., 2006]. Un algoritmo evolutivo emplea una población que evoluciona en tres fases: selección de pareja, cruce y mutación esporádica. Consideramos el siguiente algoritmo evolutivo simple: 0. Cada agente toma una muestra escogida al azar en cada intervalo: [1,10], [10,20], [20,30], [30,40], [40,50]. 1. El agente elige los mejores valores de CreditLimit (CL1 , CL2 ) obtenidos y se convierten en la pareja seleccionada. Se olvidan los restantes valores de CL. 2. El nuevo valor CL3 es una combinación lineal (cruce) de sus padres: CL3 = CL1 + (1 − x) × CL2 , donde x = rand(0, 1). 3. Mutación: IF (rand(0, 1) < 12/horas transcurridas) THEN CL3 = CL3 + rand(−5, 5). 4. Si CL3 es mejor que CL1 y CL2 se reemplaza al peor padre. 5. Volver al paso 2. Nota: En el paso 3, la primera comprobación se hace tras 24 horas, de forma que la probabilidad es menor de 1. También limitamos el rango de valores de CreditLimit a [1,50] después de considerar intervalos mayores que no utilizaron los agentes, pero introdujeron retardos en la búsqueda. 6.4.5. Resultados de las simulaciones Presentamos a continuación los resultados de nuestro simulador Java User-Net. Consideramos un escenario compuesto por (25 × 25 = 625) celdas en la red de usuarios. También consideramos la asignación inicial de los tres tipos de nodos y de las tres posibles estrategias equiprobables. Cada nodo tiene cuatro vecinos, según lo descrito en la figura 6.2. 124 Capítulo 6. Estudio de la Compartición de Recursos en Redes de Usuarios Escenario con imitación La figura 6.7 muestra los resultados de la evolución de cooperadores, desleales y nodos basados en agentes en este escenario tras 100 días. Inicialmente, los desleales alcanzan un porcentaje cercano al 50 % de la población, pero al final de la simulación cae a cero. Tampoco los cooperadores ingenuos tienen éxito. Solamente la estrategia basada en agentes es útil. Los nodos basados en agentes alcanzan una mayoría en caso de imitación. La figura 6.8 muestra la distribución espacial de los desleales (D, celdas oscuras), la estrategia basada en agentes (A, celdas menos oscuras) y cooperadores (C, celdas más claras) tras de 20 días en este escenario con imitación. Los cooperadores pueden sobrevivir durante algún tiempo en presencia de nodos con la estrategia basada en agentes mientras reciben cierta cantidad de cooperación, pero son muy sensibles a los ataques de los desleales. Los nodos con estrategia basada en agentes intentan permanecer juntos para evitar a los desleales y para que su estrategia sea exitosa a largo plazo, como se muestra en la figura 6.7. Respecto al valor del CreditLimit que aprenden los agentes, en nuestras simulaciones el valor medio obtenido es de 22,5 (en 10 ejecuciones) con una varianza de 12,6, y la mayor parte de los valores caen en el intervalo [5, 30]. Esto es coherente con los resultados de los autómatas celulares en la sección 6.3. La figura 6.9 compara las tasas de transferencia de las tres posibles estrategias. Se puede ver que la estrategia basada en agentes arroja en media mejores resultados que las otras, pero los cooperadores alcanzan a veces un pico mayor de tasa de transferencia. Su oscilación es también mayor, dependiendo de si tienen desleales alrededor o no. Figura 6.7: Evolución de cooperadores (C), desleales (D) y nodos basados en agentes (A) (K = 4, 100 días, escenario con imitación) (tomada de [Costa et al., 2006]) 6.4. Aproximación con sistemas multi-agente 125 Figura 6.8: Distribución espacial de cooperadores (C), desleales (D) y nodos basados en agentes (A) (K = 4, 20 días, escenario con imitación) (tomada de [Costa et al., 2006]) Figura 6.9: Comparación de tasas de transferencia de cooperadores (C), desleales (D) y nodos basados en agentes (A) (K = 4, 100 días, escenario con imitación) (tomada de [Costa et al., 2006]) 126 Capítulo 6. Estudio de la Compartición de Recursos en Redes de Usuarios Escenario aislado La figura 6.10 muestra los resultados de la evolución de las estrategias a lo largo de 50 días. La estrategia basada en agentes se convierte en la más popular, seguida de la deslealtad. Los cooperadores todavía sobreviven, ligados a nodos basados en agentes o rodeados por ellos, como se puede ver en la figura 6.11 (donde las celdas más oscuras son desleales, las más claras son cooperadores, y las intermedias son nodos basados en agentes). De hecho, los nodos basados en agentes forman de alguna manera un esqueleto para agrupar a cooperadores a su alrededor, con los desleales sobreviviendo aislados y explotando principalmente a los cooperadores. El valor de CreditLimit que aprenden los agentes tiene una media de 20,8 (en 10 ejecuciones) con una varianza de 11,2, y la mayor parte de los valores caen en el intervalo [5, 30]. La figura 6.12 muestra las tasas de transferencia que alcanzan las tres estrategias. Al principio los desleales obtienen mejores resultados porque explotan a los cooperadores y malgastan el CreditLimit que proporcionan los nodos basados en agentes. Tras 400 horas (alrededor de 17 días) los resultados de los cooperadores y (principalmente) de los nodos basados en agentes mejoran. Al final, los resultados de los desleales son la mitad de buenos que los de los demás. Por tanto, los nodos aprenden a eligir la estrategia basada en agentes como la más eficaz para evitar a los desleales (es decir, free-riders) y mejorar su tasa de transferencia diaria. Figura 6.10: Evolución de cooperadores (C), desleales (D) y nodos basados en agentes (A) (K = 4, 50 días, escenario aislado) (tomada de [Burguillo et al., 2006]) 6.4. Aproximación con sistemas multi-agente 127 Figura 6.11: Distribución espacial de cooperadores (C), desleales (D) y nodos basados en agentes (A) (K = 4, 50 días, escenario aislado) (tomada de [Burguillo et al., 2006]) Figura 6.12: Comparación de tasas de transferencia de cooperadores (C), desleales (D) y nodos basados en agentes (A) (K = 4, 50 días, escenario aislado) (tomada de [Burguillo et al., 2006]) 128 Capítulo 6. Estudio de la Compartición de Recursos en Redes de Usuarios 6.5. Aproximación más realista con sistemas multiagente En esta sección consideraremos distribuciones más realistas de las peticiones y las topologías de la red de usuarios. Compararemos estos resultados con los escenarios de las dos secciones anteriores. 6.5.1. Consideraciones sobre topología y tráfico en las redes de usuarios Para modelar una topología realista de una red de usuarios con tráfico P2P, empleamos el algoritmo para la planificación de redes de usuarios de la sección 5. En la figura 5.9 podemos ver una posible red de usuarios en Vigo, con 46 nodos, y sus correspondientes enlaces inalámbricos para la maximización del ancho de banda. Con respecto al tráfico, modelamos los tiempos transcurridos entre las demandas del nodo para la transferencia de trozos de archivo P2P (tanto entrantes como salientes) por medio de distribuciones Pareto, siguiendo el resultado de [Leland et al., 1994]. A continuación profundizaremos en los detalles. 6.5.2. Estrategias, escenarios y ajustes En este escenario, cada nodo tendrá tantos vecinos como se puede ver en la figura 5.9, y para hacerlo más realista, el ancho de banda de la conexión entre los vecinos vendrá dado por la distancia, como sucede con las conexiones IEEE 802.11. Los agentes mantienen la misma estrategia durante 24 horas, dado que los patrones de tráfico son similares para los diferentes días. Una vez transcurre un día, los nodos pueden cambiar de estrategia como se describe a continuación para los dos escenarios: Escenario con imitación: como se explica en la sección 6.2. Escenario aislado: como se explica en la sección 6.4.3, pero esta vez fijamos n = 5 porque, debido al aumento de complejidad, es necesario que los nodos exploren las estrategias en mayor profundidad que en las secciones anteriores. Modelamos ambos escenarios con diferentes estrategias, según lo explicado en la sección 6.2. En la sección 6.5.3, usando CreditLimit no adaptativo, utilizaremos las estrategias de deslealtad y cooperación con CreditLimit. Más adelante, en esa misma sección, con CreditLimit adaptativo utilizaremos las estrategias de deslealtad y basada en agentes. En lo referente a la distribución de demanda de los nodos, consideramos dos tipos A y B, también según lo definido en la sección 6.2. Fijamos los parámetros como sigue: Los nodos de tipo A generan tráfico de máxima actividad entre las 0h y las 12h, y de mínima actividad el resto del día. Los nodos de tipo B generan tráfico de máxima y mínima actividad de forma complementaria. 6.5. Aproximación más realista con sistemas multi-agente 129 Todos los nodos tienen un acceso DSL al exterior de 512 Kbps, es decir 18 Gbph. El tamaño de los trozos que utiliza P2P es de 512 KB (4 Mb). Durante los periodos de máxima y mínima actividad, la demanda media de los nodos es de 2880 Mbph y 360 Mbph, respectivamente. Así, el acceso exterior a lo largo del día está altamente cargado (sobre el 90 %). Los ajustes de la distribución Pareto para el tiempo transcurrido entre las demandas de trozos sucesivos (de entrada o de salida) son a = 2,5, b = 3,0 y c = 0 para periodos de máxima actividad (media=5 segundos, desviación estándar= 4,5 segundos) y a = 4,0, b = 30,0 y c = 0 (media=40 segundos, desviación estándar=14,14 segundos) para los periodos de mínima actividad. 6.5.3. Resultados 6.5.3.1. CreditLimit no adaptativo Utilizando los parámetros anteriores con sus respectivos valores, definimos un modelo con las estrategias de deslealtad y cooperación con CreditLimit que introdujimos en la sección 6.2. La tabla 6.1 muestra los porcentajes de cooperadores en estado permanente para diferentes valores de CreditLimit. Las gráficas resultantes son cóncavas en todos los casos. Escenario imitación aislado Límite de crédito (Mb) 0 180 1800 7200 36000 0 180 1800 7200 36000 Cooperadores en estado permanente ( %) 48 % 61 % 72 % 49 % 42 % 48 % 57 % 53 % 53 % 46 % Tabla 6.1: Cooperadores en estado permanente Observamos lo siguiente: En redes ideales, los escenarios con imitación y aislado se comportan como en la sección 6.3, es decir, una gráfica cóncava que alcanza un pico para cierto valor de límite de crédito. Cuanta mayor sea la información sobre los nodos vecinos (escenario con imitación), mayor será el nivel de compartición de recursos. En ambos escenarios, los porcentajes de ambas estrategias en estado permanente son similares a los que se obtienen cuando utilizamos un límite de crédito cercano 130 Capítulo 6. Estudio de la Compartición de Recursos en Redes de Usuarios a cero. Esto es lógico, puesto que un cooperador con límite de crédito cero equivale a un desleal. Según crece el límite de crédito, los desleales tienden a ser la mayoría. 6.5.3.2. CreditLimit adaptativo En la simulación anterior, todos los cooperadores utilizan el mismo límite de crédito. Sin embargo, en una aproximación realista con sistemas multi-agente, y según lo explicado en la sección 6.4.4, cada nodo aprende el mejor límite de crédito según su contexto, es decir, sus vecinos y su interacción con ellos. Por tanto, utilizaremos ahora un modelo con las estrategias de deslealtad y basada en agentes que introdujimos en la sección 6.2. Los agentes no pueden explorar exhaustivamente todos los valores posibles de límite de crédito, ya que un retraso en elegir un valor razonable podría degradar la tasa de transferencia de los nodos. Empleamos un algoritmo genético, similar al que se describió en la sección 6.4.4. Dado que, tras un cierto número de simulaciones, el mejor intervalo de CreditLimit era [1000, 5000] en todos los casos, el algoritmo utiliza los siguientes intervalos iniciales: [1000, 2000], [2000, 4000] y [4000, 5000]. Como mutación utiliza rand(−500, 500). Dicha mutación se aplica con una probabilidad que disminuye con el tiempo de simulación (la primera vez tiene lugar tras 24 horas de simulación, por lo que la probabilidad será siempre menor que 1). Usando esta adaptación de CreditLimit en los nodos cooperadores, obtenemos los resultados de la tabla 6.2, que muestran la media y la desviación estándar de los valores de CreditLimit tras 10 simulaciones. Los cooperadores aprenden los valores de CreditLimit, así como en los resultados anteriores con los autómatas celulares de la sección 6.3. Escenario Imitación Aislado Media del CreditLimit 1698 2818 Desviación estándar del CreditLimit 309,1 1084,2 Cooperadores en estado permanente ( %) 82 % 71 % Tabla 6.2: Cooperadores en estado permanente con CreditLimit adaptativo Observamos lo siguiente: La imitación da mejores resultados que cuando se usa un escenario aislado, debido a que los nodos comparten la información de su estado actual. En el escenario aislado, los resultados mejoran al dejar que los nodos aprendan su CreditLimit. Los peores resultados de la tabla 6.1 pueden deberse al hecho de que un CreditLimit global es inadecuado para algunos nodos cooperadores, dado que no todos tendrán los mismos tipos de enlaces y vecinos en una red no ideal. En la figura 6.13 se observa la evolución de los cooperadores y los desleales en el escenario con imitación. Representa un periodo de simulación de 100 días. El número de cooperadores aumenta y los porcentajes se estabilizan tras 23 días. 6.6. Conclusiones 131 Figura 6.13: Escenario con imitación con CreditLimit adaptativo. Los cooperadores ganan. El eje x representa el tiempo en segundos. Los porcentajes se hacen estables tras 23 días (tomada de [Burguillo et al., 2006:2]) En la figura 6.14 se observa la evolución de los cooperadores y los desleales en el escenario aislado. Observamos oscilaciones iniciales hasta que los nodos determinan su mejor estrategia y sus valores de CreditLimit. Tras 58 días, la cooperación emerge como la estrategia preferida. 6.6. Conclusiones En este capítulo hemos presentado una abstracción del problema de la compartición de recursos en redes de usuarios. Hemos abstraído algunas de las características principales de un red de usuarios para obtener un modelo válido más simple. La sección 6.3 demuestra que los autómatas celulares estocásticos simples se aproximan en el escenario aislado al máximo de cooperación que se logra en el escenario con imitación. Este hecho nos animó a estudiar algoritmos con mayor grado de decisión, como los sistemas multi-agente de las secciones 6.4 y 6.5. Con la aproximación de la sección 6.4, los agentes aprenden y fijan sus propios límites de crédito. En el escenario con imitación, casi todos los nodos seleccionaron la estrategia basada en agentes. En el escenario aislado, donde los nodos no comparten la información, los nodos que cooperan (los cooperadores y los basados en agentes) son mayoría, e incluso son más que en la aproximación anterior con autómatas celulares. Por tanto, concluimos que la aproximación con sistemas multi-agente para la compartición de recursos en las redes de usuario es una buena opción, porque los nodos basados 132 Capítulo 6. Estudio de la Compartición de Recursos en Redes de Usuarios Figura 6.14: Escenario aislado con CreditLimit adaptativo. Los cooperadores ganan. El eje x representa el tiempo en segundos. Los porcentajes se hacen estables tras 58 días (tomada de [Burguillo et al., 2006:2]) en agentes alcanzan la mayoría gracias a su adaptación del límite de crédito. Dados estos resultados, decidimos adoptar un escenario más realista para la red de usuarios de la sección 6.5. Aun cuando los resultados con este escenario no fueron tan buenos como en la sección 6.4, demuestran que la cooperación es todavía la estrategia preferida. Como conclusión principal, hemos observado que la cooperación puede ser ventajosa en una red de usuarios si las demandas de tráfico varían a lo largo del día. Esto es una asunción válida en Internet. Además, la selección de la estrategia basada en agentes con gestión individualizada del límite de crédito proporciona los mejores resultados para cada usuario y la red en general, dado que la cooperación emerge como la estrategia preferida. Capı́tulo 7 Conclusiones y Trabajos Futuros Contenido 7.1. Conclusiones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 133 7.1.1. Métodos matemáticos para la planificación de puntos de acceso para maximizar la cobertura . . . . . . . . . . . . . . . . . . . 133 7.1.2. Planificación de enlaces para la maximización del ancho de banda en redes de usuarios . . . . . . . . . . . . . . . . . . . . 134 7.1.3. Estudio de la compartición de recursos en redes de usuarios . . 134 7.2. Trabajos futuros . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 135 En este capítulo resumimos los resultados principales de la tesis. Asimismo, proponemos posibles líneas futuras en el ámbito de nuestro trabajo. 7.1. Conclusiones La principal conclusión que se extrae en esta tesis es que la planificación y la compartición de recursos en redes malladas es un campo de estudio amplio, novedoso y no lo suficientemente estudiado. Se han propuesto diferentes líneas de trabajo, y se han conseguido los objetivos iniciales (sección 1.1), afianzándolos con aportaciones académicas. 7.1.1. Métodos matemáticos para la planificación de puntos de acceso para maximizar la cobertura Las aproximaciones habituales para la planificación de redes en exteriores seguían para la colocación de los puntos de acceso métodos tales como el aprendizaje previo por prueba y error, o heurísticos como neighborhood search o simulated annealing, detallados en la sección 4.3.1. Los métodos de descenso de gradiente se desechaban explícitamente porque la función objetivo no era diferenciable (non-smooth). 134 Capítulo 7. Conclusiones y Trabajos Futuros Nuestro trabajo ha propuesto un método de minimización sin restricciones y sin derivadas. Los resultados de la sección 4.4.2 demuestran que este método supera a los propuestos anteriormente. Aun así adolecía de lentitud para la obtención de los resultados en nuestra primera aproximación. Para solucionar este problema hemos ideado una mejora de los métodos (previos y propios, para una comparación justa), basada en una búsqueda por zonas como se muestra en la sección 4.4.3. Con esta mejora nuestro método sigue siendo superior a sus competidores. Concluimos, por tanto, esta parte de la tesis con la presentación de un nuevo método para la planificación de la posición de puntos de acceso, que en comparación con sus competidores consigue aumentar la cobertura en un escenario exterior dado. 7.1.2. Planificación de enlaces para la maximización del ancho de banda en redes de usuarios La redes de usuario urbanas carecen de planificación previa, debido mayormente a la falta de una autoridad central que controle las frecuencias de los puntos de acceso, y los enlaces que se establecen. Nuestro trabajo parte de la elección de un modelo, basado en un nodo básico, sección 5.2. Este nodo se compone de un punto de acceso, un número de tarjetas inalámbricas, un router y una red. Gracias a una serie de reglas básicas (sección 5.2.3), llegamos a un método distribuido y otro centralizado (basado en un modelo matemático de optimización) que evitan en la medida de lo posible la interferencia en el mismo canal y entre canales. Comparando los resultados de estos métodos vemos que el centralizado es mejor, pero el distribuido obtiene resultados suficientemente buenos y lo pueden implementar los propios nodos básicos. Posteriormente mejoramos el algoritmo de planificación centralizado (sección 5.6), reduciendo aun más la interferencia a costa de un mayor tiempo de ejecución y un modelo matemático mucho más complejo. Por tanto, se han expuestos diferentes modelos para la creación de redes de usuarios con elevado ancho de banda, gracias a unas normas que restringen la creación de los enlaces, para maximizar calidad y reducir las interferencias. 7.1.3. Estudio de la compartición de recursos en redes de usuarios Estudiamos la compartición de recursos en las redes de usuarios. El recurso compartido puede ser la conexión de los nodos básicos a Internet, que durante periodos de desocupación se puede ceder a los vecinos, a cambio de una compensación futura. Empezamos el estudio con un modelo básico en un escenario sencillo basado en autómatas celulares, sección 6.3, para posteriormente mejorarlo con agentes, sección 6.4. Los resultados demuestran que la compartición de recursos es una estrategia beneficiosa para los nodos, incluso en presencia de nodos desleales. La compartición se acentúa cuando se emplea una estrategia que permite que los nodos varíen el límite de crédito de sus vecinos según la información del pasado. Para ello se emplea el algoritmo de la sección 6.4.4. 7.2. Trabajos futuros 135 Por último, se prueba la versión con agentes en un escenario más realista, que resulta de la planificación de enlaces, como se puede ver en la sección 6.5. Se observa que, debido al carácter más realista de la red y la asimetría de las conexiones de los nodos con los vecinos, los resultados no son tan buenos como en la red ideal. Aún así, la cooperación resulta la estrategia más elegida. Concluimos que la cooperación es beneficiosa en las redes de usuario, independientemente de si el estudio se hace con autómatas o agentes, o si el escenario es realista o no. Esto ocurre independientemente de que la información para elegir la estrategia se obtenga de los nodos vecinos o de la propia experiencia de los nodos. 7.2. Trabajos futuros A lo largo de esta tesis hemos estudiado la planificación y compartición de recursos en redes malladas. Nos hemos basado en las tecnologías Wi-Fi, que avanzan con nuevos estándares como IEEE 802.11g e IEEE 802.11n, aparte de la aparición de WiMAX en un futuro cercano. Por eso uno de los trabajos futuros sería la adaptación de todos los estudios de esta tesis a tecnologías más actuales. Esto conllevaría cambios en las distancias de cobertura de los puntos de acceso en el capítulo 4. También influiría notablemente en el tratamiento de la interferencia, tanto co-canal como inter-canal, que se estudió en el capítulo 5, cuando se trató la planificación de las redes de usuario. Habría que estudiar la utilización de los canales, y cómo afecta la interferencia para estándares superiores a IEEE 802.11b. En cuanto al estudio de compartición de recursos en redes de usuario, el cambio de estándar tendría una mínima repercusión. Solo afectaría a la sección 6.5, donde se siguió una aproximación más realista al problema. Otros posibles trabajos futuros dentro de la planificación de posicionamiento de puntos de acceso, tratada en el capítulo 4, consistirían en la mejora del método de optimización matemático, en busca tanto mejores resultados como menor tiempo de cómputo. Es factible estudiar el comportamiento de algún otro método matemático y compararlo con los estudiados en esta tesis. Se podría plantear el cambio de escenario, incluso la introducción de un modelo de una ciudad, pero esto complicaría enormemente la determinación de la visibilidad, dado que ahora se realiza a través de una fórmula matemática sencilla que deberíamos sustituir por otro método más costoso computacionalmente. Por último, y como opción interesante para una posible planificación real, se podría adaptar el simulador para que calculara el número de puntos de acceso necesarios (actualmente es un dato fijo al principio de la simulación) para conseguir un porcentaje requerido de cobertura en un escenario dado. Como posibles ampliaciones al estudio de planificación de enlaces de redes de usuarios del capítulo 5, se podría pensar en un protocolo para que los nodos básicos tomen decisiones sobre frecuencias o enlaces. También sería interesante formalizar los cambios necesarios en la capa MAC para cumplir los requisitos de las reglas expuestas en la sección 5.2.2. Por último, se podría introducir usuarios móviles en el escenario, modelar su comportamiento y estudiar la influencia que tendrían en las redes de usuario. Asimismo sería interesante aplicar nuestro estudio en el campo de la planificación de enlaces al futuro subestándar 802.11s [IEEE 802.11s, WWW]. Dicho subestándar aun 136 Capítulo 7. Conclusiones y Trabajos Futuros está en periodo de desarrollo, y su finalidad es unificar las redes malladas. Especificará una extensión de la capa MAC de IEEE 802.11 para resolver problemas de interoperabilidad. Define para ello una arquitectura y un protocolo que permiten tanto transmisiones unicast como multicast, dentro de redes radio autoconfigurables. Utiliza como métrica los saltos necesarios para llegar de origen a destino. Como extensiones del trabajo del capítulo 6 sobre la compartición de recursos en redes de usuario, se podría estudiar la mejora de los algoritmos de los agentes para la selección tanto de la estrategia de compartición de recursos como del límite de crédito. Asimismo, sería interesante estudiar las distribuciones espaciales de grupos de usuarios con la misma estrategia, las condiciones que llevan a la formación de dichas distribuciones, y su variación a lo largo del tiempo. Por último, en la sección 6.5, donde se aborda el problema en un escenario más realista, se podría cambiar la distribución del tiempo entre demandas de tráfico y tratar de determinar por qué los resultados de compartición son peores que en redes ideales. Una interesante e innovadora línea futura sería la aplicación del estudio sobre compartición de recursos del capítulo 6 a redes móviles, donde los agentes no permanecen fijos en celdas asignadas, sino que pueden cambiar de posición a lo largo del tiempo. Las redes C2C (Car 2 Car, de coche a coche) [Gerla, 2005] son las que tienen más auge dentro de este campo. Bibliografía [Adar y Huberman, 2000] E. Adar y B.A. Huberman, Free riding on Gnutella, Technical report, Xerox PARC, 2000. [Agentcities, WWW] Agentcities, 2005, http://www.agentcities.org. [Agentes Software y Sistemas Multi-Agente, 2005] Agentes Software y Sistemas MultiAgente: Conceptos, Arquitecturas y Aplicaciones, Pearson Educación S.A., Madrid, 2005. ISBN: 84-205-4367-5. [Agentlink, WWW] Agentlink, 2005, http://www.agentlink.org. [Almgren et al., 1996] M. Almgren, M. Frodigh, S. Magnusson y K. Wallstedt, Slow adaptive channel allocation for automatic frequency planning, Proceedings 5th IEEE International Conference on Universal Personal Communications (ICUPC) 1996, Cambridge, Massachusetts, USA, volumen 1, páginas 260–264, Septiembre– Octubre 1996. [Androutsellis y Spinellis, 2004] S. Androutsellis-Theotokis y D. Spinellis, A survey of Peer-to-Peer Content Distribution Technologies, ACM Computing Surveys, volumen 36, número 4, páginas 335–371, Diciembre 2004. [Athens Wireless, WWW] Wireless Athens Group, http://www.nmi.uga.edu/research. [Axelrod, 1984] R. Axelrod, The evolution of Cooperation, Basic Books, Nueva York, 1984. ISBN: 04-650-2121-2. [Bernstein et al., 2002] P. Bernstein, F. Giunchiglia, A. Kementsietsidis, J. Mylopoulos, L. Serafini y I. Zaihrayeu, Data management for peer-to-peer computing: A vision, Proceedings of the Workshop on the Web and Databases (WebDB), 2002. [Bertsekas, 1995] D.P. Bertsekas, Nonlinear programming, Athena Scientific, Belmont, Mass, 1995. ISBN: 1-886529-00-0. [Binmore, 1994] K. Binmore, Teoría de Juegos, Mc Graw Hill, 1994. ISBN: 0-66924603-4. [BitTorrent, WWW] The official BitTorrent page, http://www.bittorrent.com. 138 BIBLIOGRAFÍA [Boinc project, WWW] The Boinc project web site, 2006, http://boinc.berkeley.edu/. [Box, 1978] F. Box, A heuristic technique for assigning frequencies to mobile radio nets, IEEE Transactions on Vehicular Technology, volumen VT-27, número 2, páginas 57–64, Mayo 1978. [Burguillo et al., 2004] J.C. Burguillo-Rial, F.J. González-Castaño, E. CostaMontenegro, y J. Vales-Alonso. Agent-Driven Resource Optimization in User Networks: a Game Theoretical Approach, Lecture Notes in Computer Science (LNCS), volumen 3305, páginas 335–344, 2004, Proceedings 6th International Conference on Cellular Automata for Research and Industry (ACRI), 2004. [Burguillo et al., 2006] J.C. Burguillo-Rial, E. Costa-Montenegro y F.J. GonzálezCastaño, A Multi-Agent Approach to Resource Sharing Optimization in User Networks, Lecture Notes in Artificial Intelligence (LNAI), volumen 3993, páginas 815– 822, 2006, Proceedings International Conference on Computational Science (ICCS), Reading, UK, Mayo 2006. [Burguillo et al., 2006:2] J.C. Burguillo-Rial, E. Costa-Montenegro, F.J. GonzálezCastaño y J. Vales-Alonso, Agent-Controlled Distributed Resource Sharing to Improve P2P File Exchanges in User Networks, Lecture Notes in Computer Science (LNCS), volumen 4252, páginas 659-669, 2006, Proceedings 10th International Conference on Knowledge-Based & Intelligent Information & Engineering Systems (KES), Bournemouth, UK, Octubre 2006. [Castro et al., 2002:2] M. Castro, P. Druschel, A. Ganesh, A. Rowstron, y D.S. Wallach, Security for Structured P2P Overlay Networks, Proceedings of Multimedia Computing and Networking, 2002. [Castro et al., 2002] M. Castro, P. Druschel, A.M. Kermarree y A. Rowstron, Scribe: A large-scale and decentralized application-level multicast infrastructure, IEEE Journal on Selected Areas in Communications, volumen 20, número 8, páginas 1489– 1499, Octubre 2002. [Chen y Gilbert, 2001] J.C. Chen y J.M. Gilbert, Measured Performance of 5-GHz 802.11a Wireless LAN Systems, Atheros Communications white paper, 2001. [Chu et al., 2004] Y.H. Chu, J. Chuang y H. Zhang, A Case for Taxation in Peer-to-Peer Streaming Broadcast, Proceedings of the ACM SIGCOMM Workshop on Practice and Theory of Incentives in Networked Systems (PINS), Portland, Oregon, USA, Agosto 2004. [CMT, WWW] Resolución de la CMT, http://www.cmt.es/busca/Serv/document/decisiones/2005/RE-05-06-29-00.pdf. [Condor project, WWW] The Condor project web site, 2006, http://www.cs.wisc.edu/condor/. BIBLIOGRAFÍA 139 [Correia, 2001] M. Correia (ed.), Wireless Flexible Personalised Communications, Cost 259: European Cooperation in Mobile Radio Research, John Wiley & Sons, 2001. ISBN: 0471 49836 X. [COST 231] Urban Transmission Loss Models for Mobile Radio in the 900 and 1800 MHz Bands, European Corporation in the Field of Scientific and Technical Research EURO-COST 231, TD(91)73, Septiembre 1991. [Costa et al., 2004] E. Costa-Montenegro, F.J. González-Castaño, U. García-Palomares, M. Vilas-Paz y P.S. Rodríguez-Hernández, Distributed and Centralized Algorithms for Large-Scale IEEE 802.11b Infrastructure Planning, Proceedings 9th International Symposium on Computers and Communications (ISCC), volumen 1, páginas 484–491, Alejandría, Egipto, Julio 2004. [Costa et al., 2005] E. Costa-Montenegro, F.J. González-Castaño, P.S. RodríguezHernández y J.C. Burguillo-Rial, Optimization of IEEE 802.11 Resource-Sharing Meshes with Interference Constraints, Proceedings IEEE BWAN 2005, Orlando, Florida, Junio 2005. [Costa et al., 2006] E. Costa-Montenegro, J.C. Burguillo-Rial, F.J. González-Castaño y J. Vales-Alonso, Agent-Controlled Sharing of Distributed Resources in User Networks, Intelligent Agents and Computational Intelligence, Serie “Studies in Computational Intelligence”, Springer Verlag. En revisión. [Doblado et al., 2003] J.M. Doblado, C. Bieto y J. Santos, Juegos de Estrategia, UNED, 2003. [Duque-Anton et al., 1993] M. Duque-Anton, D. Kunz y B. Ruber, Channel assignment for cellular radio using simulated annealing, IEEE Transactions on Vehicular Technology, volumen 42, número 1, páginas 14–21, Febrero 1993. [Emule, WWW] Sitio oficial de Emule, http://www.emule-project.net/. [Feldman et al., 2004] M. Feldman, K. Lai, I. Stoica y J. Chuang, Robust Incentive Techniques for Peer-to-Peer Networks, Proceedings of the 5th ACM Conference on Electronic Commerce (EC’04), Nueva York, 2004. [Ferber, 1999] J. Ferber, Multi-Agent Systems: an Introduction to Distributed Artificial Intelligence, Addison-Wesley, 1999. ISBN: 0-201-36048-9. [FON, WWW] The FON network website, 2006, http://www.fon.com/. [Frullone et al., 1996] M. Frullone, G. Riva, P. Grazioso y G. Falciasecca, Advanced planning criteria for cellular systems, IEEE Personal Communications, volumen 3, número 6, páginas 10–15, Diciembre 1996. [Fudenberg y Tirole, 1991] D. Fudenberg y J. Tirole, Game Theory, MIT Press, Cambridge, 1991. ISBN: 0262061414. 140 BIBLIOGRAFÍA [GAMS, WWW] General Algebraic Modeling System (GAMS), http://www.gams.com/. [Gamst et al., 1985] A. Gamst, R. Beck, R. Simon y E.G. Zinn, An integrated approach to cellular network planning, Proceedings 35th IEEE Vehicular Technology Conference, volumen 35, páginas 21–25, Boulder, Colorado, 1985. [Gamst, 1987] A. Gamst, Remarks on radio network planning, Proceedings 37th IEEE Vehicular Technology Conference, volumen 37, páginas 160–165, Junio 1987. [Garcia-Palomares et al., 2006] U.M. García-Palomares, F.J. González-Castaño y J.C. Burguillo-Rial, A combined global and local search approach to global optimization, Journal of Global Optimization, volumen 34, número 3, páginas 409–426, Marzo 2006. ISSN: 0925-5001. [Garcia-Palomares y Rodriguez, 2002] U.M. García-Palomares y J.F. Rodríguez, New sequential and parallel derivative free algorithms for unconstrained minimization, SIAM Journal on Optimization, volumen 13, número 1, páginas 79–96, 2002. [Gast, 2002] M.S. Gast, 802.11 Wireless Networks, The Definitive Guide, O´Reilly, 2002. ISBN: 0596001835. [Genome@home, WWW] The genome@home http://genomeathome.stanford.edu/. project web site, 2003, [Gerla, 2005] Mario Gerla, From battlefields to urban grids: new research challenges in ad hoc wireless networks, Pervasive and Mobile Computing, volumen 1 , número 1, páginas 77–93, Marzo 2005. Elsevier Science Publishers. [Gilbert y Doran, 1994] N. Gilbert y J. Doran, editores, Simulating Societies: the computer simulation of social phenomena, UCL Press, Londres, 1994. ISBN: 1-85728082-2. [Golle et al., 2001] P. Golle, K. Leyton-Brown y I. Mironov, Incentives for Sharing in Peer-to-Peer Networks, Lecture Notes in Computer Science, volumen 2232, ACM Conference on Electronic Commerce, 2001. [González et al., 2006] F.J. González-Castaño, E. Costa-Montenegro, J.C. Burguillo-Rial y U. García-Palomares, Outdoor WLAN Planning via Non-Monotone DerivativeFree Optimization: Algorithm Adaptation and Case Study, Computational Optimization and Applications, en imprenta, 2006. [Gu y Jarvenpaa, 2003] B. Gu y S. Jarvenpaa, Are Contributions to P2P Technical Forums Private or Public Goods? - An Empirical Investigation, Proceedings 1st Workshop on Economics of Peer-to-Peer Systems, 2003. [Hakengard y Hjalmar, 2006] J.E. Hakengard y P.E. Lehne, Co-channel interference and its impact on multi-cell IEEE 802.11a/g coverage and capacity, Proceedings 15th IST Mobile & Wireless Communication Summit, Mykonos, Grecia, Junio 2006. BIBLIOGRAFÍA 141 [Halevy et al., 2003] A.Y. Halevy, Z.G. Ives, P. Mork y I. Tatarinov, Piazza: Data management infrastructure for semantic web applications, Proceedings of the 12th International Conference on World Wide Web, páginas 556–567, Budapest, Hungria, 2003. [Hardin, 1968] G. Hardin, The Tragedy of the Commons, Science, volumen 162, número 3859, páginas 1243–1248, 1968. [Hata, 1980] M. Hata, Empirical formula for propagation loss in land mobile radio services, IEEE Transactions on Vehicular Technology, volumen 29, número 3, páginas 317–325, Agosto 1980. [Hills, 2001] A. Hills, Large-Scale Wireless LAN Design, IEEE Communications Magazine, volumen 39, número 11, páginas 98–104, Noviembre 2001. [Hoffmann, 2000] R. Hoffmann, Twenty years on: The evolution of cooperation revisited, Journal of Artificial Societies and Social Simulation, volumen 3, número 2, 2000. [HP WL520, WWW] HP enterprise access point WL520, http://www.compaq.com/products/quickspecs/11487_div/11487_div.html. [Hubaux et al., 2001] J.P. Hubaux, T. Gross, J.Y.L. Boudec y M. Vetterli. Towards selforganized mobile ad-hoc networks: the terminodes project, IEEE Communications Magazine, volumen 31, número 1, páginas 118–124, 2001. [Huebsch et al., 2003] R. Huebsch, J.M. Hellerstein, N. Lanham y B. Thau Loo, Querying the Internet with pier, Proceedings of the 29th International Conference on Very Large Databases (VLDB), Berlin, Alemania, 2003. [IEEE 802.11, WWW] IEEE 802.11, http://grouper.ieee.org/groups/802/11/. [IEEE 802.11s, WWW] IEEE 802.11s, http://en.wikipedia.org/wiki/IEEE_802.11s. [IEEE 802.11 Standard, WWW] IEEE 802.11 LAN/MAN Wireless LANs Standard, http://standards.ieee.org/getieee802/download/802.11-1999.pdf. [IEEE 802.16, WWW] IEEE 802.16, Working Group on Broadband Wireless Access, http://www.ieee802.org/16/. [ISI, WWW] ISI web of knowledge, 2006, http://portal.isiknowledge.com. [Janakiraman et al., 2003] R. Janakiraman, M. Waldvogel y Q. Zhang, Indra: A peer-topeer approach to network intrusion detection and prevention, Proceedings of 12th IEEE WET ICE Workshop on Enabling Technologies: Infrastructure for Collaborative Enterprises, Linz, Austria, Junio 2003. [Kamenetsky y Unbehaun, 2002] M. Kamenetsky y M. Unbehaun, Coverage Planning for Outdoor Wireless LAN Systems, Proceedings International Zurich Seminar on Broadband Communications, páginas 49.1–49.6, Zurich, 2002. 142 BIBLIOGRAFÍA [Kazaa, WWW] Kazaa news, http://www.kazaa.com/us/news/index.htm. [Kazaa Ratio, WWW] Kazaa participation ratio, http://www.kazaa.com/us/help/glossary/participation_ratio.htm. [Keromytis et al., 2002] A. Keromytis, V. Misra y D. Rubenstein, SOS: Secure overlay services, Proceedings of the ACM SIGCOMM’02 Conference, Pittsburgh, Agosto 2002. [Korilis et al., 1995] Y. Korilis, A. Lazar y A. Orda, Architecting Noncooperative Networks, IEEE Journal on Selected Areas in Communications, volumen 13, número 7, páginas 1241–1251, 1995. [Kouhbor et al., 2005] S. Kouhbor, J. Ugon, A. Kruger y A. Rubinov, Optimal Placement of Access Point in WLAN Based on a New Algorithm, International Conference on Mobile Business, Sydney, Australia, Julio 2005. [Kraus, 2001] S. Kraus, Strategic Negotiation in Multiagent environments, MIT Press, 2001. ISBN: 0262112647. [Kulbak y Bickson, 2005] Y. Kulbak y D. Bickson, The eMule Protocol Specification, 2005. http://leibniz.cs.huji.ac.il/tr/acc/2005/HUJI-CSE-LTR-2005-3_emule.pdf. [Larson et al., 2003] S.M. Larson, C. Snow y V.S. Pande, Modern Methods in Computational Biology, chapter Folding@Home and Genome@Home: Using distributed computing to tackle previously intractable problems in computational biology, Horizon Press, 2003. [Lee, 1990:1] W.C.Y. Lee, Mobile Cellular Telecommunications System, McGraw-Hill, página 61, 1990. ISBN: 0070370303. [Lee, 1990:2] W.C.Y. Lee, Mobile Cellular Telecommunications System, McGraw-Hill, páginas 194–199, 1990. ISBN: 0070370303. [Lee et al., 2002] Y. Lee, K. Kim y Y. Choi, Optimization of AP Placement and Channel Assignment in Wireless LANs, Proceedings 27th IEEE Conference on Local Computer Networks, volumen 27, páginas 831–836, 2002. [Leland et al., 1994] W.E. Leland, M.S. Taqqu, W. Willinger y D.V. Wilson, On the SelfSimilar Nature of Ethernet Traffic, IEEE/ACM Transactions on Networking, volumen 2, número 1, páginas 1–15, Febrero 1994. [Lewis y Torczon, 1999] R.M. Lewis y V. Torczon, Pattern search algorithms for bound constrained minimization, SIAM Journal on Optimization, volumen 9, número 4, páginas 1082–1099, 1999. [Li et al., 2003] Y. Li, X. Wang y S.A. Mujtaba, Co-channel Interference Avoidance Algorithm in 802.11 Wireless LANs, Proceedings 58th IEEE Vehicular Technology Conference, 2003. BIBLIOGRAFÍA 143 [Ling y Yeung, 2005] X. Ling y K.L. Yeung, Joint Access Point Placement and Channel Assignment for 802.11 Wireless LANs, IEEE Wireless Communications and Networking Conference (WCNC), volumen 3, páginas 1583–1588, 2005. [Locatelli, 2000] M. Locatelli, Simulated annealing algorithm for continuous global optimization: Convergence conditions, Journal of Optimization Theory and Applications, volumen 104, páginas 121–133, 2000. [Lopez et al., 2005] L. López-Fernández, G. del Rey-Almansa, S. Paquelet y A. Fernández, A Mathematical Model for the TCP Tragedy of the Commons, Theoretical Computer Science, volumen 343, número 1-2, páginas 4–26, Octubre 2005. [Luck et al., 2005] M. Luck, P. McBurney, O. Sherhory y S. Willmottand, Agent Technology: Computing as Interaction (a Roadmap for Agent Based Computing), AgentLink, 2005. [Leganes Wireless, WWW] Leganes Wireless, http://www.leganeswireless.com/. [Maes, 1994] P. Maes, Agents that reduce work and information overload, Communications of the ACM, volumen 37, número 7, páginas 31–40, 1994. [Magnusson y Olofsson, 1997] S. Magnusson y H. Olofsson, Dynamic neighbor cell list planning in a microcellular network, Proceedings IEEE 6th International Conference on Universal Personal Communications (ICUPC), volumen 1, páginas 223–227, San Diego, California, Octubre 1997. [Mateus et al., 2001] G.R. Mateus, A.F. Loureiro y R.C. Rodrigues, Optimal Network Design for Wireless Local Area Network, Annals of Operations Research, volumen 106, páginas 331–345, 2001. [MIT Roofnet, WWW] MIT Roofnet, http://www.pdos.lcs.mit.edu/roofnet. [Moss y Davidson, 2001] S. Moss y P. Davidson, editores, Multi-Agent-Based Simulation, Springer, Berlin, 2001. ISBN: 354041522X. [Narendra y Thathachar,1989] K.S. Narendra y M.A.L. Thathachar, Learning Automata: An Introduction, Prentice-Hall 1989. ISBN: 0134855582. [Negroponte, 2002] N. Negroponte, Being Wireless, Wired Magazine, 10.10, Octubre 2002. [Nejdl et al., 2002] W. Nejdl, B. Wolf, C. Qu, S. Decker, M. Sintek, A. Naeve, M. Nilsson, M. Palmer y T. Risch, Edutella: A P2P networking infrastructure based on RDF, Proceedings of the 11th International Conference on World Wide Web, páginas 604–615, Honolulu, Hawaii, USA, 2002. [Nocedal y Wright, 1999] J. Nocedal y S.J. Wright, Numerical optimization, SpringerVerlag, New York, 1999. ISBN: 0387987932. 144 BIBLIOGRAFÍA [Noriega y Sierra, 1999] P. Noriega y C. Sierra, editores, Agent Mediated Electronic Commerce, Lecture Notes in Artificial Intelligence 1571, Springer, 1999. [Okumura et al., 1968] Y. Okumura, E. Ohmori, T. Kawano y K. Fukuda, Field strength and its variability in the VHF and UHF land mobile service, Review Electronic Communication Laboratories, volumen 16, número 9, páginas 825–873, 1968. [Olofsson et al., 1996] H. Olofsson, S. Magnusson y M. Almgren, A concept for dynamic neighbour cell list planning in a cellular system, Proccedings 7th IEEE International Symposium on Personal, Indoor and Mobile Radio Communications (PIMRC), volumen 1, páginas 138–142, Taipei, Taiwan, Octubre 1996. [Orda et al., 1993] A. Orda, R. Rom y N. Shimkin, Competitive Routing in Multiuser Communication Networks, IEEE/ACM Transactions on Networking, volumen 1, número 5, páginas 510–521, 1993. [Osborne y Rubinstein, 1994] M.J. Osborne y A. Rubinstein, A Course in Game Theory, MIT Press, 1994. ISBN: 0262650401. [Owen, 1995] G. Owen, Game Theory (third ed.), Academic Press, Nueva York, 1995. ISBN: 0125311516. [Panda et al., 2005] M.K. Panda, A. Kumar y S.H. Srinivasan, Saturation Throughput Analysis of a System of Interfering IEEE 802.11 WLANs, Proceedings 6th International Symposium on a World of Wireless Mobile and Multimedia Networks (WoWMoM), páginas 98–108, 2005. [Rajala et al., 1999] J. Rajala, K. Sipila y K. Heiska, Predicting in-building coverage for micro-cells and small macro-cells, Proceedings IEEE 49th Vehicular Technology Conference, volumen 1, páginas 180–184, Houston, Texas, Mayo 1999. [Rodrigues et al., 2000] R.C. Rodrigues, G.R. Mateus y A.A.F. Loureiro, On the design and capacity planning of a wireless local area network, Proceedings Network Operations and Management Symposium, páginas 335–348, Hawaii, Abril 2000. [Roumeliotis y Bekey, 2002] S.I. Roumeliotis y G.A. Bekey, Distributed multirobot localization, IEEE Transactions on Robotics and Automation, volumen 18, número 5, páginas 781–795, 2002. [Runser et al., 2003] K. Runser, E. Jullo y J.M. Gorce, Wireless LAN planning using the multi-resolution “FDPF” propagation model, Proceedings 12th International Conference on Antennas and Propagation (ICAP), volumen 1, número 491, páginas 80– 83, 2003. [Russell y Norvig, 2002] S.J. Russell y P. Norvig, Artificial Intelligence: a Modern Approach, Prentice Hall, 2nd edition, 2002. ISBN: 0137903952. [Sandholm, 1999] T. Sandholm, Distributed rational decision making, in G. Weiss, editor, Multiagent Systems: A Modern Introduction to Distributed Artificial Intelligence, páginas 201-258. MIT Press, 1999. ISBN: 0262731312. BIBLIOGRAFÍA 145 [Sarkar y Sivarajan, 2002] S. Sarkar y K.N. Sivarajan, Channel Assignment Algorithms Satisfying Cochannel and Adjacent Channel Reuse Constraints in Cellular Mobile Networks, IEEE Transactions on Vehicular Technology, volumen 51, número 5, páginas 954–967, 2002. [Schaerf et al., 1995] A. Schaerf, Y. Shoham y M. Tennenholtz, Adaptive Load Balancing: A Study in Multi-Agent Learning, Journal of Artificial Intelligence Research, volumen 2, páginas 475-500, 1995. [Schweitzer et al., 2002] F. Schweitzer, J. Zimmermann y H. Muhlenbein, Coordination of decisions in a spatial agent model, Physica A, volumen 303, número 1, páginas 189–216, 2002. [Schweitzer et al., 2003] F. Schweitzer, L. Behera y H. Muhlenbein, Evolution of Cooperation in a Spatial Prisioner’s Dilemma, Advances in Complex Systems, volumen 5, número 2, páginas 269-299, 2003. [Stoica et al., 2002] I. Stoica, D. Adkins, S. Zhuang, S. Shenker y S. Surana, Internet indirection infrastructure, Proceedings of the ACM SIGCOMM’02 Conference, volumen 32, número 4, páginas 73–86, Pittsburgh, PA, Agosto 2002. [Sullivan III et al., 1997] W.T. Sullivan III, D. Werthimer, S. Bowyer, J. Cobb, D. Gedye y D. Anderson, A new major SETI project based on project serendip data and 100,000 personal computers, Proceedings of the 5th International Conference on Bioastronomy, 1997. [Sycara, 1998] K. Sycara, Multiagent Systems, AI Magazine, volumen 10, número 2, páginas 79–93, 1998. [Tamilmani et al., 2003] K. Tamilmani, V. Pai y A. Mohr, SWIFT: A System with Incentives for Trading, Proceedings 2nd Workshop of Economics in Peer-to-Peer Systems, 2003. [Terzopoulos, 1999] D. Terzopoulos, Artificial life for computer graphics, Communications of the ACM, volumen 42, número 8, páginas 32–42, 1999. [Unbehaun y Kamenetsky, 2003] M. Unbehaun y M. Kamenetsky, On the deployment of picocellular wireless infrastructure, IEEE Wireless Communications, volumen 10, número 6, páginas 70–80, Diciembre 2003. [VanRenesse et al., 2003] R. VanRenesse, K.P. Birman, A. Bozdog, D. Dimitriu, M. Singh y W. Vogels, Heterogeneity-aware peer-to-peer multicast, Proceedings of the 17th International Symposium on Distributed Computing (DISC), Sorrento, Italia, Octubre 2003. [Vlachos et al., 2004] V. Vlachos, S. Androutsellis-Theotokis and D. Spinellis, Security applications of peer-to-peer networks, Computer Networks Journal, volumen 45, número 2, páginas 195–205, 2004. 146 BIBLIOGRAFÍA [von Neumann y Morgenstern, 1944] J. von Neumann y O. Morgenstern, editores, The Theory of Games and Economic Behavior, Princeton University Press, 1944. [Walton et al., 1998] R. Walton, M. Wallace y S. Howard, CDMA downlink performance issues, Proceedings 9th IEEE International Symposium on Personal, Indoor and Mobile Radio Communications (PIMRC), volumen 1, páginas 308–312, Boston, Massachusetts, Septiembre 1998. [WebCache, WWW] WebCache, Wikipedia, http://es.wikipedia.org/wiki/Webcache. [Wei et al., 1999] Q.X. Wei, K. Gong y B.X. Gao, Ray-tracing models and techniques for coverage prediction in urban environments, Proceedings Asia Pacific Microwave Conference (APMC), volumen 3, páginas 614–617, Singapur, Noviembre/Diciembre 1999. [Weiss, 1999] G. Weiss, editor, Multi-Agent Systems, The MIT Press, 1999. ISBN: 0262731312. [WEP, WWW] Wired Equivalent Privacy, Wikipedia, http://es.wikipedia.org/wiki/WEP. [Wertz et al., 2004] P. Wertz, M. Sauter, G. Wölfle, R. Hoppe y F.M. Landstorfer, Automatic Optimization Algorithms for the Planning of Wireless Local Area Networks, Proceedings 60th IEEE Vehicular Technology Conference (VTC), volumen 4, páginas 3010–3014, Los Angeles, Octubre 2004. [Wi-Fi, WWW] Wi-Fi Alliance, http://www.wi-fi.org. [Williams, 1999] H.P. Williams, Model building in mathematical programming, John Wiley & sons, New York, 1999. ISBN: 0471997889. [Wooldridge, 2002] M. Wooldridge, An Introduction to MultiAgent Systems, John Wiley & Sons, 2002. ISBN 047149691X. [Wooldridge y Jennings, 1995] M. Wooldridge y N. R. Jennings, Intelligent Agents: Theory and Practice, Knowledge Engineering Review, volumen 10, número 2, 1995. [WPA, WWW] Wi-Fi Alliance - Knowledge Center - WPA (Wi-Fi Protected Access), http://www.wi-fi.org/knowledge_center/wpa/. [Xenou et al., 2006] K. Xenou, D.G. Nikitopoulos, A.A. Trakos, M.E. Theologou y E.N. Protonotarios, Propagation Modelling in the 2.4 GHz ISM Band for Outdoor Environments, Proceedings 15th IST Mobile & Wireless Communication Summit, Mykonos, Grecia, Junio 2006. Acrónimos y Abreviaturas AP Access Point AMPS Advanced Mobile Phone System BSS Basic Service Set CSMA/CA Carrier Sense Multiple Access with Collision Avoidance CSMA/CD Carrier Sense Multiple Access with Collision Detection CFP Contention Free Period CTS Clear To Send DCF Distributed Coordination Function DF Derivative Free DSSS Direct Sequence Spread Spectrum EAP Extensible Authentication Protocol ESS Extended Service Set FCS Frame Check Sequence FHSS Frequency Hopping Spread Spectrum FDMA Frequency Division Multiple Access GSM Global System for Mobile Communications HDTV High Definition Television IEEE Institute of Electrical and Electronics Engineers, Inc. IP Internet Protocol MAC Medium Access Control 148 MAS MultiAgent Systems MINLP Mixed Integer Non-Linear Programming MIPS Mixed Integer Programming NAV Network Allocation Vector NLP Non-Linear Programming NS Neighborhood Search OFDM Orthogonal Frequency Division Multiplexing P2P Peer to Peer PCF Point Coordination Function PDA Personal Digital Assistant PHY Physical RNP Radio Network Planning RTS Ready To Send SA Simulated Annealing TACS Total Access Communication System TDMA Time Division Multiple Access UMTS Universal Mobile Telecommunication System WCDMA Wideband Code Division Multiple Access WEP Wired Equivalent Privacy WiMAX Worldwide Inter-operability for Microwave Access WLAN Wireless Local Area Network WMAN Wireless Metropolitan Area Network WPA Wi-Fi Protected Access WPAN Wireless Personal Area Network BIBLIOGRAFÍA