martes, 5 de octubre de 2010

Construyendo Redes Libres

Comentaba en un post anterior sobre los proyectos de redes libres. Proyectos que permiten disminuir la brecha digital al presentar una alternativa de conectividad, servicios añadidos y conocimientos.

Es así que me gustaría en ésta ocasión comentarles sobre un proyecto particular que se desarrolla en Argentina, más precisamente en Rosario, Provincia de Santa Fé; el proyecto se llama LUGRo-Mesh.

Ésta iniciativa cuanta en la actualidad con 27 nodos y aproximadamente 2.300 usuarios. Cubriendo zonas céntricas, sur y noroeste de la ciudad de Rosario. Entre los objetivos de la iniciativa está el crear un sistema que brinde acceso a la información, a los habitantes de Rosario y alrededores, que sea redundante y desarrollado íntegramente en Software Libre, y que sirva para acceder a Internet desde cualquier punto de la ciudad y alrededores sin solicitar pago por ello.

Como se menciono antes, el esquema puede ser replicado en otras ciudades y en otra escala (ya sea mayor o menor).

Historia
El Linux User Group de Rosario (LUGRo) inicia el tendido de una red inalambrica en el año 2003, denominándose LUGRo-Wireless, dando el primer paso a lo que se ha desarrollado. La experiencia ganada en esos años ha permitido comprobar cuales son las mejores soluciones disponibles tecnológicamente a las necesidades de conectividad de una ciudad, que años después experimentó una explosión edilicia.

El primer esquema de la red inalámbrica basada en implementaciones de Wi-Fi fueron diagramadas en forma estática con un modo de operación llamado Infraestructura y es centralizada en los llamados Puntos de Acceso (PA). Éste esquema deja a la red muy dependiente de los PA, siendo éstos el talón de Aquiles de toda la red. Éste esquema es el que se encuentra generalmente en la mayoría de las implementaciones. A partir del año 2007 se dio paso a la aplicación de nuevos algoritmos de comunicación inalámbricos de Redes Malladas (Mesh) y con el cambio en las tecnologías devino el cambio de nombre del proyecto, pasando a ser LUGRo-Mesh.

Considerando la meta de LUGRo-Mesh; la creación de una Red Libre, Abierta y Comunitaria para la ciudad de Rosario y alrededores; y dada la experiencia previa en tecnología inalámbrica 802.11 (Wi-Fi) con el proyecto LUGRo-Wireless desde el año 2003, el grupo concluyo que se requería el uso de equipamiento de bajo coste, que la red sea redundante, y que se pudieran utilizar las conexiones a Internet de ancha banda pre-existentes, para poder evitar tener un sólo punto de conexión, el cuál es extremadamente costozo para las condiciones de operación de ésta red.

Habiendo estudiado las alternativas posibles se eligió la tecnología Mesh y B.A.T.M.A.N. como el protocolo de ruteo. Y para utilizar ésta tecnología han desarrollo un firmware (software para los dispositivos) llamado Nightwing, el cuál es utilizado por el grupo en la Red LUGRo-Mesh como así también por proyectos en desarrollo en Colombia o en Europa Oriental.

Lo que motiva el desarrollo es principalmente el estudio e investigación de la tecnología Mesh y su uso en Redes Inalámbricas; como así también el esarrollo de sistemas empotrados para la creación de Redes Mesh Inalámbricas y herramientas de gestión para la administración de las redes creadas.

Los problemas comunes que se encuentran en las redes Wi-Fi basadas en infraestructura y despliegues de Puntos de Acceso son, por ejemplo, la caída de los enlaces entre los nodos, con la consecuente necesidad de reordenar las tablas de ruteo y la incomunicación que esto genera. A esto se suma que al ser enlaces fijos el reubicar físicamente los nodos o aplicar movilidad causa una caída de la red hasta que manualmente se realicen las reconfiguraciones pertienentes en el software y en los dispositivos.

Aquí es en donde entran a jugar un papel muy importante las Redes Mesh Inalámbricas (WMN). Estas no centralizan su funcionamiento en un sólo punto, sino que lo dividen entre todos los nodos que forman parte de la red. Además permiten la movilidad de los nodos, son auto-reparables y su configuración puede automatizarce fácilmente.

Existen diferentes implementaciones para crear WMN, tanto con Software Privativo como con Software Libre. El equipo de desarrollo de LUGRo-Mesh analizaron implementaciones privativas encontrando MotoMesh de la empresa Motorola y CiscoMesh de la empresa Cisco inc. Además de utilizar Software Privativo, lo que entorpece la capacidad de compartir y trabajar en comunidades de desarrollo, el costo de esos dispositivos son prohibitivos en el contexto en el que se desarrolla ésta red en particular.

Es por ello que se vuelve prioritario el dar una solución que cuente con todos sus componentes hechos con Software Libre, que no obstaculice el aspecto comunitario de la red y que posibilite ser extendida por cualquiera.

