Sunteți pe pagina 1din 12

Lugro-Mesh: Tecnologa Mesh Aplicada a Redes WiFi Comunitarias

http://www.lugro.org.ar/lugro-mesh http://www.lugro.org.ar/nigthwing

Sebastin D. Criado Julio C. Puigpinos


Contacto: lugro-mesh-dev@lugro.org.ar

L.U.G.Ro.
www.lugro.org.ar

A.N.T.
www.ant.org.ar

Quines somos?
Lugro es el Grupo de Usuarios de GNU/Linux de la ciudad de Rosario. Formado en el ao 1999, el grupo tiene como misin la difusin del Software Libre. El grupo Lugro-Mesh es el Task Force del proyecto Lugro-Wireless original, el cual comenz a trabajar con tecnologa Wireless desde el ao 2003 a fin de crear una red comunitaria, no dependiente de los proveedores de conectividad y que utiliza exclusivamente Software Libre en sus implementaciones. A mediados del ao 2007 se comenz a trabajar para la implementacin de una red wireless utilizando tecnologa Mesh, la cual era a nuestro entender, ms ptima para un rea metropolitana como es la ciudad de Rosario y que no cuenta con puntos altos que permitan cubrir una gran zona con pocos AP de conexin y cuya fisonoma puede cambiar rpidamente. En un principio se trabajo sobre varias implementaciones como: BerlinRoofnet Wing Robin (una implementacin que utiliza B.A.T.M.A.N.) Los primeros dos proyectos fueron descartados y pasamos a realizar una implementacin sobre Robin. Al tiempo nos dimos cuenta que la implementacin de ROBIN no cubra nuestras expectativas de simplicidad y eficiencia por lo cual, y en base a ese proyecto que nos aporto algunas ideas, realizamos nuestra propia implementacin de BATMAN y lo denominamos Nightwing. De all que Lugro-Mesh est muy relacionado con el desarrollo de Nightwing. Para ver quienes son los desarrolladores de Nightwing, pueden visitar la pgina que los describe (http://www.lugro.org.ar/nightwing/desarrolladores.html). Por el momento, somos los mismos. Para participar de Lugro-Mesh, pueden acceder a la informacin de contacto (http://www.lugro.org.ar/lugro-mesh/contacto.html). Los objetivos del grupo son: *Estudio e investigacin de la tecnologa Mesh y su uso en Redes Inalmbricas. *Desarrollo de sistemas empotrados para la creacin de Redes Mesh Inalmbricas, bajo licencia GPL. *Desarrollo e implementacin de herramientas de gestin para administracin de redes Mesh. *Creacin de documentacin e informes, propios del grupo, tanto de los desarrollos como de la tecnologas utilizadas. *Difusin y promosin de los trabajos del grupo y de las tecnologas utilizadas. *Creacin de una Red Mesh WiFi Comunitaria. *Cooperacin y trabajo en conjunto con otros grupos que compartan nuestros objetivos y filosofa. *Utilizacin exclusiva de Software Libre, Formatos Abiertos y tecnologas acordes a stos.

Qu es una red Mesh Wi-Fi?


Arquitctura WLAN
Estacin: la estacin (sta) es el componente ms bsico de una red inalmbrica. Es cualquier dispositivo que posee la funcionalidad del protocolo 802.11 (una MAC, PHY y una conexin con el medio inalmbrico). Basic Service Set (BSS): es el bloque bsico de construccin de una WLAN 802.11. Consiste de un grupo de un nmero cualquiera de estaciones.

Topologas 802.11
Infrastructure Basic Service Set (Infrastructure BSS): es un BSS con un componente llamado Punto de Acceso (AP). El AP provee funciones de retransmisin local para el BSS. Todas las estaciones dentro del BSS se comunican con el AP, ste hace de vnculo para la comunicacin entre las estaciones. Independent Basic Service Set (IBSS): ms comnmente llamado ad-hoc, es el modo por el cul las estaciones se conectan entre s directamente, sin la necesidad de un AP que medie la comunicacin entre ellos. La comunicacin slo es posible si las estaciones que quieren comunicarse estn dentro de un rango directo de alcance entre ellas. No es posible el comunicarse con una estacin a travs de otra estacin.

Red Mesh
Una Red Mesh Inalmbrica (WMN) es una de red compuesta por nodos organizados en una topologa mesh (malla). El rea de cobertura, de todos los nodos actuando como uno slo, se llama nube de la malla (mesh cloud). La forma de operar que tienen stas redes consiste en que los datos van a saltar de un nodo a otro hasta que llegue a su destino. Los algoritmos de ruteo dinmico, utilizados en ste tipo de red, necesitan que cada nodo comunique informacin de ruteo a otros nodos en la red. Cada nodo determina que hacer con los datos que recibe, ya sea pasarlos al proximo salto o quedarselos, dependiendo del protocolo utilizado. El algoritmo de ruteo usado siempre debera asegurar que la informacin tome el camino ms apropiado de acuerdo a una mtrica. Una mtrica es el valor por el cual los protocolos determinan cual ruta tomar o a cul nodo comunicarse. Se pueden considerar 3 tipos de redes mesh inalmbricas: *Infraestructura mesh: los nodos mesh forman una infraestructura para clientes. *Cliente mesh: los nodos clientes constituyen la red misma y realizan funciones de ruteo. *Mesh hbrida: los nodos pueden cumplir la funcin de ruteo o ser slo clientes. Al hablar de redes WiFi nos referimos a que los nodos son dispositivos para redes inalmbricas de rea local (WLAN) que estn basados en el estandr 802.11 del IEEE.

Diferencia entre WDS y Mesh


El WDS (acrnimo ingls de Wireless Distribution System, en espaol Sistema de Distribucin Inalmbrico) permite la interconexin de puntos de acceso en una red inalmbrica de tipo IEEE 802.11. Qu los diferencia y que tienen en comn? En comn: *Ambos permiten la creacin de una red inalmbrica con multiples punto de acceso *Todos los nodos deben usar el mismo canal Diferencias: *WDS requiere la configuracin de cada punto de acceso en forma manual con las MAC Address de cada punto de acceso. *En una red Mesh, la organizacin de la misma es automtica y sin intervencin manual. *En WDS se pueden tener multiples SSID a diferencia de una red Mesh la cual requiere tener el mismo SSID. *Mesh (hablando de una implementacin con B.A.T.M.A.N. ) est pensado para un esquema en el que los NODOS (tanto clientes como gateway) sean moviles, WDS est pensado para que las ESTACIONES que se conecten a la la red sean moviles y no as los AP.

Protocolo de Ruteo de Redes Mesh B.A.T.M.A.N.


B.A.T.M.A.N. (Better Approach To Mobile Ad-hoc Networking) B.A.T.M.A.N. es un protocolo de ruteo proactivo para Redes Mesh Ad-hoc Inalmbricas, incluyendo las redes ad-hoc mbiles (en ingles MANETs). El protocolo mantiene proactivamente informacin sobre la existencia de todos los nodos en la malla, que son accesibles a travs de enlances de comunicacin de uno o mltiples saltos. La estrategia de B.A.T.M.A.N. es determinar para cada destino en la malla un vecino de un salto, el cual puede ser utilizado como mejor gateway para comunicarse con el nodo de destino. Para poder realizar un ruteo de mltiple salto basado en IP, la tabla de ruteo de un nodo debe contener un gateway para cada host o ruta de red. El aprender sobre el mejor proximo salto para cada destino es todo lo que al algoritmo B.A.T.M.A.N. le importa. No hay necesidad de encontrar o calcular la ruta completa, lo que hace posible una implementacin muy rpida y eficiente. B.A.T.M.A.N. toma en consideracin los desafos comunes, en redes inalmbricas y en las del tipo mesh en particular, realizando un anlisis estadistico de la prdida de paquetes del protocolo y velocidad de propagacin, y no depende del estado o informacin topolgica de otros nodos. En vez de confiar en metadatos contenidos en el trfico recibido del protocolo, el cual podra estar retrasado, desactualizado o perdido, las decisiones de ruteo estn basadas en el conocimiento sobre la existencia o falta de informacin. Los paquetes del protocolo B.A.T.M.A.N. contienen slo una limitada cantidad de informacin y por lo tanto son muy pequeos. La prdida de paquetes del protocolo a causa de enlaces no confiables no son contados con redundancia, pero son detectados y utilizados para mejores desiciones de ruteo. B.A.T.M.A.N. elige la ruta ms confiable hacia el prximo salto en la desicion de ruteo de nodos individuales. Este acercamiento ha mostrado en prctica que es confiable y libre de loops (bcles). El enfoque del algoritmo B.A.T.M.A.N. es dividir el conocimiento sobre el mejor camino, entre nodos en la malla, a todos los nodos participantes. Cada nodo percibe y mantiene slo la informacin sobre el prximo mejor salto hacia todos los otros nodos. De ah que la necesidad de un conocimiento global acerca de los cambios en la topologa local se convierte innecesario. Adicionalmente, un mecanismo de inundacin basado en eventos pero interminable (en el sentido de que B.A.T.M.A.N. nunca agenda ni saca de tiempo informacin de topologa para optimizar sus desiciones de ruteo) previene la creacin de informacin topologica contradictoria (la causa usual de los loops de ruteo) y limita la cantidad de mensajes de topologa inundando la malla (y as evita la sobrecarga de control de trfico). El algoritmo est diseado para tratar con redes que estn basadas en enlaces no confiables. El algoritmo del protocolo B.A.T.M.A.N. puede ser descripto, simplificadamente, de la siguiente manera. Cada nodo transmite mensajes de broadcast, llamados Mensajes Originadores (OGM), para informar a nodos vecinos sobre su existencia. Estos vecinos estn retransmitiendo los OGMs de acuerdo a reglas especificas para informar a sus vecinos sobre la existencia del nodo que origino ste OGM, y as sucesivamente. De sta manera la red es inundada con los mensajes originadores. Los OGM son pequeos, el tpico tamao es 52 bytes incluyendo el sobreencabezado IP y UDP. Los OGM contienen al menos la direccin del originador, la direccin del nodo retransmitiendo el paquete, un TTL y un nmero de secuencia. Los OGM que siguen un camino donde la calidad del enlace inalmbrico es pobre o saturado sufrirn de prdida de paquetes o retraso en su camino a traves de la malla. Por lo que los OGMs que viajan en buenas rutas se propagarn ms rapida y fiablemente. Para poder decir si un OGM ha sido recibido una o ms veces, contiene un nmero de secuencia

dado por el originador del OGM. Cada nodo retransmite cada OGM recibido al menos una vez y slo aquellos recibidos del vecino que ha sido identificado como el actual mejor proximo salto (el mejor vecino posicionado) hacia el originador del OGM. De sta forma los OGMs son inundados selectivamente a travs de la malla e informan a los nodos receptores sobre la existencia de otros nodos. Un nodo X aprender sobre la existencia de un nodo Y en la distancia al recibir sus OGMs, cuando los OGMs del nodo Y son retransmitidos por su vecino de un salto. Si el nodo X tiene ms de un vecino, puede decir por el nmero de mensajes originadores que recibe ms rpido y confiable por uno de sus vecinos de un salto, cul vecino tiene que elegir para enviar datos al nodo distante. Luego el algoritmo selecciona a ste vecino como el actual mejor prximo salto hacia el originador del mensaje, y configura su tabla de ruteo respectivamente.

Algunas caractersticas
*Soporte de mltiples interfaces: puede ser utlizado en ms de una tarjeta inalmbrica o ethernet. *Soporte de interfaces alias: lo que permite correr en paralelo otros protocolos. *Interfz IPC (Inter-Process Communication): sirve para conectarse al demonio batmand. Es de tipo Socket Unix. Permite realizar consultas sobre: + Informacin de debug + Que nodos vecinos posee + Que nodos GW ve + y ms Tambin permite realizar modificaciones sobre: +configuracion del gateway en tiempo de ejecucin +mensajes HNA +interfaces *Policy Routing: Con la versin 0.3 B.A.T.M.A.N. se convirti soportador de "policy routing" (poltica de ruteo) y, por tanto, puede usar las funciones especiales de ruteo proporcionada por el kernel Linux. Linux proporciona muchas ms tablas de ruteo que slo el que se puede ver el comando "rute". B.A.T.M.A.N. hace uso de la funcionalidad para difundir sus entradas de ruteo sobre 4 tablas de ruteo. La tabla "redes" contiene entradas para el ruteo de las redes anunciadas (HNA). La tabla "hosts" contiene las entradas a todos los nodos alcanzables. La tabla "unreachable" contiene entradas de los nodos no alcanzables en la red. La tabla "tunnel" contiene la ruta por defecto si el nodo utiliza la opcin routing_class y un gateway est disponible. *Seleccin de GW: B.A.T.M.A.N. ofrece la posibilidad de que un nodo pueda anunciar una conexin a Internet. Se le puede indicar cuanto ancho de banda est disponible, la velocidad de bajada y subida. Tambin permite a un nodo que busque anuncios de gateway y se conecten de acuerdo a la clase de ruteo especificada en la configuracin inicial. Actualmente podemos elegir conectarnos de acuerdo a stos criterios: +fast internet connection: considera la calidad del enlace y la clase del GW y mantiene la conexin hasta ms no poder.

+stable internet connection: elige la conexin ms estable hacia el GW y mantiene la conexin hasta ms no poder. +fast-switching: elige la conexin ms estable hacia el GW, pero cambia de GW apenas encuentra uno mejor. +late-switching: elige la conexin ms estable hacia el GW, pero cambia de GW cuando encuentra uno con X veces mejor calidad de transmisin. El cliente de Internet de B.A.T.M.A.N. puede detectar gateways con enlace roto (blackholes) para evitarlos. Todas las opciones relacionadas con internet se pueden cambiar durante el tiempo de ejecucin. Desactivar el propio gateway, cambiar el gateway preferido o la clase de ruteo es posible hacerlo sin reiniciar el demonio. *Servidor de visualizacin: Dado que el protocolo no calcula ninguna base de datos de la topologa, se creo sta solucin para crear grficos de topologa. El demonio de B.A.T.M.A.N. puede enviar su vista local, sobre sus vecinos de un salto, al servidor de visualizacin. El cul colecta la informacin y provee datos en un formato dot. Por lo que se pueden utilizar herramientas existentes que puedan manejar sos tipos de datos y as poder visualizar un grfico de la red. Puede manejar mltiples interfaces, HNA y es lo suficientemente pequeo como para funcionar en dispositivos empotrados.

Algunas diferencias entre B.A.T.M.A.N. y OLSR-NG


RFC3626 -------> 2003 OLSR.org ------> 2004 B.A.T.M.A.N. -------> 2006 OLSR-NG (OLSR-Next Generation) -------> 2007 B.A.T.M.A.N. desde su concepcin est pensado para redes comunitarias, sus desarrolladores estn involucrados en proyectos de ste tipo y el cdigo fuente de B.A.T.M.A.N. es liberado bajo la licencia GPL. La importancia de contar con una licencia GPL y la conviccin de los integrantes es determinante en stos tipos de proyectos, donde la colaboracin en la fase de prueba de los protocolos y los frutos obtenidos no se ver afectada cuando se alcance un estado de madurez suficiente para pasar a ser considerado estable. Un caso que denota sta importancia es el del proyecto RoofNet. El mismo era llevado a cabo por miembros del M.I.T. y con colaboracin de muchas personas en diferentes continentes. Despus de probar y corregir la versin 1 del protocolo, creado e implementado para el proyecto, comenzaron a trabajar en la versin 2 del mismo, pero al poco tiempo no liberaron ms el codigo y formarn una empresa llamada Meraki. Si bin no es ilegal lo que hicieron, ya que la licencia lo permita, sta desicin tomada se contradice con lo que el Software Libre promueve y lo que los mismo integrantes del proyecto decian (y dicen actualment ;)). Adems, desiciones posteriores como el no liberar correctamente el cdigo fuente GPL, triplicar los precios de sus productos una vez terminada la etapa beta y el cambio de EULA de sus productos por el cul se prohibe el uso de firmware de terceros en sus routers, demuestra que no siempre se puede confiar con lo que aparentan stos grupos. Por lo que contar con herramientas liberadas bajo una licencia como la GPL, puede ayudar en casos como el anterior descripto. OLSR es un protocolo de ruteo muy utilizado para la creacin de redes mesh. Al igual que B.A.T.M.A.N., ambos son proactivos y utlizan tablas para las desiciones de ruteo. La diferencia fundamental entre ambos es que B.A.T.M.A.N. no calcula las rutas completas entre un nodo origen y un nodo destino, sino que selecciona un nodo de un salto de distancia al cul utilizar como gw hacia el nodo destino. En OLSR-NG el calcular en forma constante cada ruta posible, entre el nodo origen y el nodo destino, trae aparejado un gran uso de CPU y memoria, y en consecuencia problemas de escalabilidad al aumentar la cantidad de nodos en la red. Al mantener las tablas con las rutas completas entre los nodos, hace que ante la mnima falla en la sincronizacin entre los nodos ocurran los loops. Y stos suceden en mayor cantidad, a medida que la red aumenta en su nmero de nodos participantes.

