You are on page 1of 9

Traduccin, redaccin y anlisis: Andrs Gmez Estudio del protocolo de enrutamiento B.A.T.MA.N.

: Better Approach To Mobile Adhoc Networking B.A.T.M.A.N. Es un protocolo de enrutamiento proactivo para Redes Inalmbricas Mesh Ad-Hoc, incluyendo las Redes Mviles Ad-hoc (Mobile Ad-hoc Networks MANETs). El protocolo mantiene proactivamente la informacin sobre la existencia de todos los nodos en la red mesh que son accesibles con unas comunicaciones de un solo salto o de mltiples saltos. La estrategia de B.A.T.M.A.N. Es determinar para cada destino de la red mesh un nico salto vecino que pueda ser usado como la mejor puerta de enlace para comunicar con el nodo destino. Para conseguir el enrutamiento multisalto basado en IP, la tabla de enrutamiento de un nodo debe contener un enlace a la puerta de enlace local para casa ruta. Aprender sobre el mejor salto prximo para cada destino es lo que el algoritmo de B.A.T.M.A.N. cuida de hacer. No es necesario encontrar o calcular la ruta completa, lo cual lo hace una implementacin muy rpida y eficiente. Debido a las altas probabilidades da fallos en conexiones, perdidas de paquetes, y dems problemticas que trae implcito el uso del medio inalmbrico, B.A.T.M.A.N. considera estos desafos al hacer en anlisis estadstico de la perdida de paquetes del protocolo y la velocidad de propagacin y no depende del estado o topologa de la informacin de otros nodos. En lugar de confiar en los metadatos contenidos en el protocolo del trfico recibido que pueden ser retardados, desactualizados o perdidos las decisiones de enrutamiento son basadas en el conocimiento de la existencia o la falta de informacin. Los paquetes del protocolo B.A.T.M.A.N. contienen solo una cantidad limitada de informacin y son por ende muy pequeos. Los paquetes del protocolo perdidos debido a enlaces poco fiables, no son contrarrestados con redundancia, pero son detectados y utilizados para mejores decisiones de enrutamiento. B.A.T.M.A.N. elige la ruta ms confiable para las decisiones del prximo salto de los nodos individuales. [A8] B.A.T.M.A.N. no fue diseado para operar en medios estables y confiables, como las redes cableadas, sino ms bien en funcin de medios poco fiables que si experimentan altos niveles de inestabilidad y de prdida 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. Tambin incorpora la idea de Inteligencia Colectiva opuesta a la idea de enrutamiento de estado de enlace. La informacin topogrfica no es manejada por un solo nodo, pero si se propaga a travs de toda la red. No hay entidad central que conozca todas las posibles vas a

travs de la red. Todo nodo solo determina el dato para elegir el prximo salto, haciendo al protocolo muy liviano y rpidamente adaptable a fluctuaciones de la topologa de red. 5.9.1. Generalidades del Enrutamiento El algoritmo del protocolo B.A.T.M.A.N puede ser descrito de forma simplificada as: Cada nodo transmite en difusin (broadcast) mensajes, que son llamados Mensajes de Originador OGM, para informar a sus nodos vecinos sobre su existencia. Estos vecinos estn re-difundiendo los OGM de acuerdo a las reglas especficas para informar a sus vecinos sobre la existencia del iniciador original del mensaje y as progresivamente. As la red est inundad de mensajes de originador. Los OMG son pequeos, el paquete tpico es de 52 bytes incluyendo IP y cabecera UDP (User Datagram Protocol). Los OMG contienen al menos la direccin del originador, la direccin del nodo que transmite el paquete, un TTL (Time To Live) y un nmero secuencial. B.A.T.M.A.N detecta la presencia de Originadores B.A.T.M.A.N, no importa si el camino de comunicacin desde/hacia un Originador es de un salto o de multisalto. El protocolo no trata de encontrar el camino completo de la ruta, en cambio solo aprende cual enlace local es la mejor puerta de enlace de cada originador. Tambin mantiene el rastro de los nuevos originadores e informa a sus vecinos sobre su existencia. El protocolo asegura que una ruta consiste solo de enlaces bidireccionales. En la prctica la perdida del paquete OGM causada por interferencia, colisin o congestin, es significativa. El nmero de OGMs recibidos de un Originador dado es usado para estimar la calidad de una ruta. Usando un nmero secuencial embebido en cada OGM, B.A.T.M.A.N puede distinguir entre unos nuevos mensajes originadores y duplicados que ya han sido contados. Los originadores de B.A.T.M.A.N pueden anunciarse ellos mismos como puertas de enlace hacia internet. Su anuncio incluye una clase-puerta de enlace, en la cual est especificando la velocidad de conexin de sus enlaces de subida y bajada a internet. Las puertas de enlace tambin enviar un numero de puerto el cual es usado por los clientes para establecer un tuner unidireccional UDP hacia la puerta de enlace. La decisin de que puerta de enlace es seleccionada para un destino es realizada por el cliente. [A9]

