Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
| Beide Seiten der vorigen RevisionVorhergehende ÜberarbeitungNächste Überarbeitung | Vorhergehende Überarbeitung | ||
| funktionsweise [2012/11/19 02:31] – [Erste Schritte] mwarning | funktionsweise [2023/06/04 11:32] (aktuell) – Externe Bearbeitung 127.0.0.1 | ||
|---|---|---|---|
| Zeile 1: | Zeile 1: | ||
| + | |||
| + | ====== 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 ===== | ===== Die Funktionsweise des Bielefelder Freifunknetzes ===== | ||
| Zeile 6: | 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 27: | 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 ===== | + | {{ : |
| - | {{ : | ||