[Berlin-wireless] OLSRv2 + 802.11s Example

Bastian fly
So Mai 17 22:45:04 CEST 2015


Hallo Berlin,

der erste Schritt in Richtung moderner Mesh-Technologien ist getan!

André und ich hatten uns heute mit Unterstützung von Henning mal näher
mit OLSRdv2 [1] beschäftigt. Und weil das nicht genug ist, auch gleich
mit 802.11s anstatt good old ad-hoc unsere Wifi-Interfaces meshen lassen.

Testaufbau waren 3x 841er mit einem von André frisch gebackenem OpenWRT.
IIRC auf Basis eines blutigen trunks.
Die Mesh-Topologie bestand aus einem Wireless- und einem LAN-Link. Das
Laptop von André diente als Test für ein per Kabel angebundenes
"Attached Network" (formerly known as HNA)


Die 802.11s Config ist ziemlich einfach. Anstatt BSSID verwenden wir nun
einen String mesh_id um unsere Wolkenzugehörigkeit zu definieren.
Da 11s eigentlich ein eigenes L2 Mesh-Protokoll verwendet, wir das aber
nicht verwenden wollen, deaktivieren wir das Forwarding mit mesh_fwding.
Ein minimales Interface-Stanza sollte dann in der /etc/config/wireless
so aussehen:

[...]
config wifi-iface
  option device   radio0
  option network  mesh
  option mode     mesh
  option mesh_id  02caffeebabe	
  option encryption none
  option mesh_fwding 0		



Neu in OLSRv2 ist der Ansatz, mit einer einzigen Mesh-IP auf dem
loopback Interface auszukommen. Natürlich eine Adresse je v4/v6.
Die Adressen auf den Interfaces zu Nachbarn können Link-Local sein,
deswegen verwenden wir auf wlan0/mesh und eth1/wan eine v4 aus dem /16
APIPA Bereich sowie die sowieso vergebene fe80 Link-Local.

[...]
config interface 'loopback'
  option ifname 'lo'
  option proto 'static'
  list ipaddr '127.0.0.1/8'
  list ipaddr '10.31.230.1/32'
  option ip6assign '64'

config interface 'mesh'
  option proto 'static'
  option ipaddr '169.254.111.1/16'

config interface 'wan'
  option ifname 'eth1'
  option proto 'static'
  option ipaddr '169.254.211.1/16'
[...]


An der default /etc/config/olsrd2 müssen wir nicht viel ändern. Wir
aktivieren unsere drei Interfaces und den telnet Zugang zum Debugen.
Zudem wird ein Attached Network am LAN-Port konfiguriert.

[...]
config telnet
  option 'port' '2009'

config olsrv2
# list 'lan' '::/0'
 list 'lan' '192.168.1.1/24'

config interface
  option 'ifname' 'loopback'

config interface
  list 'ifname' 'mesh'

config interface
  list 'ifname' 'wan'
  option 'ignore' '0'
# option 'rx_bitrate' '100M'
# option 'tx_bitrate' '100M'
# option 'signal' '-20'

Hierbei sei noch angemerkt, dass die neue Metrik in OLSRv2 eine
Kombination aus Packet-Loss und Bandbreite ist. Es lässt sich auch eine
Metrik an das Attached Network kleben - was durchaus mal praktisch sein
kann aber in diesem kleinen Beispiel noch nicht konfiguriert ist. Den
LQ-Multiplier gibt es nicht mehr.
Das telnet-Interface kann auch mit netcat bedient werden und bietet
reichlich Informationen.

Ich würde mich freuen wenn es nicht bei diesem kleinen Experiment
bleibt, sondern wir uns nun konsequent mit der Evaluation von OLSRv2 und
Integration von 802.11s in unserem Berliner Mesh beschäftigen. 802.11s
hat eine Reiche von wichtigen Vorteilen gegenüber ad-hoc und die weitere
Entwicklung von OLSRv2 benötigt endlich ein reales
Testbed.


[1]: http://www.olsr.org/mediawiki/index.php/Olsrd2

Mit bestem Gruß
Bastian

-------------- nächster Teil --------------
Ein Dateianhang mit Binärdaten wurde abgetrennt...
Dateiname   : signature.asc
Dateityp    : application/pgp-signature
Dateigröße  : 473 bytes
Beschreibung: OpenPGP digital signature
URL         : <http://lists.berlin.freifunk.net/pipermail/berlin/attachments/20150517/98826c4d/attachment.pgp>



Mehr Informationen über die Mailingliste Berlin