Diferencia entre revisiones de «Proyectos:Archivo/Red Mesh 2015»

De Hacklab La Paz - r00thouse
Sin resumen de edición
m (Looper trasladó la página Red Mesh a Proyectos:Archivo/Red Mesh 2015)
 
(No se muestran 36 ediciones intermedias de 5 usuarios)
Línea 1: Línea 1:
'''Estado del proyecto''': En desarrollo
'''''Atención''': Esta página '''está en proceso de migración'''. Puede revisar la '''nueva página''': [[LaOtraRed|La Otra Red]]''
= Documentacion Generica =
= Documentacion Generica =


== Objetivos<br/> ==
== Objetivos<br/> ==


*Descentralizar las redes
*Crear una red de tipo descentralizado
*Tener el control sobre nuestras comunicaciones
*Tener el control sobre nuestras comunicaciones
*Ofrecer / Mantener servicios y libre (además de gratis) acceso a estos atravéz de wi-fi
*Ofrecer / Mantener servicios de libre (además de gratis) acceso a estos a través de Wi-Fi
 
Idea


[[File:Index.5.JPG|thumb|none|300x300px]]
= Infraestructura de red =


Hay que implementar una infraestructura de red que funcione bajo una banda de frecuencias libres. (probablemente [http://www.lexivox.org/norms/BO-RBM-N294.xhtml 2.4Ghz]), mas información de [https://es.wikipedia.org/wiki/Bandas_de_frecuencia bandas de frecuencia]
[[Red Mesh - Idea básica]]


= 1. Software y protocolos<br/> =
[[Archivo:R00thouse-mesh1.png]]


# Inicialmente se necesita probar routers que soporten el sistema operativo [https://en.wikipedia.org/wiki/OpenWrt OpenWRT], en La Paz podemos encontrar esta lista de [[Lista de routers TP-Link disponibles en la Uyustus | routers]]
La infraestructura de la red que estamos proponiendo se basa en '''algo muy cercano a una red distribuida''', los nodos son routers y se encargan de conectar a varios clientes a través de wifi en modo AP.
#Luego probar la comunicación entre dos puntos lo que indicara que el protocolo funciona.


=== Protocolos<br/> ===
Estos routers se interconectan en modo [https://es.wikipedia.org/wiki/Red_ad_hoc_inal%C3%A1mbrica ad-hoc] usando protocolos de enrutamiento como [https://es.wikipedia.org/wiki/B.A.T.M.A.N. B.A.T.M.A.N.]. Estos protocolos aseguran la adaptación automática de la tabla de enrutamiento de cada router a medida que se adhieren otros nodos (routers) a la red, y así tomarlos en cuenta como parte de la red.


*B.A.T.M.A.N
Con esto se consigue que ''no exista un nodo central'', así si uno o varios nodos dejan de funcionar la conectividad en la red no se perderá mientras exista una ruta disponible entre nodos que requieren comunicación. Así se forma una red mallada o red mesh que no depende de puntos centrales.
**[http://en.wikipedia.org/wiki/B.A.T.M.A.N. http://en.wikipedia.org/wiki/B.A.T.M.A.N.]
**[http://www.open-mesh.org/projects/open-mesh/wiki http://www.open-mesh.org/projects/open-mesh/wiki]
*OLSRP [http://en.wikipedia.org/wiki/Optimized_Link_State_Routing_Protocol http://en.wikipedia.org/wiki/Optimized_Link_State_Routing_Protocol]
*Ro.b.i.n [[Robin.forumup.it/|robin.forumup.it/]]


=== Sistemas operativos / Firmwares<br/> ===
[[Red Mesh - Interconexiones]]


*OpenWRT [http://en.wikipedia.org/wiki/OpenWrt http://en.wikipedia.org/wiki/OpenWrt]
== Nodos fuertes ==
*&nbsp;Nightwing [http://nightwing.lugro-mesh.org.ar/ http://nightwing.lugro-mesh.org.ar/]
*Otros firmwares [http://en.wikipedia.org/wiki/List_of_wireless_router_firmware_projects http://en.wikipedia.org/wiki/List_of_wireless_router_firmware_projects]


= 2. Antena<br/> =
Dentro de la red pueden existir nodos muy concurridos, para los cuales puede opcionalmente no usarse un protocolo de enrutamiento dinámico para redes mesh, ya que los protocolos de enrutamiento dinámicos introducen tráfico extra en la red informando a los otros nodos de su presencia y si existen muchos nodos el tráfico para este cometido causa congestión en la red. La congestión depende de la implementación propia del protocolo.


Hay que escoger las antenas aducuadas para trabajar en la frecuencia libre de 2.4 Ghz (frecuencia de uso libre).
Una idea es usar ''enrutamiento estático'' entre estos nodos fuertes (''backbones''). Actualmente nuestra red aún no ha implementado esto, pero puede surgir la necesidad de hacerlo en el futuro para cuyo caso hemos de publicar la tabla de enrutamiento de cada nodo fuerte para mantener así
la transparencia de la red.


Hay que formar un equipo que se encargue de esto y averiguar si conviene comprar o fabricar las antenas.
== Modo ad-hoc ==


= 3. Servicios<br/> =
La mayor parte de la conexión entre los nodos de la red está pensada para funcionar en modo ad-hoc para garantizar la descentralización al máximo. La siguiente configuración muestra los parámetros básicos para estar dentro este enlace ad-hoc y crear una zona Wi-Fi para aparatos clientes (smartphones, laptops).


Una vez que se logre la comunicacion entre nodos se puede montar servicios.
* Canal: '''7'''
* Red adhoc (con ssid r00thouse-mesh para la comunicación entre nodos)
** ssid: '''r00thouse-mesh'''
** bssid: '''CA:FE:BA:BE:06:DF'''
* Red wifi mesh '''publica '''(los que se conecten a esa red tendrán una ip publica en la red mesh).
** ssid: '''r00thouse-{nro_nodo}'''


= 4. Otros<br/> =


== La banda ISM<br/> ==
''' ''Configuración completa ->'' ''' [[r00thouse-mesh]]


El uso para radio aficionados está autorizado por la ATT ([http://www.att.gob.bo/images/files/PNF%2008_11_12.pdf ver documento, pág 108 - bol20]) [https://en.wikipedia.org/wiki/ISM_band ver más], existe variedad de dispositivos que funcionan en esta banda de frecuencias, aunque puede que se halle algo saturada y se presenten [https://en.wikipedia.org/wiki/Electromagnetic_interference_at_2.4_GHz Interferencias electromagnéticas]
== Asignación de direcciones IP ==


== Sobre los Nodos<br/> ==
(completar)


Inicialmente
= Software y protocolos =


'''roothouse''' ---> '''UMSA'''
Inicialmente se necesita probar routers que soporten el firmware [https://en.wikipedia.org/wiki/OpenWrt OpenWRT], en La Paz podemos encontrar esta lista de [[Lista de routers TP-Link disponibles en la Uyustus | routers]]
Luego probar el protocolo de comunicación de la siguiente lista:
*[http://en.wikipedia.org/wiki/B.A.T.M.A.N. B.A.T.M.A.N.] y [http://www.open-mesh.org/projects/open-mesh/wiki B.A.T.M.A.N.]
*[http://en.wikipedia.org/wiki/Optimized_Link_State_Routing_Protocol OLSR]
*[http://nightwing.lugro-mesh.org.ar/ Nightwing] (firmware)
*[http://robin.forumup.it/ ROBIN]
En este caso usaremos el protocolo '''B.A.T.M.A.N.'''


= Nodos<br/> =


== Lista de Nodos ==


= 5. Casos de exito<br/> =
Se tienen algunos nodos en la carrera de informática de la UMSA enlazados al nodo del r00thouse


Red Inalambrica Comunitaria Libre de Bogota
[http://www.openstreetmap.org/?mlat=-16.50393&mlon=-68.12371#map=18/-16.50393/-68.12371| mapa r00thouse]


[http://bogota-mesh.org/ http://bogota-mesh.org/]
[[Archivo:Nodos-6-8-2015.png]]


Red digital comunitaria de la Ciudad de Buenos Aires y Alrededores.
= Tabla de precios =


[http://buenosaireslibre.net/ http://buenosaireslibre.net/]
== Nodo Fuerte ==


== Ejemplo de otras redes mesh<br/> ==
Un nodo fuerte es un punto que, aunque podría permitir la conexión de varios dispositivos, este debe tener enlaces muy estables y poder trabajar con una gran carga de tráfico. Es necesario equipamiento especial.


*Guifi (españa) + Servicios [https://guifi.net/en/node/3671/view/services https://guifi.net/en/node/3671/view/services]
=== Routers ===
*Ninux [http://wiki.ninux.org/FrontPage http://wiki.ninux.org/FrontPage]
*[http://en.wikipedia.org/wiki/List_of_wireless_community_networks_by_region http://en.wikipedia.org/wiki/List_of_wireless_community_networks_by_region]
*[https://wiki.projectmeshnet.org/List_of_Mesh_Locals https://wiki.projectmeshnet.org/List_of_Mesh_Locals]
*Prueban protocolos periodicamente [http://battlemesh.org/ http://battlemesh.org/]
*Firmware basado en OpenWrt [http://www.libre-mesh.net/ http://www.libre-mesh.net/]


= Configuraciones realizadas =
{| class="wikitable"
|-
! Modelo de router !! Precio aproximado
|-
| ''agregar router1'' || -
|-
| ''agregar router2'' || -
|-
| ''-'' || -
|}


=== TP-LINK TL-WR941ND (v5)<br/> ===
=== Accesorios ===


Fecha: 13/12/2014
Un estimado de los accesorios que se necesitan para el armado de un nodo fuerte


*Sistema Operativo: ''Openwrt 12.09''
{| class="wikitable"
|-
! Articulo/objeto !! precio unitario/metro BS
|-
| ''cable utp'' (5e) || 3.5
|-
| ''cable utp'' (5e exteriores) || 4.5
|-
| ''conectores RJ-45'' || 1.5
|-
| ''conectores RJ-45 reforzados'' || 3.5
|-
| ''Cable coaxial 1 mt'' || 0.5
|-
| ''-'' || -
|}


=== Antenas ===


=== TP-LINK TL-WR941ND (v5.1)<br/> ===
De no ser posible el enlace con cable y si existe '''linea de vista''' con otro nodo de la red se pueden usar antenas para hacer el enlace:


{| class="wikitable"
|-
! Tipo de antena !! alcance estimado (m) !! costo aproximado (BS)
|-
| ''Sectorial 120 grad'' || - || -
|-
| ''Direccional'' || - || -
|-
| ''Sectorial 180 grad'' || - || -
|-
| ''-'' || - || -
|}


=== Grabar el firmware de openwrt ===
== Nodo medio ==


Hemos utilizado el post #44 del siguiente link para grabar el firmware.
Un nodo medio es adecuado para conectar hasta 40 clientes. Debe soportar una carga media de tráfico.
https://forum.openwrt.org/viewtopic.php?pid=220561


Para evitarse el proceso de modificar el binario y recompilarlo hemos subido el binario para descargarse:
=== Routers ===


Proximamente ;)
Se pueden usar ''routers en desuso''. Las únicas condiciones son que funcionen y soporten un sistema operativo libre como OpenWRT o LibreCMC.


Luego de tener el binario se debe hacer una '''actualización de firmware''' al router para poder instalar openwrt.
http://wiki.openwrt.org/toh/start --> lista de routers soportados por OpenWRT
La actualización puede hacerse desde la interfaz web de administración del dispositivo.


=== ASUS WL-500GP (v2)<br/> ===
{| class="wikitable"
|-
! Modelo !! costo aproximado (BS)  
|-
| ''WR741ND'' || 220
|-
| ''WR841ND'' || 240
|-
| ''WR941ND '' || 290
|-
| ''MR3220 '' || 250
|-
| ''MR3420 '' || 290
|-
| ''WDR3500 '' || 420
|-
| ''-'' || -
|-
| ''-'' || -
|}


http://wiki.openwrt.org/toh/asus/wl500gp http://wiki.openwrt.org/toh/asus/wl500gp
=== Accesorios ===


Fecha: 13/12/2014
{| class="wikitable"
|-
! Articulo/objeto !! precio unitario/metro BS
|-
| ''cable utp'' (categoria?) || 3.5
|-
| ''cable utp'' (categoria?) || -
|-
| ''conectores RJ-45'' || 1.5
|}


*Sistema Operativo: ''Openwrt 10.03''
== Nodo pequeño ==


Una vez instalado el sistema operativo hemos seguido esta guía de instalación:
Un nodo chico es un enlace que soportaría hasta un estimado de 20 clientes. Se pueden usar routers de medianas prestaciones que soporten OpenWRT ( http://wiki.openwrt.org/toh/start )
Algunos ejemplos:
{| class="wikitable"
|-
! Modelo !! costo aproximado (BS)
|-
| ''TP-LINK TL-MR3020'' || 195
|-
| ''TP-LINK TL-WR703N'' || Prod. descontinuado
|}


[http://wiki.reseaulibre.ca/guides/openwrt+batman/#index6h1 http://wiki.reseaulibre.ca/guides/openwrt+batman/#index6h1]
= Construccion de Antenas<br/> =


== Recuperando con failsafe (caso TL WR941ND) ==
Trabajamos con antenas que soporten la frecuencia 2.4Ghz y 5Ghz. Puedes ayudar a construir antenas o construirlas tú mismo, para así usarlas para tener conexion con la red.  
En caso que no haya forma de conectarse remotamente por ninguna red a OpenWrt (tal vez el router se quedó sin dirección IP), este firmware cuenta con un modo failsafe que sirve para cuando ocurren estas cosas.


El caso en el que se recuperó fue el siguiente: despúes de hacer algunas configuraciones y reiniciar los servicios de openwrt ya no existía ninguna red inalámbrica y no era posible ver el router por ninguna red cableada (no ping, ni desde dhcp ni con ip estática).
https://notodoeswindows.files.wordpress.com/2009/11/antenas-caseras.pdf -- > Tutorial


OpenWrt cuenta con modo failsafe que permite resolver esto: http://wiki.openwrt.org/doc/howto/generic.failsafe
= Servicios =
Los siguientes servicios son los que se tiene funcionando en la red:


Los pasos son los siguientes:
* [https://en.wikipedia.org/wiki/Kiwix Wikipedia Offline]
* Desconectar el router de cualquier red cableada
* Servicio de chat (xmpp)
* Encender el router
* Ftp de archivos (descarga de archivos)
* En el panel frontal del router se ve que el LED de SYS parpadea al iniciar el router (2 veces por segundo)
* Cuando el LED de SYS tenga esa secuencia de parpadeos presionar el boton frontal para activar el modo failsafe
** En el caso del TL WR941ND no hay que presionar el botón frontal, hay que presionar el botón trasero de reset WPS
* Uno se encuentra en modo failsafe cuando el LED de SYS comienza a parpadear muy rápido
* En teoría ninguna red tenía dirección IP pero cuando está en failsafe el router tendrá la IP 192.168.1.1
** El primer intento fue conectar la laptop con los puertos lan (amarillos) del router y no se podía hacer ping
** El segundo intento fue conectar la laptop con el puerto wan (azul) del router y el ping ya se podía realizar. $ ping 192.168.1.1
* Ejectutar: $ telnet 192.168.1.1 que permite ingresar como root directamente sin necesidad de password
* Ya siguiendo con la documentación de openwrt para volver al estado inicial del router
** $ mount_root
** $ firstboot
** $ reboot -f


== Mas informacion<br/> ==
Planeamos brindar a futuro:


#[https://es.wikipedia.org/wiki/Red_en_malla https://es.wikipedia.org/wiki/Red_en_malla]
* Pod de diaspora (red social libre)
#[https://en.wikipedia.org/wiki/Mesh_networking#See_also https://en.wikipedia.org/wiki/Mesh_networking#See_also]
* VoIP (llamadas gratis por wifi)
#[https://es.wikipedia.org/wiki/Red_inal%C3%A1mbrica_mallada https://es.wikipedia.org/wiki/Red_inal%C3%A1mbrica_mallada]
* Servidor de dominios locales (para que cualquiera pueda brindar servicios)
#[https://en.wikipedia.org/wiki/Wireless_mesh_network#Research_topics https://en.wikipedia.org/wiki/Wireless_mesh_network#Research_topics]
* [http://etherpad.org/ etherpad]
#[http://jornadas.cafelug.org.ar/8/es/filminas/tercer%20dia/LUGRo-Mesh:%20Tecnolog%C3%ADa%20Mesh%20aplicada%20a%20redes%20WiFi%20Comunitarias/LUGRo-Mesh%20-%20slides%20charla%208vas%20JRSL.pdf http://jornadas.cafelug.org.ar/8/es/filminas/tercer%20dia/LUGRo-Mesh:%20Tecnolog%C3%ADa%20Mesh%20aplicada%20a%20redes%20WiFi%20Comunitarias/LUGRo-Mesh%20-%20slides%20charla%208vas%20JRSL.pdf]
* [http://www.kamailio.org/w/ kamailio]
#[https://en.wikipedia.org/wiki/ISM_band https://en.wikipedia.org/wiki/ISM_band]
* Otros
#Documental: Free the network [https://www.youtube.com/watch?v=Fx93WJPCCGs https://www.youtube.com/watch?v=Fx93WJPCCGs]


= Primera Version Funcional =
= Configuraciones realizadas =
 
Esta una descripción de las acciones seguidas para configurar un nodo de esta primera versión.
 
== Hardware Utilizado ==
 
'''Router TPLink Modelo TL-WR941Nd'''
 
== Software Utilizado ==
 
* Sistema operativo '''OPENWRT ATTITUDE ADJUSTMENT (12.09, r36088)'''
* Protocolo batman
** kmod-batman-adv - 3.3.8+2012.3.0-3
 
== Configuraciones de software  ==
 
Basado en:
 
* http://www.open-mesh.org/projects/batman-adv/wiki/Quick-start-guide
* http://www.open-mesh.org/projects/batman-adv/wiki/Batman-adv-openwrt-config
 
=== /etc/config/network ===
 
<source lang="bash">
config interface 'loopback'
option ifname 'lo'
option proto 'static'
option ipaddr '127.0.0.1'
option netmask '255.0.0.0'
 
config interface 'lan'
option type 'bridge'
option proto 'static'
option ipaddr '192.168.3.1' # ip del nodo (asignacion manual)
option netmask '255.255.255.0'
option _orig_ifname 'bat0 eth0'
option _orig_bridge 'true'
option ifname 'bat0 eth1'
 
config interface 'wan'
option ifname 'eth0'
option proto 'dhcp'
 
config switch
option name 'switch0'
option reset '1'
option enable_vlan '1'
 
config switch_vlan
option device 'switch0'
option vlan '1'
option ports '0 1 2 3 4'
 
config interface 'mesh'
option _orig_ifname 'adhoc0'
option _orig_bridge 'false'
option proto 'static'
option ipaddr '192.168.100.1'
option netmask '255.255.255.0'
 
</source>
 
Basicamente hay que configurar la interfaz '''lan''' con una ip estática (de otra manera no se autoasigna ip) y agregar las líneas
 
option _orig_ifname 'bat0 eth0'
option _orig_bridge 'true'
option ifname 'bat0 eth1'
 
Luego agregar la interfaz '''mesh''' como se ve arriba.
 
=== /etc/config/wireless ===
<source lang="bash">
config wifi-device 'radio0'
option type 'mac80211'
option channel '11'
option macaddr 'e8:94:f6:04:e6:e2'
option hwmode '11ng'
option htmode 'HT20'
list ht_capab 'LDPC'
list ht_capab 'SHORT-GI-20'
list ht_capab 'SHORT-GI-40'
list ht_capab 'TX-STBC'
list ht_capab 'RX-STBC1'
list ht_capab 'DSSS_CCK-40'
option disabled '0'
option txpower '27'
option country 'US'
 
config wifi-iface 'wmesh'
option device 'radio0'
option ifname 'adhoc0'
option network 'mesh'
option mode 'adhoc'
option ssid 'mesh'
option bssid 'E8:DE:27:3A:C6:DF' # MAC arbitraria (debe ser comun para los nodos dentro de la mesh)
option encryption 'none'
</source>
 
Agregar la interfaz wifi-iface '''wmesh''' como se ve arriba
 
=== /etc/config/batman-adv ===
 
<source lang="bash">
config 'mesh' 'bat0'
        option 'interfaces' 'mesh'
        option 'aggregated_ogms'
        option 'ap_isolation'
        option 'bonding'
        option 'fragmentation'
        option 'gw_bandwidth'
        option 'gw_mode'
        option 'gw_sel_class'
        option 'log_level'
        option 'orig_interval'
        option 'vis_mode'
        option 'bridge_loop_avoidance'
 
</source>
=== /etc/config/dhcp ===
 
''Nota.-'' Revisar si la siguiente configuracion es necesaria.
<source lang="bash">
config dhcp
option start '100'
option leasetime '12h'
option limit '150'
option interface 'mesh'
</source>
 
Al reiniciar las conexiones de red, debería existir una red '''mesh''' accesible desde wifi y si los nodos se apagan la conexión entre clientes debe persistir.
 
== Antenas para mejorar intercambio de datos ==
 
== Infraestructura de red ==
 
= Version 2 (Wara-mesh) =
 
== Hardware ==
 
'''Router TPLink Modelo TL-WR941Nd'''
 
== Software ==
 
Crear 3 redes wifi.
* 1 red adhhoc (con ssid wara-mesh para la comnicaion entre nodos)
* 1 red local wifi '''publica '''(los que se conecten a esa red tendran ip publica en la red mesh)
* 1 red wifi '''privada ''' (los que se conecten a esta red pueden ver el contenido de la mesh pero sus ip no son publicas en la red mesh)
 
Hemos configurado esta red completamente desde archivos de configuracion, continuacion su descripccion.
 
=== /etc/config/wireless ===
 
Agregar las siguientes lineas al archivo


<source lang='bash'>
* [[wara-mesh]] (''sin soporte'')
                                 
* [[r00thouse-mesh]] ('''ACTUAL''')
# interfaz wireless publica       
config wifi-iface                 
        option device 'radio0'   
        option encryption 'none' 
        option network 'lan'      
        option mode 'ap'          
        option ssid 'nodo2-wifi' 
# mas configuraciones         
config wifi-iface             
        option device 'radio0' 
        option ifname 'mesh0' 
        option encryption 'none'
        option network 'mesh'  
        option mode 'adhoc'    
        option bssid 'CA:FE:BA:BE:06:DF'
        option ssid 'wara-mesh' # nombre de la mesh
</source>


'''NOTA IMPORTANTE '''
= Routers usados =
Guardar el archivo y luego comprobar en la interfaz web que se crea una red wifi con ssid wara-mesh


=== /etc/config/network ===
Lista de routers con sus respectivas configuraciones:
* [[TP-LINK TL-WR941ND v5.1]]
* [[TP-LINK TL-WR941ND v5]]
* [[ASUS WL-500GP v2]]


<source lang='bash'>
= Tareas útiles en OpenWRT =
                                                     
* [[Resetear OpenWRT en modo failsafe]]
# se modifica agrega lo siguiente                     
* [[Actualizar a OpenWRT Chaos Calmer por línea de comandos (caso TPLink WR841ND)]]
config interface 'lan'                                 
        option ifname 'eth1 bat0' # las que haran bridge
        option type 'bridge'                         
        option proto 'static'                       
        option ipaddr '10.0.0.2' # ip unica del router
        option netmask '255.255.0.0'
                           
# nueva interfaz mesh       
config interface 'mesh'     
        option ifname 'mesh0'
        option proto 'none' 
        option mtu '1528'     


</source>
= Casos de éxito en otros países =


=== /etc/config/batman-adv ===
*[http://bogota-mesh.org/ Red Inalámbrica Comunitaria Libre de Bogota]
*[http://buenosaireslibre.net/ Red digital comunitaria de la Ciudad de Buenos Aires y Alrededores]
*[https://guifi.net/en/node/3671/view/services Guifi (españa) + Servicios]
*[http://wiki.ninux.org/FrontPage Ninux]
*[http://en.wikipedia.org/wiki/List_of_wireless_community_networks_by_region Lista de redes por región]
*[https://wiki.projectmeshnet.org/List_of_Mesh_Locals projectmeshnet]
*[http://battlemesh.org/ Prueban protocolos periódicamente]
*[http://www.libre-mesh.net/ Firmware basado en OpenWrt]


<source lang='bash'>
= Otros =
config 'mesh' 'bat0'
        option 'interfaces' 'mesh0'
        option 'aggregated_ogms'
        option 'ap_isolation'
        option 'bonding'
        option 'fragmentation'
        option 'gw_bandwidth'
        option 'gw_mode'
        option 'gw_sel_class'
        option 'log_level'
        option 'orig_interval'
        option 'vis_mode'
        option 'bridge_loop_avoidance'
</source>


Una vez realizados los cambios reiniciar el router con
== La banda ISM ==


<source lang='bash'>
Desde la aprobación y puesta en regla del Plan Nacional de Frecuencias en noviembre del 2012 por la ATT, siguiendo la recomendación internacional, el uso de las bandas de frecuencia 2.4 GHz y 5 GHz en la actualidad es ya de uso libre para aficionados ([http://www.att.gob.bo/images/files/PNF%2008_11_12.pdf ver documento, pág 108 - bol20]) [https://en.wikipedia.org/wiki/ISM_band ver más].
reboot -f
</source>


Cabe aclarar que existen bandas de frecuencia dentro de la banda ISM que aún no son de uso libre, pero que no utilizaremos en el proyecto.


== Software ==
Una gran variedad de dispositivos funciona ya en la banda de frecuencia 2.4 GHz, aunque puede que se halle algo saturada y se presenten [https://en.wikipedia.org/wiki/Electromagnetic_interference_at_2.4_GHz interferencias electromagnéticas]

Revisión actual - 16:30 21 ene 2024

Estado del proyecto: En desarrollo

Atención: Esta página está en proceso de migración. Puede revisar la nueva página: La Otra Red

Documentacion Generica

Objetivos

  • Crear una red de tipo descentralizado
  • Tener el control sobre nuestras comunicaciones
  • Ofrecer / Mantener servicios de libre (además de gratis) acceso a estos a través de Wi-Fi

Infraestructura de red

Red Mesh - Idea básica

R00thouse-mesh1.png

La infraestructura de la red que estamos proponiendo se basa en algo muy cercano a una red distribuida, los nodos son routers y se encargan de conectar a varios clientes a través de wifi en modo AP.

Estos routers se interconectan en modo ad-hoc usando protocolos de enrutamiento como B.A.T.M.A.N.. Estos protocolos aseguran la adaptación automática de la tabla de enrutamiento de cada router a medida que se adhieren otros nodos (routers) a la red, y así tomarlos en cuenta como parte de la red.

Con esto se consigue que no exista un nodo central, así si uno o varios nodos dejan de funcionar la conectividad en la red no se perderá mientras exista una ruta disponible entre nodos que requieren comunicación. Así se forma una red mallada o red mesh que no depende de puntos centrales.

Red Mesh - Interconexiones

Nodos fuertes

Dentro de la red pueden existir nodos muy concurridos, para los cuales puede opcionalmente no usarse un protocolo de enrutamiento dinámico para redes mesh, ya que los protocolos de enrutamiento dinámicos introducen tráfico extra en la red informando a los otros nodos de su presencia y si existen muchos nodos el tráfico para este cometido causa congestión en la red. La congestión depende de la implementación propia del protocolo.

Una idea es usar enrutamiento estático entre estos nodos fuertes (backbones). Actualmente nuestra red aún no ha implementado esto, pero puede surgir la necesidad de hacerlo en el futuro para cuyo caso hemos de publicar la tabla de enrutamiento de cada nodo fuerte para mantener así la transparencia de la red.

Modo ad-hoc

La mayor parte de la conexión entre los nodos de la red está pensada para funcionar en modo ad-hoc para garantizar la descentralización al máximo. La siguiente configuración muestra los parámetros básicos para estar dentro este enlace ad-hoc y crear una zona Wi-Fi para aparatos clientes (smartphones, laptops).

  • Canal: 7
  • Red adhoc (con ssid r00thouse-mesh para la comunicación entre nodos)
    • ssid: r00thouse-mesh
    • bssid: CA:FE:BA:BE:06:DF
  • Red wifi mesh publica (los que se conecten a esa red tendrán una ip publica en la red mesh).
    • ssid: r00thouse-{nro_nodo}


Configuración completa -> r00thouse-mesh

Asignación de direcciones IP

(completar)

Software y protocolos

Inicialmente se necesita probar routers que soporten el firmware OpenWRT, en La Paz podemos encontrar esta lista de routers Luego probar el protocolo de comunicación de la siguiente lista:

En este caso usaremos el protocolo B.A.T.M.A.N.

Nodos

Lista de Nodos

Se tienen algunos nodos en la carrera de informática de la UMSA enlazados al nodo del r00thouse

mapa r00thouse

Nodos-6-8-2015.png

Tabla de precios

Nodo Fuerte

Un nodo fuerte es un punto que, aunque podría permitir la conexión de varios dispositivos, este debe tener enlaces muy estables y poder trabajar con una gran carga de tráfico. Es necesario equipamiento especial.

Routers

Modelo de router Precio aproximado
agregar router1 -
agregar router2 -
- -

Accesorios

Un estimado de los accesorios que se necesitan para el armado de un nodo fuerte

Articulo/objeto precio unitario/metro BS
cable utp (5e) 3.5
cable utp (5e exteriores) 4.5
conectores RJ-45 1.5
conectores RJ-45 reforzados 3.5
Cable coaxial 1 mt 0.5
- -

Antenas

De no ser posible el enlace con cable y si existe linea de vista con otro nodo de la red se pueden usar antenas para hacer el enlace:

Tipo de antena alcance estimado (m) costo aproximado (BS)
Sectorial 120 grad - -
Direccional - -
Sectorial 180 grad - -
- - -

Nodo medio

Un nodo medio es adecuado para conectar hasta 40 clientes. Debe soportar una carga media de tráfico.

Routers

Se pueden usar routers en desuso. Las únicas condiciones son que funcionen y soporten un sistema operativo libre como OpenWRT o LibreCMC.

http://wiki.openwrt.org/toh/start --> lista de routers soportados por OpenWRT

Modelo costo aproximado (BS)
WR741ND 220
WR841ND 240
WR941ND 290
MR3220 250
MR3420 290
WDR3500 420
- -
- -

Accesorios

Articulo/objeto precio unitario/metro BS
cable utp (categoria?) 3.5
cable utp (categoria?) -
conectores RJ-45 1.5

Nodo pequeño

Un nodo chico es un enlace que soportaría hasta un estimado de 20 clientes. Se pueden usar routers de medianas prestaciones que soporten OpenWRT ( http://wiki.openwrt.org/toh/start ) Algunos ejemplos:

Modelo costo aproximado (BS)
TP-LINK TL-MR3020 195
TP-LINK TL-WR703N Prod. descontinuado

Construccion de Antenas

Trabajamos con antenas que soporten la frecuencia 2.4Ghz y 5Ghz. Puedes ayudar a construir antenas o construirlas tú mismo, para así usarlas para tener conexion con la red.

https://notodoeswindows.files.wordpress.com/2009/11/antenas-caseras.pdf -- > Tutorial

Servicios

Los siguientes servicios son los que se tiene funcionando en la red:

Planeamos brindar a futuro:

  • Pod de diaspora (red social libre)
  • VoIP (llamadas gratis por wifi)
  • Servidor de dominios locales (para que cualquiera pueda brindar servicios)
  • etherpad
  • kamailio
  • Otros

Configuraciones realizadas

Routers usados

Lista de routers con sus respectivas configuraciones:

Tareas útiles en OpenWRT

Casos de éxito en otros países

Otros

La banda ISM

Desde la aprobación y puesta en regla del Plan Nacional de Frecuencias en noviembre del 2012 por la ATT, siguiendo la recomendación internacional, el uso de las bandas de frecuencia 2.4 GHz y 5 GHz en la actualidad es ya de uso libre para aficionados (ver documento, pág 108 - bol20) ver más.

Cabe aclarar que existen bandas de frecuencia dentro de la banda ISM que aún no son de uso libre, pero que no utilizaremos en el proyecto.

Una gran variedad de dispositivos funciona ya en la banda de frecuencia 2.4 GHz, aunque puede que se halle algo saturada y se presenten interferencias electromagnéticas