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


Dies ist eine alte Version des Dokuments!


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)

Ein Client sieht einen AcccessPoint (AP) der sich „bielefeld.freifunk.net“ nennt und kann sich zu diesem Verbinden. Der Client fragt nach einer IP-Adresse über den AP. Der Router leitet diese Anfrage (durch Batman-adv) zum nächstgelegenen Gateway, dieser Vergibt die IP-Adressen. Wenn der Client eine Seite aufrufen möchte wird diese Anfrage an das Gateway geleitet. Dieser schaut nach um der Client bekannt ist (vermutlich nicht). Ist das nicht der Fall, dann schickt das Gateway eine Splash-Seite („Willkommen im Freifunk Bielefeld“ + Nutzungsbedingungen). Wenn der Nutzer auf Akzeptieren klickt, merkt sich das Gateway den Client solange dieser aktiv ist (z.Z. 3 Stunden) und leitet alle dessen Anfragen an den Internetanschluss weiter.

Ein Gateway hat eine feste IP-Adresse (+Adressraum für angeschlosse Nodes/Clients) die über eine Liste auf freifunk-bielefeld.de verwaltet wird. Die Gateways befinden sich zudem über das Internet in einem virtuellen Netz (Stichwort n2n-Modul) um einzelne verstreute Freifunknetze zu verbinden.

Konfliktberechnung

Um eine zuverlässige Adressen Verteilung ohne Konfigurationsaufwand zu erreichen verwenden wir ein probabilistisch Zuweisungsverfahren verwenden. Da IP Adressen für einfache Teilnehmer über DHCP verteilt und deshalb gesondert überprüft werden besteht nur für Nodes ein Restriskio einer doppelten IP Vergabe. 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 Funktionsweise des Captive Portal

Das Captive Portal (aka. Splash Seite) befindet sich nur auf Gateways. Durch Cron (siehe /etc/crontabs/root) wird /sbin/splash_sync im Zeitintervall von 1min aufgerufen. Dieses Script geht eine Liste aus IP-Adressn und Zeitstempeln durch und erzeugt per iptables eine Regel um Anfragen von diesen IP-Adressen an den Internetanschluss weiterzuleiten. Die restlichen Anfragen werden entweder auf den Webserver des Gateway (mit der Splash–Seite) umgeleitet oder geblockt (verworfen).

Netzwerk Übersicht