Benutzer-Werkzeuge


    Warning: Undefined array key "REMOTE_USER" in /usr/local/www/wiki.freifunk-bielefeld.de/lib/tpl/starter/main.php on line 62
  • Admin

  • Warning: Undefined array key "REMOTE_USER" in /usr/local/www/wiki.freifunk-bielefeld.de/lib/tpl/starter/tpl_functions.php on line 50

    Warning: Undefined array key "REMOTE_USER" in /usr/local/www/wiki.freifunk-bielefeld.de/lib/tpl/starter/tpl_functions.php on line 77
  • Registrieren

Webseiten-Werkzeuge


Einführung

Das Netz ist soweit aufgebaut so dass es möglichst dezentral, anonym aber auch einfach in der Anwendung ist. Dies wird nur durch die technischen Möglichkeiten und Arbeitskraft begrenzt, wir arbeiten aber ständig an der Verbesserung dieser Qualitäten. Ein Router benötigt keine weitere Konfiguration und sollte direkt und unabhängig funktionieren.

Im Folgenden wird nun die Funktionsweise des Netzes und der Router skizziert. Dabei kann es sehr technisch werden - sorry.

Die Funktionsweise des Bielefelder Freifunknetzes

Es gibt drei Typen von Computern:

  • Clients (der Computer eines Nutzers)
  • Nodes (ein Router mit Freifunksoftware)
  • Gateway (ein Router mit Freifunksoftware und Internetanschluss der freigegeben wird)

Wenn ein Nutzer auf seinem Laptop unter den Drahtlosen Netzwerken „bielefeld.freifunk.net“ sieht, kann er sich ohne irgendein Passwort verbinden. Der Router mit dem er sich verbindet gibt dem Laptop oder Smartphone eine IP-Adresse und die IP-Adresse des geeignetsten Gateways über den Anfragen, z.B. an facebook.de, an das Internet weitergereicht werden kann. Solche Gateways sind allerdings nur eine Service im Freifunknetz der von uns kostenlos angeboten wird.

Funktionsweise der Firmware

Die Firmware ist die Kombination aus einem Betriebssystem, der Software und ihrer Konfiguration, die auf dem Router läuft.

Der Kern der Firmwarekonfiguration besteht im Kern aus drei Scripten:

  • /etc/init.d/freifunk_init
    • wird nur ausgeführt wenn freifunk_setup nicht existiert
    • erstellt dummy Anschlüsse (dummy_bat, dummy_lan, dummy_mesh)
      • damit wird sichergestellt das bridges (br-lan, br-mesh, bat0) mindestens einen Anschluss enthalten
        • das erspart Sonderfälle
    • dummy_bat bekommt eine definierte MAC-Adresse und wird batman-adv zugewiesen
      • batman-adv verwendet diese MAC wenn der Router als Gateway bekannt gemacht werden soll
      • da die IP im Mesh (10.29.x.y) auf der MAC basiert kennt jeder Router die IP wenn sich ein Router damit als Gateway meldet
  • /etc/init.d/freifunk_setup
    • wir nur einmal aufgerufen und löscht sich dann
    • testen und konfigurieren der WLAN-Karte[n]
    • generieren der Netzwerkadresse (10.29.x.y)
    • konfigurieren des Netzwerkes (/etc/config/network)
    • generieren des eigenen Schlüsselpaares für fastd
  • /etc/init.d/freifunk_watchdog
    • wird bei Systemstart und dann alle 5min aufgerufen
    • wird aufgerufen wenn batman-adv ein Gateway meldet
    • testet ob auf dem WAN Anschluss das Internet erreichbar ist
      • startet fastd oder auch die Splash-Seite (wenn der Router als Gateway läuft)
    • setzt das Gateway für den dhcp-Server

Davon unabhängig gibt es noch eine Statusseite und eine Weboberfläche die eine Konfiguration ermöglicht. Die Statusseite zeigt die IP-Adresse, den Namen, die Anzahl der Nachbarn und die Anzahl aller bekannten Knoten an und ist über die Eingabe der IP-Adresse des Routers im Browser möglich (oder auch durch Eingabe von „node“ oder „freifunk“). Auf der Statusseite befindet sich der Login zur Web-GUI.

Konfliktberechnung

Da die IP-Adresse auf Basis der MAC-Adresse gebildet wird - die IP (ipv4) allerdings viel kürzer ist kann es zu einem Konflikt kommen, in welchem zwei Router die selbe IP haben - das führt zu Verbindungsabbrüchen. Dieses Riskio lässt sich durch das Geburtstags Paradoxon beschreiben.

Berechnet man die Wahrscheinlichkeit für einen Konflikt bei n Nodes ergibt sich folgende Grafik:

Dabei fällt auf, dass die Wahrscheinlichkeit für einen einzigen Adresskonflikt unterhalb von 200 Nodes bei unter 0.26 liegt. Darunter fällt es weiter rapide ab (100 Nodes: 0.07, 50 Nodes: 0.02). Wir haben beschlossen, dass wir dieses Restriskio eingehen und bis zu einem Umstieg auf IPv6 beibehalten werden.

Die IP Adressen für einfache Teilnehmer wird dagegen über DHCP verteilt und wird vom DHCP-Server auf Konfliktfreiheit überprüft vor der Vergabe und wird notfalls geändert. Für die Nodes dagegen muss die IP auf der MAC-Adresse basieren.

Mit dem Umstieg auf IPv6 sollte das alles kein Problem mehr sein und sich weniger aufwändig gestalten.

Das Netzwerk im Router

Ein Router mit der Freifunk-Firmware hat intern drei Netzwerk-bridges (bridge=Switch) die mehrere Anschlüsse eines Routers zu einem Netwwerk zusammenknüpfen. Die internen Namen sind br-mesh (10.29.x.y), br-lan (192.168.133.1.x) und bat0 (batman-protokoll). WAN ist der Anschluss über den das Internet erreichbar ist.