Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
Beide Seiten der vorigen RevisionVorhergehende ÜberarbeitungNächste Überarbeitung | Vorhergehende ÜberarbeitungNächste ÜberarbeitungBeide Seiten der Revision | ||
funktionsweise [2012/11/19 02:03] – [Funktionsweise] mwarning | funktionsweise [2013/10/06 01:28] – [Konfliktberechnung] santos | ||
---|---|---|---|
Zeile 1: | Zeile 1: | ||
- | ===== Erste Schritte ===== | ||
- | Nach dem ersten Inbetreibnehmen eines Freifunkrouters funktioniert der Router folgendermaßen: | ||
- | * Es wird ein AccessPoint mit dem Namen " | + | ====== Einführung ====== |
- | * Jeder kann sich darüber mit dem öffentlichen (Freifunk-) | + | |
- | * Per Kabel an den Router | + | Das Netz ist soweit aufgebaut so dass es möglichst dezentral, anonym aber auch einfach in der Anwendung ist. |
- | * Aus dem privaten Netz kann man sich über die Statusseite (192.168.133.1) auf der Konfigurationsseite | + | Dies wird nur durch die technischen Möglichkeiten und Arbeitskraft begrenzt, |
- | * Ist der Router per Kabel am Internet angeschlossen | + | wir arbeiten aber ständig |
- | * Der Router verbindet sich aber it anderen Routern über das Internet | + | Ein Router |
+ | |||
+ | Im Folgenden wird nun die Funktionsweise | ||
+ | Dabei kann es sehr technisch | ||
===== Die Funktionsweise des Bielefelder Freifunknetzes ===== | ===== Die Funktionsweise des Bielefelder Freifunknetzes ===== | ||
Zeile 15: | Zeile 16: | ||
* Clients (der Computer eines Nutzers) | * Clients (der Computer eines Nutzers) | ||
* Nodes (ein Router mit Freifunksoftware) | * Nodes (ein Router mit Freifunksoftware) | ||
- | * Gateway (ein Router mit Freifunksoftware und Internetanschluss) | + | * Gateway (ein Router mit Freifunksoftware und Internetanschluss |
- | Ein Client sieht einen AcccessPoint (AP) der sich " | + | Wenn ein Nutzer auf seinem Laptop unter den Drahtlosen Netzwerken |
- | Der Client fragt nach einer IP-Adresse über den AP. Der Router leitet diese Anfrage (durch [[http:// | + | kann er sich ohne irgendein Passwort verbinden. |
- | Wenn der Client eine Seite aufrufen möchte wird diese Anfrage | + | Der Router mit dem er sich verbindet gibt dem Laptop oder Smartphone eine IP-Adresse |
- | Dieser schaut nach um der Client bekannt ist (vermutlich nicht). | + | Solche Gateways sind allerdings nur eine Service |
- | Ist das nicht der Fall, dann schickt das Gateway | + | |
- | 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/ | + | ===== Funktionsweise der Firmware ===== |
- | Die Gateways befinden sich zudem über das Internet | + | |
+ | Die Firmware ist die Kombination aus einem Betriebssystem, | ||
+ | |||
+ | Der Kern der Firmwarekonfiguration besteht im Kern aus drei Scripten: | ||
+ | |||
+ | * / | ||
+ | * 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 | ||
+ | * 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 | ||
+ | * / | ||
+ | * 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 (/ | ||
+ | * generieren des eigenen Schlüsselpaares für fastd | ||
+ | * / | ||
+ | * wird bei Systemstart und dann alle 5min aufgerufen | ||
+ | * wird aufgerufen wenn batman-adv ein Gateway meldet | ||
+ | * testet ob auf dem WAN Anschluss | ||
+ | * startet fastd oder auch die Splash-Seite | ||
+ | * 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 " | ||
===== Konfliktberechnung ===== | ===== Konfliktberechnung ===== | ||
- | Um eine zuverlässige Adressen Verteilung ohne Konfigurationsaufwand zu erreichen verwenden wir ein probabilistisch Zuweisungsverfahren verwenden. | + | 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 [[http:// | ||
Berechnet man die Wahrscheinlichkeit für einen Konflikt bei n Nodes ergibt sich folgende Grafik: | Berechnet man die Wahrscheinlichkeit für einen Konflikt bei n Nodes ergibt sich folgende Grafik: | ||
Zeile 36: | Zeile 63: | ||
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, | 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, | ||
- | ===== Die Funktionsweise des Captive Portal ===== | ||
- | Das Captive Portal (aka. Splash Seite) befindet sich nur auf Gateways. | + | 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. |
- | Durch [[http:// | + | |
- | Dieses Script geht eine Liste aus IP-Adressn und Zeitstempeln durch und erzeugt per iptables eine Regel um Anfragen von diesen IP-Adressen | + | Mit dem Umstieg auf IPv6 sollte das alles kein Problem mehr sein und sich weniger aufwändig gestalten. |
- | an den Internetanschluss weiterzuleiten. Die restlichen Anfragen werden entweder auf den Webserver des Gateway | + | |
+ | |||
+ | ===== Das Netzwerk | ||
+ | |||
+ | 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 | ||
+ | WAN ist der Anschluss über den das Internet erreichbar ist. | ||
- | ===== Netzwerk Übersicht ===== | + | {{ : |
- | {{ : |