[Berlin-wireless] How do you want to route today?

elektra onelektra
So Mär 11 12:32:21 CET 2007


Hi -

mittlerweile laufen auf einigen Routern OLSR und B.A.T.M.A.N.
gleichzeitig. Auf den allermeisten Routern kann man sich auf der
Statusseite über den Link 'Batman' die B.A.T.M.A.N. Routingtabelle
ansehen. Die Adressen sind fast dieselben wie bei OLSR, mit dem
Unterschied  das sie in der Berliner Innenstadt mit 105. statt mit 104. 
anfangen.

In Berlin-Nordost laufen die Kisten vermutlich noch mit 103er Adressen.
Wenn Ihr mal per Olsr auf einem B.A.T.M.A.N.-Knoten auf die Statusseite
sehen wollt könnt Ihr Euch einfach mit dessen 104er Adresse verbinden.

Inzwischen benutze Ich B.A.T.M.A.N. nachts um ins Internet zu gehen,
weil dann die langen Funklinks zuverlässiger sind. Wir haben noch nicht
so viele Knoten - das heisst viele Links sind relativ weit gedehnt und
deshalb nicht besonders stabil oder schnell. Aber das kann sich ja
schnell ändern :)  Im Moment gibt es drei Gateways - einer in F'Hain und
zwei in K'Berg.

So sieht das im Moment aus, wenn Ich auf meinem Schlepptop 'batmand -c
-d 2' aufrufe um Mir die Gateways anzeigen zu lassen:

=> 105.131.41.3 via: 105.130.30.1(19), gw_class 10 - 6 MBit,reliability: 0
105.192.99.192 via: 105.130.30.1(6), gw_class 10 - 6 MBit, reliability: 0
105.192.99.103 via: 105.130.30.1(4), gw_class 10 - 6 MBit, reliability: 0

Der Kontakt zum ausgewählten Gateway 105.131.41.3 ist nicht besonders
gut - von 60 Originator-Paketen von 105.131.41.3 kommen gerade nur 19
bei Mir an. Diesen Gateway habe Ich Mir ausgesucht, die Anbindung ist
zwar nicht schnell (irgendwo zwischen Modem und ISDN von der 
Geschwindigkeit her) und ruckelt tagsüber ganz schön aber Ich kann eine 
SSH-Verbindung stehen lassen, chatten usw. weil es kein 
Gateway-Switching mehr gibt.

Ich kann dem batmand sagen ob Ich ins Internet geroutet werden will.
Wenn der Zugang über B.A.T.M.A.N. zu lahm ist schalte Ich ihn aus und
starte ihn ohne Gatewayfunktion:

'batmand eth2:0 '

Dann gehe Ich über den olsrd ins Netz, den Ich sowieso laufen lasse,
damit Ich als OLSR-Relaisstation nicht wegfalle.  Wenn Ich batmand sage,
dass er Mich ins Internet routen soll mit:

'batmand -p 105.131.41.3 -r 2 eth2:0'

baut er einen UDP-Tunnel zum Gateway. In der Routingtabelle stehen dann
zwei 'default'-Routen:

default dev tun0  scope link
default via 104.130.30.1 dev eth2  metric 3

'tun0' ist das Tunnel-Device von B.A.T.M.A.N. Da die Metrik des Tunnels 
kleiner ist als  die von olsrd wird der Tunnel als Default-Route 
benutzt. Am coolsten  wäre es im Moment den Traffic der eine stabile 
Verbindung ohne Gateway-Switching braucht über den Tunnel zu leiten und 
den anderen Traffic über olsrd abzufackeln. Oder wir besorgen einfach 
noch ein paar B.A.T.M.A.N.-Gateways...

Seit batmand-0.2 kann man dem Daemon im laufenden Betrieb über die
Schulter schauen. Wenn schon ein batmand läuft kann man sich mit einem
anderen batmand damit verbinden:

'batmand -c -d 1'

zeigt Mir an zu wem Ich routen kann und wie gut die Verbindung ist:

