Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
Vorhergehende Überarbeitung | |||
— | 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 ===== | ||
+ | |||
+ | 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 " | ||
+ | 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, | ||
+ | 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 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 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 | ||
+ | * / | ||
+ | * 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 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 " | ||
+ | |||
+ | ===== 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 [[http:// | ||
+ | |||
+ | 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, | ||
+ | |||
+ | 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), | ||
+ | WAN ist der Anschluss über den das Internet erreichbar ist. | ||
+ | |||
+ | {{ : | ||