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


Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen RevisionVorhergehende Überarbeitung
Nächste Überarbeitung
Vorhergehende Überarbeitung
funktionsweise [2012/11/19 02:03] – [Funktionsweise] mwarningfunktionsweise [2023/06/04 11:32] (aktuell) – Externe Bearbeitung 127.0.0.1
Zeile 1: Zeile 1:
-===== Erste Schritte ===== 
  
-Nach dem ersten Inbetreibnehmen eines Freifunkrouters funktioniert der Router folgendermaßen: 
  
-  * Es wird ein AccessPoint mit dem Namen "bielefeld.freifunk.net" aufgemacht. +====== Einführung ====== 
-    * Jeder kann sich darüber mit dem öffentlichen (Freifunk-) Netz verbinden+ 
-  * Per Kabel an den Router angeschlossene Computer sind in einem privaten Netz+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 des Routers mit dem Namen "root" und leerem Paswort anmelden+Dies wird nur durch die technischen Möglichkeiten und Arbeitskraft begrenzt, 
-  * Ist der Router per Kabel am Internet angeschlossen kann der Anschluss nur über das private Netz genutzt werden+wir arbeiten aber ständig an der Verbesserung dieser Qualitäten. 
-    * Der Router verbindet sich aber it anderen Routern über das Internet dies ist Teil des Freifunk Netzes.+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 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 der freigegeben wird)
  
-Ein Client sieht einen AcccessPoint (AP) der sich "bielefeld.freifunk.net" nennt und kann sich zu diesem Verbinden+Wenn ein Nutzer auf seinem Laptop unter den Drahtlosen Netzwerken "bielefeld.freifunk.net" sieht, 
-Der Client fragt nach einer IP-Adresse über den APDer Router leitet diese Anfrage (durch [[http://www.open-mesh.org/wiki/batman-adv|Batman-adv]]) zum nächstgelegenen Gatewaydieser Vergibt die IP-Adressen. +kann er sich ohne irgendein Passwort verbinden
-Wenn der Client eine Seite aufrufen möchte wird diese Anfrage an das Gateway geleitet+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.Ban facebook.de, an das Internet weitergereicht werden kann
-Dieser schaut nach um der Client bekannt ist (vermutlich nicht). +Solche Gateways sind allerdings nur eine Service im Freifunknetz der von uns kostenlos angeboten wird.
-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/Clientsdie über eine Liste auf freifunk-bielefeld.de verwaltet wird+===== Funktionsweise der Firmware ===== 
-Die Gateways befinden sich zudem über das Internet in einem virtuellen Netz (Stichwort n2n-Modulum einzelne verstreute Freifunknetze zu verbinden.+ 
 +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 ===== ===== 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 [[http://de.wikipedia.org/wiki/Geburtstagsparadoxon|Geburtstags Paradoxon]] beschreiben.+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://de.wikipedia.org/wiki/Geburtstagsparadoxon|Geburtstags Paradoxon]] beschreiben.
  
 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, dass wir dieses Restriskio eingehen und bis zu einem Umstieg auf IPv6 beibehalten werden. 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 (akaSplash 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ändertFür die Nodes dagegen muss die IP auf der MAC-Adresse basieren
-Durch [[http://de.wikipedia.org/wiki/Cron|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 +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 (mit der Splash--Seiteumgeleitet oder geblockt (verworfen).+ 
 + 
 +===== 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.xund bat0 (batman-protokoll)
 +WAN ist der Anschluss über den das Internet erreichbar ist.
  
-===== Netzwerk Übersicht =====+{{ :netzstruktur2.png?nolink& |}}
  
-{{ :netzueberblick.png?nolink& |}}