Sistemas Informáticos Curso 2005-06 Sistema De Autoconfiguración Para
Total Page:16
File Type:pdf, Size:1020Kb
Sistemas Informáticos Curso 2005-06 Sistema de Autoconfiguración para Redes Ad Hoc Miguel Ángel Tolosa Diosdado Adam Ameziane Dirigido por: Profª. Marta López Fernández Dpto. Sistemas Informáticos y Programación Grupo de Análisis, Seguridad y Sistemas (GASS) Facultad de Informática Universidad Complutense de Madrid AGRADECIMIENTOS: Queremos agradecer la dedicación de la profesora Marta López Fernández, Directora del presente Proyecto de Sistemas Informáticos, y del resto de integrantes del Grupo de Análisis, Seguridad y Sistemas (GASS) del Departamento de Sistemas Informáticos y Programación de la Universidad Complutense de Madrid, y de forma muy especial a Fabio Mesquita Buiati y a Javier García Villalba, Miembro y Director del citado Grupo, respectivamente, por el asesoramiento y las facilidades proporcionadas para el buen término de este Proyecto. 2 Índice RESUMEN ....................................................................................................................... 5 ABSTRACT ..................................................................................................................... 6 PALABRAS CLAVE....................................................................................................... 7 1-INTRODUCCIÓN....................................................................................................... 8 1.1- MOTIVACIÓN ......................................................................................................... 8 1.2 – OBJETIVO .............................................................................................................. 9 1.3- ESTRUCTURA DE LA MEMORIA........................................................................ 9 1-INTRODUCCIÓN ........................................................................................................ 8 2 -AUTOCONFIGURACIÓN EN REDES AD HOC ............................................... 10 2.1- HISTORIA .............................................................................................................. 10 2.2- VISIÓN GENERAL DE LAS REDES AD HOC................................................... 11 2.2.1- CARACTERÍSTICAS ......................................................................................... 12 2.2.2- CLASIFICACIÓN ............................................................................................... 13 2.2.3- APLICACIONES................................................................................................. 14 2.2.4- VENTAJAS.......................................................................................................... 15 2.2.5- DESVENTAJAS .................................................................................................. 16 2.2.6 - ENCAMINAMIENTO........................................................................................ 17 2.2.6.1- CARACTERÍSTICAS ESPERADAS .............................................................. 17 2.2.6.2 - MÉTRICAS POSIBLES .................................................................................. 18 2.2.6.3 - ESQUEMAS BÁSICOS DEL PROTOCOLO DE ENCAMINAMIENTO. ... 18 2.2.6.4 CLASIFICACIÓN DE LOS ALGORITMOS DE ENCAMINAMIENTO. ...... 19 2.2.6.5- DESCRIPCIÓN DE ALGUNOS PROTOCOLOS USADOS.......................... 20 2.2.6.6- COMPARACIÓN ENTRE PROTOCOLOS .................................................... 25 2.3 – DESCRIPCIÓN DEL PROBLEMA DE AUTOCONFIGURACIÓN.................. 27 2.4 – NECESIDADES DEL PROTOCOLO DE AUTOCONFIGURACIÓN............... 28 2.5 – CLASIFICACIÓN DE LOS PROTOCOLOS....................................................... 30 2.5.1 – EN CUANTO AL PROCESO DE AUTOCONFIGURACIÓN ........................ 30 2.5.2 – EN CUANTO AL PROCESO DE DETECCIÓN DE DIRECCIONES DUPLICADAS........................................................................................................... 30 2.6 – TRABAJOS RELACIONADOS........................................................................... 32 2.6.1 - IP ADDRESS AUTOCONFIGURATION FOR AD HOC NETWORKS......... 32 2.6.2 – AD HOC IP ADDRESS AUTOCONFIGURATION ........................................ 32 3 2.6.3 - IP ADDRESS ASSIGNMENT IN A MOBILE AD HOC NETWORK............. 33 2.6.4 – MANETconf: CONFIGURATION OF HOST IN A MANET.......................... 34 2.6.5 – PASSIVE DUPLICATE ADDRESS DETECTION IN MOBILE AD HOC NETWORKS.............................................................................................................. 34 2.7 – MÉTRICAS PARA LA EVALUACIÓN DEL RENDIMIENTO ........................ 36 2.7.1 – COMPARACIÓN DE RENDIMIENTO ........................................................... 37 3 - ESPECIFICACION DEL PROTOCOLO............................................................ 39 3.1 - OBJETIVOS .......................................................................................................... 39 3.2 – FUNCIONAMIENTO........................................................................................... 40 3.2.1 – INICIALIZACIÓN DE LA RED AD HOC....................................................... 41 3.2.2 – ASOCIACIÓN DE UNA DIRECCIÓN IP A UN NUEVO NODO.................. 41 3.2.3 – SALIDA DE NODOS ........................................................................................ 43 3.2.3.1 – SALIDA FÁCIL.............................................................................................. 44 3.2.3.2 – SALIDA BRUSCA ......................................................................................... 45 3.2.4 – PROCESO DE SINCRONIZACIÓN................................................................. 46 3.2.5 – PERDIDA DE MENSAJES ............................................................................... 46 3.2.6 - PARTICIÓN Y FUSIÓN DE REDES ................................................................ 47 3.3 - MENSAJES Y ESTRUCTURAS DE DATOS DEL PROTOCOLO.................... 49 3.3.1 - ESTRUCTURA DE DATOS Y TABLAS UTILIZADAS................................. 49 3.3.2 – FORMATO DE LOS MENSAJES .................................................................... 50 3.3.2.1 - ADDR_REQ .................................................................................................... 51 3.3.2.10 - NODE_DOWN_REP..................................................................................... 61 3.3.2.11 - HELLO........................................................................................................... 62 3.3.2.2 - ADDR_REP ..................................................................................................... 52 3.3.2.3 - SERVER_POLL .............................................................................................. 53 3.3.2.4 - IP_ASSIGNED ................................................................................................ 54 3.3.2.5 - IP_ASSIGMENT_OK...................................................................................... 55 3.3.2.6 - NODE_UP........................................................................................................ 56 3.3.2.7 - NODE_UP_REP .............................................................................................. 57 3.3.2.8 - GRACEFUL_DEPARTURE ........................................................................... 59 3.3.2.9 - NODE_DOWN ................................................................................................ 60 3.3.3 - TEMPORIZADORES UTILIZADOS ................................................................ 63 3.4 – EJEMPLO ILUSTRATIVO DEL PROTOCOLO ................................................ 65 3.4.1 – INICIALIZACIÓN DE LA RED CON 3 NODOS............................................ 65 4 3.4.2 – ASIGNACIÓN DE UNA DIRECCIÓN IP A UN NODO ENTRANTE........... 65 3.4.3 – SALIDA FACIL DE UN NODO ....................................................................... 66 3.4.4 – FALLO DE UN NODO Y RECUPERACIÓN DE DIRECCIONES IP............ 67 4 – IMPLEMENTACIÓN DEL PROTOCOLO ....................................................... 68 4.1 – CONFIGURACIÓN DEL ENTORNO ................................................................. 68 4.1.1 – CONFIGURACION FÍSICA ............................................................................. 68 4.1.2 – CONFIGURACIÓN LÓGICA........................................................................... 68 4.2 - HERRAMIENTAS UTILIZADAS........................................................................ 69 4.2.1 – LENGUAJE DE PROGRAMACIÓN C ............................................................ 69 4.2.2 - LINUX ................................................................................................................ 69 4.2.3 - DHCP .................................................................................................................. 70 4.2.4 - LIBNET............................................................................................................... 70 4.2.5 - LIBPCAP ............................................................................................................ 70 4.2.6 – WIRELESS EXTENSIONS FOR LINUX......................................................... 71 4.3 – DEFINICIÓN Y ESPECIFICACIÓN DE LOS ESTADOS DEL PROTOCOLO 73 4.3.1 – ESTADOS DE ENTRADA DE NODOS........................................................... 73 4.3.1.1 – ESTADOS DEL NODO CLIENTE. ............................................................... 73 4.3.1.2 – ESTADOS DEL NODO SERVIDOR............................................................. 75 4.3.1.3 – ESTADOS DEL RESTO DE