Architektur: Unterschied zwischen den Versionen

Aus Freifunk Köln, Bonn und Umgebung
Zur Navigation springen Zur Suche springen
Zeile 47: Zeile 47:


=== Adressierung ===
=== Adressierung ===
Alle Teilnehmer im Freifunk-Netz verwenden Adressen aus dem Bereich 172.27.0.0/18. D.h. von 172.27.0.0 bis 172.63.255.255. Die Subnet-Mask ist 255.255.192.0.  
Alle Teilnehmer im Freifunk-Netz verwenden IPv4-Adressen aus dem Bereich 172.27.0.0/18. D.h. von 172.27.0.0 bis 172.63.255.255. Die Subnet-Mask ist 255.255.192.0. Für IPv6 sind  2001:67c:20a0:b102::/64 vorgesehen.


Jeder Super-Node betreibt einen DHCP-Server, mit dem er die Konfiguration für die Klienten ausliefert (TODO: radvd, ebenso, aber tinc aus squeeze kann das doch nicht :-/ - FIXME: Doku dazu). Gleichzeitig betreibt er einen DNS-Cache - optional ist der Betrieb eines transparenten HTTP-Proxies denkbar.  
Jeder Super-Node betreibt einen DHCP-Server, mit dem er die Konfiguration für die Klienten ausliefert. Gleichzeitig betreibt er einen DNS-Cache - optional ist der Betrieb eines transparenten HTTP-Proxies denkbar.  


