• No se han encontrado resultados

CAPÍTULO 1. Introducción a las redes ad-hoc vehiculares

1.6 Protocolos de enrutamiento

1.6.2 Protocolo de enrutamiento proactivo B.A.T.M.A.N

B.A.T.M.A.N. es un protocolo de enrutamiento dinámico para redes ad-hoc inalámbrica, incluyendo (pero no limitados a) las redes ad-hoc móviles. El protocolo mantiene proactivamente información sobre la existencia de todos los nodos de la red que se puede acceder a través de un solo salto o enlaces de comunicaciones multisalto. La estrategia de B.A.T.M.A.N. es determinar para cada destino en la red un vecino de un solo salto, que puede ser utilizado como mejor gateway para comunicarse con el nodo de destino.

Con el fin de realizar el enrutamiento basado en IP multisalto, la tabla de enrutamiento de un nodo debe contener una puerta de enlace local para cada host o red de rutas. Debido a las altas probabilidades de fallos en conexiones, pérdidas de paquetes, y demás problemáticas que trae implícito el uso del medio inalámbrico, B.A.T.M.A.N. considera estos desafíos al hacer en análisis estadístico de la pérdida de paquetes del protocolo y la velocidad de propagación y no depende del estado o topología de la información de otros nodos. En lugar de confiar en metadatos contenidos en el tráfico de protocolo recibido (que podría retrasarse, desactualizarse, o perderse) las decisiones de enrutamiento se basan en el conocimiento acerca de la existencia o falta de información.

Los paquetes de protocolo de B.A.T.M.A.N. contienen sólo una cantidad muy limitada de información y por lo tanto son muy pequeñas. Paquetes de protocolo perdidos debido a los enlaces no confiables no se contrarrestan con la redundancia, pero se detectan y se utilizan para tomar mejores decisiones de enrutamiento. B.A.T.M.A.N. elige la ruta más fiable sobre la decisión de enrutamiento del próximo salto de nodos individuales.

B.A.T.M.A.N. no fue diseñado para operar en medios estables y confiables, como las redes cableadas, sino más bien en función de medios poco fiables que si experimentan altos niveles de inestabilidad y de pérdida de datos. El protocolo fue concebido para contrarrestar los efectos de las fluctuaciones de una red y compensar su inestabilidad, permitiendo así un alto nivel de robustez. También incorpora la idea de Inteligencia Colectiva opuesta a la idea de enrutamiento de estado de enlace. La información topográfica no es manejada por un solo nodo, pero si se propaga a través de toda la red. No hay entidad central que conozca todas las posibles vías a través de la red. Todo nodo solo determina el dato para elegir el

próximo salto, haciendo al protocolo muy liviano y rápidamente adaptable a fluctuaciones de la topología de red.

El protocolo detecta la presencia de mensajes originadores, no importa si la ruta de comunicación hacia/desde un originador es de un solo salto o el enlace de comunicación es multisalto. B.A.T.M.A.N., realiza un seguimiento de los nuevos originadores e informa a sus vecinos acerca de su existencia. El mecanismo permite que el nodo determine si un nodo vecino proporciona una comunicación bidireccional, sólo los nodos bidireccionales se consideran parte de la red, los nodos unidireccionales no son completamente incluidos.

Enrutamiento

Sobre una base regular cada nodo transmite un Mensaje Originador (OGM), informando de ese modo a sus vecinos locales de su existencia (primer paso). Los vecinos de enlace local que están recibiendo los OGM los retransmiten a través de una difusión. Las redes que utilizan el protocolo B.A.T.M.A.N. son, por lo tanto, inundadas de OGM.

Este proceso de inundación se realizará por los vecinos de un solo salto en la segunda etapa, por los vecinos de dos saltos en el tercer paso, y así sucesivamente. OGMs se envían y se repiten como difusiones UDP, por lo tanto, los OGMs inundan hasta que cada nodo ha recibido al menos una vez, o hasta que se perdieron debido a la pérdida de paquetes de enlaces de comunicación, o hasta su TTL ha caducado. Los OMG son pequeños, el paquete típico es de 52 bytes incluyendo IP y cabecera UDP. Los OMG contienen al menos la dirección del originador, la dirección del nodo que transmite el paquete, un TTL (Time To Live) y un número secuencial. En la práctica la pérdida de paquetes OGM causada por la interferencia, colisión o congestión es significativo. El número de OGMs recibido de un Originador dado a través de cada vecino de enlace local se utiliza para estimar la calidad de una (solo salto o multisalto) ruta.

Los emisores de B.A.T.M.A.N. pueden anunciarse como gateway a Internet. Su anuncio incluye una clase de puerta de enlace, el cual especifica la velocidad de conexión ascendente y descendente a Internet. Los gateways también envían un número de puerto para establecer un túnel UDP unidireccional al gateway de enlace.

