OLSR

Aus Opennet
Wechseln zu: Navigation, Suche

OLSR (Optimized Link State Routing) wird zur Auswahl der Übertragungswege im Netzwerk (Routing) eingesetzt und ist damit eine wichtige Technik zur Kommunikation im Opennet.

Inhaltsverzeichnis

Konfigurationsdatei (Opennet)

Das wichtigste zu Beginn, die aktuell zum Opennet kompatible olsrd.conf (passend zu olsr 0.4.10):

DebugLevel 0
LinkQualityLevel 2
UseHysteresis no
LinkQualityFishEye 1
LinkQualityDijkstraLimit 3 5.0
IpVersion 4
AllowNoInt yes
Pollrate 0.075
TcRedundancy 2
MprCoverage 5
LinkQualityWinSize 128
Hna4 { }
Hna6 { }
LoadPlugin "olsrd_httpinfo.so.0.1"
{
 PlParam "port" "80"
 PlParam "Host" "127.0.0.1"
 PlParam "Net" "192.168.0.0 255.255.0.0"
}
Interface "eth0" 
{
 HelloInterval 5.0
 HelloValidityTime 100.0
 TcInterval 5.0
 TcValidityTime 200.0
 MidInterval 50.0
 MidValidityTime 200.0
 HnaInterval 50.0
 HnaValidityTime 200.0
}

Linux Tutorial

Diskussion im Forum: [1]

Wir wollen im Folgenden einen Linux-Host als mobilen Knoten im Opennet konfigurieren. Dazu muss eine feste Opennet-Adresse unter Opennet_Nodes#Mobile_Nodes reserviert werden. Anschließend wird die WLAN-Karte konfiguriert und der OLSR-Dienst installiert.

Im Verein solltet ihr für die mobile Teilnahme bereits Mitglied sein und einen Access Point betreiben bzw. sponsern.

WLAN-Karte einrichten

Geht ganz einfach:

  1. iwconfig <dev> mode Ad-Hoc essid olsr.opennet-forum.de key <opennet-key>
  2. ifconfig <dev> 192.168.7.X netmask 255.255.0.0 broadcast 192.168.255.255

Das Device (<dev>) heißt häufig "wlan0" oder "eth1". Die IP "192.168.7.X" durch eure reservierte Adresse ersetzen.

OLSRd einrichten

Download: http://www.olsr.org/index.cgi?action=download
Weiterführende Dokumentation: http://www.olsr.org/index.cgi?action=doc

Als Superuser (root):

  1. Quellen runterladen, am besten die "Latest Release" als tar.bz2-Archiv
  2. Quellen entpacken -> tar xfj olsrd-X.X.X.tar.bz2
  3. Übersetzen -> make; make install (nur OLSR) oder make build_all; make install_all (incl. aller Plugins)
  4. Konfigurationsdatei bearbeiten -> vi /etc/oslrd.conf (siehe unten)
  5. OLSRd starten -> olsrd

Es wird auf der Console ein Statusbildschirm angezeigt mit den Links, Nachbarn und der gelernten Topologie. Ab sofort sollte man vollen Zugang zum Opennet haben. Um auch das Internet zu nutzen, muss noch OpenVPN installiert werden.

Tipps und Tricks

Benutzerschnittstellen:

  • olsrd-Console
    • wird nach dem Starten von olsrd angezeigt, falls "DebugLevel" nicht 0 ist (/etc/oslrd.conf)
    • liefert Links, Nachbarn und Topologie; jeweils mit Link-Qualität
  • olsrd-gui GTK-Frontend
    • muss separat übersetzt werden (make; make install im Verzeichnis gui/linux-gtk/)
    • IPC-Zugriff auf olsrd muss erlaubt sein (/etc/olsrd.conf: IpcConnections - MaxConnections 1)
  • HTTP-Status-Plugin
    • Konfiguration in /etc/olsrd.conf entsprechend README_HTTPINFO:
    LoadPlugin "olsrd_httpinfo.so.0.1" {
    PlParam "port" "80"
    PlParam "Net" "192.168.0.0 255.255.0.0" }

Mac OS X Tutorial

Diskussion im Forum: []

WLAN-Karte einrichten

Nutze die graphischen Tools von Mac OS X. Im Terminal kann man die Schnittstellen-Konfiguration mit ifconfig en1 (soweit en1 die Wireless Karte ist) ueberprüfen.

OLSRd einrichten

Download: http://www.fernsehsofa.de/olsr/