Es sind die folgenden Super-Nodes vorgesehen. Keys und DNS-Namen sind in der Node-Firmware hinterlegt. Bei Bedarf können weitere Super-Nodes in zukünftige Firmware-Releases aufgenommen werden.
Es sind die folgenden Super-Nodes vorgesehen. Keys und DNS-Namen sind in der Node-Firmware hinterlegt. Bei Bedarf können weitere Super-Nodes in zukünftige Firmware-Releases aufgenommen werden.
Zeile 55: Zeile 55:
{| class="wikitable"
{| class="wikitable"
!Name
!Name
!Zugewiesenes Subnet
!Zugewiesenes Subnet  
! IP
! IP
! DHCP-Range
! DHCP-Range

Version vom 21. März 2013, 18:48 Uhr

Hinweis: Jans Seite zur Architektur im FF-Netz - WIP. Bitte NICHT ändern.

Freifunk-KBU verolgt die Komplettes Bridging-Strategie: Fastd-Server verbinden als Super-Nodes WLAN-Mesh-Partionen. IP-Adressen werden per DHCP und radvd vergeben. Ein routed Backbone-VPN (tinc) verbindet die Supernodes und ermöglicht Routing zum Exit.

Einleitung

Dieser Artikel beschreibt die Architektur des in Köln, Bonn und Umgebung verwendeten Freifunk-Netzes. Dabei wird insbesondere auf die Zusammenhänge zwischen Server-Konfiguration und Firmware-Eigeschaften eingegangen. Diese Wiki-Seite beschreibt die Konfigration jedoch nur aus Architektur-Sicht - sie ist nicht nicht Bestandteil der Server-Dokumentation.

Im Rahmen der Einleitung wird die verwendete Stratgie (komplettes Briding) dargelegt. Die folgenden Absätze (OSI-2: Briding, OSI-3: Routing) gehen detailliert auf die verschiedenen Schichten des Netzes ein. Der letzte Absatz gibt einen Ausblick auf mögliche Änderung, die in Zukunft einziehen können.

Strategie

Das Netz wird als hierachisches P2P-Netz betrieben. Es besteht aus Nodes und Super-Nodes. Die verwendete Komplettes Bridging Stratgie sieht vor, dass das komplette Netz ein einziges zusammehängendes OSI-2 Segment bildet. Dieses Segment verbindet alle Klienten, Nodes und Server. Dadurch sind je 2 Klienten in verschiedenen Teilen des Netzes immer über eine zu Grunde liegende Infrastruktur via "Ethernet" (nach IEEE 802-Substandards) miteinander verbunden. Für die Infrastruktur selbst wird batman-adv (http://www.open-mesh.org/) verwendet. Somit:
Daten zwischen Netzteilnehmer werden als Frames switched, das Netz bildet eine große Broadcast-/Link-Local-Multicast-Domäne.


Implementierung: Super-Nodes

Super-Nodes (auch: fastd-Server) sind Nodes, die VPN-Verbindungen von Nodes entgegen nehmen. Ein Super-Node ist im Internet erreichbar, d.h. Nodes können VPN-Verbindungen dorthin initiieren, auch wenn sie sich z.B. hinter einem NAT befinden. Super-Nodes verfügen über eine gute Internet-Anbindung (100MBit/s up/down). Jeder Node hält typischerweise VPN-Verbindungen zu zwei verschiedenen Super-Nodes. Adressen und VPN-Schlüssel der Super-Nodes sind fest in der Node-Firmware verdrahtet.

Super-Nodes werden typischerweise auf dedizierten Servern ohne WLAN-Konnektivität betrieben. Abb. 1 zeigt die Kommunikation zwischen Klienten, Nodes und Super-Nodes. Die Nodes A, B und C sind mit den Super-Nodes fastd1 und fastd2 verbunden. Über die eingezeichneten Verbindungen werden batman-adv Frames versendet. Der Klient ist im Infrastruktur-Netz an Node A eingebucht - es werden gewöhnliche Wireless-Lan-Frames verwendet. (kein batman-adv)

Implementierung: Nodes

Abb. 1

Auf den Nodes existieren verschiedene Netze, die teilweise mit einander verbunden sind (Abb. 2). Jeder Node spannt dabei zwei Wireless-Lan-Netze auf und ggf. eine VPN-Verbindung auf. .

  • wlan0 wird als "Master"-Netz mit SSID kbu.freifunk.net betrieben. Für Klienten erscheint es als normaler Accesspoint.
  • wlan1 arbeitet als "Ad-Hoc"-Netz mit ESSID und BSSID: 02:d1:11:37:fc:39. Es ermöglicht die direkte Kommunikation zwischen verschiedenen Nodes.
  • tap0 ist das VPN-Interface. Verfügt ein Node über einen drahtgebundenen Zugang zum Internet, so baut er eine VPN-Verbindung auf.

wlan1 und tap0 sind hierbei dem bat0 Interface hinzugefügt. Somit werden in beiden Netzen (ad-hoc, VPN) batman-adv-Frames anstelle gewöhnlicher Ethernet-Frames übermittelt. Alle Stationen in diesen Netzen müssen daher die gleiche batman-adv Protokollversion zur Kommunikation verwenden. Ethernet-Frames nach IEEE 802 können nicht verwendet werden. bat0 und wlan0 sind über die Bridge br0 verbunden - hierdurch werden batman-adv und gewöhnliche Stationen zu einem Segment zusammen gefasst.

Hinweis: Aus technischen Gründen (u.a. vlan-Fähigkeit einzelner Geräte), weichen Interface-Namen in der Node-Firmware z.T. ab.

OSI-2: Data-Link-Layer

Die komplettes Bridging Strategie sieht vor, dass alle Stationen zu einem OSI-2 Segment zusammen gefasst werden. Hierbei werden LAN, WLAN und VPN-Verbindungen via bridging verbunden. In diesem Absatz wird die Konfigration der verschiedenen Komponenten des Segements erläutert

WLAN

Ad-Hoc

Infrastruktur

VPN

LAN

OSI-3: IP-Adressierung / Routing

Zur Kommunikation im Freifunk-Netz und mit weiteren Netzen ist es erforderlich, IP-Adressen zu Vergeben und Pakete in andere Netze zu routen. Dieser Absatz beschreibt die verwendete Adressierungs und Routing-Strategien im Freifunk-Netz. Hierbei wird insbesondere auf das Backbon-VPN (Tinc) und auf die Konfigration der Super-Nodes eingangen.

Adressierung

Alle Teilnehmer im Freifunk-Netz verwenden IPv4-Adressen aus dem Bereich 172.27.0.0/18. D.h. von 172.27.0.0 bis 172.63.255.255. Die Subnet-Mask ist 255.255.192.0. Für IPv6 sind 2001:67c:20a0:b102::/64 vorgesehen.

Jeder Super-Node betreibt einen DHCP-Server, mit dem er die Konfiguration für die Klienten ausliefert. Gleichzeitig betreibt er einen DNS-Cache - optional ist der Betrieb eines transparenten HTTP-Proxies denkbar.

Es sind die folgenden Super-Nodes vorgesehen. Keys und DNS-Namen sind in der Node-Firmware hinterlegt. Bei Bedarf können weitere Super-Nodes in zukünftige Firmware-Releases aufgenommen werden.

Name Zugewiesenes Subnet IP DHCP-Range
fastd1 172.27.0.0/21 172.27.0.3 172.27.0.10 - 172.27.7.254
fastd3 172.27.8.0/21 172.27.8.1 172.27.8.10 - 172.27.15.254
fastd4 172.27.16.0/21 172.27.16.1 172.27.16.10 - 172.27.23.254
fastd5 172.27.24.0/21 172.27.24.1 172.27.24.10 - 172.27.31.254
fastd6 172.27.32.0/21 172.27.32.1 172.27.32.10 - 172.27.39.254
fastd7 172.27.40.0/21 172.27.40.1 172.27.40.10 - 172.27.47.254
fastd8 172.27.48.0/21 172.27.48.1 172.27.48.10 - 172.27.55.254
fastd2 172.27.56.0/21 172.27.56.1 172.27.56.10 - 172.27.63.254