105.131.41.3, GW: 105.130.30.1(19) via: 105.130.30.1(19)
105.130.30.1, GW: 105.130.30.1(60) via: 105.130.30.1(60)
105.130.30.30, GW: 105.130.30.1(60) via: 105.130.30.1(60)
105.130.30.31, GW: 105.130.30.1(60) via: 105.130.30.1(60)
105.131.41.5, GW: 105.130.30.1(16) via: 105.130.30.1(16)
105.131.41.1, GW: 105.130.30.1(13) via: 105.130.30.1(13)
105.131.41.2, GW: 105.130.30.1(15) via: 105.130.30.1(15)
105.129.1.28, GW: 105.130.30.1(1) via: 105.130.30.1(1)
105.192.192.166, GW: 105.130.30.1(18) via: 105.130.30.1(18)
105.192.192.133, GW: 105.130.30.1(18) via: 105.130.30.1(18)
105.192.192.1, GW: 105.130.30.1(19) via: 105.130.30.1(19)
105.192.192.199, GW: 105.130.30.1(21) via: 105.130.30.1(21)
105.192.192.87, GW: 105.130.30.1(19) via: 105.130.30.1(19)
105.192.192.225, GW: 105.130.30.1(18) via: 105.130.30.1(18)
105.130.1.67, GW: 105.130.30.1(30) via: 105.130.30.1(30)
105.192.99.150, GW: 105.130.30.1(9) via: 105.130.30.1(9)
105.192.99.160, GW: 105.130.30.1(11) via: 105.130.30.1(11)
105.192.192.33, GW: 105.130.30.1(21) via: 105.130.30.1(21)
105.192.192.86, GW: 105.130.30.1(9) via: 105.130.30.1(9)
105.192.99.192, GW: 105.130.30.1(14) via: 105.130.30.1(14)
105.192.99.103, GW: 105.130.30.1(10) via: 105.130.30.1(10)
105.192.192.99, GW: 105.130.30.1(16) via: 105.130.30.1(16)
105.192.192.66, GW: 105.130.30.1(18) via: 105.130.30.1(18)
105.131.131.1, GW: 105.130.30.1(3) via: 105.130.30.1(3)

Das macht wieder richtig Spass - so ein kleines bisschen traure Ich ja 
der Anfangszeit des Berliner Mesh nach, als alles Neuland war und noch 
nichts so richtig funktionierte aber alle an die Idee des Meshing 
glaubten und man mit großer Begeisterung für neue Ideen diese einfach 
ausprobiert hat. Wir haben gerade so viele Knoten mit
B.A.T.M.A.N. wie beim ersten OLSR-Experiment 2004 auf der WOS. Mit dem
Unterschied das es funktioniert und es endlich kein Gateway-Umschalten
mehr gibt. Aber da sind natürlich noch mehr Unterschiede...

Da Ich die Entwicklung von B.A.T.M.A.N. angestossen habe bin Ich
natürlich daran interessiert das es sich zügig verbreitet und an
möglichst vielen Orten eingesetzt wird.  Im Moment sind an der
Entwicklung von B.A.T.M.A.N. vor allem Marek, Simon und Axel beteiligt.
Obwohl die Programmversion 0.2-alpha heisst und man beim Starten gewarnt
wird, dass man doch bitteschön die stabile Version benutzen soll
funktioniert das ziemlich gut. Es gibt allerdings bei dieser Version
noch ne Macke: Bei Kisten mit mehreren B.A.T.M.A.N.-Interfaces werden
manchmal zwei Host-Routen zur gleichen Destination eingetragen. Es wird
dafür noch ein Update geben. Die CPU-Last ist im Griff. Die ist bei der
0.1er Version viel höher. Auf meinem WRT braucht der 0.2er Batman 0,7 %
CPU und 2,7 % RAM. Also die Warnung in den Wind schlagen und die
0.2-alpha-Version benutzen. Aber bitteschön nur mitmachen, wenn man 
bereit ist auf neuere Programmversionen upzudaten wenn es soweit ist.

Installieren ist kinderleicht wenn man bei der Freifunk-Firmware die
richtigen Pakete benutzt. Man nehme 350 Gramm Mehl, eine Flasche
helles Hefeweissbier und etwas Salz:

Als erstes füge man im Freifunk-Router das IPKG-Repository von Lui ein.
Statt auf der Kommandozeile das mit vi einzutragen kann man einfach ein
IPKG-Paket installieren:

ipkg install http://freifunk.schmudde.com/ipkg/add-rep_1.ipk

Oder man installiert einfach per Webinterface oder Kommandozeile:

ipkg install htp://freifunk.schmudde.com/ipkg/freifunk-batman-de_0.73.ipk

ipkg install
http://freifunk.schmudde.com/ipkg/freifunk-batman-tools_0.11.ipk

Im Moment gibt es die aktuelle Batman-Version noch nicht bei Lui. Also
nehme man das Paket von open-mesh.net:

ipkg install
http://downloads.open-mesh.net/batman/batman_III-0.2.0a_mipsel.ipk

Installiert man die drei Pakete kann man die Konfiguration ganz 
komfortabel über das Webinterface vornehmen.

Die Sourcen zum Selberkompilieren:
http://downloads.open-mesh.net/batman/batman-III-0.2.0a.tbz2

Ach ja - B.A.T.M.A.N. ist zur Zeit Linux only - der Mac-Port ist ebenso 
wie der BSD-Port eingeschlafen. Früher oder später findet sich 
vielleicht wieder jemand.

Happy routing!

cu elektra


_______________________________________________
Berlin mailing list
Berlin at olsrexperiment.de
https://www.olsrexperiment.de/cgi-bin/mailman/listinfo/berlin





Mehr Informationen über die Mailingliste Berlin