Una vez que el túnel se establece los caminos de topología y direccionamiento de red entre el gateway B.A.T.M.A.N. y el gateway del cliente pueden cambiar, pero los datos se

consiguen encaminado a través del gateway inicial y volver sin cambios, siempre y cuando el protocolo puede proporcionar una vía de comunicación. Los paquetes en B.A.T.M.A.N. se comunican usando UDP. El puerto 4305 se ha asignado por IANA para el uso exclusivo del protocolo B.A.T.M.A.N.

Recibiendo OGM

Tras la recepción de un paquete general B.A.T.M.A.N un nodo debe realizar el siguiente control preliminar antes de que el paquete sea luego procesado:

1) Si el OGM contiene una versión que es diferente a la propia versión interna, el paquete debe ser descartado y no es procesado.

2) Si la dirección de envío del OGN pertenece a una de las interfaces B.A.T.M.A.N. el mensaje debe ser detenido ya que este mensaje se originó en este nodo.

3) Si la dirección de envío del OGM es una dirección broadcast de una interfaz propia de B.A.T.M.A.N. el mensaje debe ser detenido.

4) Si la Dirección de Originador del OGM es idéntica con alguna de las interfaces de B.A.T.M.A.N. del nodo propio, entonces el OGM ha sido originado por el nodo mismo. El procesamiento del OGM debe continuar.

5) Si la bandera unidireccional del OGM está activa, el mensaje debe ser detenido. 6) Si el OGM ha sido recibido por medio de un link Bidireccional y contiene nuevos

números secuenciales (si no es duplicado) entonces el OGM debe ser procesado.

Verificación del enlace Bidireccional

Una verificación de enlace bidireccional es usada para detectar si el enlace a un vecino dado puede ser usado en ambas direcciones. Por lo tanto, el número secuencial de cada OGM auto-originado (retransmitido por un enlace de vecino directo) para cada interfaz debe ser grabado (Numero secuencial de enlace bidireccional) si:

 El OGM auto-originado ha sido recibido por medio de la interfaz por la cual el OGM ha sido generado.

 La bandera de enlace directo está activada.

 El número secuencial coincide con el número secuencial enviado en el último OGM difundido por esa interfaz.

Consideraciones de Seguridad

Los protocolos de enrutamiento tienen que confiar en la información de otros nodos de la red. Por lo tanto son susceptibles a diversos ataques y B.A.T.M.A.N. siendo uno de estos protocolos tiene que lidiar con ellos. El protocolo B.A.T.M.A.N. se puede mejorar mediante el uso de tecnologías de cifrado y autenticación común para asegurar que la información de enrutamiento se acepta solamente desde los nodos de confianza. Para aumentar el nivel de seguridad, toda la información en la capa inalámbrica en sí también puede ser encriptado.

Confidencialidad

Un nodo B.A.T.M.A.N. sabe de la existencia de todos los demás nodos de la red que están en la gama de enlaces de comunicación multisalto, pero debido a su diseño no sabe toda la topología de la red. B.A.T.M.A.N. acepta paquetes de fuentes arbitrarias y construye su tabla de enrutamiento mediante el análisis de las estadísticas de los mensajes originarios recibidos.

Desbordamiento de entradas de enrutamiento

Un host malicioso podría enviar mensajes originadores que están anunciando la existencia de nodos no existentes para causar un desbordamiento de entrada de enrutamiento disponible o carga de la CPU excesiva y el consumo de memoria. Este ataque puede ser interceptado por comprobaciones de sanidad. Si el número de entradas de enrutamiento pasa por el tope del protocolo, los Originadores con muy bajo recuento de mensajes originadores deben ser eliminados.

Manipulación Ruta

Un atacante también puede generar OGMs de un Originador existente con la continuación de los números de secuencia válidos que en realidad no recibió con el fin de manipular a otros hosts de enrutamiento, y redirigir la ruta hacia el destino a sí mismo. Dado que las decisiones de enrutamiento se basan en el análisis estadístico de la cantidad de mensajes entrantes originarias, en lugar de en la información contenida en los paquetes, el atacante tiene que generar muchos mensajes de protocolo falsificados. Al igual que los mensajes de protocolo válidos, los mensajes falsos creados por el atacante están sujetos a la pérdida de

paquetes. Si un atacante quiere asegurarse de que se elegirá una ruta a través de su anfitrión controlada, tiene que ganar la clasificación hacia el destino de forma continua. Esto limita el rango de ataques con éxito a las áreas donde el atacante puede entregar suficientes mensajes falsos para anular los mensajes válidos.