B.A.T.M.A.N. OLSR-NG Interfaces alias Plug-ings Licencia Nocin de la topologa de la red SI NO GPL Por medio de un servidor NO SI Tipo BSD En cada nodo SI NO Posibilidad de correrlo paralelamente Ms flexibilidad. Sobrecarga del trfico del protocolo. Ms apto para proyectos comunitarios Necesidad de un servidor, topologa ms realista Ms consumo de recursos, trfico innecesario Ms confiable, mejor performance

Clculo completo de rutas NO Libre de loops SI

Comparacin entre B.A.T.M.A.N. 0.3-alpha y OLSR-NG 0.5.5 http://wirelessafrica.meraka.org.za/wiki/images/9/98/Batman_ifip.pdf

Caractersticas del firmware Nightwing


*0-config: slo necesitas encender el dispositivo y ste se configurar de forma automtica. Asumir su rol y se conectar con otros dispositivos que encuentre. Si posee acceso a Internet para compartir ser un nodo gateway, sino ser un nodo cliente. *Interfaz para Conexin Pblica: ste tipo de conexin no se encripta, est pensada para usuario no conocidos. Esta conexin est administrada por el portal cautivo NoDogSplash, el cual se encarga de la seguridad y la administracin del acceso a Internet. Los usuarios de la red pblica quedan aislados entre s y del resto de la malla, slo acceden a internet. *Interfaz para Conexin Privada: ste tipo de conexin es encriptada (WPA2), por lo que para usarla debemos saber cual es la clave de acceso. Est pensada para usuarios conocidos, y no est administrada por un portal cautivo. *OpenDNS: el servicio de DNS est basado en el servicio gratuito que la empresa provee. Esta eleccin agrega la posibilidad de delegar en ste la configuracin de otros aspectos como el filtrado del contenido de paginas webs, el bloqueo de determinados sitios web, la proteccin contra phishing y mucho ms. (Por el momento presta slo las funciones de DNS, queda en el TO-DO incorporar un mecanismo que permita la administracin de reglas provistas por los servicios de OpenDNS). *Pensado para la Seguridad: El desarrollo de Nightwing tiene muy en cuenta la seguridad desde el principio de su desarrollo. Los nodos nightwing proveen seguridad a la red interna y los clientes que se conecten a los nodos de forma que quin decida ser gateway este seguro que su red interna no ser comprometida. As tambin, quienes decidan conectarse a los nodos clientes va LAN, podrn tener la seguridad de que los equipos que se conecten va wireless no accedern a los equipos conectados. Para evitar que se tengan problemas de seguridad desde un equipo que se conecta va wireless a otro en las mismas condiciones, se han previsto mecanismos que evitan que puedan ser vistos entre ellos. De esta forma, si no lo ve, no lo puede atacar. *Pocos requerimientos de hardware: Nightwing adems de requerir un chip wireless Atheros ( board type AP51 ), slo necesita como mnimo 4MB de memoria Flash y 16 MB de memoria RAM. Es por ello que la cantidad de dispositivos que se pueden utilizar es mayor.

A futuro:
*Portal cautivo del tipo SplashOnly o con autenticacin. En ambos casos utilizando Wifidog. *Administracin centralizada de la red mesh por medio de un dashboard *Actualizacin automatizada de cada uno de los nodos que componen la red. Esto servira para realizar por ejemplo una actualizacin de seguridad.

Ejemplos de usos de la red Mesh nuestra


*Una red metropolitana Facilidad en extender la red *Iluminar un espacio con obtaculos Resitente a cambios y despliegue rpido *Una red metropolitana hbrida (el mejor ejemplo) Hotspot Dispositivos mviles

Enlaces de interes
http://www.lugro.org.ar/lugro-mesh http://www.lugro.org.ar/nigthwing http://www.open-mesh.net https://www.open-mesh.net/batman http://openwrt.org/

Esta obra est licenciada bajo una Licencia Creative Commons Atribucin 2.5 Argentina. Usted es libre de: * copiar, distribuir, exhibir, y ejecutar la obra * hacer obras derivadas Bajo las siguientes condiciones: *Atribucin. Usted debe atribuir la obra en la forma especificada por el autor o el licenciante. http://creativecommons.org/licenses/by/2.5/ar/

S-ar putea să vă placă și