Installation als Nutzer mit Admin-Rechten

  1. Zielverzeichnis erstellen: sudo mkdir -p /usr/local/olsr/; cd /usr/local/olsr
  2. Binary-Archiv herunterladen und entpacken: wget <download-url>; unzip <downloaded-file>
  3. Konfigurationsdatei erstellen: sudo vi /etc/olsrd.conf (Inhalt von oben einfügen + vollen Pfad zum zum http-Plugin eintragen, z.B. "/usr/local/olsr/olsrd-current/lib/olsrd_httpinfo.so.0.1")
  4. OLSRd starten: cd olsr-current; sudo ./olsrd (sollte es Probleme geben, erhöhe das Debug-Level in der Konfigurationsdatei)
  5. OLSRd wieder stoppen: sudo killall olsrd

Tipps und Tricks

Es gelten die selben Hinweise wie bei der Installation unter Linux.

Windows Tutorial

Diskussion im Forum: [2]

Wir wollen im Folgenden einen Windows-Host als mobilen Knoten im Opennet konfigurieren. Dazu muss eine feste Opennet-Adresse unter Opennet_Nodes#Mobile_Nodes reserviert werden. Anschließend wird die WLAN-Karte konfiguriert und der OLSR-Dienst installiert.

Im Verein solltet ihr für die mobile Teilnahme bereits Mitglied sein und einen Access Point betreiben bzw. sponsern.

Anleitung

Kurze Anleitung, wie man mit dem Notebook ins Opennet kommt:

  • Adresse besorgen
    • ihr erhaltet eine 192.168.7.X (unter Opennet_Nodes#Mobile_Nodes reservieren)
    • zum Testen eine frei gewählte aus 192.168.33.X benutzen
  • olsrd von www.olsr.org besorgen und installieren
  • WLAN-Interface konfigurieren
    • Ad-Hoc-Modus
    • SSID "olsr.opennet-forum.de"
    • den bekannten WEP Key eingeben
    • IP-Adresse von oben
    • Subnet-Mask 255.255.0.0
    • Default-GW kann leer bleiben, wird über OLSR bekannt gemacht
    • DNS Server ein Opennet-Gateway, z.B. 192.168.0.254
  • OLSR Switch starten und den olsrd für das entsprechende WLAN-Interface aktivieren

Screenshots

OLSR im Detail

OLSR (Optimized Link State Routing) ist ein Routing-Protokoll für MANETs (Mobile Ad-Hoc Networks), also Netze mit mobilen Stationen, die ohne jegliche feste Infrastruktur auskommen (müssen).

Es basiert darauf, dass eine Station regelmäßig mit jeder benachbarten Station Nachrichten austauscht, in denen die Nachbarn über andere Nachbarn der Station informiert werden (sog. HELLO-Messages). Somit wissen die Nachbarn, welche Stationen sie über 2 Hops erreichen können (einmal ihre direkten Nachbarn mit einem Hop, und über diese noch deren Nachbarn). Diese Informationen werden an alle Stationen im Netz verteilt, damit jede Station aus ihren eigenen Daten eine Route zu jeder anderen Station ermitteln kann (daher der Begriff Link State Routing).

Im normalen OLSR (wie in RFC3626 beschrieben) werden Routen nach der minimalen Anzahl Hops ausgesucht. Dieses ist nicht unbedingt die beste Route, da in einem drahtlosen Netz die Verbindungsqualität eine erhebliche Rolle spielt. Für OLSR gibt es deshalb eine Erweiterung, die die Verbindungsqualität als Kriterium für die Auswahl einer Route nutzt (LQ - Link Quality Extension). Die Verbindungsqualität ist in diesem Falle die Wahrscheinlichkeit, dass ein Paket korrekt übertragen wird. Es wird somit die Route gewählt, auf der die größte Wahrscheinlichkeit besteht, dass das Paket auf Anhieb fehlerfrei durchkommt.

Informationen über Gateways zu anderen Netzen (in unserem Falle das Internet) werden automatisch verbreitet. Gibt also ein großzügiger Teilnehmer mal seinen DSL/Infocity-Zugang frei, so wird das gesamte Netz darüber informiert (natürlich nur, wenn das auch gewünscht ist). Das könnte ganz praktisch sein weil so sehr einfach mal kurzfristig ein Gateway zugeschaltet werden kann, ohne dass es Probleme gibt wenn der wieder abgeschaltet wird.

So sagt es zumindest die Theorie ...

Siehe auch

Meine Werkzeuge
Namensräume

Varianten
Aktionen
Start
Opennet
Kommunikation
Karten
Werkzeuge