UNIVERSIDAD VERACRUZANA Facultad de Contaduría y Administración Algoritmos de Enrutamiento por Inundación para Redes de Sensores inalámbricos MONOGRAFIA Para obtener el Título de: Licenciado en Sistemas Computacionales Administrativos Presenta: Antonio García Aburto. Asesor: MCC. Rubén Álvaro Benítez González Cuerpo Académico Tecnologías de la Información y Organizaciones Inteligentes en la Sociedad del Conocimiento Xalapa-Enríquez, Veracruz Enero 2012 UNIVERSIDAD VERACRUZANA Facultad de Contaduría y Administración Algoritmos de Enrutamiento por Inundación para Redes de Sensores inalámbricos MONOGRAFIA Para obtener el Título de: Licenciado en Sistemas Computacionales Administrativos Presenta: Antonio García Aburto. Asesor: MCC. Rubén Álvaro Benítez González Cuerpo Académico Tecnologías de la Información y Organizaciones Inteligentes en la Sociedad del Conocimiento Xalapa-Enríquez, Veracruz Enero 2012 DEDICATORIAS “Si el Señor quisiere, y si viviéremos, haremos esto o aquello”. Santiago 4:15 “A esas tres mujeres que han sido el motor en mi vida, mi madre, mi esposa y mi pequeña Kristel”. “A mi director de tesis, que a pesar de sus ocupaciones se dio el tiempo de apoyarme”. “A Toda aquella persona que estuvo relacionada directa o indirectamente con este proyecto”. INDICE RESUMEN…………………………………….…………………………………………….1 INTRODUCCION…………………………………………………………………………...2 CAPITULO I PRESENTACIÓN DE LA PROBLEMÁTICA……………………………5 1.1 Presentación de la problemática ......................................................................... 7 1.2 Objetivo ............................................................................................................ 8 1.3 Metodología ..................................................................................................... 8 1.4 Hipótesis .......................................................................................................... 9 1.5 Procedimiento .................................................................................................. 9 1.6 Aportación ........................................................................................................ 9 CAPITULO II ALGORITMOS DE ENRUTAMIENTO ..................................................................... 11 2.1 Algoritmos de enrutamiento ........................................................................... 12 2.2 Algoritmos de ruteo ........................................................................................ 13 2.3 Clasificación de los Algoritmos de Enrutamiento ........................................... 13 2.4 Principio de Optimización ............................................................................... 14 2.5 Algoritmos Estáticos ....................................................................................... 16 2.5.1 Enrutamiento por trayectoria más corta ................................................... 16 2.5.2 Inundación ............................................................................................... 16 2.5.3 Enrutamiento basado en flujo .................................................................. 17 2.6 Algoritmos Dinámicos..................................................................................... 18 2.6.1 Enrutamiento vector de distancia ............................................................. 18 2.6.2 El problema del conteo a infinito ............................................................. 20 2.6.3 Recorte por horizonte dividido ................................................................. 22 II 2.6.4 Enrutamiento por estado de enlace ......................................................... 22 2.6.5 Enrutamiento jerárquico ........................................................................... 25 2.6.6 Enrutamiento por difusión ........................................................................ 26 2.8 La Capa de Red en Internet ........................................................................... 28 2.8.1 Direcciones IP .......................................................................................... 29 2.8.2 Subredes.................................................................................................. 30 2.8.3 Protocolo de enrutamiento de pasarela interior: OSPF ............................ 31 2.8.4 Protocolo de enrutamiento de pasarela exterior: BGP ............................. 36 CAPITULO III ALGORITMOS DE ENRUTAMIENTO EN REDES DE SENSORES INALAMBRICOS. ................................................................................................................................ 39 3.1 Características de las WSN (wireless sensor network) .................................. 40 3.1.1 Ventajas ................................................................................................... 42 3.2 Protocolos de Enrutamiento para redes de sensores inalámbricas. ............. 43 3.3.1. Encaminamiento plano............................................................................ 45 3.3.1.1 Algoritmos bajo Protocolos de sensores para información vía negociación (SPIN) ........................................................................................ 45 3.3.1.2 Difusión Dirigida................................................................................. 47 3.3.1.3 Enrutamiento por rumor ..................................................................... 50 3.3.1.4 Algoritmo de reenvío de coste mínimo .............................................. 51 3.3.1.5 Encaminamiento basado en gradiente .............................................. 52 3.4 Enrutamiento basado en información y difusión ............................................. 53 3.4.1 Algoritmo bajo COUGAR ......................................................................... 54 3.4.2 Algoritmo bajo ACQUIRE ......................................................................... 55 3.4.3 Encaminamiento basado en ahorro de energía. ...................................... 56 3.4.4 Encaminamiento con pasos aleatorios .................................................... 57 3.5 Encaminamiento jerárquico ............................................................................ 58 III 3.5.1 Algoritmo bajo LEACH ............................................................................. 59 3.5.2 Concurrencia eficiente en potencia en sistemas de información de sensores .......................................................................................................................... 61 3.5.3 Algoritmos eficientes en energía sensibles a umbral (TEEN Y APTEEN) 63 3.5.4 Red de comunicación de mínima energía ................................................ 65 3.5.4.1 Algoritmo de auto-organización. ........................................................ 66 3.6 Encaminamiento basado en una arquitectura Grid virtual ............................. 69 3.6.1 Encaminamiento jerárquico basado en ahorro. ........................................ 69 3.6.2 Diseminación en dos niveles.................................................................... 70 3.7 Encaminamiento basado en localización ....................................................... 72 3.7.1 Protocolo GAF ......................................................................................... 72 3.7.2 Protocolo GEAR....................................................................................... 74 3.7.3 Enrutamiento MFR, DIR y GDIR ............................................................. 75 3.7.3.1 Algoritmo GOAFR .............................................................................. 76 3.7.3.2 Algoritmo OFR ................................................................................... 76 3.7.3.3 Algoritmo SPAN ................................................................................. 77 3.8 Protocolos basados en el criterio de encaminamiento ................................... 77 3.8.1 Protocolos de enrutamiento multicamino. ................................................ 78 3.8.2 Encaminamiento basado en petición ....................................................... 79 3.8.3 Encaminamiento basado en negociación ................................................ 80 3.8.5 Enrutamiento basado en procesamiento de datos coherentes ................ 83 3.9 Protocolos de encaminamiento en redes ad-hoc ........................................... 84 3.9.2 Protocolos reactivos se pueden citar los siguientes ................................ 87 3.9 Caminos futuros. ............................................................................................ 89 CAPITULO IV ENRUTAMIENTO POR INUNDACIÓN ................................................................... 93 4.1 Introducción.................................................................................................... 94 IV 4.2 Algoritmo de inundación simple ..................................................................... 94 4.3 Inundación selectiva ...................................................................................... 95 4.4 Inundación en enrutamiento Ad hoc ............................................................... 96 4.4.1 Gossiping o chisme .................................................................................. 96 4.3.2 Protocolo de inundación óptimo (OFP, por sus siglas en inglés) ............. 98 4.4.3 Enrutamiento de inundación por DRSN (Dense Routing Sensor Network)101 4.4.4 Ripple flooding sensor Protocol (FTSP) protocolo de inundación ondulatoria. ........................................................................................................................ 103 4.5 Enrutamiento de inundación por Difusión..................................................... 104 4.5.1 Fat Spanning Tree Convergecast (Convergencia de árbol de expansión de grasa) .............................................................................................................. 104 4.5.2 Inundaciones histórico escalables (SLF, por sus siglas en inglés) (Dinamic Adrees Routing Protocol). ............................................................................... 106 4.5.3 Directed Flood-Routing Framework ((DFRF), por sus siglas en inglés)), Sistema dirigido de Enrutamiento por inundación. .......................................... 107 4.5.4 Protocolo flash para una rápida inundación. .......................................... 110 4.6 Enrutamiento en sistemas estructurados. .................................................... 112 4.7 Ventajas y desventajas ................................................................................ 114 CONCLUSIÓN ...................................................................................................... 116 FUENTES DE INFORMACIÓN ............................................................................. 120 V RESUMEN En la presente monografía se hablará acerca de los algoritmos de enrutamiento su clasificación así como los diferentes tipos de enrutamiento conocidos dentro de, enrutamiento estático y dinámico, se hace mención resumida del enrutamiento usado en internet, posteriormente se hablara acerca de los protocolos de enrutamiento para WSN’s (Redes de Sensores Inalámbricas), señalando sus principales características además de ventajas y desventajas, por último se trata el tema de algoritmos de enrutamiento por inundación mostrando algunas variantes además de sus ventajas y desventajas. 1 INTRODUCCIÒN 2 Actualmente estamos viviendo una de las mayores revoluciones tecnológicas, y en el área de telecomunicaciones no es la excepción, se crece a pasos a agigantados, la creciente revolución tecnológica es fruto de una creciente necesidad, cada día se necesita tener dispositivos más potentes menos espaciosos y más baratos, con más movilidad, mejores en cuanto a cobertura de comunicación, etc. De acuerdo con: http://www.ni.com/wsn/whatis/esa/. Se dice que el desarrollo más interesante de los últimos años son las redes de sensores inalámbricos (WSN), debidos a sus múltiples aplicaciones, en distintos sectores (seguridad, medio ambiente, industria, agricultura etc.) Los principales analistas tecnológicos, dentro de las tecnologías inalámbricas, valoran las redes inalámbricas de sensores (WSN) como una de las opciones de futuro más prometedora. Las actuales líneas de investigación han incursionado en diferentes áreas, como son los enrutamientos a base de sensores, por medio de la inundación, que si bien antes eran un tema poco usado, puesto que se creía que no eran aptos para envío de mensajes por la red, ahora se encontrado como serio candidato para redes encaminamiento. Según: http://www.sentilla.com/blogs/2007/11/a-new-vision-for-pervasive-com.php Se han encontrado formas de hacer que los nodos envíen información y estos lleguen a sus destinos específicos generando poco costo de ancho de banda con enrutamiento por inundación (antes ese era el principal inconveniente), y de una forma más eficiente. 3 A lo largo de esta investigación se abordaran los temas, subtemas, tratando de aclarar lo mejor posible las dudas, la intención principal de esta monografía es el estudio de los algoritmos de enrutamiento por inundación para redes de sensores inalámbricos, por lo tanto el estudio se centra en lo que es enrutamiento en general, enrutamiento en redes de sensores y por ultimo enrutamiento por inundación. A continuación se detalla cómo está distribuido el estudio de acuerdo a los capítulos: En el capítulo I, se habla de lo que fue la motivación para realizar el proyecto, realizar la investigación, los objetivos que tiene, sus aportaciones, así como la metodología al realizar la recopilación de información. En el capítulo 2, se trata el tema de enrutamiento, haciendo mención de los principales algoritmos de enrutamiento y algoritmos de ruteo, además se muestra una clasificación de los algoritmos de enrutamiento así como los principios para lograr una optimización. Otros de los temas importantes a tratar en este capítulo son los algoritmos estáticos y dinámicos, y se ve la clara ventaja de unos sobre otros. Por último se habla sobre el enrutamiento externo, y de la capa de Red de internet mencionando los principales protocolos de enrutamiento como son: OSPF y BGP, cabe mencionar que existen muchos otros además de los antes mencionados pero a mi criterio son los más usados e interesantes, En el capítulo 3, se trata el tema de (WSN‟s (Wireless Sensor Network)) redes de sensores inalámbricos, sus características, algunas ventajas y desventajas se habla de lleno sobre los principales protocolos de enrutamiento para Redes de sensores, como son: Enrutamiento plano, enrutamiento basado en negociación, y difusión, enrutamiento jerárquico, cada uno con sus respectivos protocolos y algoritmos. 4 Además se habla de los temas de enrutamiento basado en una arquitectura Grid, y enrutamiento basado en localización, este último mejor conocido como enrutamiento geográfico y para finalizar el capítulo se habla de los temas basados en algún criterio de encaminamiento, enrutamiento en redes Ad hoc y los caminos futuros de las redes de sensores. Cabe mencionar que las redes de sensores aún están en fase de desarrollo, eso hace que sea un estudio novedoso y demasiado extenso pero muy interesante y al final se muestra como un resumen del capítulo, expresando las limitantes actualmente, como son energía, Capítulo 4 durante este capítulo se hablara de los algoritmos de inundación, sus principales características, y a partir del tema inundación simple, se habla de la inundación selectiva, que es una mejora respecto al protocolo anterior, y posteriormente se van tratando los demás temas. Los temas: Gossip Inundación óptima, inundación por DRSN e inundación ondulatoria son temas para redes Ad hoc. Puesto que se dice que son hechos a media de la red. Los temas: FSTC, inundaciones Históricas escalables, Sistema dirigidos de inundación, son temas de inundación por Difusión Además se toca el tema de inundación flash, se podría decir que este algoritmo es uno de los más veloces dentro de enrutamiento por inundación mediante saltos ya que en el estudio realizado muestra una mejora de hasta 80% más que los demás algoritmos. Por último se trata el tema de Inundación P2P, donde se muestra una aplicación práctica del enrutamiento por inundación en sistemas distribuidos, ya que se permite ver el uso en la vida real y aun en los sistemas conocidos. Para finalizar el tema se muestran las ventajas y desventajas de inundación como método de enrutamiento. 5 CAPITULO I PRESENTACIÓN DE LA PROBLEMÁTICA 1.1 Presentación de la problemática Durante mi estancia en la Universidad Veracruzana he notado que las actuales tecnologías que hay, no son muy eficientes y podría ser que para corregir eso, se tenga que apostar por una nueva tecnología como son las redes de sensores inalámbricas, WSN´s (Wireless Sensor Network). Tal vez esas ineficiencias de las redes WLAN (Wireless Local Área Network) se pueden deber a los algoritmos empleados en su enrutamiento, sin embargo aplicando una nueva tecnología conlleva a cambiar todo el paradigma, aún hasta los algoritmos usados en cada tecnología ya que son ad-hoc (hechos a medida) y por lo tanto habría que desarrollar nuevos algoritmos, o mejorar los que ya se tienen. En las redes TCP/IP (transmissión control protocol) nos limitan a estar en un solo lado al estar cableados, las redes inalámbricas nos dan movilidad pero se ven afectadas por el espacio donde estén implementadas, arboles metales, etc. así como la longitud de cobertura eso es solo por hablar de esas dos tecnologías, y es conocido que cada tecnología ofrece ventajas y desventajas respecto a otra. Actualmente los sensores, se encuentran en diferentes objetos y en redes y telecomunicaciones no son la excepción, es más me atrevería a afirmar que en redes y telecomunicaciones aún no se han usado en un 100%, y lo que se ha hecho en ese campo aún se queda corto en cuanto a su potencial real. Según (proyecto RIMSi), (http://www.ni.com/wsn/esa/) Para implementar esta tecnología (WSN´s) se tendría mucho que aprender y aun con las deficiencias y falta de exploración son tecnología muy prometedora, (www.ni.com). 7 Hablando de los algoritmos, se cree que los algoritmos de inundación para redes de sensores son un candidato serio por lo tanto será de vital importancia comprobar tal cuestión de los cual se encargara esta investigación. 1.2 Objetivo La investigación presente tiene la finalidad de recabar información fiable, para conocer las alternativas que tenemos en cuanto al enrutamiento, se pretende mostrar la información a fin de lograr un estudio en el área de redes referente a las redes sensores inalámbricos, por lo tanto alguien más podrá retomar la presente investigación, e implementar una red de sensores, aplicando los protocolos y algoritmos necesarios plasmados en el trabajo presente si así lo desea. Objetivos específicos: Recabar información sobre algoritmos de inundación que aún son un tema poco explorado. Entender los diferentes tipos de enrutamiento existentes, y por ende los de inundación. Proponer algoritmos, de acuerdo a la investigación, que sea el mejor candidato a implementarse en una red de sensores inalámbricos utilizando inundación. Dar una conclusión de acuerdo a la investigación si conviene o no utilizarse inundaciones en redes de sensores. Y ¿Por qué? Además se pretende mostrar una comparativa de ventajas y desventajas. 1.3 Metodología En la realización de esta investigación la principal fuente de información son libros referentes a informática, redes, e internet, ya que la modalidad de esta investigación es monografía, por lo tanto es meramente informativa. 8 En el transcurso y realización de la presente investigación se utilizará un enfoque metodológico basado observación y lectura. Puesto que el tema es novedoso y hay poca información en libros. Y la mayoría de información que se encuentra en la Web está en inglés y japonés. 1.4 Hipótesis ¿Algoritmos de enrutamiento por inundación para redes de sensores inalámbricos? Conviene utilizarlas, si, no ¿Por qué? ¿Cuáles son sus ventajas? 1.5 Procedimiento Se buscara información en libros revistas, periódicos todo aquello que tenga que ver con redes, enrutamiento, sensores, algoritmos o inundación. Incluso en la web a fin de lograr lo mejor posible la investigación. 1.6 Aportación La monografía se divide en 4 apartados de los cuales se desglosan lo temas y subtemas relacionados, cada uno presenta información precisa sobre el tema, y servirá como apoyo a quien a si desee consultar. Este trabajo pretende dar información, que puede servir a aquellos interesados en redes de sensores y algoritmos de inundación, así como para cualquier persona que quiera obtener alguna información referente a enrutamiento, de las diferentes formas conocidas, Se pretende crear una visión sobre los algoritmos de inundación, enfocados al enrutamiento dando una opinión al respecto de acuerdo a la investigación obtenida. 9 Se cree que la inundación es tema de vital importancia puesto que aún tiene mucho que dar en cuanto a las nuevas redes de sensores por lo tanto esta investigación se encargará de comprobar si esto es verdad. 10 CAPITULO II ALGORITMOS DE ENRUTAMIENTO 2.1 Algoritmos de enrutamiento La capa de Red, dentro de una arquitectura de redes de datos, es la que se encarga de llevar los paquetes de datos desde el origen (estación transmisora) hasta el destino (estación receptora). Llegar a destino, en tiempo y forma, puede requerir que el algoritmo de ruteo, que es el encargado de escoger las rutas y las estructuras de datos, cumpla con ciertas propiedades que aseguren la eficiencia de su trabajo. Estas propiedades son: corrección, estabilidad, robustez, equitatividad, sencillez y optimalidad. La corrección y la sencillez casi no requieren comentarios; no así la necesidad de robustez, la cual se refiere a que el algoritmo debe estar diseñado para que funcione dentro de la red por años, sin fallas generales. El algoritmo deberá estar preparado para manejar cambios de topología y tráfico sin requerir el aborto de las actividades o el re arranque de la red. La equitatividad y la optimalidad resultan con frecuencia contradictorias, ya que muchas veces se requiere una concesión entre la eficacia global (optimización) y la equitatividad; es decir, antes de intentar encontrar un justo medio entre estas dos, se debe decidir qué es lo que se busca optimizar. Minimizar el retardo de los paquetes (disminuyendo escalas y ancho de banda) y maximizar el rendimiento total de la red sería la combinación más apropiada para un algoritmo de ruteo. 12 2.2 Algoritmos de ruteo La capa de Red proporciona la dirección lógica que permite que dos sistemas diferentes que se encuentran en redes lógicas diferentes determinen una posible ruta para comunicarse. En la capa de red es donde residen los algoritmos que implementan los protocolos de enrutamiento. En la mayoría de las subredes, los paquetes requerirán varias escalas para completar el viaje. La excepción serían las redes de difusión, pero aún aquí es importante el enrutamiento, ya que el origen y el destino pueden no estar en la misma red. El algoritmo de enrutamiento es la parte del software de la capa de red encargada de decidir la línea de salida por la que se transmitirá un paquete de entrada. Si la subred usa datagramas entonces esta decisión debe hacerse cada vez que llega un paquete de datos de entrada, debido a que la mejor ruta podría haber cambiado desde la última vez. Si la subred utiliza circuitos virtuales internamente, las decisiones de enrutamiento se tomarán sólo al establecerse el circuito y los paquetes seguirán la ruta previamente establecida según Stalligs W, (1997). 2.3 Clasificación de los Algoritmos de Enrutamiento Algoritmos no adaptables: No basan sus decisiones de enrutamiento en mediciones o estimaciones del tráfico ni en la topología. La decisión de qué ruta tomar de I a J se calcula por adelantado, fuera de línea y se cargan en los routers al iniciar la red. Éste procedimiento se llama enrutamiento estáticos. La desventaja de este tipo de algoritmos es que no es posible responder a situaciones cambiantes como por ejemplo saturación, exceso de tráfico o fallo en una línea. 13 En un conjunto de redes complejas, se necesita cierto grado de cooperación “dinámica” entre los dispositivos de encaminamiento. En particular se deben evitar aquellas porciones de red que sufren congestión, entendiéndose esto como aquella situación donde hay demasiados paquetes en alguna parte de la subred, y como consecuencia el rendimiento de ésta baja. Para poder tomar estas decisiones de encaminamiento dinámicas, los dispositivos involucrados en el ruteo deben intercambiar información usando algoritmos de encaminamiento especiales para este propósito. La información que se necesita sobre el estado del conjunto de redes tiene que venir expresada en términos de qué redes son accesibles a través de qué dispositivos y en términos de las características de retardo de varias rutas. Algoritmos adaptables: En contraste con los algoritmos no adaptables, éstos cambian sus decisiones de enrutamiento para reflejar los cambios de topología y de tráfico. Difieren de los algoritmos estáticos en el lugar de obtención de su información (ej. localmente, en los routers adyacentes o de ambos), el momento del cambio de sus rutas (ej. cada Determinado segundo, o cuando cambia la carga) y la métrica usada para la optimalidad (ej. distancia, nº de escalas, tiempo estimado del tránsito). Este tipo de algoritmos no pueden ser demasiado complejos ya que son implementados en los routers y deben ejecutarse en tiempo real con recursos de CPU y la memoria con la que el router dispone. 2.4 Principio de Optimización Este postulado establece que, si el enrutador J está en la trayectoria óptima del enrutador I al enrutador K, entonces la trayectoria óptima de J a K también está en la misma ruta. Haciendo referencia a la figura 1, llamemos r1 a la parte de la ruta de I a J, y r2 al resto de la ruta. Si existiera una ruta mejor que r2 entre J y K, podría concatenarse con r1 para mejorar la ruta entre I y K, contradiciendo nuestra aseveración de que r1 y r2 es óptima. 14 Como consecuencia directa del principio de optimalidad, podemos ver que el grupo de trayectorias óptimas de todas las de orígenes a un destino dado forma un árbol con raíz en el destino. Ese árbol que se forma, se llama árbol de descenso, donde la métrica de distancia es el número de escalas. El árbol de descenso puede no ser único, pueden existir otros árboles con las mismas longitudes de trayectoria. La meta de todos los algoritmos de enrutamiento es descubrir y usar los árboles de descenso para todos los enrutadores. Figura 2.1. (a) Subred. (b) Árbol descendente para el ruteador B. Fuente: Tanenbaum, A, S Dado que un árbol de descenso ciertamente es un árbol, no contiene ciclos, por lo que cada paquete será entregado con un número de escalas finito y limitado. En la práctica, no siempre sucede esto, los enlaces y los enrutadores pueden caerse y reactivarse durante la operación, por lo que diferentes enrutadores pueden tener ideas distintas sobre la topología actual de la subred. El fin último de los algoritmos de ruteo es descubrir y usar los árboles de descenso de todos los enrutadores. 15 2.5 Algoritmos Estáticos 2.5.1 Enrutamiento por trayectoria más corta Esta es una técnica de amplio uso en muchas formas, ya que es sencilla y fácil de entender. La idea es armar un grafo de la subred en el que cada nodo representa un enrutador y cada arco del grafo una línea de comunicación (enlace). Para seleccionar la ruta entre un par dado de enrutadores, el algoritmo simplemente encuentra en el grafo la trayectoria más corta entre ellos. El concepto de trayectoria más corta se debe a que la forma de medir la longitud de la ruta es usando alguna métrica, entendiéndose por métrica al peso relativo que se da a cada uno de los factores que intervienen en el cálculo de la distancia en una red, los cuales podrían ser el número de saltos, la distancia física, el retraso de transmisión por un paquete de prueba, el ancho de banda, el tráfico promedio, el costo de comunicación, etc. Se conocen varios algoritmos de cálculo de la trayectoria más corta entre dos nodos de un grafo. Cada nodo se etiqueta (entre paréntesis) con su distancia al nodo de origen a través de la mejor trayectoria conocida. Inicialmente no se conocen trayectorias, por lo que todos los nodos tienen la etiqueta infinito. A medida que avanza el algoritmo y se encuentran trayectorias, pueden cambiar las etiquetas, reflejando mejores trayectorias. Una etiqueta puede ser tentativa o permanente. Inicialmente todas las etiquetas son tentativas. Al descubrirse que una etiqueta representa la trayectoria más corta posible del origen a ese nodo, se vuelve permanente y no cambia más. 2.5.2 Inundación Otro algoritmo estático es la inundación, en la que cada paquete de entrada se envía por cada una de las líneas de salida, excepto aquella por la que llegó. La 16 inundación evidentemente genera grandes cantidades de paquetes duplicados, de hecho, una cantidad infinita a menos que se tomen algunas medidas para limitar ese proceso. Una de tales medidas puede ser un contador de escalas contenido en la cabecera de cada paquete, el cual disminuye en cada escala, descartándose al llegar el contador a cero. Idealmente el contador debe inicializarse a la longitud de la trayectoria; puede inicializar el contador en el peor de los casos, es decir, el diámetro de la subred. Esta es solo una breve introducción debido a que este tema se tratara a mayor detalle en el capítulo 4 que está destinado específicamente a Enrutamiento por inundación, y algunas de sus variantes. 2.5.3 Enrutamiento basado en flujo Los algoritmos vistos hasta ahora sólo toman en cuenta la topología; no consideran la carga. Si por ejemplo, siempre hay una gran cantidad de tráfico entre un nodo A y un nodo B, ambos adyacentes, podría ser mejor enrutar el tráfico de ambos por caminos alternativos un poco más largos tal vez. Seguidamente veremos un algoritmo estático; el enrutamiento basado en flujo usa tanto la topología como la carga para el enrutamiento. La idea en que se basa el análisis es que, para una línea dada, si se conocen la capacidad y el flujo promedio, es posible calcular el retardo promedio de los paquetes en esa línea a partir de la teoría de colas. De los retardos promedio de todas las líneas, es directo el cálculo de un promedio ponderado por el flujo para obtener el retardo de paquete medio de la subred completa. El problema de enrutamiento se reduce entonces a encontrar el algoritmo de enrutamiento que produzca el retardo promedio mínimo para la subred. Para usar esta técnica, debe conocerse por adelantado cierta información: primero, la topología de la subred, segundo debe estar dada la matriz de tráfico y 17 tercero debe estar disponible la matriz de capacidad, donde se especifica la capacidad de cada línea en bps. Por último, debe escogerse algún algoritmo tentativo de enrutamiento. 2.6 Algoritmos Dinámicos 2.6.1 Enrutamiento vector de distancia Los algoritmos de enrutamiento por vector de distancia operan haciendo que cada enrutador mantenga una tabla (por ejemplo, un vector) que da la mejor distancia conocida a cada destino y la línea a usar para llegar ahí. Estas tablas se actualizan intercambiando información con vecinos. Este algoritmo recibe otros nombres como: algoritmo de enrutamiento BellmanFord distribuido y el algoritmo Ford-Fullkerson, en reconocimiento a los investigadores que lo desarrollaron. En el enrutamiento por vector de distancia, cada enrutador mantiene una tabla de enrutamiento indizada por, y conteniendo un registro de, cada enrutador de la subred. Esta entrada comprende dos partes: la línea preferida de salida hacia ese destino y una estimación del tiempo o distancia a ese destino. La métrica usada podría ser la cantidad de escalas, el retardo de tiempo en milisegundos, el número total de paquetes encolados por la trayectoria, o algo parecido. Se supone que cada enrutador conoce la “distancia” a cada uno de sus vecinos. Si la métrica es de escalas, la distancia simplemente es una escala. Si la métrica es la longitud de la cola, el enrutador simplemente examina cada cola. Si la métrica es el retardo, el enrutador puede medirlo directamente con paquetes especiales de ECO que el receptor simplemente marca con la hora y envía de regreso tan rápido como puede. Supóngase que se usa como métrica el retardo y que el enrutador conoce el retardo a cada uno de sus vecinos. Cada T mseg, cada enrutador envía a todos 18 sus vecinos una lista de los retardos estimados a cada uno de los destinos. También recibe una lista parecida de cada vecino. Imagine que una de estas tablas acaba de llegar del vecino X, siendo Xi la estimación de X respecto al tiempo que le toma llegar al enrutador i a través de X en Xi + m mseg vía X. Efectuando este cálculo para cada vecino, un enrutador puede encontrar la estimación que parezca ser la mejor y usar esa estimación y la línea correspondiente en su nueva tabla de enrutamiento. Este proceso de actualización se ilustra en la figura 2. En la parte (a) se muestra una subred. En las primeras cuatro columnas de la parte (b) aparecen los vectores de retardo recibidos de los vecinos del enrutador J. A indica tener un retardo de 12 mseg a B, un retardo de 25 mseg a C, un retado de 40 mseg a D, etc. Suponiendo que J ha medido o estimado el retardo de sus miembros, A, I, H y K en 8, 10, 12 y 16 mseg, respectivamente. Figura 2.2 (a) Subred. (b) Entrada de A, I, H, K, y la nueva tabla de enrutamiento de J. Fuente: Coulouris, G.; Dollimore, J.; Kindberg, T. Sistemas distribuidos. 19 Considere la manera en que J calcula su nueva ruta al enrutador G. Sabe que puede llegar a A en 8 mseg, y A indica ser capaz de llegar a G en 18 mseg, por lo que J sabe que puede contar con un retador de 26 mseg a G si enviaría a A los paquetes destinados a G. Del mismo modo, J calcula el retardo a G a través de I, H y K en 41 (31+10), 18 (6+12) y 37 (31+6) mseg, respectivamente. El mejor de estos valores es 18, por lo que escribe una entrada en su tabla de enrutamiento indicando que el retardo a G es de 18 mseg, y que la ruta a usar es vía H. Se lleva a cabo el mismo cálculo para los demás destinos, y la nueva tabla de enrutamiento se muestra en la última columna de la figura. Dentro de los algoritmos más nuevos están los de los protocolos como EIGRP y RIP-2, introducen el concepto de actualizaciones desencadenadas. Éstas propagan los fallos tan pronto ocurran, acelerando la convergencia considerablemente, OSPF y EIGRP admiten poderosos métodos de autenticación, como las autentificación de claves MD5, cabe mencionar a los protocolos propietarios de cisco IGRP (Interior Gateway Routing Protocol) y la mejora de este EIGRP (Enhaced Interior Gateway Routing Protocol) que es una mejora del anterior. 2.6.2 El problema del conteo a infinito Este algoritmo funciona bien en teoría, pero tiene un problema serio en la práctica: aunque converge en la respuesta correcta, puede hacerlo lentamente. En particular reacciona con rapidez a las buenas noticias, pero con lentitud ante las malas. Considere un enrutador cuya mejor ruta al destino X es larga. Si en el siguiente intercambio el vecino A informa repentinamente un retardo corto a X, el enrutador simplemente se conmuta a modo de usar la línea a A para enviar tráfico hasta X. En el intercambio de vectores, se procesan las nuevas noticias. Para ver la rapidez de propagación de las buenas noticias, considere la subred de 5 nodos (lineal) de la figura 3. 20 Figura 2.3. El problema de conteo a infinito. Fuente: Coulouris, G.; Dollimore, J.; Kindberg, T. Sistemas distribuidos Al activarse A, los enrutadores saben de él gracias a los intercambios de vectores. En el momento del primer intercambio, B se entera de que su vecino de la izquierda tiene un retardo de 0 hacia A. B crea una entrada en su tabla, indicando que A está usando una escala de distancia hacia la izquierda. El resto de los enrutadores aún piensan que A está desactivado. Las entradas de la tabla de A en este punto se muestran en la segunda fila de la figura 3 (a). Durante el siguiente intercambio C se entera de que B tiene una trayectoria a A de longitud 1, por lo que actualiza su tabla de enrutamiento para indicar una trayectoria de longitud 2, pero D y E no se enteran de las buenas nuevas sino hasta después. Como es evidente, las buenas noticias se difunden a razón de una escala por intercambio. En una subred cuya trayectoria mayor tiene una longitud de N escalas, en un lapso de N intercambios todo el mundo sabrá las líneas y enrutadores recientemente revividos. Considerando ahora la situación de la figura 3 (b), en que todas las líneas y enrutadores están activos inicialmente. Los enrutadores B, C y E tienen distancias a A de 1, 2, 3 y 4, respectivamente. De pronto A se desactiva, o bien se corta la 21 línea entre A y B, que de hecho es la misma cosa desde el punto de vista de B. En el primer intercambio de paquetes B no escucha nada de A. C sabe que tiene una trayectoria a A de longitud 2 y avisa a B, sin saber este último que la trayectoria de C pasa a través de B mismo. Como resultado, B ahora piensa que puede llegar a A por medio de C. D y E no actualizan sus entradas para A en el primer intercambio. En el segundo intercambio, se nota que cada uno de sus vecinos indica tener una trayectoria a A de longitud 3. C escoge una de ellas al azar y hace que su nueva distancia sea 4. Los intercambios subsecuentes se muestran en el resto de la figura 3 (b). A partir de la figura 3 queda clara la razón porqué las malas noticias viajan con tanta lentitud. 2.6.3 Recorte por horizonte dividido Hay muchas soluciones a este problema, pero ninguna lo soluciona completamente. El algoritmo de horizonte dividido funciona de la misma manera que el enrutamiento por vector a distancia, excepto que la distancia a X no se informa en la línea por la que se envían paquetes para X. Usando el horizonte dividido, las malas noticias se propagan a razón de una escala por intercambio. Esta velocidad es mucho mejor que sin este algoritmo. La verdadera mala noticia es que horizonte dividido, aunque se usa ampliamente, a veces falla. 2.6.4 Enrutamiento por estado de enlace El concepto de este algoritmo es sencillo y puede describirse en cinco partes. Cada enrutador debe: 1. Descubrir a sus vecinos y conocer sus direcciones de red. Al ponerse en operación un enrutador, su primera tarea es averiguar quiénes son sus vecinos; esto se logra enviando un paquete especial de HOLA (HELLO) por cada línea punto a punto. Se espera que el enrutador del otro extremo envíe de regreso su dirección única. 22 Figura 2.4. (a) Nueve enrutadores y una LAN. (b) Modelo de grafo de (a). Fuente: (Coulouris, G.; Dollimore, J.; Kindberg, T) Al conectarse dos o más enrutadores mediante una LAN, la situación es ligeramente más complicada. En la figura 4 se ilustra una LAN a la que están conectados directamente tres enrutadores, A, B, y F. Cada uno de estos enrutadores está conectado a uno o más enrutadores adicionales. Una manera de modelar la LAN es considerarla como otro nodo, como se muestra en la figura 4 parte (b). Aquí se ha introducido un nodo artificial nuevo, N, al que están conectados A, C y F. El hecho de que sea posible ir de A a C a través de la LAN se representa aquí mediante la trayectoria ANC. 2. Medición del costo de la línea. El algoritmo de enrutamiento por estado de enlace requiere que cada enrutador sepa, o cuanto menos tenga una idea razonable del estado de cada uno de sus vecinos. La manera más directa de determinar este retardo es enviar un paquete especial ECO (ECHO) a través de la línea, el cual debe enviar de regreso inmediatamente el otro lado. Si mide el tiempo de ida y vuelta y lo divide entre dos, el enrutador transmisor puede tener una idea razonable del retardo. Para obtener mejores resultados aún la prueba puede llevarse a cabo varias veces y usarse el promedio. 3. Construcción de los paquetes de estado de enlace. 23 Una vez que se ha recabado la información necesaria para el intercambio, el siguiente paso es que cada enrutador construya un paquete con todos los datos. Este paquete comienza con la identidad del transmisor, seguida de un número de secuencia, una edad y una lista de vecinos. Para cada vecino, se coloca el retardo a ese vecino. En la figura 5 (a) se muestra un ejemplo de una subred, con los retardos en las líneas. Los paquetes de estado de enlace de los seis enrutadores se muestran en la figura 5 (b). Figura 2.5. (a) Subred. (b) Paquetes de estado de enlace para esta subred. Fuente: Coulouris, G.; Dollimore, J.; Kindberg, T Es fácil construir los paquetes de estado de enlace. La parte difícil es determinar cuándo construirlos. Una posibilidad es construirlos periódicamente, es decir, a intervalos regulares. Otra posibilidad es al ocurrir un evento significativo, como la caída o reactivación de una línea o de un vecino, o el cambio apreciable de sus propiedades. 4. Distribución de los paquetes de estado de enlace. La parte más complicada del algoritmo es la distribución confiable de los paquetes de estado de enlace. A medida que se distribuyen e instalan los paquetes los enrutadores que reciban los primeros cambiarán sus rutas. En consecuencia, los distintos enrutadores podrían estar usando versiones diferentes de la topología, lo que puede conducir a inconsistencias, ciclos, máquinas inalcanzables, y otros problemas. 24 El algoritmo que se utiliza para la distribución de los paquetes de estado de enlace sería inundación. 5. Cálculo de nuevas rutas. Una vez que un enrutador ha acumulado un grupo completo de paquetes, puede construir el grafo de la subred completa porque todos los enlaces están representados. De hecho, cada enlace se representa dos veces, para cada dirección. Los dos valores pueden promediarse o usarse por separado. Ahora puede ejecutarse localmente el algoritmo de la trayectoria más corta posible a todos los destinos. Los resultados de este algoritmo pueden instalarse en las tablas de enrutamiento, y reiniciarse la operación normal. Para una subred con n enrutadores, cada uno de los cuales tiene k vecinos, la memoria requerida para almacenar los datos de entrada es proporcional a nk. En las subredes grandes este puede ser un problema. También puede serlo el tiempo de cómputo. Sin embargo en muchas situaciones prácticas, el enrutamiento por estado de enlace funciona bien. Se usa ampliamente en redes actuales, algunos protocolos que lo usan son: el protocolo OSPF, que se emplea cada vez con mayor frecuencia en Internet, el IS-IS (sistema intermedio - sistema intermedio), diseñado por DECnet y el NetWare de Novell usa una variante menor del IS-IS (NLSP) para el enrutamiento de paquetes IPX. 2.6.5 Enrutamiento jerárquico A medida que crece el tamaño de las redes, crecen proporcionalmente las tablas de enrutamiento del enrutador. Las tablas que siempre crecen no solo consumen memoria del enrutador, sino que también necesitan más tiempo CPU para examinarlas y más ancho de banda para enviar informes de estado entre enrutadores. En cierto momento, la red puede crecer hasta el punto en que ya no es factible que cada enrutador tenga una entrada para cada uno de los demás enrutadores, 25 por lo que el enrutamiento tendrá que hacerse jerárquicamente, como ocurre en la red telefónica. Al usarse el enrutamiento jerárquico, los enrutadores se dividen en lo que llamamos regiones, en donde cada enrutador conoce todos los detalles de la manera de enrutar paquetes a destinos dentro de su propia región, pero no sabe nada de la estructura interna de las otras regiones. Al interconectar diferentes redes, es natural considerar cada una como región independiente, a fin de liberar a los enrutadores de una red de la necesidad de conocer la estructura topológica de las demás. 2.6.6 Enrutamiento por difusión En algunas aplicaciones, los host necesitan enviar mensajes a varios otros host o a todos los demás. Por ejemplo, el servicio de distribución de informes ambientales, la actualización de los precios de la bolsa o los programas de radio en vivo podrían funcionar mejor difundiéndolos a todas las máquinas y dejando que aquellas interesadas lean los datos. El envío simultáneo de un paquete a todos los destinos se llama difusión. Hay varios métodos para llevarlo a cabo. Un método de difusión que no requiere características especiales de la red es que el origen simplemente envíe copias del paquete a todos los destinos. El método no sólo desperdicia ancho de banda, sino que también requiere que el origen tenga una lista completa de todos los destinos. En la práctica, este es el método menos deseable. La inundación es otro candidato pero el problema de éste como técnica de difusión es el mismo que tiene como algoritmo de enrutamiento punto a punto: genera demasiados paquetes y consume demasiado ancho de banda. Un tercer algoritmo es el enrutamiento multidestino. Con este método cada paquete contiene una lista de destinos que indican los destinos deseados. El 26 enrutador genera una copia nueva del paquete para que cada línea de salida a usar, e incluye en cada paquete sólo aquellos destinos que usan la línea. En efecto, el grupo de destinos se divide entre las líneas de salida. Este enrutamiento es idéntico al de los paquetes con direccionamiento individual, excepto que, cuando varios paquetes deben seguir la misma ruta, uno de ellos paga la tarifa completa y los demás viajan gratis. El último algoritmo de difusión es un intento de aproximar el comportamiento del algoritmo el árbol de extensión, aun cuando los enrutadores no saben nada en lo absoluto sobre árboles de extensión de los demás enrutadores. La idea es excepcionalmente sencilla una vez planteada. Cuando llega un paquete difundido a un enrutador, éste lo revisa para ver si llegó por la línea normalmente usada para enviar paquetes al origen de la difusión. De ser así, hay excelentes posibilidades de que el paquete difundido haya seguido la mejor ruta desde el enrutador y, por lo tanto, sea la primera copia en llegar al mismo. Siendo este el caso reenvía copias del paquete por todas las líneas, excepto por aquella por la que llegó. Sin embargo, si el paquete difundido llegó por otra línea diferente de la preferida, se descarta el paquete como probable duplicado. 2.7 Sistemas Autónomos Un sistema autónomo o AS será la subred que es administrada por una autoridad común, que tiene un protocolo de ruteo homogéneo mediante el cual intercambia información en toda la subred y que posee una política común para el intercambio de tráfico con otras redes o sistemas autónomos. En Internet se dan, al menos, dos niveles jerárquicos de ruteo, el que realiza dentro de un sistema autónomo y el que se efectúa entre sistemas autónomos. El primero es denominado ruteo interno o intraáres, al segundo se lo denomina ruteo externo o interáreas. Dado que los requerimientos en unos y en otros son muy diferentes, se utilizan protocolos de ruteo muy distintos. 27 2.8 La Capa de Red en Internet En la capa de red, la Internet puede verse como un conjunto de subredes, o sistemas autónomos (AS) interconectados. No hay una estructura real, pero existen varios backbone principales (conexiones de internet principales). Estos se construyen a partir de líneas de alto ancho de banda y enrutadores rápidos. Conectadas a los backbone hay redes regionales (de nivel medio), y conectadas a estas redes están las LAN de muchas universidades, compañías y proveedores de servicios de Internet. La siguiente figura muestra un dibujo de esta organización: Figura 2.6. Internet conexión de redes. Fuente: Tanenbaum, A. S, 3” edition. El “pegamento” que mantiene unida la Internet es el protocolo de la capa de red, IP (Internet Protocol, protocolo de Internet). Este protocolo se diseñó desde sus principios con la interconexión de redes en mente. Su trabajo es proporcionar un medio de mejor esfuerzo para el transporte del datagrama del origen hacia el destino, sin importar si estas máquinas están en la misma red o si hay otras redes entre ellas. 28 2.8.1 Direcciones IP Para comenzar el estudio de la capa de red de Internet es necesario citar el formato de los datagramas de IP mismos que son los paquetes de datos que viajan por la red. Un datagrama IP consiste en una parte de cabecera y una parte de texto. La cabecera tiene una parte fija de 20 bytes y una parte opcional de longitud variable. Cada host y enrutador de Internet tiene una dirección de IP, que codifica su número de red y su número de host. La combinación es única: no hay dos máquinas que tengan la misma dirección de IP. Todas las direcciones de IP son de 32 bits de longitud y se ocupan en los campos de dirección de origen y de dirección de destino de los paquetes. Aquellas máquinas conectadas a varias redes tienen direcciones de IP diferentes en cada red. Los formatos de clase A, B, C y D permiten hasta 126 redes con 16 millones de host cada una, 16.382 redes con hasta 64k hosts, 2 millones de redes (tipo LAN) de hasta 254 hosts cada una, y multitransmisión. Los números de redes los asigna el NIC (Network Information Center, Centro de Información de Redes) para evitar conflictos. La dirección de IP menor es 0.0.0.0 y la mayor es 255.255.255.255. Los valores 0 y -1 tienen significado especial, como se muestra en la figura 7. El valor 0 significa esta red o este host. El valor -1 se usa como dirección de difusión para indicar todos los host de la red indicada. Figura 2.7. Direcciones especiales de IP. Fuente: tesis, Protocolos para capa de red 29 La dirección de IP 0.0.0.0 es usada por los hosts cuando están siendo arrancados, pero no se usa después, las direcciones de IP con 0 como número de red se refieren a la red actual. Estas direcciones permiten que las máquinas se refieran a su propia red sin saber su número (pero tienen que saber su clase para saber cuántos 0 hay que incluir). La dirección que consiste solamente en unos permite la difusión en la red local, por lo común una LAN. Las direcciones con un número de red propio y solamente unos en el campo de host permiten que las máquinas envíen paquetes de difusión a LAN distantes desde cualquier parte de Internet. Por último, todas las direcciones de la forma 127.xx.yy.zz se reservan para pruebas de realimentación. 2.8.2 Subredes Todos los host de una red deben tener el mismo número de red. Esta propiedad del direccionamiento IP puede causar problemas a medida que crecen las redes. Al crecer la cantidad de redes locales distintas, su administración puede volverse un conflicto. Cada vez que se instala una nueva red, el administrador del sistema tiene que comunicarse con el NIC para obtener un número de red nuevo. Después, este número debe anunciarse mundialmente. Además, mover una máquina de una LAN a otra requiere un cambio de su dirección de IP, lo que a su vez puede significar la modificación de sus archivos de configuración y también el anuncio de la nueva dirección de IP a todo el mundo. La solución a este problema es permitir la división de una red en varias partes para su uso interno, pero aún actuar como una sola red ante el mundo exterior. En la literatura de Internet, a estas partes se les llama subredes. Para ver el funcionamiento de las subredes, es necesario explicar la manera en que se procesan los paquetes IP en un enrutador. Cada enrutador tiene una tabla en la que se lista cierto número de direcciones IP (red, 0) y cierto número de direcciones IP (esta red, host). 30 El primer tipo indica cómo llegar a redes distantes. El segundo tipo indica cómo llegar a redes locales. Asociada a cada tabla está la interfaz de red a usar para llegar al destino y cierta información adicional. Al llegar un paquete de IP se busca su dirección de destino en la tabla de enrutamiento. Si el paquete es para una red distante, se reenvía al siguiente enrutador de la interfaz dada en la tabla; si es para un host local (por ejemplo, en la LAN del enrutador), se envía directamente al destino. Si la red no está en la tabla, el paquete se reenvía a un enrutador predeterminado con las tablas más extensas. Este algoritmo significa que cada enrutador sólo tiene que llevar el registro de otras redes y hosts locales, no de pares de red – host, reduciendo en gran medida el tamaño de la tabla de enrutamiento. Al introducirse subredes, se cambian las tablas de enrutamiento, agregando entradas con forma de (esta subred, subred, 0) y (esta red, esta subred, host). Por lo tanto, un enrutador de la subred k sabe cómo llegar a todas las demás subredes y también cómo llegar a todos los hosts de la subred k. De hecho, todo lo que se necesita es hacer que cada enrutador haga un AND booleano con la máscara de subred para deshacerse del nuevo host y buscar la dirección resultante en sus tablas (después de haber determinado la clase de red de la cual se trataba). 2.8.3 Protocolo de enrutamiento de pasarela interior: OSPF Como se ha dicho antes, la Internet se compone de una gran cantidad de sistemas autónomos (AS). Cada AS es operado por una organización diferente y puede usar internamente su propio algoritmo de enrutamiento. Por ejemplo, las redes internas de las compañías X, Y, y Z generalmente se verían como tres AS si las tres estuvieran en Internet. Las tres pueden usar algoritmos de enrutamiento diferentes internamente. No obstante, la existencia de estándares aún para enrutadores internos, simplifica la implementación en las líneas divisorias entre los AS y permite la reutilización de código. El algoritmo de enrutamiento interno de un 31 AS se llama protocolo de pasarela interior; al algoritmo de enrutamiento entre varias AS se le llama protocolo de pasarela exterior. El protocolo de pasarela interior original de Internet fue un protocolo de vector de distancia (RIP) basado en el algoritmo Bellman-Ford. Este protocolo funcionó bien en pequeños sistemas, pero menos bien a medida que los AS se volvieron más grandes. En 1988, la Internet Engineering Task Force (grupo de trabajo de ingeniería de Internet) comenzó a trabajar en su sucesor. Ese sucesor llamado OSPF (Open Shortest Path First, abrir primero la trayectoria más corta), se convirtió en estándar en 1990. Dada la amplia experiencia con otros protocolos de enrutamiento, el grupo que diseñó el nuevo protocolo tenía una larga lista de requisitos que cumplir. Primero, el algoritmo tenía que publicarse como literatura abierta, de ahí “O” (de Open) en OSPF. Segundo, el nuevo protocolo tenía que reconocer una variedad de métricas de distancia, incluidas distancia físicas, retardo y otras. Tercero, tenía que ser un algoritmo dinámico, uno que se adaptara a los cambios de topología rápida y automáticamente. Cuarto, algo nuevo para el OSPF, tenía que reconocer el enrutamiento basado en el tipo de servicio. El nuevo protocolo tenía que ser capaz de enrutar el tráfico de tiempo real de una manera y otros tipos de tráfico de otra manera. Quinto, y relacionado con el anterior, el nuevo protocolo tenía que efectuar equilibrio de cargas, dividiendo la carga entre varias líneas. La mayoría de los protocolos previos enviaban todos los paquetes a través de la mejor ruta. La segunda mejor ruta no se usaba en lo absoluto. En muchos casos, la división de la carga a través de varias líneas produce un mejor desempeño. Sexto se requería el reconocimiento de sistemas jerárquicos. 32 Por último, se requería un mecanismo para manejar los enrutadores que se conectaban a Internet a través de un túnel. Los protocolos previos no manejaban bien esta cuestión. El OSPF reconoce tres tipos de conexiones y redes: 1. Líneas punto a punto entre dos enrutadores (exactamente). 2. Redes multiacceso con difusión (por ejemplo, la mayoría de las LAN). 3. Redes multiacceso sin difusión (por ejemplo, la mayoría de las WAN de conmutación de paquetes). El OSPF funciona haciendo una abstracción del conjunto de redes, enrutadores y líneas en un grafo dirigido en el que a cada arco se le asigna un costo (distancia, retardo, etc.). Entonces se calcula la trayectoria más corta con base en los pesos de los arcos. En la figura 8 (a) se muestra la representación gráfica de la red de la figura 8 (b). Lo fundamental que hace el OSPF es representar la red como un grafo de este tipo y luego calcular la trayectoria más corta de un enrutador a todos los demás. Figura 2.8. (a) Sistema Autónomo. (b) Representación con grafos de (a). Fuente: tesis: Enrutamiento de Antonio palma Muchas de las AS de Internet son grandes y nada fáciles de manejar. El OSPF permite su división en áreas numeradas, donde un área es una red o un grupo de 33 redes contiguas. Un área es una generalización de una subred. Fuera de un área, su topología y detalles no son visibles. Cada AS tiene un área de backbone, llamada área 0. Todas las áreas se conectan al backbone, posiblemente mediante túneles, por lo que hay posibilidad de ir de cualquier área del AS a cualquier otra a través del backbone. Un túnel se representa en el grafo como un arco y tiene un costo. Cada enrutador conectado a dos o más áreas es parte del backbone, siendo la topología del mismo no visible desde fuera del backbone. Dentro de un área, cada enrutador tiene la misma base de datos de estado de enlace y ejecuta el mismo algoritmo de trayectoria más corta; su tarea principal es calcular la trayectoria más corta de sí mismo a todos los demás enrutadores del área, incluido el enrutador que está conectado al backbone. La manera en que el OSPF maneja el enrutamiento de tipo de servicio es teniendo varios grafos, uno etiquetado con los costos cuando la métrica es el retardo, otro etiquetado con los costos cuando la métrica es el rendimiento, y uno más etiquetado con los costos cuando la métrica es la confiabilidad. Aunque esto triplica el cálculo, permite rutas separadas para optimizar el retardo, el rendimiento y la confiabilidad. Durante una operación normal pueden necesitarse tres tipos de rutas: intraárea, interárea e interAS. Las rutas intraáreas son las más fáciles, dado que el enrutador de origen ya conoce la trayectoria más corta al enrutador de destino. El enrutamiento interárea siempre procede en tres pasos: va del origen al backbone, pasa a través del backbone, al área de destino y va al destino. Este algoritmo obliga a una configuración en estrella en el OSPF, siendo el backbone el centro y las demás áreas los rayos. En la figura 9 se muestra parte de la Internet con AS y áreas. 34 Figura 2.9. Relación AS, backbone y OSPF. Fuente: tesis: protocolos para capa de red El OSPF distingue cuatro clases de enrutadores: 1. Enrutadores internos que están contenidos en una sola área. 2. Enrutadores de borde de área que conectan dos o más áreas. 3. Enrutadores de backbone que están en el backbone. 4. Enrutadores de frontera de AS que hablan con los enrutadores de otras áreas AS. El OSPF funciona intercambiando información entre enrutadores adyacentes, que no es lo mismo que entre enrutadores vecinos. En particular es ineficiente hacer que todos los enrutadores de una LAN hablen con todos los enrutadores de otra LAN. Para evitar esta situación, se elige un enrutador como enrutador designado, el cual se dice que es adyacente a todos los demás enrutadores, e intercambia información con ellos. 35 Los enrutadores que no son vecinos no se intercambian información entre ellos, se mantienen actualizados designando un enrutador de respaldo para facilitar la transición en el caso que el enrutador designado primario se caiga. 2.8.4 Protocolo de enrutamiento de pasarela exterior: BGP Dentro de un solo AS, el protocolo de enrutamiento recomendado en Internet es el OSPF (aunque no es el único en uso). Entre los AS se usa un protocolo diferente, el BGP (Border Gateway Protocol, protocolo de pasarela exterior). Se requiere un protocolo diferente entre las AS, ya que las metas de un protocolo de pasarela interior y un protocolo de pasarela exterior no son iguales. Un protocolo de pasarela interior sólo tiene que mover paquetes con la mayor eficiencia posible, desde el origen hasta el destino; no necesita preocuparse por la política. Los enrutadores de protocolo de pasarela exterior tienen que preocuparse por los asuntos políticos. En particular el BGP, se ha diseñado para permitir muchos tipos de políticas de enrutamiento aplicables al tráfico interAS. Las políticas típicas comprenden consideraciones políticas, de seguridad o económicas. Éstas se configuran manualmente en cada enrutador BGP. No son parte Desde el punto de vista de un enrutador BGP, el mundo consiste en otros enrutadores BGP y en las líneas que los conectan. Se consideran conectados dos enrutadores BGP si comparten una red en común. Dada la importancia del BGP en el tránsito, las redes se agrupan en una de tres categorías: La primera categoría es la de las redes de punta, que sólo tienen una conexión al grafo BGP; no se pueden usar para tráfico en tránsito porque no hay nadie del otro lado. La segunda categoría son las redes multiconectadas. 36 Por último están las redes de tránsito, como los backbone, que están dispuestas a manejar los paquetes de terceros, posiblemente con algunas restricciones. Los pares de enrutadores BGP se comunican entre ellos estableciendo conexiones TCP. Este tipo de operación proporciona comunicación confiable y esconde todos los detalles de la red por la que pasa. El BGP fundamentalmente es un protocolo de vector de distancia, pero muy diferente de casi todos los demás, como el RIP. En lugar de mantener sólo el costo a cada destino, cada enrutador BGP lleva el registro de la trayectoria seguida. Del mismo modo, en lugar de dar periódicamente sus costos estimados a todos los destinos posibles, cada enrutador BGP le dice a sus vecinos la trayectoria exacta que se está usando. Figura 2.10: comparativo de enrutamiento Dinámico. Fuente: tesis Antonio Palma 2.8.5 En resumen Después de realizarse un análisis cualitativo de todos los algoritmos de enrutamiento se puede ver que no existe aquél que ante cualquier circunstancia sea el que mejor resuelva siempre el problema del encaminamiento. 37 Sólo dependerá de qué recurso o criterio se elija como prioritario para el envío de los paquetes de datos. Es el caso del enrutamiento por vector de distancias, que se preocupa prioritariamente por el número de saltos (routers), mientras que el enrutamiento por estado de enlace se preocupa principalmente del estado de las interfaces que el router soporta; y es de ahí su nombre “estado de enlace”. Otra característica que ha sido descrita y que es de suma importancia de los protocolos de enrutamiento, es si deben rutear dentro o fuera de la subred donde se encuentran. Los protocolos de enrutamiento internos se utilizan para actualizar routers bajo el control de un sistema autónomo; mientras que los exteriores se emplean para permitir que dos redes con distintos sistemas autónomos se comuniquen; el ejemplo más actual es el de Internet: OSPF para ruteo interno, BGP para externo. 38 CAPITULO III ALGORITMOS DE ENRUTAMIENTO EN REDES DE SENSORES INALAMBRICOS 3.1 Características de las WSN (wireless sensor network) Una red de sensores inalámbrica (WSN) es una red inalámbrica que consiste en dispositivos autónomos distribuidos de forma espacial que utilizan sensores para monitorear condiciones físicas y ambientales. Estos dispositivos autónomos, o nodos, se combinan con ruteadores y un Gateway para crear un sistema WSN típico. Los nodos de medida distribuidos se comunican de manera inalámbrica a un Gateway central, el cual proporciona una conexión al entorno cableado donde usted puede adquirir, procesar, analizar y presentar sus datos de medida. Para incrementar la distancia y la fiabilidad en una red de sensores inalámbrica, usted puede usar ruteadores para lograr un enlace de comunicación adicional entre los nodos finales y el Gateway. Figura 3.1 Algunos receptores wsn Fuentes: www.um.es, www.bloglainformacion.es, www.aparatosdelfuturo.com 40 Topología Dinámica: En una red de sensores, la topología siempre es cambiante y éstos tienen que adaptarse para poder comunicar nuevos datos adquiridos Variabilidad del canal: El canal radio es un canal muy variable en el que existe una serie de fenómenos como pueden ser la atenuación, desvanecimientos rápidos, desvanecimientos lentos e interferencias que puede producir errores en los datos. No se utiliza infraestructura de red: Una red de sensores no tiene necesidad alguna de infraestructura para poder operar, ya que sus nodos pueden actuar de emisores, receptores o enrutadores de la información. Sin embargo, hay que destacar en el concepto de red de sensores la figura del nodo recolector (también denominados sink node), que es el nodo que recolecta la información y por el cual se recoge la información generada normalmente en tiempo discreto. Esta información generalmente es adquirida por un ordenador conectado a este nodo y es sobre el ordenador que recae la posibilidad de transmitir los datos por tecnologías inalámbricas o cableadas según sea el caso. Tolerancia a errores: Un dispositivo sensor dentro de una red sensora tiene que ser capaz de seguir funcionando a pesar de tener errores en el sistema propio. Comunicaciones multisalto o broadcast: En aplicaciones sensoras siempre es característico el uso de algún protocolo que permita comunicaciones multi-hop, AODV, DSDV, EWMA u otras, aunque también es muy común utilizar mensajería basada en broadcast. Consumo energético: Es uno de los factores más sensibles debido a que tienen que conjugar autonomía con capacidad de proceso, ya que actualmente cuentan con una unidad de energía limitada. Un nodo sensor tiene que contar con un procesador de consumo ultra bajo así como de un transceptor radio con la misma característica, a esto hay que agregar un software que también conjugue esta característica haciendo el consumo aún más restrictivo. 41 Limitaciones hardware: Para poder conseguir un consumo ajustado, se hace indispensable que el hardware sea lo más sencillo posible, así como su transceptor radio, esto nos deja una capacidad de proceso limitada. Costes de producción: Dada que la naturaleza de una red de sensores tiene que ser en número muy elevada, para poder obtener datos con fiabilidad, los nodos sensores una vez definida su aplicación, son económicos de hacer si son fabricados en grandes cantidades, (www.google.com.mx). 3.1.1 Ventajas La comunicación inalámbrica en aplicaciones industriales tiene muchas ventajas. Además de una mayor fiabilidad, la ventaja más reconocida es el bajo coste de instalación. Los emplazamientos industriales suelen ser entornos severos, con requisitos muy exigentes en cuanto al tipo y calidad del cableado. Prescindir de los cables significa que las instalaciones son más baratas, sobre todo cuando se trata de modernizar o actualizar versiones antiguas, un caso en que puede ser difícil proyectar los cables adicionales necesarios en una instalación ya de por sí congestionada. Aunque la definición formal no sea aplicable directamente en marcos industriales, WSN introduce nuevas técnicas de interconexión que ayudan a reducir más el coste de instalación de los sensores inalámbricos. La naturaleza ad hoc de WSN permite un sencillo ajuste y configuración, tarea que no debe subestimarse cuando la red es de considerable tamaño. Para apoyar la cobertura de sensores inalámbricos a nivel de planta se ha de minimizar el trabajo manual de configuración de la red. Además, la configuración de tipo „plug and produce‟ (enchufar y producir) de la red permite desplegar redes temporales de sensores para garantizar el mantenimiento o la localización y corrección de fallos. 42 principales ventajas que ofrecen son la monitorización del hábitat, detección de incendios de humo, terremotos, sirven también como sistema de seguridad, sistema de control industrial, ofrecen también ubicuidad, auto organización, bajo consumo , movilidad, autonomía instalación fácil y rápida, por mencionar algunos. 3.2 Protocolos de Enrutamiento para redes de sensores inalámbricas. Figura 3.2 protocolos de enrutamiento en WSN Fuente: Heinzelman, 3” edicion Los protocolos de encaminamiento en redes inalámbricas de sensores se pueden clasificar generalmente en dos grupos, de acuerdo a la estructura de la red o al criterio de encaminamiento utilizado, y dentro de esos protocolos se encuentran y emplean distintos algoritmos, por lo tanto se trataran los algoritmos de acuerdo a la estructura y clasificación de los protocolos. 43 Dependiendo de la estructura de la red, se puede tener encaminamiento plano en el que todos los nodos desempeñan el mismo papel, encaminamiento jerárquico, que tiene por objeto agrupar los nodos para que los organizadores de la agrupación puedan hacer la agregación y reducción de datos con el fin de ahorrar energía, y encaminamiento basado en localización, que utilizan la información de posición para transmitir los datos hasta las regiones deseadas de la red. Según el criterio de encaminamiento, los algoritmos pueden clasificarse en basados en múltiples rutas, consultas, negociación, calidad de servicio (QoS) y basados en coherencia. Estas estrategias de encaminamiento se consideran adaptativas si ciertos parámetros pueden ser controlados con el fin de amoldarse a las condiciones actuales de la red y a los niveles de energía disponibles. Además de lo anterior, los Algoritmos de enrutamiento se pueden clasificar en tres categorías, proactiva, reactiva, e híbrida, en función de cómo encuentra la fuente una ruta hasta el destino. En los protocolos proactivos, todas las rutas se calculan antes de que sean realmente necesarias, mientras que en los protocolos reactivos, las rutas se calculan cuando se demandan. Los protocolos híbridos utilizan una combinación de estas dos ideas. Otra clase de encaminamiento son los llamados cooperativos. En este tipo de protocolos, los nodos envían datos a un nodo central donde se pueden agregar datos y pueden ser objeto de procesamiento posterior, por lo tanto se reducen los costes en términos de utilización de energía. 3.3 Algoritmos basados en la estructura de la red La estructura de la red puede desempeñar un papel importante en el funcionamiento de algoritmos de enrutamiento en redes de sensores inalámbricos. En esta sección se estudia más en detalle los protocolos que entran en esta categoría. 44 3.3.1. Encaminamiento plano La primera categoría de algoritmos de enrutamiento son los algoritmos de encaminamiento plano. En las redes planas, los nodos normalmente desempeñan el mismo papel y colaboran entre sí para llevar a cabo la tarea de censado. Debido al gran número de nodos, no es posible asignar un identificador global para cada nodo. Esta consideración ha llevado al encaminamiento centrado en datos, donde la estación base envía consultas a determinadas regiones y espera los datos de los sensores ubicados en las regiones seleccionadas. Puesto que los datos se solicitan a través de consultas, se necesita un nombrado basado en atributo para especificar las propiedades de los datos. Los primeros trabajos en encaminamiento centrado en datos (por ejemplo, SPIN y difusión dirigida) se dedicaron a ahorrar energía a través de la negociación de datos y la eliminación de datos redundantes. 3.3.1.1 Algoritmos bajo Protocolos de sensores para información vía negociación (SPIN) Protocolos de sensores para información vía negociación: Familia de protocolos adaptativos llamados Protocolos de Sensores para Información vía Negociación (Sensor Protocols for Information via Negotiation(SPIN)) que distribuyen toda la información de cada nodo a todos los nodos de la red, suponiendo que todos los nodos en la red son posibles estaciones base. Esto permite a un usuario consultar cualquier nodo y obtener inmediatamente la información solicitada. Según lo escrito en (Wirelles Medium Access control ,2006). Estos algoritmos hacen uso de la propiedad de que los nodos cercanos tienen datos similares, y por lo tanto sólo existe la necesidad de distribuir los datos a otros nodos. 45 La familia de protocolos SPIN utiliza la negociación de datos y algoritmos adaptativos de recursos. Los nodos con SPIN funcionando asignan un nombre de alto nivel para describir completamente sus datos recopilados (llamados metadatos) y realizan las negociaciones de metadatos antes de que los datos sean transmitidos. Esto asegura que no se envían datos redundantes a través de la red. La semántica del formato de los meta-datos no se especifica en SPIN, por tanto es tarea de las aplicaciones definir dicha semántica. Además, SPIN tiene acceso al nivel de energía del nodo y adapta el protocolo que se está ejecutando dependiendo de la cantidad de energía restante. Estos protocolos trabajan dirigidos por tiempo y distribuyen la información sobre toda la red, incluso cuando el usuario no solicita ningún dato. La familia SPIN está diseñada para abordar las deficiencias de la inundación por negociación. La familia de protocolos SPIN se diseña basándose en dos ideas básicas: 1. Los nodos sensores operan de forma más eficiente y conservan la energía mediante el envío de datos que describen la información del sensor, en lugar de enviar todos los datos. 2. Los protocolos convencionales, como la inundación, desperdician energía y ancho de banda cuando envían, de forman adicional e innecesaria, copias de datos de sensores que cubren Áreas solapadas. Los inconvenientes de la inundación incluyen la implosión, que es causada por duplicar los mensajes enviados al mismo nodo. Esto ocurre cuando dos nodos están censando la misma región y envían paquetes similares a los mismos vecinos, dando lugar a un consumo de grandes cantidades de energía sin considerar las limitaciones de la misma. 46 Los meta-datos de la negociación SPIN resuelven los problemas clásicos de las inundaciones, logrando así una gran eficiencia energética. SPIN es un protocolo de tres fases, y por tanto, los nodos sensores usan tres tipos de mensajes, ADV, REQ, y DATA, para comunicarse. ADV se utiliza para anunciar nuevos datos, REQ para solicitar datos, y DATA para enviar datos. El protocolo se inicia cuando un nodo SPIN obtiene nuevos datos que está dispuesto a compartir. Lo hace mediante radiodifusión y un mensaje ADV que contiene metadatos. Si un vecino está interesado en los datos, envía un mensaje REQ para los datos y los datos se envían a este nodo vecino. El nodo sensor vecino repite este proceso con sus vecinos. Como resultado, toda la zona del sensor recibirá una copia de los datos. Una de las ventajas de SPIN es que los cambios topológicos están localizados, ya que cada nodo sólo necesita saber sus vecinos de un salto. SPIN proporciona más ahorro de energía que la inundación, y una negociación con metadatos con casi la mitad de los datos redundantes. Sin embargo, el mecanismo que anuncia los datos SPIN no puede garantizar la entrega de los mismos. Para ver esto, se puede considerar una aplicación de detección de intrusos, donde los datos deben ser entregados de manera fiable a intervalos periódicos. Asumiendo que los nodos interesados en los datos se encuentran lejos del nodo fuente, y los nodos entre el origen y destino no están interesados en esos datos, estos datos no serán entregados al destino. 3.3.1.2 Difusión Dirigida Difusión dirigida: Popular paradigma de agregación de datos para redes de sensores inalámbricos llamado difusión dirigida, fue propuesto por (C.Intanagotwiwat, 2000). 47 La difusión dirigida es un paradigma centrado en datos (DC) en el sentido de que todos los datos generados por los nodos sensores se denominan por pares atributo-valor. La idea principal del paradigma DC es combinar los datos procedentes de distintas fuentes en la ruta (agregación de red) eliminando la redundancia, reduciendo al mínimo el número de transmisiones, ahorrando energía y prolongando el tiempo de vida. A diferencia del encaminamiento punto a punto, se buscan rutas desde múltiples fuentes a un único destinatario, que es el encargado de realizar la agregación. En la difusión dirigida, los sensores miden eventos y crean gradientes de información en sus respectivos vecinos. La estación base pide datos mediante la transmisión broadcasting de intereses. Un interés describe una tarea que debe hacerse por la red, dicho interés se difunde a través de la red salto a salto, y es emitido broadcast (transmisión de paquetes) por cada nodo a sus vecinos. Cada sensor que recibe el interés, establece un gradiente hacia los nodos sensores de los que recibe el interés. Este proceso continúa hasta que se crean gradientes de las fuentes a la estación base. En general, un gradiente especifica un valor de atributo y una dirección. La fuerza del gradiente puede ser diferente hacia diferentes vecinos, dando lugar a diferentes cantidades de flujo de información. Cuando los intereses ajustan los gradientes, las rutas de flujo de información se forman a partir de múltiples caminos, y los mejores caminos se refuerzan para evitar una mayor inundación de acuerdo con una regla local. Con el fin de reducir costes de comunicación, los datos se agregan en el camino. El objetivo es encontrar un buen árbol de agregación que permita el envío de datos desde el nodo fuente a la estación base. La estación base se actualiza periódicamente y reenvía el interés cuando comienza a recibir datos de la/s fuente/s. 48 Esto es necesario porque los intereses no son transmitidos de forma fiable a través de la red (a) Propagación de intereses (b) Establecimiento de gradientes (c) Envío de datos y refuerzo del camino Figura 3.2 Difusión dirigida fuente: www.comunidadhosteltur.com Todos los nodos en una red basada en difusión dirigida permiten la difusión para lograr ahorro de energía mediante la selección empírica de buenos caminos, el almacenamiento en caché y el procesamiento de datos en la red. El cacheado puede aumentar la eficiencia, robustez y escalabilidad de la coordinación entre los nodos sensores, que es la esencia del paradigma de difusión de datos. Otros usos de la difusión dirigida es la propagación espontánea de eventos importantes para algunos sectores de la red de sensores. Ese tipo de recuperación de información sólo se adapta bien a peticiones persistentes, donde 49 los nodos solicitantes no esperan, durante período de tiempo, datos que satisfacen una consulta. Esto hace que sea inadecuado para consultas que se realizan una sola vez, ya que no merece la pena la creación de gradientes para consultas que utilizan la ruta una vez. 3.3.1.3 Enrutamiento por rumor Enrutamiento por rumor: Es una variación de la difusión dirigida y está previsto para aplicaciones donde no es factible el enrutamiento geográfico. En general, la difusión dirigida utiliza inundación para inyectar la consulta a toda la red cuando no hay un criterio geográfico para difundir tareas. Sin embargo, en algunos casos sólo hay una pequeña cantidad de datos que se solicitan a partir de los nodos, por lo que el uso de las inundaciones es innecesario. Un enfoque alternativo es inundar los eventos si el número de eventos es pequeño y el número de consultas es muy grande. La idea clave es encaminar las consultas a los nodos que han observado un evento en particular, en lugar de las inundaciones en toda la red, para obtener información acerca de los eventos ocurridos. Para las inundaciones de eventos a través de la red, el algoritmo de encaminamiento por rumor emplea paquetes de larga vida llamados agentes. Cuando un nodo detecta un evento, agrega el evento a su tabla local, llamada tabla de eventos, y genera un agente. Los agentes viajan por la red para difundir información acerca de eventos locales a nodos distantes. Cuando un nodo genera una consulta para un evento, los nodos que conocen la ruta pueden responder a la consulta mirando su tabla de eventos, según (J. N. Al-Karaki, 2004 & A. E. Kamal, 2004). 50 Por lo tanto, no hay necesidad de inundación en toda la red, lo que reduce el coste de comunicación. Por otra parte, el encaminamiento por rumor mantiene sólo un camino entre el origen y el destino, al contrario que la difusión dirigida donde los datos pueden ser enrutados a través de múltiples vías. Además, puede ahorrar energía en comparación con las inundaciones de eventos y también puede manejar fallos en los nodos. Sin embargo, funciona bien sólo cuando el número de eventos es pequeño. Para un gran número de eventos, el coste del mantenimiento de agentes y tablas de eventos en cada nodo se convierte en inviable si no hay suficiente interés en estos eventos. Además, la sobrecarga asociada se controla mediante diferentes parámetros utilizados en el algoritmo, como el tiempo de vida (TTL, por sus siglas en inglés) perteneciente a las consultas y agentes. Dado que los nodos empiezan a conocer los eventos a través de los agentes de eventos, la heurística para definir la ruta de un agente afecta el rendimiento de la selección del próximo salto. 3.3.1.4 Algoritmo de reenvío de coste mínimo Algoritmo de reenvío de coste mínimo: Este algoritmo aprovecha el hecho de que la dirección de enrutamiento siempre es conocida (es decir, hacia la estación base externa fijada). Por lo tanto, un nodo sensor no necesita tener un identificador exclusivo ni mantener una tabla de enrutamiento. En lugar de ello, cada nodo mantiene la estimación del menor coste desde él a la estación base. Cada nodo envía los mensajes de forma broadcast a sus vecinos. Cuando un nodo recibe el mensaje, comprueba si está en la ruta de menor coste entre el nodo sensor fuente y la estación base. Si éste es el caso, se retransmite el mensaje a sus vecinos. Este proceso se repite hasta que se llegue a la estación base. 51 Además, cada nodo debe conocer el menor coste estimado desde sí mismo a la estación base. Éste se obtiene de la siguiente manera. La estación base transmite de forma broadcast un mensaje con el coste a cero, mientras que cada nodo inicializa a infinito el menor coste a la estación base. Cada nodo que recibe el mensaje broadcast originado por la estación base, comprueba si la estimación en el mensaje más el coste del enlace en el que se recibe es inferior a la estimación actual. En caso afirmativo, la estimación actual y la estimación en el mensaje de difusión se actualizan. Si el mensaje de difusión recibido es actualizado, se reenvía, de lo contrario, se elimina. Sin embargo, el procedimiento anterior puede dar lugar a que algunos nodos tengan varias actualizaciones, y además, los nodos lejos de la estación base obtengan más actualizaciones que los cercanos a ella. Para evitar esto, el algoritmo de reenvío de coste mínimo fue modificado para ejecutar un algoritmo de backoff en la fase de instalación, según (S. Bandyopadhyay and E. Coyle, 2003). El algoritmo de backoff determina que un nodo no enviará el mensaje de actualización hasta que han transcurrido a _ c unidades de tiempo desde el momento en que el mensaje fue actualizado, donde a es una constante y lc es el coste del enlace en el cual el mensaje fue recibido. 3.3.1.5 Encaminamiento basado en gradiente Encaminamiento basado en gradiente: Schurgers propuso una variante de la difusión dirigida. La idea clave es memorizar el número de saltos cuando el interés se difunde a través de toda la red. Como tal, cada nodo puede calcular un parámetro llamado altura del nodo, que es el número mínimo de saltos para alcanzar la estación base, (C. Schurgers 2001 & M. Srivastava, 2001). 52 La diferencia entre la altura de un nodo y la de su vecino se considera el gradiente del enlace. Un paquete se envía a través del enlace con mayor gradiente. Se utilizan algunas técnicas auxiliares como la agregación de datos y la difusión de tráfico para dividir uniformemente el tráfico a través de la red. Cuando varias rutas pasan a través de un nodo que actúa como nodo retardo, este nodo retardo puede combinar datos de acuerdo con una función determinada. En este encaminamiento, han sido objeto de debate tres técnicas de difusión de datos: Un esquema estocástico, si un nodo recoge un gradiente al azar cuando hay dos o más saltos tienen el mismo gradiente. Un esquema basado en energía, donde un nodo incrementa su altura cuando la energía cae por debajo de un umbral determinado, de manera que otros sensores son descartados para enviar datos a ese nodo. Un esquema basado en corrientes, donde las nuevas corrientes no se enrutan a través de nodos que forman parte actualmente de la ruta de acceso de otras corrientes. El objetivo principal de estos sistemas es obtener una distribución equilibrada del tráfico en la red, aumentando así el tiempo de vida de la misma. Este esquema supera a la difusión dirigida en términos de energía total en la comunicación. 3.4 Enrutamiento basado en información y difusión Anisótropa restringida: dos técnicas de enrutamiento, (information-driven sensor querying (IDSQ)) y (constrained anisotropic diffusion routing(CADR)), se proponen en. CADR pretende ser una forma general de la difusión dirigida, propuesta por (M. Chu, H. Haussecker,2002 & F. Zhao, 2002). La idea clave es consultar sensores y rutas de datos en la red, de tal manera que la ganancia de información se maximiza mientras se minimizan la latencia y el ancho de banda. 53 CADR difunde consultas por medio de un conjunto de criterios de información para seleccionar qué sensores pueden obtener los datos. Esto se logra mediante la activación de los sensores que están cerca de un evento particular y el ajuste dinámico de las rutas de datos. En CADR, cada nodo evalúa un objetivo de información/coste, las rutas de datos basadas en el gradiente de información/coste local y las necesidades de los usuarios. En IDSQ, el nodo consultado puede determinar qué nodo puede proporcionar la información más útil, con la ventaja adicional de equilibrar el coste de energía. Sin embargo, IDSQ no define específicamente la consulta y la información que se enruta entre los sensores y la estación base. Por lo tanto, IDSQ puede considerarse como un procedimiento complementario de optimización. Estos enfoques son más eficientes energéticamente que la difusión dirigida, donde las consultas se difunden de manera isotrópica y alcanzan primero los vecinos más cercanos. 3.4.1 Algoritmo bajo COUGAR COUGAR: otro algoritmo centrado en datos es el llamado COUGAR propuesto en (Y. Yao, 2002 & J. Gehrke, 2002), que considera la red como un sistema enorme de base de datos distribuida. La idea es utilizar consultas declarativas mediante el procesamiento de consultas abstractas de las funciones de la capa de red, como puede ser la selección de los sensores relevantes. COUGAR utiliza la agregación de datos en la red para conseguir más ahorro de energía. La abstracción es soportada a través de una capa adicional de consulta que se encuentra entre las capas de red y aplicación. 54 COUGAR incorpora una arquitectura para el sistema de base de datos del sensor, donde los nodos sensores seleccionan un nodo líder para realizar la agregación y la transmisión de los datos a la estación base. La estación base es responsable de generar un plan de consulta que especifica la información necesaria sobre el flujo de datos y la computación de la red para la próxima consulta, y lo envía a los nodos. El plan de consulta también describe cómo seleccionar un líder para la consulta. La arquitectura proporciona capacidad de computación a la red, dando lugar a una eficiencia de energía en situaciones donde los datos generados son enormes. COUGAR proporciona una capa de red independiente del método de consulta de datos. Sin embargo, tiene algunos inconvenientes: En primer lugar, la adición de una capa de consulta en cada uno de los nodos sensores puede añadir sobrecarga extra en términos de consumo de energía y de almacenamiento de memoria. En segundo lugar, se necesita la sincronización entre los nodos para obtener éxito en el procesamiento de datos en la red (no todos los datos se reciben al mismo tiempo de las fuentes) antes de enviarlos datos al nodo líder. En tercer lugar, los nodos líderes se deben mantener dinámicamente para evitar que éstos sean propensos a fallos. 3.4.2 Algoritmo bajo ACQUIRE ACQUIRE: N. Sadagopan (2003), Propuso una técnica para consultas en redes de sensores llamada Reenvío de Consultas Activas en Redes de Sensores (Active Qwery Forwarding in Sensor Networks (ACQUIRE)). Similar a COUGAR, ACQUIRE ve la red como una base de datos distribuida donde las consultas complejas pueden dividirse en varias sub consultas. 55 El nodo estación base envía una consulta, que es retransmitida por cada nodo que la recibe. Durante esto, cada nodo intenta responder a la consulta utilizando su información pre-cacheada y luego la envía a otro nodo sensor. Si la información no está pre-cacheada hasta la fecha, los nodos reúnen información de sus vecinos que se encuentran como máximo a d saltos. Una vez que la consulta se resuelva por completo, se envía de vuelta a través del camino más corto a la estación base. Por lo tanto, ACQUIRE puede hacer frente a consultas complejas permitiendo a muchos nodos enviar respuestas. La difusión dirigida no se puede utilizar para consultas complejas porque utiliza un mecanismo de consultas basado en inundaciones para consultas continuas y agregadas, y daría lugar a un consumo excesivo de energía. Por otro lado, ACQUIRE puede proporcionar consultas eficientes ajustando el valor del parámetro d. Cuando d es igual al diámetro de la red, ACQUIRE se comporta de manera similar a las inundaciones. Sin embargo, la consulta tiene que pasar más saltos si d es demasiado pequeño. Para seleccionar el siguiente nodo para la transmisión de la consulta, ACQUIRE escoge al azar o basa la selección en la máxima satisfacción posible de la consulta. 3.4.3 Encaminamiento basado en ahorro de energía. Encaminamiento basado en ahorro de energía: según S. Servetto (2003) & G. Barrenechea, (2003), este protocolo reactivo iniciado por el destino tiene como objetivo aumentar el tiempo de vida de la red. Aunque este protocolo es similar a la difusión dirigida, difiere en el sentido de que mantiene un conjunto de rutas en lugar de mantener o forzar una ruta óptima con la tasa más alta. Estos caminos se mantienen y eligen por medio de una cierta probabilidad. 56 El valor de esta probabilidad depende de cómo se logra el consumo de energía en cada ruta. Debido a que los caminos se eligen en diferentes momentos, la energía de un solo camino no se agotará rápidamente. Esto puede lograr un mayor tiempo de vida de la red además de disipar la energía más equitativamente entre todos los nodos. El protocolo inicia una conexión a través de inundaciones localizadas que se utilizan para descubrir todas las rutas y los costes entre un par fuente/destino, de esta manera se crean las tablas de rutas. Los caminos de coste alto se descartan, y se construye una tabla de encaminamiento mediante la elección de los nodos vecinos de una manera que sea proporcional a su coste. Posteriormente, las tablas de enrutamiento se utilizan para enviar datos al destino con una probabilidad inversamente proporcional al coste del nodo. Las inundaciones localizadas son realizadas por el nodo destino para mantener las rutas activas. En comparación con la difusión dirigida, este protocolo establece una mejora general en ahorro de energía y aumento en el tiempo de vida de la red. Sin embargo, el enfoque requiere reunir información sobre la ubicación y un mecanismo de establecimiento de direcciones de los nodos, lo que complica el establecimiento de la ruta en comparación con la difusión dirigida. 3.4.4 Encaminamiento con pasos aleatorios Encaminamiento con pasos aleatorios: El objetivo de esta técnica es lograr un equilibrio de carga haciendo uso del enrutamiento multitrayecto en redes de sensores inalámbricos. Esta técnica considera sólo redes a gran escala donde los nodos tienen movilidad muy limitada. En este protocolo, se supone que los nodos sensores se pueden activar o desactivar de forma aleatoria. 57 Para encontrar una ruta desde un origen a su destino, la información de localización se obtiene calculando la distancia entre nodos mediante el uso de la versión asíncrona del algoritmo de Bellman-Ford Un nodo intermedio se selecciona como el siguiente salto al nodo vecino que está más cerca del destino de acuerdo con una probabilidad calculada. El algoritmo de enrutamiento es simple, ya que los nodos están obligados a mantener poca información de estado. Además, las distintas rutas se eligen en diferentes momentos, incluso para el mismo par de nodos origen y destino. Sin embargo, la principal preocupación de este protocolo es que a veces la topología de la red no es práctica. 3.5 Encaminamiento jerárquico Propuesto originalmente en redes inalámbricas, pero aplicable a redes LAN, son técnicas con ventajas especiales relacionadas con la escalabilidad y una comunicación eficiente. Como tal, el concepto de enrutamiento jerárquico es utilizado también para realizar un encaminamiento eficiente en términos de energía en redes inalámbricas de sensores. En una arquitectura jerárquica, los nodos de mayor energía pueden ser utilizados para procesar y enviar la información, mientras que los nodos de baja energía pueden ser usados para realizar la detección en la proximidad del objetivo. La creación de grupos y la asignación de tareas especiales a los jefes de grupos, puede contribuir enormemente a la escalabilidad del sistema global, el tiempo de vida y la eficiencia energética. El enrutamiento jerárquico es una forma eficaz para reducir el consumo energético en un grupo, realizando la agregación de datos con el fin de disminuir el número de mensajes transmitidos a la estación base. Está compuesto principalmente de 58 dos capas, donde una capa se utiliza para seleccionar el líder del grupo y la otra para el encaminamiento. Sin embargo, la mayoría de las técnicas en esta categoría no tienen que ver con rutas, sino con «quién y cuándo enviar o procesar/agregar» la información y distribución de canal. 3.5.1 Algoritmo bajo LEACH Protocolo LEACH: propuesto por W.Heinzelman, A.Chandrakasan, & H. Balakrishnan, (2000). Es un algoritmo de agrupamiento jerárquico para redes de sensores, denominado Jerarquía de Clustering Adaptativa de Baja Energía (Low Energy Adaptive Clustering Hierarchy), (LEACH). Es un Algoritmo basado en agrupamiento que incluye la formación de grupos distribuidos. Selecciona aleatoriamente unos pocos nodos como los jefes de clúster (CHs) y rota esta función para distribuir uniformemente la carga de energía entre los nodos de la red. En LEACH, los nodos CH comprimen los datos que les llegan de los nodos que pertenecen a sus respectivos grupos, y envían un paquete agregado a la estación base para reducir la cantidad de información que debe ser transmitida a dicha estación. La recogida de datos es centralizada y se lleva a cabo periódicamente. Por lo tanto, este protocolo es apropiado cuando se necesita una monitorización constante por parte de la red de sensores. Un usuario podría no necesitar todos los datos inmediatamente, en este caso, las transmisiones de datos periódicos son innecesarias, y pueden agotar la energía limitada de los nodos sensores. Después de un determinado intervalo de tiempo, se lleva a cabo la rotación aleatoria del rol de CH dando lugar a una disipación de energía uniforme en la red. 59 En los estudios realizados de este protocolo las conclusiones reflejan que sólo el 5 por ciento de los nodos deben actuar como CHs. El funcionamiento de LEACH está separado en dos fases, la fase de configuración y la fase de estado estacionario. En la fase de configuración los grupos están organizados y son seleccionados los CHs. En la fase de estado estacionario tiene lugar la transferencia de datos a la estación base. La duración de la fase de estado estacionario es más larga que la duración de la fase de configuración con el fin de minimizar los gastos generales. Durante la fase de configuración se eligen una determinada fracción de nodos como CHs. Todos los CHs elegidos anuncian mediante un mensaje broadcast al resto de los nodos de la red que son los nuevos CHs. Todos los nodos no-CH, después de recibir este anuncio, deciden el grupo al que desean pertenecer. Esta decisión está basada en la intensidad de la señal de aviso. Los nodos no-CH informan a los CHs apropiados que serán un miembro de la agrupación. Después de recibir todos los mensajes de los nodos que deseen ser incluidos en el clúster y en función del número de nodos del clúster, el nodo CH crea un programa TDMA y asigna a cada nodo una ranura de tiempo para transmitir. Este programa se transmite broadcast a todos los nodos del clúster. Durante la fase de estado estacionario, los nodos sensores pueden comenzar la detección y transmisión de datos a los CHs. El nodo CH, después de recibir todos los datos, los agrega antes de enviarlos a la estación base. Después de un cierto tiempo, que es determinado a priori, la red pasa a la fase de configuración de nuevo y entra en otra ronda de selección de nuevos CHs. Cada grupo se comunica utilizando diferentes códigos CDMA para reducir la interferencia con los nodos que pertenecen a otros grupos. Aunque LEACH es capaz de aumentar el tiempo de vida de la red, todavía hay una serie de cuestiones acerca de las hipótesis utilizadas en este protocolo. 60 LEACH asume que todos los nodos pueden transmitir con la suficiente potencia para llegar a la estación base y que cada nodo tiene la potencia computacional para dar soporte a diferentes protocolos MAC. Por lo tanto, no es aplicable a redes desplegadas en grandes regiones. También asume que los nodos siempre tienen datos que enviar, y los nodos que están situados cerca unos de otros tienen datos correlacionados. No está claro cómo se distribuye de manera uniforme el número predeterminado de CHs través de la red. Por lo tanto, existe la posibilidad de que los CHs elegidos estén concentrados en una parte de la red, por lo que algunos nodos no tendrán ningún CH en sus alrededores. Además, la idea de agrupamiento dinámico da lugar a una sobrecarga extra (cambios de cabeza de grupo, avisos, etc), que puede disminuir la ganancia en el consumo de energía. Por último, el protocolo supone que todos los nodos comienzan con la misma cantidad de energía en cada ronda de elección, suponiendo que un CH consume aproximadamente la misma cantidad de energía para cada nodo. 3.5.2 Concurrencia eficiente en potencia en sistemas de información de sensores Concurrencia eficiente en potencia en sistemas de información de sensores: Se propuso el protocolo denominado Power-Efficient Gathering in Sensor Information Systems (PEGASIS). La idea básica del protocolos según R. C. Shah & J. Rabaey, (2002), para ampliar el tiempo de vida de la red, los nodos se organizan en cadenas en las que un nodo sólo puede transmitir su información al siguiente nodo de la cadena (después de haber agregado sus datos a los ya recibidos), hasta que el último de ellos se comunica directamente con la estación base. 61 De la misma forma que en LEACH, PEGASIS también funciona en base a rondas, de modo que se va alternando el nodo que tiene comunicación directa con la estación base. Cuando termina la ronda de comunicación de todos los nodos con la estación base, comienza una nueva ronda, y así sucesivamente. Esto reduce la potencia necesaria para transmitir datos por ronda así como extiende la potencia consumida de manera uniforme en todos los nodos. Por lo tanto, PEGASIS tiene dos objetivos principales. En primer lugar, aumentar la vida útil de cada uno de los nodos mediante el uso de técnicas de colaboración. En segundo lugar, permitir sólo la coordinación local entre los nodos que están cerca, de modo que el ancho de banda consumido en la comunicación se reduce. Para encontrar el nodo vecino más cercano, cada nodo utiliza la intensidad de la señal para medir la distancia a todos los nodos vecinos y, a continuación, ajusta la intensidad de la señal de modo que sólo un nodo pueda ser escuchado. La cadena hasta la estación base constará de los nodos que están más cerca entre sí y forman una ruta hasta dicha estación. PEGASIS es capaz de aumentar la vida útil de la red al doble que bajo el protocolo LEACH. Esa ganancia se logra mediante la eliminación de la sobrecarga causada por la formación de grupos dinámicos en LEACH, y disminuyendo el número de transmisiones y recepciones de datos mediante el uso de agregación de datos. Aunque la sobrecarga de la agrupación se evita, PEGASIS requiere un ajuste dinámico de la topología, ya que un nodo sensor necesita conocer el estado de energía de sus vecinos, con el fin de conocer la ruta de los datos. Ese ajuste de topología puede introducir importantes sobrecargas, especialmente para redes altamente utilizadas. Además, PEGASIS considera que todos los nodos mantienen una base de datos completa de la ubicación de los demás nodos de la red. 62 3.5.3 Algoritmos eficientes en energía sensibles a umbral (TEEN Y APTEEN) Protocolos eficientes en energía sensibles a umbral: dos protocolos de enrutamiento jerárquico llamados (Threshold-Sensitive Energy Efficient Sensor Network Protocol (TEEN)) y (Adaptive Periodic TEEN (APTEEN)) propuestos en A. Manjeshwar & D. P. Agarwal. Apteen & A. Manjeshwar and D. P. Agarwal, (2001). Estos Algoritmos se utilizan para aplicaciones de tiempo crítico. En TEEN, los nodos sensores detectan continuamente el medio, pero la transmisión de datos se realiza con menos frecuencia. Un sensor CH envía a sus miembros un umbral duro, que es el valor umbral del atributo detectado, y un umbral blando, que es un pequeño cambio en el valor del atributo detectado que provoca que el nodo encienda su transmisor y transmita. Por lo tanto, el umbral duro intenta reducir el número de transmisiones permitiendo a los nodos transmitir solamente cuando el atributo detectado está en el rango de interés. El umbral blando reduce aún más el número de transmisiones que pueden producirse cuando no hay cambio o éste es muy bajo en el atributo sensado. Un valor más pequeño del umbral blando da una imagen más exacta de la red, a expensas de incrementar el consumo de energía. Así, el usuario puede controlar el compromiso entre eficiencia energética y precisión de los datos. Cuando los CHs se cambian, los nuevos valores de los parámetros anteriores se emiten broadcast. El principal inconveniente de este sistema es que si los umbrales no se reciben, los nodos no se comunicarán nunca, y el usuario no obtendrá ningún dato de la red. Los nodos detectan su entorno continuamente. 63 La primera vez que un parámetro de un conjunto de atributos llega al valor de umbral duro, el nodo conmuta su transmisor y envía los datos censados. El valor se almacena en una variable interna llamada valor sensado (SV). Los nodos transmitirán datos en el período de grupo actual sólo cuando se cumplen las siguientes condiciones: El valor actual del atributo detectado es mayor que el umbral duro. El valor actual del atributo sensado difiere de SV una cantidad igual o superior al umbral blando. En el protocolo TEEN la transmisión de mensajes consume más energía que la detección de datos, por lo que el consumo de energía en este sistema es menor que en las redes proactivas. Además, si es necesario, el usuario puede modificar el umbral blando y emitir broadcast los parámetros nuevos. APTEEN, por otra parte, es un protocolo híbrido que modifica la periodicidad o los valores umbrales utilizados en el protocolo TEEN de acuerdo a las necesidades del usuario y al tipo de aplicación. En APTEEN, el nodo detecta continuamente el entorno, y los nodos que detectan un valor del atributo por encima del umbral duro transmiten los datos cuando dicho valor cambia en una cantidad igual o superior a al umbral blando. Si un nodo no envía datos durante un período de tiempo igual al contador de tiempo (máximo período de tiempo entre dos informes sucesivos enviados por un nodo), se ve obligado a detectar y retransmitir los datos. Se utiliza un programa TDMA (tiempo de división de múltiple acceso), y a cada uno de los nodos del clúster se le asigna una ranura de transmisión. Por lo tanto, APTEEN utiliza un programa modificado TDMA para implementar la red híbrida. Las principales características del esquema APTEEN incluyen lo siguiente. Combina ambas políticas proactivas y reactivas. Ofrece una gran flexibilidad al 64 permitir al usuario ajustar el intervalo contador de tiempo y los valores del umbral para el consumo de energía. La principal desventaja del sistema es la complejidad adicional para implementar las funciones del umbral y del contador de tiempo. La simulación de TEEN y APTEEN ha demostrado que estos dos protocolos superan a LEACH. El rendimiento de APTEEN está entre LEACH y TEEN en cuanto a la disipación de energía y tiempo de vida de la red. TEEN da los mejores rendimientos, ya que disminuye el número de transmisiones. Los principales inconvenientes de los dos enfoques son la sobrecarga y la complejidad asociada con la formación de grupos en varios niveles, el método de implementación de funciones basadas en umbral, y cómo tratar las consultas de nombres basados en atributos. 3.5.4 Red de comunicación de mínima energía Red de comunicación de mínima energía: En V. Rodoplu & T. H, (1999), se propone un algoritmo que calcula la eficiencia energética de una subred, la red de comunicación de mínima energía (Minimum Energy Communication Network (MECN)), para una determinada red de sensores utilizando GPS de baja potencia. MECN identifica una región de retransmisión para cada nodo. La región de retransmisión consta de nodos en un área circundante donde la transmisión a través de estos nodos es más eficiente energéticamente que la transmisión directa. El recinto de un nodo es creado mediante la unión de todas las regiones de retransmisión que dicho nodo puede alcanzar. La idea principal de MECN es encontrar una subred que tendrá menos nodos y requerirá menos energía para la transmisión entre dos nodos particulares. De esta manera, las rutas de potencia mínima global se encuentran sin tener en cuenta todos los nodos de la red. Esto se realiza utilizando una búsqueda localizada para cada nodo considerando su región de retransmisión 65 MECN es auto reconfigurable y, por tanto, puede adaptarse dinámicamente a un fallo de un nodo o al despliegue de nuevos sensores. SMECN (Small Minimum Energy Communication Network) es una extensión de MECN. En MECN, se supone que cada nodo puede transmitir a cualquier otro nodo, cosa que no es siempre posible. SMECN tiene en cuenta los posibles obstáculos que pueden aparecer entre cualquier par de nodos. Además, también es posible reducir el número de dispositivos incluidos en la subred de transmisión respecto al protocolo MECN. 3.5.4.1 Algoritmo de auto-organización. Algoritmo de auto-organización: Describe un Algoritmo de auto-organización que es usado para construir una arquitectura que da soporte a los sensores heterogéneos de acuerdo L. Subramanian & R. H. Katz, (1999) Además, estos sensores pueden ser móviles o estacionarios. Algunos sensores exploran el medioambiente y transmiten los datos a un conjunto de nodos designados que actúan como enrutadores. Los nodos en caminadores son estacionarios y forman la red troncal de comunicación. Los datos recogidos son enviados a través de los enrutadores a los nodos con más potencia. Cada nodo de detección debe ser capaz de llegar a un en caminador para ser parte de la red. Los nodos sensores se identifican a través de la dirección del nodo enrutador al que están conectados. La arquitectura de enrutamiento es jerárquica donde los grupos de nodos se forman y agrupan cuando sea necesario. El algoritmo de bucles locales de Markov (LML), que realiza un recorrido aleatorio en árboles de expansión, se utilizó para apoyar la tolerancia a fallos y como un medio de difusión. 66 En este enfoque, los nodos sensores pueden ser direccionados individualmente en la arquitectura de enrutamiento, por lo que es adecuado para aplicaciones donde la comunicación con un nodo es necesaria. Además, este algoritmo incurre en un pequeño coste para el mantenimiento de las tablas de enrutamiento y de una jerarquía de enrutamiento equilibrada. También se constató que la energía consumida para el envío broadcasting de un mensaje es inferior a la que se consume en el protocolo SPIN. Este protocolo, sin embargo, no es un protocolo bajo demanda, especialmente en la fase de organización del algoritmo, y por tanto introduce sobrecarga extra. Otra cuestión está relacionada con la formación de la jerarquía. Podría ocurrir que haya muchos cortes en la red y, por tanto, la probabilidad de aplicar la fase de reorganización incrementase, siendo ésta una operación costosa. 3.5.4.2 Encaminamiento de Agregación de Sensores Encaminamiento de agregación de sensores: según el estudio de Q. Fang, F. Zhao, & L, (2003) un conjunto de algoritmos para la construcción y el mantenimiento de la agregación de sensores. El objetivo es controlar colectivamente una cierta actividad en el entorno (aplicaciones de seguimientos de objetivos). Una agregación de sensores comprende aquellos nodos en una red que satisfacen un predicado de agrupación para una tarea de procesamiento colaborativo. Los parámetros del predicado dependen de la tarea y de los requisitos de recursos. Los sensores en un campo de sensores se dividen en grupos de acuerdo a la intensidad de la señal sensada, por lo tanto sólo hay un máximo por grupo. 67 A continuación, se eligen los líderes de las agrupaciones locales. Para elegir un líder, es necesario el intercambio de información entre sensores vecinos. Si un sensor, tras el intercambio de paquetes con todos sus vecinos de un salto, considera que es superior a todos ellos, se declara como líder. Este algoritmo de seguimiento basado en líder asume que el líder conoce la región geográfica de la colaboración. Tres algoritmos fueron propuestos en. Primero fue un protocolo ligero, Gestión de Agregados Distribuidos DAM (Distributed Aggregate Management), utilizado en la formación de agregados de sensores para una tarea de monitorización de objetivos. El protocolo incluye un predicado de decisión para que cada nodo pueda decidir si debe participar en una agregación. Un nodo determina si pertenece a una agregación basándose en el resultado de aplicar el predicado a los datos del nodo así como a la información de otros nodos. Los agregados se forman cuando el proceso converge finalmente. En segundo lugar, Monitorización de la Actividad Basada en Energía EBAM (Energy-Based Activity Monitoring), que estima el nivel de energía en cada uno de los nodos computando el área de impacto de la señal, combinando de forma ponderada la energía del objetivo detectado en cada sensor, asumiendo que cada objetivo tiene un nivel de energía constante. El tercer algoritmo, Monitorización de la Actividad con Maximización de Expectativa EMLAM (Expectation-Maximization Like Activity Monitoring), elimina la suposición del nivel de energía constante del objetivo. EMLAM estima las posiciones del objetivo y la energía de la señal utilizando las señales recibidas, y utiliza las estimaciones resultantes para predecir cómo las señales de los objetivos pueden ser mezcladas en cada uno de los sensores. Este proceso se itera hasta que la estimación es suficientemente buena. 68 3.6 Encaminamiento basado en una arquitectura Grid virtual Encaminamiento en una arquitectura grid virtual: Un paradigma de enrutamiento eficiente en energía, dicho protocolo utiliza la agregación de datos y el procesamiento de la red para maximizar el tiempo de vida de la red, propuesto por J. N. Al-Karaki, (2002). Debido a que en muchas aplicaciones en redes de sensores inalámbricos los nodos son estacionarios o de baja movilidad, un enfoque razonable es organizar los nodos en una topología fija. Un enfoque GPS-libre se utiliza para crear grupos con formas simétricas que están fijados, iguales, adyacentes y no solapados. En las agrupaciones cuadradas fueron utilizadas para obtener una topología virtual rectilínea. Dentro de cada zona, un nodo es seleccionado de forma óptima para actuar como CH. La agregación de datos se realiza a dos niveles: local y luego global. El conjunto de CHs, también llamados Agregadores locales (LAs), realizan la agregación local, mientras que un subconjunto de estos LAs se utilizan para realizar la agregación global. Sin embargo, la determinación de una selección óptima de los puntos de agregación globales, llamados maestros agregadores (MAs), es NP-duro. 3.6.1 Encaminamiento jerárquico basado en ahorro. Encaminamiento jerárquico de ahorro de energía: El Algoritmo divide la red en grupos de sensores Cada grupo de sensores de proximidad geográfica se agrupan juntos como una zona, y cada zona es tratada como una entidad. Para realizar el encaminamiento, a cada zona se le permite decidir cómo se enrutará un mensaje a través de las otras zonas, de tal manera que se maximiza la vida de la batería de los nodos del sistema. 69 Los mensajes son encaminados a lo largo de la ruta que tiene el máximo sobre la totalidad de los mínimos de la potencia restante, llamado ruta max-min. La motivación de esta idea se base en que el uso de nodos de alta potencia residual puede ser más caro que el camino con el mínimo consumo de energía. Un algoritmo de aproximación, llamado algoritmo máx-min zPmin, se ha propuesto en (N. Bulusu, 2000). El quid del algoritmo se basa en la relación entre minimizar el consumo de potencia total y maximizar la mínima potencia residual de la red. Por lo tanto, el algoritmo intenta mejorar una ruta max-min limitando su consumo de potencia. En primer lugar, el algoritmo encuentra la ruta con el menor consumo de potencia (Pmin) usando el algoritmo de Dijkstra. En segundo lugar, el algoritmo encuentra un camino que maximiza la potencia mínima residual en la red. El algoritmo propuesto trata de optimizar la solución de los dos criterios. 3.6.2 Diseminación en dos niveles Diseminación de datos en dos niveles: un enfoque en denominado Diseminación de Datos de Dos Niveles TTDD (Two-Tier Data Dissemination) proporciona la entrega de datos a varias estaciones base móviles, según Q. Li, J. Aslam, & D. Rus, (2001). Cada fuente de datos construye de manera proactiva una estructura de red que se utiliza para difundir los datos a los sumideros móviles, suponiendo que los nodos sensores son estacionarios. Una vez que ocurra un suceso, los sensores que lo rodean procesan la señal, y uno de ellos se convierte en la fuente para generar informes de datos. 70 Para construir la estructura grid, una fuente de datos se elige a sí misma como punto de cruce del inicio de la red, y envía un mensaje de anuncio de datos a cada uno de sus cuatro puntos de cruce adyacentes usando transmisión geográfica por gradiente simple. El mensaje se detiene cuando llega al nodo más cercano al punto de cruce (especificado en el mensaje). Durante este proceso, cada nodo intermedio almacena la información de la fuente y envía el mensaje a sus puntos de cruce adyacentes excepto desde el que viene el mensaje. Este proceso continúa hasta que el mensaje se detiene en el borde de la red. Los nodos que almacenan la información de la fuente son elegidos como puntos de difusión. Después de este proceso, se obtiene la estructura grid. Usando el grid, un estación base puede inundar una consulta, que será enviada al punto de difusión más cercano para recibir datos. A continuación, la consulta se remite a lo largo de otros puntos de difusión hacia la fuente. Los datos solicitados fluyen en el camino inverso al sumidero. Aunque TTDD: Es un enfoque de encaminamiento eficiente, hay algunas preocupaciones acerca de cómo obtiene la información de localización, dicha información es necesaria para establecer la estructura grid. La longitud de una ruta de transmisión en TTDD es mayor que la longitud del camino más corto. Los autores de TTDD creen que la longitud sub-óptima de la ruta merece la pena debido a la ganancia en escalabilidad. La comparación de resultados entre TTDD y difusión dirigida muestran que TTDD puede lograr aumentar el tiempo de vida de la red y disminuir el retardo en la entrega de datos. Sin embargo, la sobrecarga asociada con el mantenimiento y los cálculos del grid, como los cambios de topología de red, pueden ser altos. Además, TTDD supone 71 que se tiene la disponibilidad de un sistema de posicionamiento muy preciso que todavía no está disponible para redes de sensores inalámbricos. 3.7 Encaminamiento basado en localización En este tipo de encaminamiento, los nodos sensores son identificados por medio de sus localizaciones. La distancia entre nodos vecinos puede estimarse en base a los niveles de la señal de entrada. Las coordenadas relativas de los nodos vecinos se pueden obtener mediante el intercambio de información entre los vecinos, Alternativamente, la ubicación de los nodos puede estar disponible directamente mediante la comunicación con un satélite utilizando GPS si los nodos están equipados con un receptor GPS de baja potencia. Para ahorrar energía, algunos sistemas basados en ubicación mantienen los nodos dormidos si no hay actividad. El problema estará a la hora de diseñar los planificadores de periodos de dormido de manera localizada Fidelidad Adaptativa Geográfica: este algoritmo de enrutamiento denominado Fidelidad. 3.7.1 Protocolo GAF Adaptativa Geográfica GAF, (Geographic Adaptive Fidelity), según Y. Xu, J. Heidemann, & D, (2001). Se basa en localización y está diseñado principalmente para redes ad hoc móviles, pero también puede ser aplicable a redes de sensores. El área de red está dividida en zonas fijas formando un grid virtual. Dentro de cada zona, los nodos colaboran entre sí para desempeñar diferentes funciones. Por ejemplo, los nodos elegirán un nodo sensor que permanecerá despierto durante un determinado período de tiempo y, a continuación, el resto se duermen. Este nodo es el responsable de monitorizar y notificar los datos a la estación base en nombre de los nodos de la zona. Por lo tanto, GAF conserva la energía 72 apagando los nodos innecesarios en la red sin afectar el nivel de fidelidad del enrutamiento. Cada nodo utiliza su localización GPS para asociarse a un punto en el grid virtual. Los nodos asociados con el mismo punto del grid son considerados equivalentes en términos del coste de enrutado de paquetes. Dicha equivalencia se explota mediante el uso de períodos de dormido en algunos nodos del mismo punto del grid con el fin de ahorrar energía. Por lo tanto, GAF puede aumentar sustancialmente el tiempo de vida de la red así como el número de nodos. Hay tres estados definidos en el GAF: descubrimiento, para la determinar los vecinos en el grid activo, lo que refleja la participación en el enrutamiento, y dormido, cuando la radio está apagada. Para gestionar la movilidad, cada nodo en la red estima el tiempo de salida de la red y lo envía a sus vecinos. Los vecinos dormidos ajustan el tiempo de dormido para mantener la fidelidad del enrutamiento. Antes de que el tiempo de salida del nodo activo expire, los nodos dormidos se despiertan y uno de ellos se convierte en activo. GAF se aplica tanto para nodos estacionarios (GAF-básico) como móviles (GAF-adaptado a movilidad). El rendimiento de GAF es similar al de un protocolo de enrutamiento ad-hoc en términos de latencia y paquetes perdidos, pero incrementa el tiempo de vida de la red ahorrando energía. Aunque GAF es un protocolo basado en localización, también puede ser considerado como un protocolo jerárquico, donde los grupos se basan en la localización geográfica. Para cada área grid particular, un nodo perteneciente a ella actúa como el líder para transmitir los datos a otros nodos. 73 3.7.2 Protocolo GEAR Encaminamiento geográfico basado en ahorro de energía: El protocolo GEAR (Geographic and Energy Aware Routing) propuesto en Y. Yu, D. Estrin, & R. Govindan, (2001). Examina el uso de información geográfica mientras se reparten consultas a las regiones apropiadas, ya que las consultas de datos suelen incluir atributos geográficos. Este Algoritmo usa selección heurística de vecinos, basándose en ahorro de energía y localización geográfica, para encaminar un paquete hacia la región de destino. La idea clave es limitar el número de intereses de la difusión dirigida, considerando solo una región determinada en lugar de enviar los intereses a toda la red. De esta manera, GEAR puede conservar más energía que la difusión dirigida. Cada nodo en GEAR mantiene un coste estimado y un coste de aprendizaje para llegar al destino a través de sus vecinos. El coste estimado es una combinación de la energía residual y la distancia al destino. El coste aprendido es un ajuste del coste estimado, que explica el encaminamiento alrededor de los agujeros en la red. Un agujero se produce cuando un nodo no tiene ningún vecino cercano en la región ocupada por él. Si no hay agujeros, el coste estimado es igual al coste aprendido. El coste aprendido se propaga un salto hacia atrás cada vez que un paquete llega al destino, de forma se ajusta la configuración de la ruta para el próximo paquete. Hay dos fases en el algoritmo: Reenvío de paquetes hacia la región objetivo: al recibir un paquete, un nodo comprueba si alguno de sus vecinos está más cerca de la región objetivo que él 74 mismo. Si hay más de uno, se selecciona para el próximo salto al vecino más cercano a la región objetivo. Si están todos lejos del propio nodo, significa que hay un agujero. En este caso, se selecciona uno de los vecinos basándose en la función de coste aprendido. Esta elección puede ser actualizada de acuerdo con la convergencia del coste aprendido durante la entrega de paquetes. Reenvío de los paquetes dentro de la región: si el paquete ha llegado a la región, puede ser difundido en dicha región, ya sea por transmisión geográfica recursiva o inundaciones restringidas. La inundación restringida es buena cuando los sensores no están desplegados densamente. En redes de alta densidad, la transmisión geográfica recursiva es más eficiente energéticamente que la inundación restringida. En ese caso, la región se divide en cuatro subregiones y se crean cuatro copias del paquete. 3.7.3 Enrutamiento MFR, DIR y GDIR MFR (Most Forward with in Radious), DIR (Compass Routing Method) y GEDIR (Geographic Distance Routing), Describen y discuten los algoritmos de enrutamiento localizados básicos según I. Stojmenovic & X. Lin, (1999). Estos protocolos implementan métodos básicos basados en distancias, progreso y dirección. Un nodo fuente o nodo intermedio seleccionará uno de sus vecinos de acuerdo a un cierto criterio. Los métodos de enrutamiento que pertenecen a esta categoría son: MFR (Most Forward within Radius), GEDIR (Geographiccv Distance Routing) que es una variante de los algoritmos de gradiente, método de gradiente de dos saltos y método de gradiente alternativo, y DIR (método de enrutamiento brújula). 75 GEDIR: Es un algoritmo de gradiente que siempre mueve el paquete al vecino cuya distancia al destino sea mínima. El algoritmo falla cuando el paquete atraviesa el mismo borde dos veces sucesivas. En la mayoría de los casos, los métodos MFR y de gradiente tienen la misma ruta hasta el destino. Para DIR, el mejor vecino es aquel que se encuentra en la dirección más próxima al destino. Un estudio comparativo entre estos algoritmos muestra que los tres algoritmos son comparables en términos de tasa de entrega y retardo promedio. Además, los nodos en los métodos MFR y de gradiente seleccionan los mismos vecinos para transmitir en más de 99 por ciento de los casos, y todos los caminos seleccionados son idénticos en la mayoría de los casos. 3.7.3.1 Algoritmo GOAFR GOAFR (Greedy Other Adaptive Face Routing). Algoritmo de enrutamiento geométrico combinando encaminamiento por gradiente y por caras. El algoritmo de gradiente GOAFR, siempre escoge para el enrutamiento al vecino más cercano al nodo siguiente. Sin embargo, puede quedar fácilmente atrapado en algún mínimo local (es decir, ningún vecino está más cerca de un nodo que el nodo actual). 3.7.3.2 Algoritmo OFR OFR (Other Face Routing): Es una variante de FR (Face Routing). El algoritmo FR es el primero que garantiza el éxito si la fuente y el destino están conectados. Sin embargo, el peor caso de coste de FR es proporcional al tamaño de la red en términos de número de nodos. OFR utiliza la estructura de cara de 76 gráficos planos de tal manera que los mensajes se encaminan del nodo s al nodo t atravesando una serie de fronteras de cara. El objetivo es encontrar el mejor nodo de la frontera (es decir, el nodo más cercano al destino t) mediante el uso de planos geométricos. Cuando haya terminado, el algoritmo devuelve a s el mejor nodo de la frontera. El algoritmo de gradiente simple se comporta bien en redes densas, pero falla para configuraciones muy sencillas. 3.7.3.3 Algoritmo SPAN SPAN: Algoritmo basado en posición que selecciona algunos nodos como coordinadores dependiendo de sus posiciones. Los coordinadores forman una red troncal utilizada para reenviar los mensajes. Un nodo debe convertirse en un coordinador si dos vecinos, que no sean nodos coordinadores, no pueden llegar directamente entre sí o a través de uno o dos coordinadores (acceso mediante tres saltos). Los coordinadores nuevos y los ya existentes no tienen por qué ser necesariamente vecinos, lo que hace que el diseño sea menos eficiente en cuanto a energía debido a la necesidad de mantener la distancia de dos o tres saltos a los vecinos. 3.8 Protocolos basados en el criterio de encaminamiento En esta sección se revisan los protocolos de enrutamiento con diferentes funcionalidades. Cabe señalar que algunos de estos protocolos pueden encontrarse dentro de una o varias de las categorías anteriores de enrutamiento propuestos en J. Chang and L, ( 2000). 77 3.8.1 Protocolos de enrutamiento multicamino. Estos Algoritmos utilizan varias rutas en lugar de una sola ruta con el fin de mejorar el rendimiento de la red. La tolerancia a fallos de un algoritmo se mide por la probabilidad de que exista un camino alternativo entre una fuente y un destino, cuando la principal ruta falla. Esto puede ser incrementado por el mantenimiento de varias rutas entre el origen y el destino, a expensas de un mayor consumo de energía y generación de tráfico. Estas rutas alternativas se mantienen vivas mediante el envío periódico de mensajes. Por lo tanto, la fiabilidad de la red se puede aumentar a cambio de un aumento de la sobrecarga debido al mantenimiento de las rutas alternativas. El algoritmo propuesto por J. Chang and L, (2000), enruta datos a través de un camino cuyos nodos tienen la mayor energía residual. El camino se cambia cada vez que se encuentra un camino mejor. La ruta principal será utilizada hasta que su energía esté por debajo de la energía de la ruta de backup Según los autores, J. Chang and L (2000), en ese momento se utiliza dicha ruta. Usando este enfoque, los nodos de la ruta principal no agotan sus recursos de energía a través del uso continuo de la misma ruta, por lo tanto, se logra una vida más larga. El camino con la mayor energía residual puede ser demasiado caro energéticamente cuando se utiliza para encaminar los datos en una red, así que hay un compromiso entre minimizar la potencia total consumida y la energía residual de la red. Los autores de acuerdo a la investigación proponen un algoritmo en el que la energía residual de la ruta se reduce un poco con el fin de seleccionar una ruta más eficiente energéticamente. En el enrutamiento multiruta se utiliza para mejorar la fiabilidad de las redes de sensores inalámbricos. 78 Una forma de incrementar la fiabilidad de la red puede ser mediante la creación de varios caminos desde el origen al destino y el envío de los mismos paquetes en cada ruta. Sin embargo, con el uso de esta técnica el tráfico se incrementará significativamente. Por lo tanto, existe un compromiso entre la cantidad de tráfico y la fiabilidad de la red. Este compromiso se estudia usando una función de redundancia que depende del grado de multicamino y las probabilidades de fallo de los caminos disponibles. La idea es dividir el paquete de datos original en sub paquetes y, a continuación, enviar cada sub paquete a través de uno de los caminos disponibles. Se ha comprobado que, incluso si algunos de estos sub paquetes se pierden, el mensaje original todavía puede ser reconstruido. La difusión dirigida es un buen candidato para la robustez del encaminamiento multicamino. Se ha encontrado que el uso de encaminamiento multitrayecto proporciona una alternativa eficiente en energía para la recuperación ante fallos. Para el uso de estos caminos es mantener bajo el coste del mantenimiento de multicaminos. Los costes de las rutas alternativas son comparables a los de la ruta principal, ya que tienden a estar muy cerca de la misma. 3.8.2 Encaminamiento basado en petición Encaminamiento basado en petición: en este tipo de encaminamiento, los nodos destinos propagan una consulta de datos (tarea de detección) a un nodo a través de la red, y el nodo con estos datos los envía al nodo que inició la consulta. La difusión dirigida descrita anteriormente es un ejemplo de este tipo de enrutamiento. En difusión dirigida, el nodo estación base envía mensajes de interés a los sensores. Como el interés se propaga en toda la red de sensores, se establecen los gradientes de la fuente a la estación base. Cuando la fuente tiene datos para el 79 interés, los envía a lo largo del camino de gradiente de interés. Para bajar el consumo de energía se realiza la agregación de datos en el camino. El protocolo de encaminamiento por rumor utiliza un conjunto de agentes de larga vida para crear caminos que se dirigen a los eventos encontrados. Cuando un agente cruza un camino que conduce a un evento que no se ha encontrado aún, crea un camino que conduce a dicho evento según D. Braginsky & D. Estrin, (2003). Cuando los agentes van a través de caminos más cortos o más eficientes, optimizan las rutas en las tablas de enrutamiento. Cada nodo mantiene una lista de sus vecinos y una tabla de eventos que se actualiza cada vez que se encuentran nuevos eventos. Cada agente contiene una tabla de eventos que se sincroniza con cada nodo que visita. El agente tiene un tiempo de vida de un determinado número de saltos, después del cual muere. Un nodo no generará una consulta a menos que aprenda una ruta hacia el evento requerido. Si no hay una ruta disponible, el nodo transmite una consulta en una dirección aleatoria. A continuación, el nodo espera una cierta cantidad de tiempo para saber si la consulta alcanzó el destino. En caso de no recibir una respuesta del destino, los nodos inundan la red. 3.8.3 Encaminamiento basado en negociación Enrutamiento basado en negociación: según los autores W. Heinzelman, J. Kulik, & H. Balakrishnan, (1999). Estos protocolos utilizan descriptores de datos de alto nivel con el fin de eliminar, mediante una negociación, las transmisiones de datos redundantes. 80 Las decisiones de comunicación también se basan en los recursos disponibles para ellas. Los protocolos de la familia SPIN, Wireless Medium Access control (2007) es ejemplo de protocolo basado en negociación difundir datos producirá la implosión y la superposición de los datos enviados, por lo que los nodos recibirán copias duplicadas de los mismos datos. Esta operación consume más energía y procesado debido al envío de los mismos datos por diferentes sensores. Los protocolos SPIN están diseñados para difundir los datos de un sensor a todos los demás sensores, asumiendo que estos sensores son posibles estaciones base. Por lo tanto, la idea principal del enrutamiento basado en negociación es suprimir la información duplicada e impedir que se envíen datos redundantes al siguiente sensor mediante la realización de una serie de mensajes de negociación antes de que se inicie la verdadera transmisión de datos. 3.7.4 Encaminamiento basado en calidad de servicio. Encaminamiento basado en calidad de servicio: usando estos protocolos la red tiene un equilibrio entre el consumo de energía y la calidad de los datos. En particular, la red ha de satisfacer determinadas métricas de QoS (retardo, energía, ancho de banda, etc.) al entregar los datos a la estación base. El Enrutamiento por Asignación Secuencial SAR (Sequential Assignment Routing): Es uno de los primeros protocolos de enrutamiento para redes de sensores inalámbricos que introduce la noción de calidad de servicio (QoS) en las decisiones de enrutamiento. Una decisión de enrutamiento en SAR depende de tres factores: los recursos energéticos, Q o S en cada ruta y el nivel de prioridad de cada paquete. Para evitar el fallo en una ruta, se utiliza un enfoque multicamino y sistemas de restauración de caminos localizados. 81 Para crear varias rutas desde un nodo fuente, se construye un árbol que cuelga del nodo fuente al nodo destino. Los caminos del árbol son construidos mientras se evitan nodos de baja energía o baja garantía de QoS. Al final de este proceso, cada nodo sensor será parte de un árbol multitrayecto. Como tal, SAR es un protocolo multitrayecto dirigido por tablas, que tiene como objetivo lograr la eficiencia energética y la tolerancia a fallos. En esencia, SAR calcula una métrica QoS ponderada como el producto de métricas de QoS adicionales y un coeficiente asociado con el nivel de prioridad del paquete. El objetivo de SAR es reducir al mínimo el promedio ponderado de la métrica de QoS a través del tiempo de vida de la red. Si la topología cambia debidos a fallos de nodo, se recalcula el camino. Como medida preventiva, la estación base obliga a un recalculo periódico de caminos por si ha habido cambios en la topología. La recuperación de un fallo se realiza imponiendo consistencia en la tabla de rutas entre los nodos de cada ruta. SAR ofrece menos consumo de potencia que el algoritmo métrico de mínima de energía, que se centra sólo en el consumo de energía de cada paquete sin tener en cuenta su prioridad. SAR mantiene varias rutas de los nodos a la estación base. Si bien, esto garantiza la tolerancia a fallos y facilidad de recuperación, el protocolo se ve afectado por la sobrecarga de mantenimiento de las tablas y los estados en cada nodo sensor, sobre todo cuando el número de nodos es enorme. Otro protocolo de enrutamiento, basado en QoS, llamado SPEED Dicho protocolo proporciona garantía extremo a extremo a las transmisiones en tiempo real. El protocolo exige que cada uno de los nodos mantenga la información acerca de sus vecinos y utiliza el reenvío geográfico para encontrar los caminos. 82 Además, se esfuerza para asegurar una cierta velocidad para los paquetes que circulan por la red, de forma que las aplicaciones pueden estimar el retardo extremo a extremo de los paquetes dividiendo la distancia al nodo destino entre la velocidad del paquete antes de llevar a cabo la admisión de dicha transmisión. Como novedad sobre otros sistemas de encaminamiento, SPEED también consta de métodos para combatir la congestión de la red. Mirando los valores de retardo, se selecciona el nodo que cumpla con los requisitos de velocidad. Debido a la simplicidad del algoritmo de enrutamiento, se minimiza la energía de la transmisión total y la sobrecarga de paquetes de control, según K. Sohrabi & J. Pottie,( 2003). 3.8.5 Enrutamiento basado en procesamiento de datos coherentes Enrutamiento basado en procesamiento de datos coherentes y no coherentes: El procesamiento de datos es un componente importante en el funcionamiento de redes inalámbricas de sensores. Por lo tanto, las técnicas de enrutamiento emplean diferentes técnicas de procesamiento de datos. En general, los nodos sensores cooperan entre sí en el procesamiento de datos. Dos ejemplos de técnicas de procesamiento de datos son el enrutamiento basado en procesamiento de datos coherente y no coherente. En el encaminamiento procesando datos no coherentes, los nodos procesan localmente los datos antes de que sean enviados a otros nodos para su posterior procesamiento. Los nodos que realizan el procesado se denominan agregadores. En el enrutamiento coherente, los datos se enviarán a los agregadores después de un procesamiento mínimo. El procesamiento mínimo típicamente incluye tareas como creación de marcas de tiempo y supresión de duplicados. 83 El procesamiento coherente se selecciona normalmente para realizar un enrutamiento eficiente energéticamente. Las funciones no coherentes tienen baja carga de tráfico de datos. Por otro lado, el procesamiento coherente genera grandes flujos de datos y la eficiencia energética se alcanza por la elección de una ruta óptima. 3.9 Protocolos de encaminamiento en redes ad-hoc En estas redes los protocolos se clasifican atendiendo al descubrimiento de la ruta hacia el nodo destino. En el punto anterior se dio una breve noción sobre los protocolos proactivos, reactivos e híbridos, ahora se va a extender la explicación: Protocolos proactivos: todas las rutas son calculadas antes de que se necesiten. Por una parte, en los protocolos proactivos, periódicamente se envía información de encaminamiento para que en cualquier momento cualquier nodo pueda comunicarse con cualquier otro de la red. Esta característica proporciona una respuesta rápida ante solicitudes de ruta y ofrece un buen comportamiento en situaciones donde la tasa de movilidad es baja. Sin embargo, la sobrecarga que se introduce en la red con información de control es alta. Protocolos reactivos: las rutas se descubren y se establecen bajo peticiones, con el consumo de energía que lleva asociado. A diferencia de los protocolos proactivos, los reactivos buscan cómo llegar al nodo destino cuando quieren iniciar una comunicación (esto es lo que les ha llevado a conocerse como protocolos bajo demanda). Para cada comunicación entre un nodo fuente y un nodo destino van descubriendo la ruta necesitada. Estos algoritmos optimizan los recursos evitando el envío de paquetes de forma innecesaria. Como contrapartida, sufren una pérdida de tiempo cada vez que realizan el descubrimiento de la ruta. 84 Protocolos híbridos: usan una combinación de los dos tipos anteriores. Se mantiene una filosofía proactiva en un ámbito local y reactiva a nivel más global. 3.9.1 protocolos proactivos se pueden destacar los siguientes DSDV (Destination Sequence Distance Vector).Cada nodo de la red mantiene una tabla de encaminamiento que contiene todos los posibles destinos y el número de saltos que daría un paquete que viajara hacia el destino especificados, según los autores P.C.E. & B. P, (1994). Cada entrada posee un número de secuencia asignado por el nodo destino. Los números de secuencia permiten distinguir las rutas antiguas de las rutas modernas. Continuamente se deben enviar mensajes de actualización a través de la red para mantener la consistencia de las tablas. Para ayudar a minimizar la gran cantidad de tráfico que ocasionan estas actualizaciones, se utilizan dos tipos de paquetes. El primero recibe el nombre de fulldump. Este paquete transporta toda la información disponible sobre el encaminamiento y puede requerir que su envío se divida en varias unidades más pequeñas. Cuando los cambios en la red son pequeños, es raro que se use este tipo de paquete. En cambio, hay un segundo tipo que solo contiene la información que ha variado desde el último fulldump. Este paquete se llama incremental. Los nodos disponen de una tabla adicional donde guardan los datos recibidos por los paquetes incremental. Las nuevas rutas contienen la dirección de destino, el número de saltos requeridos para alcanzar al destino, el número de secuencia asociado al destino y un nuevo número que identifica todo el mensaje. En el caso de que haya dos rutas distintas hacia un destino, se usará la que contenga el número de secuencia más moderno. 85 Además, si ambos números coincidieran, la ruta con menor número de saltos sería la que se usaría. En general, DSDV (Destination-Sequenced Distance-Vector Routing). Es un protocolo aceptable en escenarios en los que todos los nodos intervienen en las comunicaciones y en los que la movilidad es media. WRP (Wireless Routing Protocol): creado por S. Murthy y J.J. García-LunaAceves, Protocolo basado en tablas cuyo objetivo principal es mantener información actualizada de todos los nodos de la red, según los autores M. S. & G.-L.-A. J.J (1996). Cada nodo es responsable de mantener cuatro tablas: tabla de distancias, tabla de encaminamiento, tabla de coste de ruta y tabla con la lista de mensajes retransmitidos (MRL). La tabla MRL se utiliza para gestionar el envío de los paquetes de actualización de rutas. Cada entrada de la MRL contiene el número de secuencia que identifica el paquete de actualización de rutas, un contador de retransmisiones, un vector de asentimientos con una entrada por vecino y una lista de las unidades enviadas en el paquete de actualización (en ocasiones el paquete se divide en unidades más pequeñas). La tabla MRL almacena qué unidades deben ser retransmitidas y qué vecinos deben asentir todavía los envíos. Los nodos se informan entre ellos de los cambios en las rutas a través de los paquetes de actualización. Estos paquetes son enviados entre vecinos y contienen los elementos a actualizar en las rutas. Los nodos envían estos paquetes cuando procesan las actualizaciones recibidas de otros vecinos o cuando ellos mismos detectan un cambio en el enlace con algún vecino. Además, mantienen el enlace activo con los vecinos, siempre y cuando reciban asentimientos u otros mensajes de ellos. Si un nodo no está enviando mensajes, 86 debería enviar un paquete HELLO cada cierto tiempo a sus vecinos, para que éstos no creyeran que el nodo se había vuelto inalcanzable. Por consiguiente, la omisión de mensajes por parte de un nodo ocasionará la ruptura de ese enlace. Cuando un nodo recibe un mensaje HELLO de un nuevo nodo, éste nodo será añadido a la tabla de encaminamiento y una copia de esta tabla será enviada al nuevo nodo. 3.9.2 Protocolos reactivos se pueden citar los siguientes AODV (Ad Hoc On-Demand Distance Vector): Evolución de su anterior protocolo (DSDV). Mantuvo la idea de mantener números de secuencia y tablas de encaminamiento pero añadió el concepto de encaminamiento bajo demanda, es decir, solo se guarda información de los nodos que intervengan en la transmisión de datos. La optimización primordial que se consiguió en relación a su anterior diseño fue el decremento del tiempo de proceso, disminución del gasto de memoria y reducción del tráfico de control por la red. En el DSR (Dynamic Source Routing): Algoritmo basado en el concepto de encaminamiento en origen. Los nodos mantienen cachés, cuyas entradas incluyen el destino y la lista de nodos para llegar a él. Las entradas de esta tabla son actualizadas según se aprendan rutas nuevas. El protocolo consta de dos mecanismos principales: descubrimiento de ruta y mantenimiento de ruta. Cuando un nodo quiere enviar un paquete a un destino, primero consulta su caché para determinar si dispone de una ruta hacia el destino. Si tiene una ruta válida, la usará para enviar el paquete. Sin embargo, si el nodo no dispone de dicha ruta iniciará un descubrimiento de ruta enviando un paquete RREQ (Route Request).Este paquete contiene la dirección de destino buscada, la dirección del nodo que origina el envío y un identificador único. 87 Cada nodo que reciba el paquete verificará si posee una ruta hacia el destino. Si no la tiene, añadirá su propia dirección en el registro de rutas del paquete y después reenviará el paquete a través de todos sus enlaces. Para limitar la propagación excesiva de descubrimientos de ruta, un nodo solo reenviará este mensaje si la misma petición no fue recibida con anterioridad. Cuando un RREQ alcanza su destino final, este nodo genera una respuesta de ruta (RREP). También podría contestar con un RREP un nodo intermedio que tuviera en su caché una ruta válida hacia el destino del RREQ. Si el nodo que genera la respuesta es el destino, colocará el registro de rutas contenido en el RREQ dentro del RREP. Si es un nodo intermedio el que responde, extraerá de su caché la ruta para llegar al destino, que unida al registro de rutas contenido en el RREQ compondrá la ruta a introducir en el RREP. El mantenimiento de rutas se completa con el uso de paquetes de error en ruta (RERR) y asentimientos. Los paquetes de error en ruta son iniciados por un nodo cuando encuentra un problema en la transmisión con algún enlace. Cuando un RERR es recibido, el nodo que provocó el error es eliminado de la caché de rutas. También serán borradas todas las rutas en las que intervenga el enlace roto. Además de los mensajes de error, se usan asentimientos para verificar que las operaciones con los enlaces son correctas. TORA (Temporally Ordered Routing Algorithm): Es un algoritmo de tipo Link Reversal Routing, según los autores de P.C.E. Ad Hoc Networking, (2001) que se basa en mantener un grafo dirigido y sin ciclos para llegar al destino. El objetivo es minimizar la carga sobre la red. La diferencia con otros algoritmos es la imposibilidad de estimar constantemente la distancia hacia el destino o de mantener siempre la ruta más corta. Sin embargo, tiene la ventaja de que es un algoritmo muy eficiente pues no satura en exceso la red. 88 El protocolo híbrido por excelencia es el siguiente: ZRP (Zone routing Protocol): Es un protocolo híbrido a medio camino entre los reactivos y los proactivos. Es utilizado en una clase particular de redes ad-hoc llamadas RWNs (Reconfigurable Wireless Networks). Estas redes se caracterizan por tener gran cantidad de nodos, mucha movilidad y alto tráfico. Los protocolos anteriores no satisfacían las necesidades específicas de estas redes y los autores se decidieron a crear un nuevo protocolo. ZRP usa zonas similares a clústeres, en las que los nodos que actúan de bordes se van seleccionando dinámicamente. Además, el radio de estas zonas se reajusta sobre la marcha según las condiciones de la red. Se pueden usar protocolos distintos para comunicarse dentro de las zonas y entre zonas distintas. 3.9 Caminos futuros. La visión de futuro para redes de sensores inalámbricos es el uso de numerosos dispositivos distribuidos para controlar e interactuar con los fenómenos del mundo físico, y para aprovecharla densidad espacial y temporal y la capacidad de actuación de los dispositivos de detección. Estos nodos se coordinan entre sí para crear una red que realiza tareas de alto nivel. A pesar de los grandes esfuerzos que se han ejercido hasta ahora sobre el problema de enrutamiento en redes de sensores inalámbricos, todavía existe la búsqueda de soluciones eficaces para los problemas de enrutamiento En primer lugar, hay un estrecho vínculo entre los nodos sensores y el mundo físico. Los sensores se insertan en lugares o sistemas desatendidos. En segundo lugar, los sensores presentan limitaciones estrictas de energía, ya que están equipados con pequeñas fuentes de energía finita. 89 En tercer lugar, las comunicaciones son las principales consumidoras de energía en este entorno en el que el envío a poco más de 10 o 100 mv consume Tanta energía como miles de millones de operaciones Aunque estos protocolos son prometedores en términos de eficiencia energética, se necesitan más investigaciones para abordar cuestiones tales como Q o S por vídeo, sensores de imágenes y aplicaciones en tiempo real. El encaminamiento basado en Q o S con ahorro de energía en redes de sensores asegura ancho de banda (o retardo) proporcionando el uso de la ruta de mayor eficiencia energética. Otra cuestión interesante para los protocolos de enrutamiento es la consideración de la movilidad del nodo. La mayoría de los protocolos actuales suponen que los nodos sensores son estacionarios. Sin embargo, podría haber situaciones en las que los sensores deben ser móviles. En tales casos, la frecuente actualización de la posición de cada nodo y la propagación de esa información a través de la red puede aumentar excesivamente el consumo de energía de los nodos. Son necesarios nuevos algoritmos de enrutamiento para manejar la sobrecarga de la movilidad y los cambios en la topología. Las tendencias futuras en las técnicas de enrutamiento en estas redes se centran en direcciones diferentes, pero todas comparten el objetivo común de prolongar la vida útil de red. Algunas de estas direcciones son: 90 Aprovechar la redundancia: normalmente, un gran número de nodos sensores se implantan dentro o junto al fenómeno. Los nodos sensores son propensos a fallos, y por tanto, las técnicas de tolerancia a fallos son relevantes para mantener el funcionamiento de la red y el desempeño de sus tareas. Las técnicas de enrutamiento que emplean técnicas de tolerancia a fallos de manera eficaz están todavía bajo investigación Arquitecturas estructuradas (combinación de factores de forma/energía): el enrutamiento jerárquico es una técnica antigua para mejorar la escalabilidad y la eficiencia del protocolo de enrutamiento. Sin embargo, otro tema de investigación en estas redes son las nuevas técnicas de agrupamiento de red que maximizan el tiempo de vida de la misma aprovechar la diversidad espacial y la densidad de los nodos sensores/actuadores: los nodos abarcan un área de red que podría ser lo suficientemente grande como para proporcionar comunicación espacial entre ellos. El logro de una comunicación eficiente en energía en este entorno de gran densidad de población merece una investigación más a fondo. El despliegue denso de los nodos sensores debería permitir a la red adaptarse a un entorno impredecible. Lograr un comportamiento global deseado con algoritmos adaptativos (es decir, no dependen de información o interacción global): sin embargo, en un entorno dinámico, esto es difícil de modelar. Aprovechar el procesamiento de datos dentro de la red y explotar el procesamiento de las fuentes de datos cercanas para reducir las comunicaciones (es 91 decir, realizar procesamiento distribuido en la red): las redes de sensores inalámbricos se organizan en torno a los datos según IEEE Communications Magazine, (2002). 92 CAPITULO IV ENRUTAMIENTO POR INUNDACIÓN 4.1 Introducción Los algoritmos de inundación se ubican dentro de los protocolos estáticos, y se caracterizan por ser simples y fáciles de entender, se pueden encontrar en diferentes tipos de enrutamiento. Una de sus principales ventajas es que pueden enviarse mensajes a toda la red aunque en su primera fase lejos de ser ventaja era su limitante, por el consumo de recurso y ancho de banda, pero enfocados a redes de sensores inalámbricas son un buen candidato según Heinzelman (1999). 4.2 Algoritmo de inundación simple Se trata de un método de encaminamiento bastante simple. Al recibir un paquete, el nodo lo retransmite por todos sus enlaces, excepto aquél por el que le llegó el paquete. El principal inconveniente que plantea este método es el gran número de paquetes que se generan, que llegaría a ser infinito si no se establece alguna forma de limitación. Existen diversas posibilidades para ello. Por ejemplo, cada nodo puede mantener una lista de los paquetes ya transmitidos, y al recibir un duplicado destruirlo y no retransmitirlo. Otra posibilidad, más simple, es limitar el tiempo de vida del paquete, según Heinzelman (2000). En uno de sus campos puede incluirse un contador de saltos, que se decrementará cada vez que el paquete atraviese un enlace; Cuando el contador llega a cero el paquete se descarta. El valor del contador puede inicializarse al diámetro de la red. 94 Este método de encaminamiento permite encontrar todas las rutas posibles entre origen y destino, entre ellas la ruta mínima; por lo que puede utilizarse como métrica para comparar con otros métodos o para establecer la ruta de un circuito virtual. Por el mismo motivo es, además, muy robusto lo que hace adecuada su aplicación en entornos militares. El gran número de paquetes que se generan al utilizar este tipo de encaminamiento presenta el inconveniente de que, en condiciones de carga alta de la subred, puede incrementar sensiblemente el retardo de los paquetes transportados por ella. Figura 4.1 Algoritmo de inundación Fuente: tesis Antonio palma wsn‟s 4.3 Inundación selectiva En este algoritmo, los enrutadores no envían cada paquete de entrada por todas las líneas, sino sólo por aquellas que van aproximadamente en la dirección correcta. Cabe mencionar que la inundación selectiva solo es usada en aplicaciones militares y base de datos distribuidos, donde sería conveniente concurrir actualizaciones 95 Figura 4.2 inundación selectiva fuente: www.flooding.com 4.4 Inundación en enrutamiento Ad hoc Dentro de los planes de inundación existentes se pueden clasificar en dos grupos generalmente en base a saltos Hop, mediante un reenvió, que es el sistema dominante y los esquemas probabilísticos, basados en distancia, localización y clústers, según jinyoung yang pewasun (2011). 4.4.1 Gossiping o chisme Es una variante del enrutamiento por inundación e inundación selectiva sin embargo a diferencia del protocolo anterior que se seleccionan los nodos de la red a donde se va a enviar el mensaje según Heinzelman, (2000), este protocolo se basa en la probabilidad, y está pensado para redes ad hoc. A pesar de las optimizaciones hechas a la inundación selectiva se siguen propagando mensajes innecesarios y enrutamiento por chismes puede usar para reducir el número de mensajes enviados, ya que cuenta con un cierto comportamiento bimodal, ya que deja los chismes ala probabilidad, luego cuando 96 ya es grande el envío de mensajes se fracciona de manera que dejan de existir los mensajes. Y en la mayoría de las ejecuciones de este algoritmo no todos los nodos reciben el mensaje. En una red ad hoc, si un mensaje es transmitido por un nodo, debido a la naturaleza de difusión de las comunicaciones por radio, el mensaje suele ser recibido por todos los nodos de un salto de distancia de del remitente. Debido al hecho de que los recursos inalámbricos son caros, tiene sentido para tomar ventaja de la capa física-emisión característica de la transmisión de radio. En el protocolo de chismes se controla lo que se envía. Según los autores de Gossip-based Adhoc routing (2002) enrutamiento por chismes, A pesar de las varias optimizaciones, con enrutamiento basado en las inundaciones, muchos mensajes de encaminamiento se propagan sin necesidad. Se muestra que chismear puede reducir el tráfico de control de hasta un 35%, frente a las inundaciones. Dado que las vías encontradas por chismes pueden ser de hasta un 10-15% más que de los que se encuentran por las inundaciones, la cantidad de chismes se pueden guardar en términos de tráfico global dependiendo de la probabilidad de chismes utilizados, la movilidad del nodo, y el tipo de mensajes. Con alta modalidad, se encuentran nuevas rutas más frecuentemente, y el ahorro será relativamente mayor. Además, los mensajes puede resultar un ahorro significativo en las inundaciones principalmente en toda la red emisiones, en lugar de punto a punto, chisme. El protocolo es muy simple y fácil de incorporar en los actuales protocolos. Cuando añadimos chismes de AODV, las simulaciones muestran importantes mejoras de rendimiento en todas las prestaciones métricas, incluso en redes tan pequeñas como 150 nodos. 97 Chisme tiene una serie de ventajas sobre otros métodos considerado en la literatura. Por un lado, a diferencia de muchos heurística considerado en la literatura, creemos que tenemos una muy buena comprensión de cómo chismes llevará a cabo en las grandes redes. Este entendimiento es respaldado tanto por los resultados analíticos de tolerar las fallas. Todo esto sugiere que puede ser un chisme muy complemento útil al arsenal de las técnicas de la informática móvil. Por supuesto, el trabajo que hay que hacer en la búsqueda de buenas técnicas para aprender los parámetros apropiados chismes aun esta sobre desarrollo. Se ha experimentado el ajuste de la probabilidad de chismes de cada nodo de acuerdo ya sea para el éxito / fracaso de las solicitudes, y además de que se incrementa si la ruta probabilidad de solicitud de fracaso es elevado, y la disminución de si la ruta probabilidad de solicitar el fracaso es cercano a 0. Para propagar la adecuada probabilidad a lo largo de la red, se puede poner en el paquete de petición de ruta. 4.3.2 Protocolo de inundación óptimo (OFP, por sus siglas en inglés) Como se sabe la mayoría de los enrutamiento ad-hoc que utilizan algún protocolo de inundación, para descubrir una ruta y ubicación de un nodo móvil, aun con las optimizaciones se propagan demasiados mensajes. En este caso se propone el protocolo de inundación óptima (OFP) que intenta reducir al mínimo la duplicación innecesaria de forma drástica. Es uno de los mejores actualmente usados ya que genera entre un 65 y 80 % menos mensajes de inundación y un 50% menos basado en chismes entre sus ventajas es que es escalable con respecto al número de nodos y mejora el rendimiento. El supuesto subyacente que hacemos es que un nodo móvil conoce la ubicación de los otros nodos móviles que se encuentran dentro su gama R. La ubicación de un nodo móvil que con frecuencia se 98 involucrados en la transmisión / retransmisiones será conocido por todos otros nodos de su gama. De lo contrario, cada uno de MN se le puede pedir a transmitir un "mensaje de bienvenida" a intervalos regulares. Figura 4.3 Protocolo de OFP Fuente: Department of Electrical Engineering Sea S el nodo de fuentes móviles que envía la ruta solicitud. Como se puede observar en la figura 4.3, después de que el primer círculo centrado en el centro de la región (ubicación de S), seis más que los círculos centros están situados en la circunferencia del primer círculo son dibujado. Estos pueden ser considerados como las retransmisiones por primera vez de la solicitud. En la siguiente etapa de nuevo seis círculos más se han elaborado cuyos centros se encuentran en la circunferencia de los círculos elaborado en la primera etapa. A partir de ahora sobre el uso de las propiedades 1, 2 y 3 se presentan en la sección 3, es muy fácil de predecir los centros de los círculos que se dibujan en la siguiente etapa. Por lo tanto, el Protocolo de Inundaciones óptima es el siguiente: En el Nodo Fuente S: S elige seis MNS en su gama R, que constituyen la mejor aproximación de un hexágono regular, y transmite su identidad junto con la solicitud. 99 En un intermedio MN: un nodo móvil al recibir una primera solicitud determina si se pretende que la solicitud se retransmitido por él. Entonces, si tiene que retransmitir el mensaje, comprueba si se ha recibido la solicitud directamente a partir de S. En caso afirmativo, entonces se calcula el siguiente nodo de difusión la solicitud. Sea Ps la ubicación de la S, Pi de la ubicación nodo intermedio y Pn la ubicación del nodo siguiente. A continuación, el siguiente nodo, aquí, es el nodo que está más cerca Pn dada por Pn = 2 * Pi - Sal (como Pi divide la línea de unirse a Pn y Ps). A continuación, añade MN la ubicación de Pn a la solicitud y las emisiones solicitud. Si la solicitud no se ha recibido directamente de la fuente S, entonces, la ubicación del nodo siguiente (s) es / son calculan utilizando las propiedades mencionadas en la Sección. 3. Entonces, el MN con la ubicación del MNS otros en su gama se encuentra el MN (s), que es (son) más cercano a la ubicación (s), calculado y añade el MN identificador (s) a la solicitud. A continuación, se re-transmite la solicitud. El MN no vuelve a transmitir la solicitud, si las dos condiciones son ciertas: - Si no hay nodos presentes en el rango de la MN, excepto del MN del cual se recibió la solicitud o - Si (todos) las ubicacione(s) delos nodo siguiente(s) que es tan cerca de los de la solicitud está fuera de la región que fue cubierta. En conclusión a pesar de las varias optimizaciones, con la inundación base, muchos mensajes de encaminamiento Hemos presentado un protocolo que se puede propagan alcanzar sin el necesidad. objetivo de inundaciones sin/transmisiones innecesarias. OFP también tiene una serie de ventajas sobre otros métodos es que es escalable con respecto al número de nodos en la red. Respaldado tanto por los resultados analíticos y experimentos. 100 Si bien hay límites fundamentales para la cantidad de tráfico no local que pueden ser enviados en grandes redes, debido a problemas de escala, la OFP todavía pueden ser útiles en grandes redes. Su rendimiento es ligeramente mejor para el tráfico. Sobre el desempeño mejora a medida que aumenta la densidad. Además, la OFP fácilmente supera el enrutamiento basado en chismes de las inundaciones optimizadas. Es un protocolo muy simple y fácil de incorporar en los protocolos existentes. 4.4.3 Enrutamiento de inundación por DRSN (Dense Routing Sensor Network) Los autores Gergely Vakulya, Gyula Simon ( 2011) propusieron, Para el modelo de implementación de los nodos de azar o, posiblemente, las redes móviles, en los nodos del modelo se colocan al azar uniformemente sobre una superficie de dos dimensiones. Distancias de comunicación Finita están representadas por el modelo de disco, en un extremo se coloca entre cualquier par de nodos menos que en la comunicación de radio, Tenga en cuenta que este es un modelo sencillo e idealista en este caso puede ser considerado un peor de los casos del modelo, ya que el modelo de disco duro proporciona escenario de la más realista simetría de rotación "Con forma de ameba" modelo de comunicación. Nuestro canal modelo no se ocupa de la capa física o capa MAC, sino que se utiliza un modelo probabilístico: un mensaje puede llegar a un vecino dentro del radio de comunicación con más probabilidad de precisión. Este modelo de alto nivel representa mensaje de choques y por lo tanto la degradación del rendimiento, por lo tanto también el consumo de energía de la red es innecesariamente lo que implica menor tiempo de vida de la red. 101 Así con el fin de reducir el número de mensajes de encaminamiento el objetivo del diseño es encontrar los valores de pequeña p proporcionando alta cobertura de R en los escenarios de redes realistas. Resultados en la teoría de la percolación continua muestran que si la densidad de las estaciones transmisoras colocados al azar en red inalámbrica es mayor que un valor crítico entonces un componente conectado sin límites se forma con probabilidad uno. Este valor crítico es en función de las comunicaciones de radio. Los resultados se han extendido a más modelos realistas del canal de comunicación. Usando la idea de la filtración, la probabilidad de trasmisión del mensaje por inundación al azar se establece para que el mensaje pueda llegar, a al menos 1 componente de la red. En la práctica esto significa que el mensaje llega a casi todos los nodos de la red. Un nodo de origen tiene la intención de enviar un mensaje a todos los demás nodos de la red. La fuente de transmisión del mensaje. Cuando un nodo recibe por primera vez el mensaje que transmite el mismo mensaje a sus vecinos, de lo contrario ignora el mensaje. El rendimiento del algoritmo puede ser cuantificado de acuerdo a el tamaño de la región que recibió el mensaje. De acuerdo a la fracción de red que recibió el mensaje se asigna un valor 0 o 1 de ahí que le valor más alto en calidad es 1. Algunas variaciones de la inundación clásica han sido propuestas. La familia de la variante principal es el azar o las inundaciones chismes. 102 4.4.4 Ripple flooding sensor Protocol (FTSP) protocolo de inundación ondulatoria. Su principal objetivo radica en enviar múltiples paquetes al mismo tiempo, por lo tanto se minimiza: la redundancia, la contención y la colisión, si los paquetes se sincronizan con sus receptores. La pregunta ahora es ¿cómo se logra?, y según los autores Dao Yuan, Jinyoung Yang & Daeyoung Kim (2011), al utilizar FTSP en la capa Mac, se pueden programar todos los receptores de mensajes, haciendo una inundación para transmitir, el mensaje deberá ser enviado después de un intervalo de tiempo. Funcionamiento básico: Cuando un nodo recibe un paquete de RFS, se retransmite el paquete después de un intervalo de tiempo con su propio contador. Después de la retransmisión, el nodo espera una confirmación implícita de los nodos de la capa inferior. Si el nodo recibe respuesta implícita por oír, deja de trasmitir RFS. Si no es así, retransmitir el paquete para un máximo de reintentos. RFS es más rápido que las inundaciones simples en el tiempo de convergencia. La diferencia de tiempo de convergencia entre RFS y simple se convierte en inundación proporcionalmente mayor en la escala de la red. La tasa de aumento de RFS es de 1 ms y la tasa de aumento de las inundaciones es sencillo de 4 ms. RFS es 4 veces más rápido que las inundaciones en la topología sencilla. El esquema de la inundación de ondulación de WSN mejora el tiempo de convergencia de la inundación de paquetes sin sacrificar la fiabilidad y la energía, se mejora la eficiencia en la WSN mediante el uso de una retransmisión de paquetes sincronizados en vez de evitar la colisión con Clear Channel Assessment y azar back-off. 103 El análisis teórico de la dispersión del retardo en un receptor muestra que el límite superior de derecho de los emisores múltiples es de aproximadamente 13%. RFS adopta oír y el método de retransmisión de retraso, la fiabilidad es del 3% más en promedio. 4.5 Enrutamiento de inundación por Difusión 4.5.1 Fat Spanning Tree Convergecast (Convergencia de árbol de expansión de grasa) Convergencia de árbol de expansión de grasa por sus siglas en inglés (FSTC) la principal deficiencia de a convergencia de árbol gradiente y grasa de expansión, es la sobrecarga de mensajes, una solución óptima seria enviar los mensajes a lo largo de un árbol de expansión hacia ala raíz, sin embargo los enlaces de radio no son confiables causando la perdida de mensajes en cualquier ruta fija. Por otra parte un fallo en uno de los nodos cerca de la raíz puede provocar gran pérdida de la red sin embargo se pueden implementar haciendo una fusión de ambos surge la convergencia de árbol de expansión, de acuerdo Miklós Maroti (2004). La sobrecarga de mensajes de árboles gradiente y la grasa de expansión donde un solo paquete de datos se dirige desde un nodo en la parte inferior, hasta un extremo izquierdo y de un extremo a otro hasta completar. Esta definición particular permite una implementación sorprendentemente simple las inundaciones de enrutamiento en el carril con el requisito de almacenamiento mínimo. Cada nodo tiene que conocer el ID de nodo de su padre, abuelo, bisabuelo y tatarabuelo. 104 El rango de nodo es simplemente el identificador de nodo de los abuelos. La relación entre el emisor y el receptor de un mensaje de radio se puede calcular por el receptor desde la base del remitente, que es almacenada en el mensaje de la siguiente manera: (1) Si el rango del remitente es el ID del nodo del receptor o de sus padres, entonces el emisor está más lejos de la raíz que el receptor. El acto correspondiente se denotados por 'r +'. (2) Si el rango del remitente es el ID del nodo del abuelo del receptor, entonces el remitente está en la misma distancia de la raíz como el receptor. Estos tipos de mensaje también se denota por 'r +'. (3) Si el rango del remitente es el ID del nodo del bisabuelo o su matriz del receptor, el emisor está más cerca de la raíz que el receptor. El correspondiente caso se denota por "r". (4) Si el rango del remitente no es nada de lo anterior, el receptor no es el carril de la fuente, o más de dos pasos del remitente. En ambos casos pasamos por alto el mensaje de regreso falso en el método de aceptar de la política. El árbol de expansión puede ser construido y encontrado el ID de nodo de los cuatro ancestros por una sencilla en toda la red de difusión, o por otros métodos. Encontrar el árbol de expansión que mejor soporta dirigido por las inundaciones de enrutamiento es, posiblemente, un problema difícil y no se tratan aquí. Una vez que el árbol de expansión se forma y la 'r +' y 'r-' recibir eventos definidos, se puede volver a formar, le árbol de expansión. 105 4.5.2 Inundaciones histórico escalables (SLF, por sus siglas en inglés) (Dinamic Adrees Routing Protocol). Funciona mediante un árbol de jerarquías de áreas, donde toda la red se divide en dos sub áreas y cada sub área a su vez en dos sub áreas y encada sub área, se toma como referencia un nodo, su dirección es asignado de tal forma que se relaciona con el id del área, ejemplo A0, A1, A01, A00, el nodo de referencia para A0 es N10 según la figura. Una vez identificados cada uno de los nodos, se activa un proceso recursivo, para la implementación inicial de una red, por defecto el nodo sumidero es N000, tras el arranque de la red con un punto de referencia de mensajes, según Pengfei Di & Thomas Fuhrmann, (2010). Figura 4.4. Inundaciones Histórico Escalables. Fuente: Pengfei Di and Thomas Fuhrmann. Department of investigation y science. Cuando se recibe el mensaje cada nodo entra en el seguimiento con la información de su tabla de enrutamiento Debido a la naturaleza de difusión de los enlaces de WSN, un nodo recibe varias copias de cada mensaje, este duplicado información no se introduce en la tabla de enrutamiento, a menos que contenga un número de saltos inferiores. 106 En este caso la nueva información se sobrescribe. Los mensajes duplicados LA, se utiliza para construir una tabla de vecinos directos. Tiempo después de haber hecho la red, la fuente nodo N000en nuestro ejemplo: Emite una solicitud de referencia (LS) de mensajes. Los nodos deben reenviar este mensaje en una forma aleatoria. Se asume una WSN a estar tan bien conectada a este tipo de separación de la red en el nivel superior que es poco frecuente. Si ocurrió en un nivel inferior, la recodificación se limitaría a esa área solamente. Los mensajes de LM también permiten a los nodos detectar la pérdida de un punto de referencia: N000 Si no escucha los mensajes de LM N100 o N010 más, se activa un archivo de inicialización de direcciones proceso. Lo mismo se aplica a los niveles más bajos de la zona jerarquía. Sólo la ausencia de N000 no puede ser detectado ende esa manera. Si queremos proteger para que un nodo no se hunda, también podemos extender el protocolo con un mecanismo para elegir a otro hito N000. Cabe mencionar que existen muchos más protocolos de enrutamiento por inundación, aquí solo se mencionan unos cuantos, pero se muestra que son demasiado eficientes. 4.5.3 Directed Flood-Routing Framework ((DFRF), por sus siglas en inglés)), Sistema dirigido de Enrutamiento por inundación. La mayoría de las aplicaciones de redes de sensores inalámbricos deben enviar y recibir distintos tipos de paquetes de datos, y cada uno de estos tipos de datos tiene una estructura interna bien definida. 107 Normalmente, los paquetes de datos del mismo tipo tienen el mismo tamaño, también. Por la facilidad de implementación, y para maximizar el espacio de radio de mensajes disponibles, esto se ha hecho un requisito. La falta de paquetes de datos de longitud variable permite que el algoritmo de DFRF agregar muchos (por ejemplo, 2 bytes) paquetes de datos pequeños en un mensaje de radio único. El motor DFRF no necesita conocer la estructura interna de cada paquete de datos, sólo su longitud. El paquete de datos procedente de un mismo nodo puede llegar a su destino a través de diferentes rutas, y es necesario que el nodo final, y los nodos intermedios, sean capaces de identificar de forma única el paquete de datos con el fin de descartar varios mensajes. La mayoría de los protocolos de enrutamiento añaden un identificador único global para cada paquete de datos para este propósito, lo que implica una sobrecarga de datos adicionales, por lo general 2-3 bytes. Sin embargo, esto no es necesario para algunas aplicaciones en el paquete de datos es único en el mundo ya, o la fuente de los paquetes de datos no es importante. Por ejemplo, si los nodos envían con fecha y hora lecturas de los sensores a una estación base, entonces el ID del nodo (o las coordenadas 3D del sensor) junto con la marca de tiempo puede servir como un identificador único del paquete de datos. O en una aplicación de red multi-hop, que carga una imagen ejecutable nuevo para cada nodo de la red, el ID de la cápsula que falta puede ser utilizado como identificador único del mensaje cápsula enviados a la estación base. 108 Debido a estas consideraciones, el motor DFRF no genera a nivel mundial identificadores únicos, pero requiere que el usuario del algoritmo a emplear examine paquetes de datos que puedan ser identificados por sus primeros bytes. El número de bytes utilizados para identificar los paquetes de datos se denomina longitud única de los paquetes de datos. Decimos que dos paquetes de datos son análogos, si sus piezas únicas (el primer tramo único de bytes) son idénticos. Tenga en cuenta que los paquetes de datos análogos no son necesariamente idénticos. Como por ejemplo, los nodos intermedios pueden modificar los datos en ruta paquetes al destino. Cada nodo de la red debe saber acerca de todos los tipos de paquetes utilizados en un determinado grupo determinado de sensores inalámbricos. Los tipos de paquetes se identifican por un identificador de tipo, y definir la longitud y la longitud del paquete único. El tipo ID se transmite con cada mensaje de radio (que puede contener varios paquetes de datos del mismo tipo), y utilizada por el motor para cortar el mensaje de radio para el tipo apropiado de paquetes de datos, identificar los paquetes de datos por su papel único, y notificar a la aplicación correspondiente componente. Ahora cuando se retransmite un mensaje de radio que no tiene ID del nodo remitente, ahora en lugar de un valor depende de la política, entonces se llama al rango del nodo, este rango describe el progreso de un paquete de datos de forma en que dependen de la política, y sirve para determinar qué hacer con los paquetes entrantes, para el DFRF el rango es solamente un conjunto de vacío de bytes, que se pasa a la política de inundación. Para describir mejor el rango solo con ejemplos, ahora las rutas a lo largo de un vector gradiente de una estación base, es la distancia a contar de un nodo a la raíz 109 En esta política cuando el rango del emisor es menor que el del receptor, el receptor simplemente ignora el paquete de datos, porque es un nodo más cercano a la raíz. Para la política de difusión el rango en toda la red es un conjunto vacío. Entonces no importa donde sea recibido el mensaje lo que importa es que sean reenviados esos mensajes si es la primera vez que el nodo ha recibido. Ahora mediante la política de árbol de expansión, a los padres no les importa cuál de los hijos envió el mensaje a la base, lo que importa es el id del nodo padre. Para enrutamiento geográfico el rango pueden ser las coordenadas, un paquete de datos se envía más cuanto más lejos este el nodo receptor del nodo final, es importante señalar que la clasificación no depende de los paquetes de datos, por lo tanto el rango solo se utiliza, para múltiples paquetes de datos del mismo tipo, también se permite al rango de un nodo cambiar con el tiempo. Ejemplo vector gradiente, que puede cambiar si la raíz de la convergencia de fundición es móvil incluso puede ser posible controlar el flujo, a través de un método de filas, o se podría incluir un indicador de que temporalmente no puede trasmitir eso lo detectarían los demás nodos de la red y harían más eficiente y rápida la red. Los protocolos de los que hace uso este protocolo son de enrutamiento por chisme y enrutamiento por difusión. 4.5.4 Protocolo flash para una rápida inundación El protocolo flash flooding evita el problema común de las inundaciones al permitir transmisiones simultáneas entre los nodos vecinos. Se basa en el efecto de captura para asegurar que cada nodo recibe el flood de al menos uno de sus vecinos, e introduce nuevas técnicas para recuperar, o prevenir transmisiones simultáneas. 110 Se evalúa protocolo flooding flash tanto en un banco de pruebas de 48 nodos de red inalámbrica de sensores y en un simulador de seguimiento basado (TDMA) Transacction Dinamic Access Medium. Los resultados indican que protocolo Flash flooding puede reducir la latencia hasta en un 80%, y lograr latencias flooding cerca de la parte inferior teórico vinculado sin sacrificio alguno de cobertura, fiabilidad y potencia. Varios estudios recientes han demostrado y muchos coinciden las transmisiones dan como resultado la pérdida de paquetes a pesar de la captura efecto. Por lo tanto, un balance n se debe lograr: y debe ser demasiado agresivo con la concurrencia lo que dará lugar a colisiones y la pérdida de paquetes, mientras que ser demasiado conservador dará lugar a la latencia debido a la afirmación de barrio. El protocolo Flash flooding reducirá dramáticamente el tiempo de respuesta de dichas redes. Los experimentos se centran en Redes inalámbricas de sensores flooding, aunque deberán generalizar a todos los tipos de redes, se han propuesto algoritmo SPIN y DELUGE pero solo se centran en la fiabilidad pero no en la latencia. El protocolo Flash flooding explota el efecto de captura para reducir la latencia, permitiendo flooding nodos para propagarse al menor tiempo posible, eliminando de este modo barrio contención. Los autores exploraron este enfoque en dos escenarios fundamentales de redes de sensores inalámbricos: como son: las redes de ciclo de alta resistencia en el que todos los nodos están siempre y las redes de ciclo de trabajo donde los nodos duermen la mayoría del tiempo y despiertan periódicamente para ver si un mensaje está siendo enviado. 111 Según los autores Jiakang Lu & Kamin White house, (2002), No se hace ninguna hipótesis sobre la fase del ciclo de trabajo de cada nodo con respecto a sus vecinos y toda la red es asíncrona. El protocolo Flash flooding tiene dos variantes que se dirigen tanto redes siempre Activas y de baja potencia, respectivamente. En baja potencia, los nodos normalmente están en ciclo de trabajo entre el estado activo y el sueño con el fin de conservar la energía. Esto permite A los nodos detectar periódicamente sin dejar de funcionar y lograr una vida útil de meses. 4.6 Enrutamiento en sistemas estructurados. 4.6.1 Routing Flooding in P2P Las inundaciones y el enrutamiento basado en método de búsqueda se utiliza ampliamente en los sistemas estructurados P2P. En las inundaciones, cada par envía mensaje de consulta a todos los compañeros de su vecino, que a su vez continuamente remitido a todos los vecinos. La consulta se ejecuta hip-hop a través de la red no estructurada hasta el éxito, fallo o tiempo de espera. Las inundaciones P2P generan, muchos mensajes. Se ha demostrado que más del 70% de los mensajes generados son redundantes para una inundación con un tiempo de vida fijo TTL (Time-to-Live) en una red conectada moderadamente. Los mensajes redundantes consumen ancho de banda y procesamiento de desechos, pero para agrandar el rango de búsqueda y mejorar la cobertura de la búsqueda son necesarios. 112 Para hacer frente a los problemas antes mencionados, muchos los investigadores han estado estudiando la forma de reducir el radio a las inundaciones manteniendo la calidad necesaria búsqueda. A tal efecto, se propone una nueva ruta y a la búsqueda, algoritmo, (Algoritmos de inundación adaptables, (AFRA)). Tal método combina ajuste de la anchura y ajuste de la profundidad. Ajuste del ancho significa que un compañero no transmite una consulta a todos los vecinos, pero definir el número de vecinos antes de reduce el remitir la consulta. Ajuste de la profundidad es un método que número de enrutamiento de mensajes mediante el ajuste de valor TTL Aunque los documentos existentes han mencionado ancho y ajuste de la profundidad, no hay una solución madura en cómo combinar la anchura y la profundidad de ajuste para optimizar la búsqueda mecanismos. Los resultados experimentales muestran que nuestro plan de AFRA puede reducir el mensaje de las inundaciones en un 65%, mientras que el mantenimiento dela calidad aceptable de búsqueda de alta. AFRA se compone principalmente de dos partes: (1) adaptación ajuste de radio de las inundaciones (ajuste de la anchura de adaptación y ajuste de la profundidad). (2) Multi-optimización de los vecinos de mecanismo de selección (métricas de híbridos y de filtración dual). 113 4.7 Ventajas y desventajas En la inundación, en lugar de utilizar una ruta específica para enviar un mensaje desde un nodo a otro, el mensaje se envía a todos los nodos de la red, incluidos aquellos a los que no era la intención. El atractivo de la tecnología de las inundaciones radica en su alta fiabilidad y total simplicidad. No hay necesidad de técnicas sofisticadas de enrutamiento ya que no hay ruta. No significa que no hay rutas de administración de red, no hay necesidad de autodescubrimiento, de auto-reparación, y, debido a que el mensaje es la carga útil, no hay gastos en cuanto a enrutamiento. Tecnología de las inundaciones tiene ventajas adicionales relacionadas con la propagación. Señales que llegan a cada nodo a través de la propagación de varias rutas de beneficiarse de la diversidad inherente a espacio, maximizando así la robustez de la red de manejo de obstrucciones, interferencias, y la resistencia a la decoloración de trayectoria múltiple, con prácticamente ningún punto único de fallo. En otras palabras, el bloqueo de una ruta de acceso o incluso un número limitado de caminos por lo general no tiene consecuencias. Por otra parte, para el enrutamiento usa un controlador muy simple, que requiere un mínimo de potencia de cálculo y la memoria y por lo tanto bajo consumo de energía, baja de bienes PCB real, y bajo costo. 114 A pesar de estos beneficios, inundar la red con mensajes repetidos tiene sus propios desafíos, lo que impide el uso de las inundaciones hasta hace poco tiempo, excepto para el descubrimiento de la ruta de enrutamiento basado en redes. Para la transmisión de datos, las principales cuestiones son cómo las colisiones se evitan, como el proceso de retransmitir el mensaje se propaga de manera eficiente hacia su destino, y cómo termina el proceso, sin una avalancha desperdician energía. Afortunadamente, un enfoque novedoso inundaciones mediante una combinación sinérgica de las técnicas permite a los diseñadores responder a estas preguntas y resolver los retos. La incorporación de (TDMA) Time Division Multiple Access combina con alta precisión de sincronización permite a las retransmisiones que se produzcan al mismo tiempo para que el mensaje se propaga de un salto en todas las direcciones, precisamente en el mismo tiempo y evita las colisiones. En cada salto, los nodos de retransmisión sólo la información pertinente, y el número de retransmisiones se corresponde con el número de saltos en la red, así que no hay pérdida de retransmisiones. (http://industrial-embedded.com/meshnetworks-choosing-appropriate-technology). 115 CONCLUSIÓNES Las inundaciones como algoritmos de enrutamiento dentro de los protocolos de enrutamiento estáticos, era solo la propagación de mensajes generando gran uso de recursos de la red, congestionamiento, repetición innecesaria de mensajes, durante la inundación los diferentes puntos de la red podían recibir más de una vez el mensaje, generando congestión en la red, gastando ancho de banda innecesario; Este tema fue tratado en el capítulo dos durante el enrutamiento plano donde solo se da una breve descripción del algoritmo de inundación su lógica que solo es enviar un mensaje por la red y cada nodo lo reenvía generando demasiados mensajes repetidos. Sin embargo viendo las ventajas que ofrecía una red inalámbrica se empezó a tomar en cuenta las inundaciones como método de enrutamiento. Posteriormente con redes de sensores ya fue un hecho por las ventajas que presenta, aunque no solo eso también presento sus retos pero actualmente se están usando inundaciones. Y entrando más de lleno en el capítulo 3 se trató inundación durante los temas de difusión, difusión directa y sus derivados, el motivo por que se trató el tema ahí y no en el capítulo cuatro fue porque creí conveniente tratarlo dentro de redes de sensores puesto que es para redes de sensores y no utilizan mucho la inundación aunque algunos autores lo manejan como variante de inundación. Lo cierto es que las inundaciones fueron tomadas en cuenta a partir de la implementación de WSN, donde se consideró la posibilidad de una red más eficiente, por la movilidad que ofrecen las WSN, y la estructura de la red, que simplemente no la hay pues los nodos se auto organizan según sea necesario. 117 Funcionando de manera óptima ajustándose al medio y auto organizándose viendo esas premisas se creyó que se podría tratar a la inundación más en serio y se dedujo que era óptimo usar inundaciones. Ahora se han tomado como un candidato serio pues se ha comprobado que tienen sus ventajas, al evitar las colisiones, la convergencia, congestión de red por mencionar solo algunos de los beneficios. Si se toma en cuenta que muchos protocolos hacen uso de los algoritmos de inundación ya sea para descubrir a sus vecinos, o para enviar mensajes hola y descubrir los caminos y los nodos de la red, en este caso podemos mencionar los principales protocolos que hacen uso serian: ACQUIRE, SPEED, COUGAR. Enrutamiento por rumor, que si bien ya se menciona anteriormente son protocolos y algoritmos que en algún momento hacen uso de enrutamiento por inundación, según mi criterio no creí conveniente tratarlos en el capítulo 4 aunque algunos autores mencionen que son variantes de inundación Además de que muchos otros usan la combinación de los antes mencionados con, algún otro protocolo, ejemplo rumor que es una variante de inundación, y que hace uso de inundación mediante la difusión. Otro seria PEGASIS, por lo cual se ha visto la posibilidad de poder implementarse en conjunto con enrutamientos geográficos para lograr localización y monitorización de nodos, Además enrutamientos basados en seguridad de WSN, pueden usar inundación ejemplo de ellos son los sistemas P2P, muy conocidos, como lo es Ares, Emule usan inundación, estos programas de intercambio de archivos muy ampliamente conocidos han usado la inundación para lograr una eficiencia en sus servicios, mejorando relativamente su eficiencia. Pero eso no es todo puesto que la verdadera ventaja de los algoritmos de inundación se da en Gossip y enrutamiento probabilístico que son una mejora relativa a Inundación simple, generando hasta un 80% menos de paquetes. 118 Pero la verdadera evolución se da en los algoritmo de saltos, que si bien aún están en desarrollo promete revolucionar la comunicación en redes de sensores, su función principal radica en inundar a la red de un solo salto generando solo una vez los paquetes evitando las colisiones, el ancho de banda incluso mejorando la cogestión y la velocidad. Se ha demostrado que los algoritmos de inundación también generan un bajo costo que con técnicas como el tiempo de división de acceso múltiple hace que se combinen todas trasmisión haciendo las cosas con los saltos específicos y en cada retrasmisión solo se reenvía la información necesaria con la información necesaria y vital logrando que cada salto sea muy beneficioso pues no se hacen retrasmisiones innecesarias. Y según las líneas futuras se cree que a futuro se podrá inundar en una sola dirección, pues debido a la infraestructura de la red los nodos se pueden auto organizar y lograr una inundación efectiva. Sin embargo aún tienen sus desventajas en cuanto a energía, también se han diseñado complejos algoritmos para eficiencia de energía, ya sean logrado que funcionen por cerca de 3 años, aún veremos que se logra en esta área. Cabe mencionar que estos algoritmos aún están en fase de desarrollo, y aun son un desafío, puesto que ningún algoritmo funciona mejor para un determinado problema generalmente se usan determinado algoritmos para solucionar algunos problemas y otros para solucionar algunos otros, por lo que se deberán desarrollar mejores algoritmos que funcionen eficientemente ante cualquier circunstancia Y eso no es todo pues aunque se use actualmente inundación está demostrado que no se ha logrado la eficiencia deseada, pues uno de los mejores algoritmos como los es flash y multi salto aún quedan mucho a deber puesto que no funcionan bien en redes demasiado densas. Pero son una gran herramienta, pues aun con las fallas logran un buen rendimiento en redes pequeñas y solo haría falta mejorarlos o inventar otros a partir de ellos. 119 FUENTES DE INFORMACIÓN Tanenbaum, A. S, Redes de Computadoras 3ª Edición. Prentice Hall Hispanoamericana S.A. (1997). Stallings, W, Comunicaciones y Redes de Computadores 5ª Edición. Prentice Hall. (1997). Coulouris, G.; Dollimore, J.; Kindberg, T.: Sistemas Distribuidos 3ª Edición. Addison Wesley. (2001). Wireless medium Access control. I. 802.15.4-2006. Wireless Medium Access Control (MAC) and Physical Layer (PHY) Specications for Low Rate Wireless Personal Area Networks (LR-WPANs), chapter 15.4.2006. Wireless Medium Access Control. 802.15.4a 2007. Wireless Medium Access Control (MAC) and Physical Layer (PHY) Specications for Low-Rate Wireless Personal Area Networks (WPANs), chapter 15.4.2007. C. Intanagonwiwat, R. Govindan, and D. Estrin. Directed difusion: a scalable and robust communication paradigm for sensor networks. ACM Mobi-Com, 2000. D. Braginsky and D. Estrin. Rumor routing algorithm for sensor networks. 1st Wksp. Sensor Networks and Apps., Octubre 2002. J. N. Al-Karaki. Data aggregation in wireless sensor networks - exact and approximate algorithms. IEEE Wksp. High Perf. Switching and Routing, Abril 2004. J. N. Al-Karaki and A. E. Kamal. Routing techniques in wireless sensor network: a survey.Wireless Communications, IEEE, 1:6–28, Diciembre 2004. 120 S. Bandyopadhyay and E. Coyle. An energy eficient hierarchical clustering algorithm for wireless sensor networks. INFOCOM, 2003. C. Schurgers and M. Srivastava. Energy eficient routing in wireless sensor networks.MILCOM Proc. Commun. for Network-Centric Ops.: Creating the Info, 2001. M. Chu, H. Haussecker, and F. Zhao. Scalable information driven sensor querying and routing for ad hoc heterogeneous sensor networks. J. High Perf Comp. Apps., Agosto 2002. Y. Yao and J. Gehrke. The cougar approach to in network query processing in sensor networks. SIGMOD Record, Septiembre 2002. N. Sadagopan. The acquire mechanism for e cient querying in sensor networks. Wksp. Sensor Network Protocol and Apps, Mayo 2003. S. Servetto and G. Barrenechea. Constrained random walks on random graphs: Routing algorithms for large scale wireless sensor networks. Wksp. Wireless Sensor Networks and Apps, 2002. W. Heinzelman, A. Chandrakasan, and H. Balakrishnan, Energy-eficient communication protocol for wireless microsensor networks. Sys. Sci, Enero 2000. R. C. Shah and J. Rabaey. Energy aware routing for low energy ad hoc sensor networks.IEEE WCNC, Marzo 2002. A. Manjeshwar and D. P. Agarwal. Apteen: A hybrid protocol for eficient routing and comprehensive information retrieval in wireless sensor networks. Int´l. Paral lel and Distrib. Proc. Symp. A. Manjeshwar and D. P. Agarwal. Teen: a routing protocol for enhanced e ciency in wi-reless sensor networks. 1st Int´l. Wksp. on Paral lel and Distrib. Comp. Issues in Wireless Networks and Mobile Comp., Abril 2001. 121 V. Rodoplu and T. H. Meng. Minimum energy mobile wireless networks. IEEE JSAC, Agosto 1999. L. Subramanian and R. H. Katz. An architecture for building self cofigurable systems. IEEE/ACM Wksp. Mobile Ad Hoc Net. and Comp., Agosto 2000. Q. Fang, F. Zhao, and L. Guiba. Light weight sensing and communication protocols for target enumeration and aggregation. 4th ACM MOBIHOC, 2003 Q. Li, J. Aslam, and D. Rus. Hierarchical power-aware routing in sensor networks. DI-MACS Wksp. Pervasive Net, Mayo 2001. Y. Xu, J. Heidemann, and D. Estrin. Geography-informed energy conservation for ad-hoc routing. 7th Annual ACM/IEEE Int´l. Conf. Mobile Comp., 2001. Y. Yu, D. Estrin, and R. Govindan. Geographical and energy-aware routing: A recursive data dissemination protocol for wireless sensor networks. Technical report, UCLA Comp.Sci. Dept., Mayo 2001. I. Stojmenovic and X. Lin. Gedir: Loop-free location based routing in wireless networks.Conf. Parallel and Distrib. Comp. and Sys. Noviembre 1999. J. Chang and L. Tassiulas. Maximum life time routing in wireless sensor networks. Adv.Telecommun. and Info. Distrib. Research Prog., Marzo 2000. D. Braginsky and D. Estrin. Rumor routing algorithm for sensor networks. Int´l. Conf. Distrib. Comp. Sys., Noviembre 2003. W. Heinzelman, A. Chandrakasan, and H. Balakrishnan. Energy-e cient communication protocol for wireless microsensor networks. Sys. Sci, Enero 2000. W. Heinzelman, J. Kulik, and H. Balakrishnan. Adaptive protocols for information disse-mination in wireless sensor networks. ACM/IEEE Mobicom, Agosto 1999. K. Sohrabi and J. Pottie. Protocols for self-organization of a wireless sensor network. EEE Pers. Commun., 2000. 122 P. C.E. and B. P. Highly dynamic destination-sequenced distance-vector routign (dsdv)for mobile computers. Comp. Commun, 1994. M. S. and G.-L.-A. J.J. An eficient routing protocol for wireless networks. ACM Mobile Networks and App. J., Special Issue on Routing in Mobile Communication Networks, 1996. P.C.E. Ad Hoc Networking, Addison-Wesley, (2001). IEEE communications magazine I. Akyildiz, W. Su, Y. Sankara subramaniam, and E. Cayirci. Wireless sensor networks: A survey. IEEE Communications Magazine, 40(8):102–114, 2002. W. Heinzelman, J. Kulik, and H. Balakrishnan. Adaptive protocols for information disse-mination in wireless sensor networks. ACM/IEEE Mobicom, Agosto 1999 Antonio Manuel Palma. (2009). Análisis de protocolos de sensores inalámbricos. Tesis de maestría universidad de Cataluña España María Julieta Goitina. (2007). Protocolos para capa de red. Tesis de maestria Universidad Cataluña España Jiakang Lu and Kamin (2002). flooding flash White house. Thesis de Doctorado University of Virginia jklu, whitehouse@cs.virginia.edu. Zaygmunt J Hass, joseph Y haperl. (2005) Gossip Based Ad hoc Routing. Tesis Julio 13. universidad de Stanford California EU Jiankang L And Kamin Whit house. Flash Flooding: Exploiting the caputure effect for Rapid Fooding in Wirelles sensor Network. Tesis de Doctorado University of CHINA Dao Yuan, Yang y Kim Jin young Daeyoung KAIST. (2011). Ripple Flooding in Wireless Sensor. Thesis, Universidad de Korea, República de Korea Miklos Maróti. (2011) Directed Flood-Routing Framework For Wireless Sensor Network thesis maestria, Universidad de Szeged, Hungary. 123 N. Bulusu, J. Heidemann, and D. Estrin (2000). Gps-less low cost out door localization for very small devices. Technical report, Comp. Sci. Dept tesis de maestria,Universidad de California. Joe Polastre, (Nov 7 2007). A new Vision for Pervasive Computing. Recuperado nov2012,http://www.sentilla.com/blogs/2007/11/a-new-vision-for-pervasivecom.php Leór hardy And Marius Gafen (july 21 ST, 2009). Mesh wireless sensor networks: choosing the appropiate technology. Recuperado en diciembre del 2011 http://industrial-embedded.com/mesh-networks-choosing-appropriate-technology. Ayza, (11 nov 2011). WSN. Recuperado en enero 2012 http://blogs.salleurl.edu/networking-and-internettechnologies/tag/wsn/ http://www.google.com.mx// Paul (11de julio del 2009). Motes y redes de sensores recuperado el 15 de dic del 2011 http://www.aparatosdelfuturo.com// Joseph Y. Halpern, Erran L. Li (5 de septiembre del 2002). Gossip Based Ad-hoc Routing, Recuperado en Enero 2012 http://arxiv.org/abs/cs/0209011v1 124 INDICE DE FIGURAS CAPITULO I Presentacion dela problematica CAPITULO II Algoritmos de Enrutamiento Figura 2.1 Sub red................................................................................................ 15 Figura 2.2 Tabla de Enrutamiento ......................................................................... 19 Figura 2.3 El conteo infinito .................................................................................. 21 Figura 2.4 Modelo de Grafo.................................................................................. 23 Figura 2.5 Paquetes de Estado en sub red .......................................................... 24 Figura 2.6 Interconexion en Redes ...................................................................... 28 Figura 2.7 Direcciones de IP ................................................................................ 29 Figura 2.8 Sistema autonomo .............................................................................. 33 Figura 2.9 Relacion AS y OSPF ........................................................................... 35 Figura 2.10 comparativo VD-EE ............................................................................ 37 CAPITULO III Algoritmos de Enrutamiento en Redes de Sensores Figura 3.1 Receptores WSN................................................................................ 40 Figura 3.2 Protocolos de enrutamiento ............................................................... 43 Figura 3.3 Difusion Dirigida .................................................................................. 49 CAPITULO IV Enrutamiento por Inundación. Figura 4.1 Grafo de inundacion ............................................................................. 95 Figura 4.2 Inundacion Selectiva ............................................................................ 96 Figura 4.3 Protocolo OFP ...................................................................................... 99 Figura 4.4 Inundacion Historico Escalable .......................................................... 106 125