La experiencia y los desarrollos realizados por LUGRo-Mesh pueden ser utilizados y replicados ya que se encunentran cubiertos por la licencia GPL (General Public Lisence). Permitiendo proveer y distribuir fácilmente uno o más accesos a Internet dentro, principalmente, de Redes Comunitarias o Redes Inalámbricas Municipales (Muni-WiFi).

Al desplegar la red Mesh, el grupo ha tenido especial interes en:

• Crear un sistema que brinde acceso a la información, a los habitantes de Rosario y alrededores, que sea redundante y desarrollado íntegramente en Software Libre.
• Que la Red LUGRo-Mesh sirva para acceder a Internet desde cualquier punto de la ciudad y alrededores sin solicitar pago por ello.
• Que por medio de esa plataforma la mayor cantidad de personas puedan acceder a la información, la cual se encuentra concentrada en Internet.
• Posibilitar la creación y difusión de contenidos propios, tanto dentro de la red misma como en Internet.
• Difusión y promoción de la Red LUGRo-Mesh, sus componentes y actividades relacionadas.
• Cooperación y trabajo en conjunto con otros grupos, que compartan nuestros objetivos y filosofía, para ampliar la Red LUGRo-Mesh o también para la creación de otras redes.
• Creación de documentación e informes, propios del grupo, sobre la Red.
• Aplicar los conocimientos adquiridos, en los demás proyectos del grupo LUGRo-Mesh, para la creación, mantenimiento, ampliación y difusión de la Red.

Para dimencionar el alcance de ésta red, podemos ver el siguiente mapa donde se aprecia los nodos que cuentan con acceso a internet propio (los que tienen el globo azul encima), los nodos que son clientes de estos (los que no tienen el globo azul) y los enlaces entre los nodos, los cuales son dinámicos. Es importante destacar que los usuarios pueden acceder a cualquiera de los nodos para tener acceso a internet.


Nightwing

Nightwing es el firmware desarrollado por LUGRo-Mesh, que permite la creación de Redes Inalámbricas de despliegue rápido y sin necesidad de tener que realizar complicadas configuraciones. Permite la extensión de la red a partir de una implementación de tecnología Mesh denominada B.A.T.M.A.N. Nightwing permite que se extienda la Red Inalámbrica con la simplicidad de agregar equipos casi sin la intervención humana.

Comenzó a ser desarrollado en el año 2008, realizando varios lanzamientos a medida que las características planeadas eran implementadas y utiliza una distribución de GNU/Linux, para sistemas embebidos, llamada OpenWrt. Esta distribución provee una base de código estable para Nightwing, además de proveer un amplio abanico de posibilidades de software a utilizar. La licencia utilizada, desde la primera versión, es la GNU GPL v3.0.

Características más sobresalientes de Nightwing

Zero-conf
Todas las interfaces, tanto inalámbricas como alámbricas, son configuradas automáticamente basándose en la dirección MAC que cada dispositivo tiene. De ésta manera, todos los dispositivos Nightwing que se encuentren en un mismo canal y con el mismo essid, establecerán automáticamente una Red Mesh y se auto asignarán los roles que les correspondan. Este rol puede ser el denominado modo "Gateway", que será aquél que posea su propia conexión a Internet, o modo "Cliente", que será quien contacta a un Gateway y amplia la cobertura del mismo.

VAP (Virtual AP)
Además de participar en la mesh, cada nodo provee cobertura en su área de influencia en modo AP (Access Point). Comportándose como un Host-Spot normal y permitiendo a usuarios móviles o fijos acceder a Internet por medio de un AP abierto, sin encriptación. En éste caso, es posible conectarse rápidamente desde cualquier Sistema Operativo, y se accede a Internet previo paso por un Portal
Cautivo (Captive Portal) que controla la duración de la sesion y el ancho de banda asignado a cada conexión abierta. También proveen servicio a través de un segundo VAP, encriptado con clave WPA2 y que permite utilizar un nodo en un ambiente privado, extendiendo también el acceso a la red local donde el mismo se encuentre conectado.

Seguridad
Todo nodo puede ser conectado a una red local (LAN) privada sin comprometer la seguridad de la misma, es decir que los usuarios externos conectados al AP abierto quedan aislados completamente del tráfico local y viceversa, y entre ellos mismos. En el modo cliente, es decir un nodo que no tiene conexión a Internet propia, funciona en su red local como servidor de DHCP y default gw.
Configurando automáticamente los equipos de su red local para que accedan a Internet, de la misma manera que un modem de ADSL lo haría.

Funcionamiento inteligente
Cuando un nodo fuera conectado a una red local y no encontrara acceso a Internet en forma local o a otro nodo a quien enlazarse, no interferirá con la configuración previa existente en dicha LAN.

Los invito a obtener más información del proyecto visitando el sitio oficial y a sumarse mediante la implementación de éste brillante proyecto.

Debo agradecer a Sebastián D. Criado, de LUGRo-Mesh, por haberme facilitado gran parte de la información del proyecto y su valioso tiempo.

No hay comentarios: