BATMAN

De la Viquipèdia, l'enciclopèdia lliure.
Saltar a la navegació Saltar a la cerca
BATMAN
programari
Logotip
Tipus protocol d'encaminament (no inclòs )
Desenvolupador Freifunk
Última versió Batman-adv 2017.1 (23 de maig de 2017)
Sistema operatiu Semblant a Unix
Llenguatge C.
Llicència GNU GPL
( llicència gratuïta )
Lloc web www.open-mesh.org

BATMAN ( Better Approach To Mobile Adhoc Networking ) és un protocol d’encaminament per a xarxes de malla adhoc multi-hop.

El desenvolupament és gestionat per la comunitat Freifunk i està destinat a substituir el protocol OLSR .

La idea clau darrere de BATMAN és la descentralització del coneixement sobre la millor ruta d’encaminament en una xarxa: cap node no posseeix totes les dades.

Aquesta tècnica elimina la necessitat de difondre informació sobre canvis de topologia a cada node de la xarxa. Cada node simplement emmagatzema informació sobre la direcció des de la qual rep i envia dades respectivament.

D'aquesta manera, les dades es transmeten de node a node i els paquets segueixen rutes individuals creades dinàmicament. En fer-ho, s’estableix una xarxa d’ intel·ligència col·lectiva .

A principis del 2007, els desenvolupadors de BATMAN van començar a experimentar amb un sistema d’encaminament de capa 2 (capa Ethernet) en lloc d’una capa 3. Per diferenciar-lo del dimoni d’encaminament de capa 3, es va afegir el sufix "adv" (avançat).

En lloc d’enviar paquets UDP i manipular taules d’encaminament, proporciona una interfície de xarxa virtual i gestiona el transport de paquets de forma transparent i autònoma. El mòdul batman-adv forma part del nucli oficial de Linux des de la versió 2.6.38 [1] .

Operació

BATMAN té els elements dels protocols d’encaminament clàssics: detecta altres nodes BATMAN i identifica la millor ruta. També fa un seguiment dels nous nodes mitjançant la notificació dels veïns de la seva existència. A les xarxes estàtiques, l'administrador de la xarxa decideix quina ruta fa accessible cada equip individual. Atès que els canvis topològics són constants a les xarxes sense fils i els llindars de participació són baixos, s’ha d’automatitzar tant com sigui possible.

A intervals regulars, cada node envia una transmissió (missatge genèric adreçat a tots els dispositius) per notificar als veïns de la seva presència; aquests missatges s’anomenen missatges originator.

Al seu torn, els veïns reenviaran aquest missatge als seus veïns, que faran el mateix.

Aquest mètode permet que la informació arribi a tots els nodes de la xarxa. Per trobar la millor ruta cap a un node concret, BATMAN compta els missatges de l’originador rebuts i memoritza de quin veí els van reenviar.

De manera similar als protocols basats en vectors a distància, però a diferència d'altres protocols d'estat d'enllaç, BATMAN no intenta determinar tota la ruta, sinó que utilitza els remitents de missatges de difusió, només el primer pas en la millor direcció. Les dades es transmeten al veí següent en aquesta direcció, que al seu torn utilitzarà el mateix mecanisme. Aquest procés es repeteix fins que les dades arriben al seu destí.

A més de les xarxes sense fils, el protocol BATMAN es pot implementar en xarxes cablejades comuns com Ethernet .

Història

L'objectiu era crear un protocol el més senzill, petit i ràpid possible, per tant, semblava raonable dividir el desenvolupament en diverses fases implementant les funcions més complexes segons un procés iteratiu:

Primera versió

En aquesta fase es va implementar l'algorisme, comprovant la seva practicitat i idoneïtat per al propòsit. El port UDP 1966 es va triar per enviar i rebre missatges originator (missatges d’existència de nodes).

Segona versió

La primera versió de l'algorisme feia una suposició important: com més aviat un node rep missatges originator d'un altre, més aviat pot reenviar una resposta. Tanmateix, a les xarxes sense fils, es pot produir una comunicació unidireccional, per la qual cosa s’ha incorporat al protocol un mecanisme que concebia aquestes situacions per resoldre els problemes sorgits. El mecanisme permet al node determinar si un veí proporciona una comunicació bidireccional. Només un node bidireccional es considera part de la xarxa, els altres estan parcialment exclosos.

Tercera versió

La principal innovació d’aquesta versió és el suport per a diversos dispositius de xarxa, cosa que permet situar un ordinador en què s’executa el dimoni BATMAN en un punt central, podent gestionar simultàniament diverses interfícies de xarxa (ja sigui per cable o sense fils). Quan això passi, BATMAN pot reenviar paquets en diverses direccions sense retards en la retransmissió.

S'han abordat i contrarestat circumstàncies especials i fenòmens inusuals en la fase de determinar la millor ruta per evitar situacions d'encaminament circular que puguin evitar que les dades arribin a la seva destinació.

A més, qualsevol node capaç de proporcionar accés a Internet ara pot notificar la xarxa. Altres nodes poden utilitzar aquesta informació per avaluar quan hi ha una connexió a Internet a prop d'ells i quin ample de banda està disponible, també poden utilitzar una passarel·la específica o permetre que BATMAN determini, mitjançant criteris com ara la velocitat de connexió, quina porta a passar utilitzar.

Aquesta versió també inclou la possibilitat de notificar dispositius sense el dimoni BATMAN, una característica útil per connectar una xarxa domèstica a la xarxa mesh. Una antena instal·lada al terrat de la casa es connectarà a la xarxa sense fils mitjançant BATMAN i es comunicarà la resta de dispositius de la casa.

Com es confirma en anàlisis teòriques [2] , en condicions reals, aquesta versió de BATMAN va demostrar alts nivells d’estabilitat davant de temps de convergència relativament lents [3] .

Nota

  1. ^ ( EN ) [1]
  2. ^ J. Chroboczek, Alguns comentaris sobre el protocol d'encaminament BATMAN , a lists.alioth.debian.org .
  3. M. Abolhasan, B. Hagelstein, JC-P. Wang, rendiment real dels protocols proactius de malla multi-hop actuals , 2009.

Articles relacionats

Altres projectes

Enllaços externs

Programari lliure Portal de programari lliure : accediu a les entrades de Viquipèdia relacionades amb programari lliure