5.9.2. Formatos de los paquetes de B.A.T.M.A.N. [A10] Formatos del paquete General B.A.T.M.A.N.

Figura 17. Diseo genera de un paquete B.A.T.M.A.N (sin la IP final y la cabecera UDP) (fuente: http://tools.ietf.org/html/draft-wunderlich-openmesh-manet-routing-00) Cada paquete B.A.T.M.A.N est encapsulado en un paquete de datos UPS sencillo. Un paquete B.A.T.M.A.N conste de un mensaje originador OGM y cero o ms mensajes adjuntos de extensiones HNA. Mensaje Originado OGM: tiene un tamao fijo de 12 octetos Mensajes opcionales de extensiones HNA: Un HNA (Host Network Announcement) es un tipo de mensaje usado para anunciar una puerta de enlace a una red o a un host. Cada mensaje de extensin que sigue un OGN est asociado con el OGM precedente y debe ser procesado respectivamente. Los mensajes HNA tienen un tamao fijo de 5 octetos. Originator Message (OGM) Format

Figura 18. Diseo genera de un mensaje OGM. (Fuente: http://tools.ietf.org/html/draft-wunderlichopenmesh-manet-routing-00) Versin: cada paquete recibido con un espacio de versin diferente debe ser ignorado. Bandera Is-direct-link: esta bandera indica si un nodo es un vecino directo no. Bandera unidireccional: esta bandera indica si el nodo es bidireccional o no. TTL (Time To Live): El TTL puede ser usado para definir un lmite superior de un nmero de saltos que un OGM puede ser transmitido. Banderas de puerta de enlace (GWFlags): Anuncia si en nodo tiene acceso a internet. Numero secuencial: el originador de un OGM enumera consecutivamente cada nuevo OGM con un incremento (de uno) el nmero secuencial. Direccin del originador: La direccin IPv4 de una interfaz B.A.T.M.A.N en la cual ha sido creado el OGM. Formato del Mensaje HNA

Figura 19. Formato de la extensin HNA. Mascara de red: el nmero de bits presentando el tamao de la red anunciada. Direccin de red: La direccin de red Ipv4 de la red anunciada. 5.9.3. Nmeros secuenciales, rangos y ventanas.

El nmero secuencial de un OGM recibido es la clave de informacin que es transmitida con cada OGM. Los nmeros secuenciales son grabados en ventadas variables hasta que son considerados fuera del rango. As, las ventas siempre tienen los nmeros secuenciales recibidos recientemente. La cantidad de nmeros secuenciales de grabadas en una ventana variable es usada como una mtrica de la calidad de los enlaces detectados y las rutas, El rango de los nmeros secuenciales no es un espacio infinito, pero es limitado en el rango desde 0 hasta 2^16 - 1.

Figura 20. Ilustracin del concepto de n-Window y numero secuencial Out-Of-Range Los nmeros secuenciales In-Window representan los ltimos nmeros secuenciales. Incluyen el nmero secuencia actual de este Originador y el tamao de la ventana menos uno (WINDOW_SIZE) del nmero secuencial anterior. El actual nmero secuencial de cada originador debe ser mantenido, as como la informacin si un OGM ha sido recibido o no para cada IN-Window del nmero secuencial. Si un OGM de este originador es recibido con un numero secuencial In-Window, el nmero secuencial actual nos ser actualizado, y por lo tanto la ventana variable no es movida. Se debe recordar que un OGM con nmero secuencial ha sido recibido. Numero secuencial fuera de rango. Los nmeros secuenciales fuera de rango son todos los nmeros secuenciales que no estn en el rango de la ventana In-Window. Son considerados nuevos o prximos nmeros secuenciales. Si un OGM d este originador con un numero secuencial fuera de rango es recibido, el actual nmero secuencial es colocado como un numero secuencial nuevo, esto significa que la ventana variable es movida, y que el numero secuencial que no est en la en el rango In-Window qued fuera de la

ventana. La informacin de si OGMs han sido recibidos o no con nmeros secuenciales que abandonaron la ventana debe ser purgada.

Difundiendo (Broadcasting) los propios Mensajes de Originador (OGMs). Cada nodo debe peridicamente generar y difundir OGMs para cada interfaz B.A.T.M.A.N. El mensaje debe ser difundido en todo ORIGINATOR_INTERVAL por toda estas interfaces. Una latencia (jitter) puede ser aplicada para evitar colisiones. Recibiendo Mensajes de Originador OGM Tras la recepcin 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 versin que es diferente a la propia versin interna, el paquete debe ser descartado y no es procesado. 2. Si la direccin de envo del OGN pertenece a una de las interfaces B.A.T.M.A.N el mensaje debe ser detenido ya que este mensaje se origino en este nodo. 3. Si la direccin de envo del OGM es una direccin broadcast de una interfaz propia de B.A.T.M.A.N el mensaje debe ser detenido. 4. Si la Direccin de Originador del OGM es idntica 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 nmeros secuenciales (si no es duplicado) entonces el OGM debe ser procesado. 7. El OGM debe ser redifundido. Verificacin del enlace Bidireccional Una verificacin de enlace bidireccional es usada para detectar si el enlace a un vecino dado puede ser usado en ambas direcciones. Por lo tanto, el nmero 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 d ella interfaz por la cual el OGM ha sido generado. La bandera de enlace directo esta activada. El nmero secuencial coincide con el nmero secuencial enviado con el ltimo OGM difundido por esa interfaz. La verificacin del enlace bidireccional es exitosa si el nmero secuencial no difiere ms que el BI_LINK_TIMEOUT del nmero secuencial grabado. Ranking de vecinos Luego de la recepcin de un OGM de otro nodo, debe hacerse lo siguiente: La cuenta de paquete debe ser actualizada. Si el nmero secuencial del OGM es ms nuevo que el nmero secuencial actual, el nuevo numero secuencial debe ser fijado al nmero secuencial contenido en el OGM recibido. El ltimo TTL de este vecino debe ser actualizado. Redifusin de otros OGMs Cuando un OGM est para ser re-difundido algunos de los campos del mensaje debe ser cambiados, otros debe mantenerse sin cambios. Todos los campos mencionados No en la siguiente seccin permanecen intactos: El Ttl debe ser decrementado en uno. Si el TTL queda en cero despus de ser decrementado, el paquete debe ser descartado. El Is-direct-link (enlace de verificacin de vecinos) debe ser fijado si el OGM ha sido recibido de un vecino directo y si es redifundido por el enlace por el cual se ha recibido. La bandera unidireccional debe ser activada si un OGM va a ser retransmitido que se ha recibido a travs de un enlace unidireccional. 5.7.4. Enrutamiento. Con el fin de mantener la tabla de enrutamiento de un nodo B.A.T.M.A.N, el demonio de enrutamiento mantiene el rastro del nuevo OGM entrante y mantiene una lista de todos los Originadores que han enviado Mensajes Originadores.

B.A.T.M.A.N mantiene una entrada de enrutamiento dedicada para cada originador conocido y anuncio HNA. Cada entrada de enrutamiento define la interfaz B.A.T.M.A.N de salida y la direccin IP del prximo salto a vecino directo hacia el correspondiente originador. B.A.T.M.A.N debe adicionar una ruta host a todos los Originadores, en el caso de si son enlaces bidireccionales locales de vecinos de un salto. Seleccin y establecimiento de ruta Si se recibi un OGM de un Originador desconocido o de una red/host desconocido per medio del HAN, ser adicionado a la tabla de enrutamiento, y el mejor ranking de enlace bidireccional a un vecino es seleccionado como puerta de enlace al destino. Si el destino es un host, una ruta de host ser adicionada de acuerdo al mejor ranking bidireccional de un salto simple a un vecino hacia el destino. Es una red, anunciada por el mensaje HNA incluido en un mensaje OGM, una ruta de red es adicionada segn el mejor ranking bidireccional de un salto simple a un vecino. Un vecino que se encuentra a solo un salto puede o no ser seleccionado como puerta de enlace a s mismo, una ruta de host por medio de otro enlace bidireccional sencillo debe ser elegida. Si el vecino de mejor ranking hacia el destino cambia, la tabla de enrutamiento debe ser actualizada. La puerta de enlace de cada ruta de host a un Originador debe estar sincronizada con el mejor enlace identificado por el originador. La puerta de enlace de cada HNA relacionado al host o a la ruta de res debe estar en sincrona con la ruta de host delo originador que posee el correspondiente mensaje HNA. Valores propuestos para las constantes. VERSION = 4 TTL_MIN = 2 TTL_MAX = 255 SEQNO_MAX = 65535 BROADCAST_DELAY_MAX (Milliseconds) = 100 ORIGINATOR_INTERVAL (Milliseconds) = 1000 ORIGINATOR_INTERVAL_JITTER (Milliseconds) = 200 WINDOW_SIZE = 128 PURGE_TIMEOUT = 10 x WINDOW_SIZE x ORIGINATOR_INTERVAL Consideraciones de seguridad.

Los protocolos de enrutamiento deben confiar en la informacin de los otros nodos en la red. Por lo tanto son susceptibles a ataques. El protocolo B.A.T.M.A.N puede ser mejorado por el uso de de encriptaciones comunes y de tecnologas de autenticacin para asegurar que el enrutamiento de la informacin solo es aceptada dentro de los nodos verdaderos. Para aumentar en nivel de seguridad, toda la informacin de la capa inalmbrica tambin debe ser encriptado. Como sea, estos enfoques no solucionan los desafos de una red mesh consistente en la no autenticacin, y el uso de usuarios de poca confianza. Confidencialidad. Un nodo B.A.T.M.A.N sabe de la existencia de todos los otros nodos en la red que estn en el rango de los enlaces de saltos mltiples, pero debido a su diseo no conoce la topologa completa de la red. La topologa vista desde un nodo est muy limitada hacia el horizonte de un salto. B.A.T.M.A.N acepta paquetes de fuentes arbitrarias y construye sus tablas de enrutamiento analizando las estadsticas de los mensajes de originador recibidos.

You might also like