<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="de">
	<id>https://kbu.freifunk.net/wiki/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Globalhawk</id>
	<title>Freifunk Köln, Bonn und Umgebung - Benutzerbeiträge [de]</title>
	<link rel="self" type="application/atom+xml" href="https://kbu.freifunk.net/wiki/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Globalhawk"/>
	<link rel="alternate" type="text/html" href="https://kbu.freifunk.net/wiki/index.php?title=Spezial:Beitr%C3%A4ge/Globalhawk"/>
	<updated>2026-04-11T04:48:21Z</updated>
	<subtitle>Benutzerbeiträge</subtitle>
	<generator>MediaWiki 1.38.2</generator>
	<entry>
		<id>https://kbu.freifunk.net/wiki/index.php?title=Router_ausw%C3%A4hlen&amp;diff=5123</id>
		<title>Router auswählen</title>
		<link rel="alternate" type="text/html" href="https://kbu.freifunk.net/wiki/index.php?title=Router_ausw%C3%A4hlen&amp;diff=5123"/>
		<updated>2017-02-10T11:16:42Z</updated>

		<summary type="html">&lt;p&gt;Globalhawk: /* Informationen zu einigen unterstützten Geräten */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;noinclude&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;text-align: center;&amp;quot;&amp;gt;&lt;br /&gt;
[[Mitmachen|Übersicht]] &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; [[Firmware herunterladen]] &amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/noinclude&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Als Einstieg bietet sich der recht kostengünstige Router TP-Link TL-WR841N an, der für ca. 20&amp;amp;nbsp;€ erhältlich ist. Dieser funkt im weit verbreiteten 2.4 GHz-Frequenzband. &lt;br /&gt;
&lt;br /&gt;
Wer neuere Geräte im 5 GHz-Frequenzband via Freifunk versorgen möchte, kann hierzu zum Beispiel der Archer C5 oder C7 einsetzen. Allerdings nur innerhalb von Gebäuden, da die Freifunk-Firmware derzeit nicht die gesetzlichen Anforderungen für 5 GHz-Outdoor-Betrieb erfüllt. &lt;br /&gt;
&lt;br /&gt;
Die Freifunk-Firmware gibt es auch für weitere Router-Modelle, schau einfach mal auf dem Images-Server, welche Images bereitstehen: https://images.ffkbu.de/&lt;br /&gt;
&lt;br /&gt;
== Informationen zu einigen unterstützten Geräten ==&lt;br /&gt;
&lt;br /&gt;
Diese Geräte werden unter anderem in aktuellen Versionen von der Freifunk-Firmware unterstützt.&lt;br /&gt;
&lt;br /&gt;
{|class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|Gerät&lt;br /&gt;
|Preis&amp;lt;br&amp;gt;(lt. Amazon,&amp;lt;br&amp;gt;Feb. 2017)&lt;br /&gt;
|Eigenschaften&lt;br /&gt;
|Links&lt;br /&gt;
|-&lt;br /&gt;
|[[File:Tplink_wr841n_b.jpg|center|thumb|200px|TP-Link '''TL-WR841N''', '''TL-WR841ND''']]&lt;br /&gt;
| 17 €&lt;br /&gt;
| 2 x 2.4 GHz Antennen, 5 LAN-Ports &amp;lt;br&amp;gt; Modell mit '''D''' am Ende hat abnehmbare Antennen und ist etwas teurer.&lt;br /&gt;
| [https://wiki.openwrt.org/toh/tp-link/tl-wr841nd OpenWRT] [http://www.tp-link.de/products/details/TL-WR841N.html Hersteller]&lt;br /&gt;
|-&lt;br /&gt;
|[[File:Tplink_archer-c7_b.jpg|center|thumb|200px|TP-Link '''Archer C7''']]&lt;br /&gt;
| 82 €&lt;br /&gt;
| 3 x 2.4 GHz Antennen (intern), 3 x 5 GHz Antennen, 5 LAN-Ports&lt;br /&gt;
| [http://www.tp-link.de/products/details/cat-9_Archer-C7.html Hersteller]&lt;br /&gt;
|-&lt;br /&gt;
|[[File:Tplink_wa860re_b.jpg|center|thumb|200px|TP-Link '''TL-WA860RE''']]&lt;br /&gt;
| 25 €&lt;br /&gt;
| 2 x 2.4 GHz Antennen, LAN-Anschluss, Frontsteckdose&lt;br /&gt;
| [http://www.tp-link.de/products/details/cat-10_TL-WA860RE.html Hersteller]&lt;br /&gt;
|-&lt;br /&gt;
|[[File:Tplink_wa850re_b.jpg|center|thumb|200px|TP-Link '''TL-WA850RE''']]&lt;br /&gt;
| 16 €&lt;br /&gt;
| 2 x 2.4 GHz Antennen (intern), LAN-Anschluss&lt;br /&gt;
| [http://www.tp-link.de/products/details/cat-10_TL-WA850RE.html Hersteller]&lt;br /&gt;
|-&lt;br /&gt;
|[[File:Tplink_cpe210_b.jpg|center|thumb|200px|TP-Link '''TL-CPE210''']]&lt;br /&gt;
| 48 €&lt;br /&gt;
| 2 x 2.4 GHz Richtfunk-Antennen (intern), 2 LAN-Ports, PoE, Öffnungswinkel 65°, Sendeleistung 27dBm (500 mW)&lt;br /&gt;
| [http://www.tp-link.de/products/details/cat-37_CPE210.html Hersteller]&lt;br /&gt;
|-&lt;br /&gt;
|[[File:Tplink_cpe510_b.jpg|center|thumb|200px|TP-Link '''TL-CPE510''']]&lt;br /&gt;
| 62 €&lt;br /&gt;
| 2 x 5 GHz Richtfunk-Antennen (intern), 2 LAN-Ports, PoE, Öffnungswinkel 45°, Sendeleistung 27dBm (500 mW)&lt;br /&gt;
| [http://www.tp-link.de/products/details/cat-37_CPE510.html Hersteller]&lt;br /&gt;
|-&lt;br /&gt;
|[[File:Ubiquity_ns_loco.jpg|center|thumb|200px|Ubiquity '''Nanostation Loco M2''']]&lt;br /&gt;
| 54 €&lt;br /&gt;
| Sendeleistung: 23 dBm (200 mW)&lt;br /&gt;
| [https://www.ubnt.com/airmax/nanostationm/ Hersteller]&lt;br /&gt;
|-&lt;br /&gt;
|[[File:Ubiquity_ns_loco.jpg|center|thumb|200px|Ubiquity '''Nanostation Loco M5''']]&lt;br /&gt;
| 71 €&lt;br /&gt;
| Sendeleistung: 23 dBm (200 mW)&lt;br /&gt;
| [https://www.ubnt.com/airmax/nanostationm/ Hersteller]&lt;br /&gt;
|-&lt;br /&gt;
|[[File:Ubiquity_ns.jpg|center|thumb|200px|Ubiquity '''Nanostation M2''']]&lt;br /&gt;
| 94 €&lt;br /&gt;
| Sendeleistung: 28 dBm (&amp;gt; 1 W)&lt;br /&gt;
| [https://www.ubnt.com/airmax/nanostationm/ Hersteller]&lt;br /&gt;
|-&lt;br /&gt;
|[[File:Ubiquity_ns.jpg|center|thumb|200px|Ubiquity '''Nanostation M5''']]&lt;br /&gt;
| 82 €&lt;br /&gt;
| Sendeleistung: 27 dBm (1 W)&lt;br /&gt;
| [https://www.ubnt.com/airmax/nanostationm/ Hersteller]&lt;br /&gt;
|-&lt;br /&gt;
|[[File:Tplink_archer-c5_b.jpg|center|thumb|200px|TP-Link '''Archer C5''']]&lt;br /&gt;
| 76 €&lt;br /&gt;
| 2 x 2.4 GHz Antennen (intern), 2 x 5 GHz Antennen, 5 LAN-Ports&lt;br /&gt;
| [http://www.tp-link.de/products/details/cat-9_Archer-C5.html Hersteller] &lt;br /&gt;
|-&lt;br /&gt;
|D-Link '''DIR-505'''&lt;br /&gt;
| 28€&lt;br /&gt;
| &lt;br /&gt;
| [http://www.dlink.com/de/de/products/dir-505-shareport-mobile-companion Hersteller] &lt;br /&gt;
|-&lt;br /&gt;
|[[File:DIR615H2ImageLFrontGB.png|center|thumb|200px|DLink '''DIR-615''']]&lt;br /&gt;
| 29€&lt;br /&gt;
| &lt;br /&gt;
| [http://www.dlink.com/de/de/support/product/dir-615-wireless-n-300-router Hersteller] &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Hinweis zur Sendeleistung ==&lt;br /&gt;
Die Sendeleistung darf in Deutschland ohne Genehmigung nicht mehr als 100 mW (2.4 GHz) bzw. 200 mW (5 GHz) betragen. Das entspricht 20 dBm, bzw 23 dBm. [https://wiki.freifunk.net/WLAN-Antennen Siehe auch: FF-Wiki]&lt;br /&gt;
&lt;br /&gt;
Die Firmware regelt die Leistung von selbst auf den erlaubten Wert herunter.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;noinclude&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;text-align: center;&amp;quot;&amp;gt;&lt;br /&gt;
[[Mitmachen|Übersicht]] &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; [[Firmware herunterladen]] &amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/noinclude&amp;gt;&lt;/div&gt;</summary>
		<author><name>Globalhawk</name></author>
	</entry>
	<entry>
		<id>https://kbu.freifunk.net/wiki/index.php?title=Datei:DIR615H2ImageLFrontGB.png&amp;diff=5122</id>
		<title>Datei:DIR615H2ImageLFrontGB.png</title>
		<link rel="alternate" type="text/html" href="https://kbu.freifunk.net/wiki/index.php?title=Datei:DIR615H2ImageLFrontGB.png&amp;diff=5122"/>
		<updated>2017-02-10T11:15:19Z</updated>

		<summary type="html">&lt;p&gt;Globalhawk: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Globalhawk</name></author>
	</entry>
	<entry>
		<id>https://kbu.freifunk.net/wiki/index.php?title=Architektur&amp;diff=5121</id>
		<title>Architektur</title>
		<link rel="alternate" type="text/html" href="https://kbu.freifunk.net/wiki/index.php?title=Architektur&amp;diff=5121"/>
		<updated>2017-02-10T10:59:34Z</updated>

		<summary type="html">&lt;p&gt;Globalhawk: /* OSI-3: Network Layer */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{TOCright}}&lt;br /&gt;
&amp;lt;span style=&amp;quot;color: #F00&amp;quot;&amp;gt;'''Hinweis'''&amp;lt;/span&amp;gt;: Dieser Artikel beschreibt das Freifunk-Netz aus konzeptioneller Sicht und erklärt viele, tiefe Details. Um einfach mitzumachen musst Du nicht alles davon verstehen - wenn Du Interesse hast, lese einfach weiter :-).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Kurzzusammenfassung ==&lt;br /&gt;
&lt;br /&gt;
Freifunk-KBU verfolgt die [[Netzwerk-Konfiguration#Komplettes_Bridging | Komplettes Bridging]]-Strategie: Das gesamte KBU-Netz bildet eine Broadcast-Domäne. Fastd-Server verbinden als Supernodes WLAN-Mesh-Partionen. IP-Adressen werden an Clients per DHCP und radvd vergeben. Nodes erhalten keine IPv4 aber eine IPv6 Adresse. Ein routed Backbone-VPN (tinc) verbindet die Supernodes und ermöglicht Routing zum Exit.&lt;br /&gt;
&lt;br /&gt;
== Einleitung ==&lt;br /&gt;
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-Eigenschaften eingegangen. Hierbei gibt die Architektur vor, wie Nodes, Supernodes, Server und Klienten konfiguriert werden müssen. &lt;br /&gt;
&lt;br /&gt;
Im Rahmen der Einleitung wird die verwendete Strategie (''komplettes Bridging'') dargelegt. Die folgenden Absätze (OSI-2: Bridging, 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.&lt;br /&gt;
&lt;br /&gt;
=== Strategie ===&lt;br /&gt;
Das Netz besteht aus Klienten, Nodes und Supernodes. Die verwendete [[Netzwerk-Konfiguration#Komplettes_Bridging | Komplettes Bridging Strategie]] sieht vor, dass das komplette Netz ein einziges zusammenhängendes OSI-2 Segment bildet. Dieses Segment verbindet alle Teilnehmer. Dadurch sind je 2 Klienten in verschiedenen Teilen des Netzes immer über eine zu Grunde liegende Infrastruktur via &amp;quot;Ethernet&amp;quot; (WLAN / LAN) miteinander verbunden. Für die Infrastruktur wird batman-adv (http://www.open-mesh.org/) verwendet - sie wird als hierachisches [[Wikipedia:Peer-to-Peer | P2P-Netz]] realisiert. Somit: &amp;lt;br /&amp;gt;&lt;br /&gt;
''Daten zwischen Netzteilnehmer werden als Frames switched, das Netz bildet eine große Broadcast-/Link-Local-Multicast-Domäne.''&lt;br /&gt;
&lt;br /&gt;
=== Supernodes ===&lt;br /&gt;
[[Datei:Super-node-overview.png|thumb|300px|right|Abb. 1]]&lt;br /&gt;
[[supernode|Supernodes]] (auch: fastd-Server) sind Nodes, die VPN-Verbindungen von Nodes entgegen nehmen. Ein Supernode ist im Internet erreichbar, d.h. Nodes können VPN-Verbindungen dorthin initiieren, auch wenn sie sich z.B. hinter einem [[Wikipedia:Network_Address_Translation | NAT]] befinden. Supernodes verfügen über eine gute Internet-Anbindung (100MBit/s). Jeder Node hält (bis zur KBU-Firmware 1.4) typischerweise VPN-Verbindungen zu zwei verschiedenen Supernodes. Adressen und VPN-Schlüssel der Supernodes sind fest in der Node-Firmware verdrahtet.&lt;br /&gt;
&lt;br /&gt;
Supernodes werden beispielsweise auf dedizierten Servern ohne WLAN-Konnektivität betrieben.&lt;br /&gt;
Abb. 1 zeigt die Kommunikation zwischen Klienten, Nodes und Supernodes. Die Nodes A und B sind mit den Supernodes 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'')&lt;br /&gt;
&lt;br /&gt;
'''Update:''' seit KBU-Firmware 1.4 (basierend auf Gluonv 2015.1.2) wird von jedem Freifunk-Router (Knoten) nur noch eine Verbindung zu einem (anstatt zwei) Supernodes aufgebaut, um den Hintergrund-Datenverkehr zu halbieren und mehr Nutzdaten zu erlauben. Bei einem Supernode-Ausfall dauert es damit 1-2 Minuten, bis sich ein Knoten mit einem anderen Supernode verbindet und der Dienst wieder zur Verfügung steht. Da Ausfälle selten sind, scheint das ein guter Kompromiss zu sein.&lt;br /&gt;
&lt;br /&gt;
=== Nodes ===&lt;br /&gt;
[[Datei:4.1-All-Bridging.png|thumb|300px|right|Abb. 2]]&lt;br /&gt;
Auf den Nodes existieren verschiedene Netze, die teilweise mit einander verbunden sind (Abb. 2). Jeder Node spannt dabei zwei Wireless-Lan-Netze und ggf. eine VPN-Verbindung auf.&lt;br /&gt;
&lt;br /&gt;
* ''wlan0'' wird als &amp;quot;Master&amp;quot;-Netz betrieben&lt;br /&gt;
* ''wlan1'' arbeitet als &amp;quot;Ad-Hoc&amp;quot;-Netz &lt;br /&gt;
* ''tap0'' ist das VPN-Interface. &lt;br /&gt;
&lt;br /&gt;
wlan1 und tap0 sind hierbei dem ''bat0'' Interface hinzugefügt. &lt;br /&gt;
&lt;br /&gt;
''Hinweis'': Aus technischen Gründen (u.a. vlan-Fähigkeit einzelner Geräte), weichen Interface-Namen in der Node-Firmware z.T. ab.&lt;br /&gt;
&lt;br /&gt;
== OSI-2: Data-Link-Layer ==&lt;br /&gt;
[[Datei:Osi-2.png|thumb|350px|right|Abb. 3]]&lt;br /&gt;
&lt;br /&gt;
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 Konfiguration der verschiedenen Komponenten des Segements erläutert. Abb. 3 illustriert das Segment. Es besteht aus den Super-Nodes fastd1, fastd2 und fastd3, den Nodes &amp;lt;tt&amp;gt;b0487aaeec16&amp;lt;/tt&amp;gt;, &amp;lt;tt&amp;gt;f8d111883fea&amp;lt;/tt&amp;gt; und &amp;lt;tt&amp;gt;d85d4cae420c&amp;lt;/tt&amp;gt;  sowie zwei Klienten. &lt;br /&gt;
* Nodes &amp;lt;tt&amp;gt;b0..&amp;lt;/tt&amp;gt; und &amp;lt;tt&amp;gt;f8..&amp;lt;/tt&amp;gt; sind per Kabel mit dem Internet verbunden und bauen eine VPN-Verbindung zu jeweils zwei Supernodes auf.&lt;br /&gt;
* Node &amp;lt;tt&amp;gt;d8..&amp;lt;/tt&amp;gt; verfügt über keine kabelgebundene Verbindung zum Internet. Er ist via ad-hoc wlan mit der Wolke verbunden&lt;br /&gt;
* Entlang der blau eingezeichneten Verbindungen werden batman-adv Frames ausgetauscht.&lt;br /&gt;
Die Klienten werden daher via batman-adv TT-annouces im Mesh bekannt gemacht. Bridge-Loop-Avoidance (BLA) wird nicht verwendet (http://www.open-mesh.org/projects/batman-adv/wiki/Understand-your-batman-adv-network)&lt;br /&gt;
&lt;br /&gt;
=== Node-IDs ===&lt;br /&gt;
Jedem Node wird eine eindeutige ID zugewiesen. Sie entspricht der Hardware-Adresse gemäß Aufkleber - Trennzeichen werden entfernt. (Beispiel: Hardware-Adresse: &amp;lt;tt&amp;gt;F4:EC:38:E9:72:34&amp;lt;/tt&amp;gt; =&amp;gt; Node-ID: &amp;lt;tt&amp;gt;f4ec38e97234&amp;lt;/tt&amp;gt;. Verfügt ein Node über mehrere Interfaces, so wird die des ersten (gemäß Treiber- / Kernel Nummerierung) 2.4 GHz-Interface verwendet.&lt;br /&gt;
&lt;br /&gt;
=== Wireless LAN ===&lt;br /&gt;
Im Freifunk-KBU Netz wird IEEE 802.11g/n verwendet:&lt;br /&gt;
* Das Infrastruktur-Netz führt die SSID &amp;lt;tt&amp;gt;kbu.freifunk.net&amp;lt;/tt&amp;gt;. Für Klienten erscheint es als normaler Accesspoint.&lt;br /&gt;
* Das Ad-Hoc Netz nutzt die ESSID und BSSID: &amp;lt;tt&amp;gt;02:d1:11:37:fc:39&amp;lt;/tt&amp;gt;. Es ermöglicht die direkte Kommunikation zwischen verschiedenen Nodes.&lt;br /&gt;
&lt;br /&gt;
=== VPN ===&lt;br /&gt;
==== Verwendung ====&lt;br /&gt;
Verfügt ein Node über einen drahtgebundenen Zugang zum Internet, so baut er eine VPN-Verbindung auf. Als VPN wird fastd (https://projects.universe-factory.net/projects/fastd) verwendet. Fastd baut - ähnlich zu l2tp - per Default Verbindungen nur zwischen zu definierten Links auf. Somit ergibt sich keine Redundanz zur batman-adv Topologie-Ermittlung: Für batman-adv existiert ''nicht'' der transitive Abschluss aller konfigurierten fastd-Links als Broadcast-Medium. Das VPN arbeitet hier als Ersatz für ad-hoc wlan Verbindungen: Teile des Netzes zwischen denen keine Verbindungen bestehen, werden über das VPN zusammen gefasst.&lt;br /&gt;
Nodes ohne Verbindung zum VPN-Server bilden eine gemeinsames OSI-2 Segment, wenn eine Ad-Hoc Verbindung besteht oder wenn zwischen ihnen eine VPN-Verbindung manuell konfiguriert wurde&lt;br /&gt;
(fastd-Peers per Shell im Dateisystem des Nodes hinterlegt). Eine Verbindung zu Supernodes ist nicht zwingend erforderlich. Somit gilt:&lt;br /&gt;
&lt;br /&gt;
''Das VPN verbindet Ad-Hoc Mesh-Partitionen - Partitionen ohne VPN-Link zu Supernodes arbeiten autark.&lt;br /&gt;
&lt;br /&gt;
=== Frame-Typen ===&lt;br /&gt;
Für die genutzten Frame-Typen gilt:&lt;br /&gt;
* vlan-Tagging wird nicht verwendet.&lt;br /&gt;
* VPN und ad-hoc: ''batman-adv''-Frames &lt;br /&gt;
* Infrastruktur-Netz: Gewöhnliche Wireless-Lan Frames (IEEE 802.11)&lt;br /&gt;
&lt;br /&gt;
=== MTU / PMTU ===&lt;br /&gt;
* wireless-lan Interfaces verwenden als MTU 1500 Byte&lt;br /&gt;
* fastd tap-Interfaces verwenden als MTU 1426 Byte&lt;br /&gt;
&lt;br /&gt;
''Hinweise: ''&lt;br /&gt;
&lt;br /&gt;
fastd-Pakete werden per default nicht fragmentiert. Wird eine VPN-Verbindung mit zu kleiner PMTU verwendet, werden die Pakete verworfen. Die MTU 1426 des fastd-Interfaces errechnet sich durch:&lt;br /&gt;
* PMTU des Uplinks: 1500 Byte - 8 Byte = 1492 Byte = MTU einer DSL-PPPoE Verbindung&lt;br /&gt;
* Overhead fastd: 1492 Byte - 20 Byte (IP) - 8 Byte (UDP) - 24 Byte (fastd) -  14 Byte (Inner Ethernet) = 1426 Byte&lt;br /&gt;
&lt;br /&gt;
Falls keine fastd-Verschlüsselung verwendet wird (Method: 'null') rediziert sich der fastd-Overhead von 24 Byte auf 1 Byte.&lt;br /&gt;
&lt;br /&gt;
Problematisch ist, dass Netcologne bei ADSL typischerweise nur eine PMTU von 1442 (d.h. 50 Byte weniger) zur Verfügung stellt. Hiermit ist fraglich, in wie weit 1426 als MTU für fastd-Interfaces sinnvoll ist (alternativ: 1376). Aktuell werden alle Supernodes ohne PMTU-Discovery betrieben (&amp;lt;tt&amp;gt;sysctl -w net.ipv4.ip_no_pmtu_disc=1&amp;lt;/tt&amp;gt;), so dass das Don't Fragment (DF)-Bit seitens fastd auf 0 gesetzt wird und keine Probleme durch Paketverlust auftreten. Auf den Nodes ist PMTU-Discovery derzeit aktiv - Probleme sind jedoch nicht erkennbar. Mittelfristig sollte das Fragmentierungsverhalten seitens fastd konfigurierbar sein: https://projects.universe-factory.net/issues/120&lt;br /&gt;
&lt;br /&gt;
Somit senden radvds eine MTU von 1350 (1376 - batman-adv Overhead) (&amp;lt;tt&amp;gt;AdvLinkMTU 1350&amp;lt;/tt&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
== OSI-3: Network Layer ==&lt;br /&gt;
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 Backbone-VPN (Tinc) und auf die Konfiguration der Supernodes eingegangen.&lt;br /&gt;
&lt;br /&gt;
=== IPv4 ===&lt;br /&gt;
[[Datei:Osi-3-v4.png|thumb|400px|right|Abb. 5]]&lt;br /&gt;
Abb. 5 illustriert die verwendeten IPv4-Netze. Zur Vereinfachung sind nicht alle Supernodes und Server dargestellt. Von ''oben nach unten'' gesehen werden die Netze wie folgt verwendet (vgl. [[IP Subnetze]]).&lt;br /&gt;
&lt;br /&gt;
==== Mesh ====&lt;br /&gt;
In der Mesh-Wolke (dem OSI-2 Segment) werden Adressen aus dem Bereich &amp;lt;tt&amp;gt;172.27.0.0/18&amp;lt;/tt&amp;gt; verwendet. &lt;br /&gt;
* Supernodes ist eine statische Adresse fest zugewiesen. fastd3 verwendet die Adresse &amp;lt;tt&amp;gt;172.27.8.1&amp;lt;/tt&amp;gt; während fastd4 &amp;lt;tt&amp;gt;172.27.16.1&amp;lt;/tt&amp;gt; nutzt. &lt;br /&gt;
* Nodes besitzen keine IPv4 Adresse - sie sind nicht Teil des IPv4-Netzes. (Evtl. bald doch - siehe Abschnitt [[Architektur#Anycast | Anycast]])&lt;br /&gt;
* Jedem Supernode ist ein /21 Netz zugeteilt. Hier: fastd3: &amp;lt;tt&amp;gt;172.27.8.0/21&amp;lt;/tt&amp;gt;, fastd4: &amp;lt;tt&amp;gt;172.27.16.0/21&amp;lt;/tt&amp;gt;. Sie verfügen somit über je 2048 Adressen. &lt;br /&gt;
** Jeder Supernode betreibt einen DHCP-Server, der Adressen aus dem zugeteilten Bereich in der Mesh-Cloud vergibt. fastd3 vergibt beispielsweise Adressen aus dem Bereich &amp;lt;tt&amp;gt;172.27.8.10&amp;lt;/tt&amp;gt; - &amp;lt;tt&amp;gt;172.27.15.255&amp;lt;/tt&amp;gt;&lt;br /&gt;
** Jeder Klient im Mesh-Netz bezieht eine IP von einem Supernode. Er nutzt ihn als ''Default-Router'' und ''DNS-Server''. Die Auswahl des Supernodes erfolgt durch den batman-adv Gateway Mode (Vgl. http://www.open-mesh.org/projects/batman-adv/wiki/Gateways).&lt;br /&gt;
&lt;br /&gt;
==== Backbone-VPN / Tinc ====&lt;br /&gt;
Alle Supernodes und sonstigen Server des Freifunk-KBU-Netztes sind untereinander über ein dezentrales VPN (Tinc - vgl. http://tinc-vpn.org/) verbunden.&lt;br /&gt;
* Das Netz verwendet den Adressbereich &amp;lt;tt&amp;gt;172.27.255.0/24&amp;lt;/tt&amp;gt;. Bspw. verwendet fastd3 die Adresse &amp;lt;tt&amp;gt;172.27.55.9&amp;lt;/tt&amp;gt; -- fastd4 hingegen &amp;lt;tt&amp;gt;172.27.255.10&amp;lt;/tt&amp;gt;&lt;br /&gt;
* Das VPN wird als Transport-Netz benutzt: IP-Pakete mit fremden Quell- und Zieladressen werden darüber transportiert.&lt;br /&gt;
* Verfügt ein Supernode über Kontakt zu weiteren Netzten  so annonciert er eine entsprechende Route. In der Abbildung kann fastd4 über das Tor-Netzwerk Verbindungen zum WWW aufbauen. Er annonciert daher die Route &amp;lt;tt&amp;gt;0.0.0.0/0&amp;lt;/tt&amp;gt; (Default Route). Verfügt ein Node über Kontakt im ChaosVPN (http://wiki.hamburg.ccc.de/ChaosVPN) oder IC-VPN (http://wiki.freifunk.net/IC-VPN) so annonciert er diese Netzbereiche.&lt;br /&gt;
* Das VPN ist verschlüsselt. Nutzlast wie z.B. Service-Aufrufe müssen daher nicht zusätzlich per SSL/TLS gesichert werden.&lt;br /&gt;
* Jeder Router annonciert zusätzlich das im zugeteilte Netz -- fastd3: &amp;lt;tt&amp;gt;172.27.8.0/21&amp;lt;/tt&amp;gt;,  fastd4: &amp;lt;tt&amp;gt;172.27.16.0/21&amp;lt;/tt&amp;gt;&lt;br /&gt;
* Der Schlüsselaustausch erfolgt via github (https://github.com/ff-kbu/bbkeys).&lt;br /&gt;
Paul nimmt hierbei eine Sonderrolle ein: Als einziger, regulärer Router zum Internet kann er als IPv4- und IPv6-Default-Router verwendet werden. Paul ist kein Supernode sondern wickelt lediglich externen Traffic ab.&lt;br /&gt;
&lt;br /&gt;
==== Anycast ====&lt;br /&gt;
&amp;lt;todo nicht implementiert&amp;gt; &lt;br /&gt;
Jeder Node ist über das Infrastruktur-Netz auf der IP &amp;lt;tt&amp;gt;172.27.0.1&amp;lt;/tt&amp;gt; erreichbar. Hierüber können Klienten Status-Informationen des Nodes beziehen, bei dem sie eingebucht sind.&lt;br /&gt;
&amp;lt;/todo nicht implementiert&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== IPv6 ===&lt;br /&gt;
[[Datei:Osi-3-v6.png|thumb|450px|right|Abb. 6]]&lt;br /&gt;
Abb. 6 illustriert die IPv6 Konfiguration. Wie zuvor bei IPv4 sind zur Vereinfachung nicht alle Supernodes und Server dargestellt. Für IPv6 werden die folgenden Addressbereiche verwendet:&lt;br /&gt;
* &amp;lt;tt&amp;gt;fdd3:5d16:b5dd::/48&amp;lt;/tt&amp;gt; Unique Local Addresses (ULA)&lt;br /&gt;
* &amp;lt;tt&amp;gt;2001:67C:20A0:B100::/56&amp;lt;/tt&amp;gt; Global.&lt;br /&gt;
Die Verwendung der Public IPv6 Address ermöglicht, dass alle Teilnehmer des Freifunk-Netzes extern erreichbar sind. &lt;br /&gt;
&lt;br /&gt;
Von ''oben nach unten'' werden die Netze wie folgt verwendet:&lt;br /&gt;
&lt;br /&gt;
==== Mesh ====&lt;br /&gt;
Im Mesh werden ULA und global gültige IPv6-Addressen verwendet. Jedem Supernode ist ein eigenes, globales /64 Subnet zugewiesen. Der Supernode verwendet die Host-ID 1. Hier: fastd3: &amp;lt;tt&amp;gt;2001:67c:20a0:b104::1/6&amp;lt;/tt&amp;gt;, fastd4: &amp;lt;tt&amp;gt;2001:67c:20a0:b105::1/64&amp;lt;/tt&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
Supernodes versenden Router Advertisments (RA) im kompletten Segment. Nodes und Klienten erhalten aus jedem Pool eine Addresse (stateless autoconfiguration). Jeder Supernode routed IPv6-Pakete zwischen Mesh-Cloud und Internet.&lt;br /&gt;
&lt;br /&gt;
Hinweis: Da der Klient das Default-Gateway zufällig wählt, werden Pakete idR auf verschiedenen Routes zugestellt:&lt;br /&gt;
* Sendet der Klient ein Paket, so wird der vom Klienten zufällig gewählte Supernode genutzt&lt;br /&gt;
* Empfängt der Klient ein Paket, so richtet sich der Supernode nach der verwendeten Public IPv6 Addresse des Klienten: es wird der Supernode verwendet, aus dessem Subnet die Adresse stammt&lt;br /&gt;
&lt;br /&gt;
==== Backbone-VPN / Tinc ====&lt;br /&gt;
Im Backbone-VPN wird IPv6 analog zu IPv4 verwendet (vgl. [[Architektur#Backbone-VPN_.2F_Tinc | Backbone-VPN / Tinc (IPv4)]]. Jedem Teilnehmer ist eine IP aus dem Bereich &amp;lt;tt&amp;gt;fdd3:5d16:b5dd:3::/64&amp;lt;/tt&amp;gt; zugewiesen. Die Endziffer entspricht der von IPv4. Bspw. verfügt Paul über die Adressen &amp;lt;tt&amp;gt;172.27.255.3&amp;lt;/tt&amp;gt; und &amp;lt;tt&amp;gt;fdd3:5d16:b5dd:3::3&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Supernodes annoncieren fremde Public-V6 Netze des Mesh-Segments mit geringer Priorität im Tinc-Backone. Somit ist sichergestellt, dass bei einem Ausfall eines Supernodes die Addressen weiterhin verwendet werden können. Im kompletten Mesh wird &amp;lt;tt&amp;gt;fdd3:5d16:b5dd::/64&amp;lt;/tt&amp;gt; zur internen Adressierung genutzt.&lt;br /&gt;
&lt;br /&gt;
==== Sonstige Bereiche / ULA ====&lt;br /&gt;
Einzelnen Anwendungen stehen komplette /64-Netze zur Verfügung gestellt. Entsprechende Adressen sind in der Firmware fest verdrahtet. Die Nutzung eigener /64 Netze ermöglicht es, Server zu transparent migrieren ohne auf DNS angewiesen zu sein. Beispiel: collectd verwendet &amp;lt;tt&amp;gt;fdd3:5d16:b5dd:2::/64&amp;lt;/tt&amp;gt;, der collectd-Server ist unter &amp;lt;tt&amp;gt;fdd3:5d16:b5dd:2::1&amp;lt;/tt&amp;gt; erreichbar.&lt;br /&gt;
&lt;br /&gt;
== OSI-7: Anwendungen ==&lt;br /&gt;
TBD - Hier kommen hin:&lt;br /&gt;
* Register&lt;br /&gt;
* collectd&lt;br /&gt;
* DNS&lt;br /&gt;
* Ggf. Squid&lt;br /&gt;
&lt;br /&gt;
== Ausblick / Probleme / TODOs / Offene Punkte ==&lt;br /&gt;
# Anycast Info-Page implementieren&lt;br /&gt;
# In Tinc 1.0 wird das annoncieren beliebiger Netze hackish, da [http://www.tinc-vpn.org/documentation-1.1/tincctl.8 tincctl] noch nicht nutzbar ist. (Ggf. Scripten)? Alternativ können wir auch OSPF auf allen Tinc-Verbindungen nutzen - Nachteil: Komplexität.&lt;br /&gt;
# Wenn Lübeck LFF 0.3.2.1 release hat: Filter für Broadcast / Multicast dokumentieren. -&amp;gt; Weniger Last auf den fastd-Gateways.&lt;br /&gt;
# DNS-Caches auf den Supernodes _wirklich_ implementieren - bislang leiten wir ganz &amp;quot;lame&amp;quot; an Paul weiter.&lt;br /&gt;
&lt;br /&gt;
== Notizblock ==&lt;br /&gt;
Nix zu sehen - bitte weitergehen.&lt;br /&gt;
&amp;lt;strike&amp;gt; &lt;br /&gt;
&lt;br /&gt;
Im OSI-2 Segment werden die folgenden Adressen verwendet:&lt;br /&gt;
* 2001:67c:20a0:b102::/64&lt;br /&gt;
* fdd3:5d16:b5dd::/64&lt;br /&gt;
* fdd3:5d16:b5dd:1::/64&lt;br /&gt;
&lt;br /&gt;
=== Konfiguration Super-Nodes ===&lt;br /&gt;
Jeder Super-Node betreibt einen DHCPv4-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.&lt;br /&gt;
&lt;br /&gt;
Die aktuelle Planung sieht 8 Super-Nodes für das FF-KBU vor, auf denen DHCP-Server betrieben werden. Keys und DNS-Namen sind in der Firmware hinterlegt. Bei Bedarf können weitere Super-Nodes hinzugefügt werden.&lt;br /&gt;
&lt;br /&gt;
=== Konfiguration Nodes ===&lt;br /&gt;
''&amp;lt;todo&amp;gt; (TODO: Implementierung in der Firmware ausstehend).''&lt;br /&gt;
&lt;br /&gt;
Nodes verwenden im Uplink-Netz zusätzlich den ULA-Bereich&lt;br /&gt;
*fdd3:5d16:b5dd:1::/64 &lt;br /&gt;
Jeder Node kann über seine Public-IPv6, ULA-IPv6, Link-Local-IPv6 Adressen und die IPv4-Adresse seines WAN-Uplink-Netzes erreicht werden. Jedem Node wird dadurch eine eindeutige Adresse aus fdd3:5d16:b5dd::/64 zugewiesen, die aus allen Netzen - mit denen er verbunden ist erreicht werden kann &lt;br /&gt;
&lt;br /&gt;
Gleichzeitig verwendet jeder Node die anycast-Adresse 172.27.0.255, die nur aus dem Infrastruktur-Netz erreichbar ist. Hierdurch kann ein Client explizit abfragen, mit welchem Node er verbunden ist. &amp;lt;/todo&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== IPv6 / RADVD ===&lt;br /&gt;
Hinweis: Aktell nicht so umgesetzt - Tinc in Squeeze hat da afair Probleme TODO: Umsetzen.&lt;br /&gt;
Super-Nodes betreiben radvd-Server im Adressbereich 2001:67c:20a0:b102::/64 und annoncen sich selbst als Router&lt;br /&gt;
&amp;lt;/strike&amp;gt;&lt;br /&gt;
[[Category:Netzdesign]]&lt;/div&gt;</summary>
		<author><name>Globalhawk</name></author>
	</entry>
	<entry>
		<id>https://kbu.freifunk.net/wiki/index.php?title=Architektur&amp;diff=5120</id>
		<title>Architektur</title>
		<link rel="alternate" type="text/html" href="https://kbu.freifunk.net/wiki/index.php?title=Architektur&amp;diff=5120"/>
		<updated>2017-02-10T10:52:28Z</updated>

		<summary type="html">&lt;p&gt;Globalhawk: /* Nodes */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{TOCright}}&lt;br /&gt;
&amp;lt;span style=&amp;quot;color: #F00&amp;quot;&amp;gt;'''Hinweis'''&amp;lt;/span&amp;gt;: Dieser Artikel beschreibt das Freifunk-Netz aus konzeptioneller Sicht und erklärt viele, tiefe Details. Um einfach mitzumachen musst Du nicht alles davon verstehen - wenn Du Interesse hast, lese einfach weiter :-).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Kurzzusammenfassung ==&lt;br /&gt;
&lt;br /&gt;
Freifunk-KBU verfolgt die [[Netzwerk-Konfiguration#Komplettes_Bridging | Komplettes Bridging]]-Strategie: Das gesamte KBU-Netz bildet eine Broadcast-Domäne. Fastd-Server verbinden als Supernodes WLAN-Mesh-Partionen. IP-Adressen werden an Clients per DHCP und radvd vergeben. Nodes erhalten keine IPv4 aber eine IPv6 Adresse. Ein routed Backbone-VPN (tinc) verbindet die Supernodes und ermöglicht Routing zum Exit.&lt;br /&gt;
&lt;br /&gt;
== Einleitung ==&lt;br /&gt;
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-Eigenschaften eingegangen. Hierbei gibt die Architektur vor, wie Nodes, Supernodes, Server und Klienten konfiguriert werden müssen. &lt;br /&gt;
&lt;br /&gt;
Im Rahmen der Einleitung wird die verwendete Strategie (''komplettes Bridging'') dargelegt. Die folgenden Absätze (OSI-2: Bridging, 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.&lt;br /&gt;
&lt;br /&gt;
=== Strategie ===&lt;br /&gt;
Das Netz besteht aus Klienten, Nodes und Supernodes. Die verwendete [[Netzwerk-Konfiguration#Komplettes_Bridging | Komplettes Bridging Strategie]] sieht vor, dass das komplette Netz ein einziges zusammenhängendes OSI-2 Segment bildet. Dieses Segment verbindet alle Teilnehmer. Dadurch sind je 2 Klienten in verschiedenen Teilen des Netzes immer über eine zu Grunde liegende Infrastruktur via &amp;quot;Ethernet&amp;quot; (WLAN / LAN) miteinander verbunden. Für die Infrastruktur wird batman-adv (http://www.open-mesh.org/) verwendet - sie wird als hierachisches [[Wikipedia:Peer-to-Peer | P2P-Netz]] realisiert. Somit: &amp;lt;br /&amp;gt;&lt;br /&gt;
''Daten zwischen Netzteilnehmer werden als Frames switched, das Netz bildet eine große Broadcast-/Link-Local-Multicast-Domäne.''&lt;br /&gt;
&lt;br /&gt;
=== Supernodes ===&lt;br /&gt;
[[Datei:Super-node-overview.png|thumb|300px|right|Abb. 1]]&lt;br /&gt;
[[supernode|Supernodes]] (auch: fastd-Server) sind Nodes, die VPN-Verbindungen von Nodes entgegen nehmen. Ein Supernode ist im Internet erreichbar, d.h. Nodes können VPN-Verbindungen dorthin initiieren, auch wenn sie sich z.B. hinter einem [[Wikipedia:Network_Address_Translation | NAT]] befinden. Supernodes verfügen über eine gute Internet-Anbindung (100MBit/s). Jeder Node hält (bis zur KBU-Firmware 1.4) typischerweise VPN-Verbindungen zu zwei verschiedenen Supernodes. Adressen und VPN-Schlüssel der Supernodes sind fest in der Node-Firmware verdrahtet.&lt;br /&gt;
&lt;br /&gt;
Supernodes werden beispielsweise auf dedizierten Servern ohne WLAN-Konnektivität betrieben.&lt;br /&gt;
Abb. 1 zeigt die Kommunikation zwischen Klienten, Nodes und Supernodes. Die Nodes A und B sind mit den Supernodes 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'')&lt;br /&gt;
&lt;br /&gt;
'''Update:''' seit KBU-Firmware 1.4 (basierend auf Gluonv 2015.1.2) wird von jedem Freifunk-Router (Knoten) nur noch eine Verbindung zu einem (anstatt zwei) Supernodes aufgebaut, um den Hintergrund-Datenverkehr zu halbieren und mehr Nutzdaten zu erlauben. Bei einem Supernode-Ausfall dauert es damit 1-2 Minuten, bis sich ein Knoten mit einem anderen Supernode verbindet und der Dienst wieder zur Verfügung steht. Da Ausfälle selten sind, scheint das ein guter Kompromiss zu sein.&lt;br /&gt;
&lt;br /&gt;
=== Nodes ===&lt;br /&gt;
[[Datei:4.1-All-Bridging.png|thumb|300px|right|Abb. 2]]&lt;br /&gt;
Auf den Nodes existieren verschiedene Netze, die teilweise mit einander verbunden sind (Abb. 2). Jeder Node spannt dabei zwei Wireless-Lan-Netze und ggf. eine VPN-Verbindung auf.&lt;br /&gt;
&lt;br /&gt;
* ''wlan0'' wird als &amp;quot;Master&amp;quot;-Netz betrieben&lt;br /&gt;
* ''wlan1'' arbeitet als &amp;quot;Ad-Hoc&amp;quot;-Netz &lt;br /&gt;
* ''tap0'' ist das VPN-Interface. &lt;br /&gt;
&lt;br /&gt;
wlan1 und tap0 sind hierbei dem ''bat0'' Interface hinzugefügt. &lt;br /&gt;
&lt;br /&gt;
''Hinweis'': Aus technischen Gründen (u.a. vlan-Fähigkeit einzelner Geräte), weichen Interface-Namen in der Node-Firmware z.T. ab.&lt;br /&gt;
&lt;br /&gt;
== OSI-2: Data-Link-Layer ==&lt;br /&gt;
[[Datei:Osi-2.png|thumb|350px|right|Abb. 3]]&lt;br /&gt;
&lt;br /&gt;
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 Konfiguration der verschiedenen Komponenten des Segements erläutert. Abb. 3 illustriert das Segment. Es besteht aus den Super-Nodes fastd1, fastd2 und fastd3, den Nodes &amp;lt;tt&amp;gt;b0487aaeec16&amp;lt;/tt&amp;gt;, &amp;lt;tt&amp;gt;f8d111883fea&amp;lt;/tt&amp;gt; und &amp;lt;tt&amp;gt;d85d4cae420c&amp;lt;/tt&amp;gt;  sowie zwei Klienten. &lt;br /&gt;
* Nodes &amp;lt;tt&amp;gt;b0..&amp;lt;/tt&amp;gt; und &amp;lt;tt&amp;gt;f8..&amp;lt;/tt&amp;gt; sind per Kabel mit dem Internet verbunden und bauen eine VPN-Verbindung zu jeweils zwei Supernodes auf.&lt;br /&gt;
* Node &amp;lt;tt&amp;gt;d8..&amp;lt;/tt&amp;gt; verfügt über keine kabelgebundene Verbindung zum Internet. Er ist via ad-hoc wlan mit der Wolke verbunden&lt;br /&gt;
* Entlang der blau eingezeichneten Verbindungen werden batman-adv Frames ausgetauscht.&lt;br /&gt;
Die Klienten werden daher via batman-adv TT-annouces im Mesh bekannt gemacht. Bridge-Loop-Avoidance (BLA) wird nicht verwendet (http://www.open-mesh.org/projects/batman-adv/wiki/Understand-your-batman-adv-network)&lt;br /&gt;
&lt;br /&gt;
=== Node-IDs ===&lt;br /&gt;
Jedem Node wird eine eindeutige ID zugewiesen. Sie entspricht der Hardware-Adresse gemäß Aufkleber - Trennzeichen werden entfernt. (Beispiel: Hardware-Adresse: &amp;lt;tt&amp;gt;F4:EC:38:E9:72:34&amp;lt;/tt&amp;gt; =&amp;gt; Node-ID: &amp;lt;tt&amp;gt;f4ec38e97234&amp;lt;/tt&amp;gt;. Verfügt ein Node über mehrere Interfaces, so wird die des ersten (gemäß Treiber- / Kernel Nummerierung) 2.4 GHz-Interface verwendet.&lt;br /&gt;
&lt;br /&gt;
=== Wireless LAN ===&lt;br /&gt;
Im Freifunk-KBU Netz wird IEEE 802.11g/n verwendet:&lt;br /&gt;
* Das Infrastruktur-Netz führt die SSID &amp;lt;tt&amp;gt;kbu.freifunk.net&amp;lt;/tt&amp;gt;. Für Klienten erscheint es als normaler Accesspoint.&lt;br /&gt;
* Das Ad-Hoc Netz nutzt die ESSID und BSSID: &amp;lt;tt&amp;gt;02:d1:11:37:fc:39&amp;lt;/tt&amp;gt;. Es ermöglicht die direkte Kommunikation zwischen verschiedenen Nodes.&lt;br /&gt;
&lt;br /&gt;
=== VPN ===&lt;br /&gt;
==== Verwendung ====&lt;br /&gt;
Verfügt ein Node über einen drahtgebundenen Zugang zum Internet, so baut er eine VPN-Verbindung auf. Als VPN wird fastd (https://projects.universe-factory.net/projects/fastd) verwendet. Fastd baut - ähnlich zu l2tp - per Default Verbindungen nur zwischen zu definierten Links auf. Somit ergibt sich keine Redundanz zur batman-adv Topologie-Ermittlung: Für batman-adv existiert ''nicht'' der transitive Abschluss aller konfigurierten fastd-Links als Broadcast-Medium. Das VPN arbeitet hier als Ersatz für ad-hoc wlan Verbindungen: Teile des Netzes zwischen denen keine Verbindungen bestehen, werden über das VPN zusammen gefasst.&lt;br /&gt;
Nodes ohne Verbindung zum VPN-Server bilden eine gemeinsames OSI-2 Segment, wenn eine Ad-Hoc Verbindung besteht oder wenn zwischen ihnen eine VPN-Verbindung manuell konfiguriert wurde&lt;br /&gt;
(fastd-Peers per Shell im Dateisystem des Nodes hinterlegt). Eine Verbindung zu Supernodes ist nicht zwingend erforderlich. Somit gilt:&lt;br /&gt;
&lt;br /&gt;
''Das VPN verbindet Ad-Hoc Mesh-Partitionen - Partitionen ohne VPN-Link zu Supernodes arbeiten autark.&lt;br /&gt;
&lt;br /&gt;
=== Frame-Typen ===&lt;br /&gt;
Für die genutzten Frame-Typen gilt:&lt;br /&gt;
* vlan-Tagging wird nicht verwendet.&lt;br /&gt;
* VPN und ad-hoc: ''batman-adv''-Frames &lt;br /&gt;
* Infrastruktur-Netz: Gewöhnliche Wireless-Lan Frames (IEEE 802.11)&lt;br /&gt;
&lt;br /&gt;
=== MTU / PMTU ===&lt;br /&gt;
* wireless-lan Interfaces verwenden als MTU 1500 Byte&lt;br /&gt;
* fastd tap-Interfaces verwenden als MTU 1426 Byte&lt;br /&gt;
&lt;br /&gt;
''Hinweise: ''&lt;br /&gt;
&lt;br /&gt;
fastd-Pakete werden per default nicht fragmentiert. Wird eine VPN-Verbindung mit zu kleiner PMTU verwendet, werden die Pakete verworfen. Die MTU 1426 des fastd-Interfaces errechnet sich durch:&lt;br /&gt;
* PMTU des Uplinks: 1500 Byte - 8 Byte = 1492 Byte = MTU einer DSL-PPPoE Verbindung&lt;br /&gt;
* Overhead fastd: 1492 Byte - 20 Byte (IP) - 8 Byte (UDP) - 24 Byte (fastd) -  14 Byte (Inner Ethernet) = 1426 Byte&lt;br /&gt;
&lt;br /&gt;
Falls keine fastd-Verschlüsselung verwendet wird (Method: 'null') rediziert sich der fastd-Overhead von 24 Byte auf 1 Byte.&lt;br /&gt;
&lt;br /&gt;
Problematisch ist, dass Netcologne bei ADSL typischerweise nur eine PMTU von 1442 (d.h. 50 Byte weniger) zur Verfügung stellt. Hiermit ist fraglich, in wie weit 1426 als MTU für fastd-Interfaces sinnvoll ist (alternativ: 1376). Aktuell werden alle Supernodes ohne PMTU-Discovery betrieben (&amp;lt;tt&amp;gt;sysctl -w net.ipv4.ip_no_pmtu_disc=1&amp;lt;/tt&amp;gt;), so dass das Don't Fragment (DF)-Bit seitens fastd auf 0 gesetzt wird und keine Probleme durch Paketverlust auftreten. Auf den Nodes ist PMTU-Discovery derzeit aktiv - Probleme sind jedoch nicht erkennbar. Mittelfristig sollte das Fragmentierungsverhalten seitens fastd konfigurierbar sein: https://projects.universe-factory.net/issues/120&lt;br /&gt;
&lt;br /&gt;
Somit senden radvds eine MTU von 1350 (1376 - batman-adv Overhead) (&amp;lt;tt&amp;gt;AdvLinkMTU 1350&amp;lt;/tt&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
== OSI-3: Network Layer ==&lt;br /&gt;
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 Konfiguration der Supernodes eingegangen.&lt;br /&gt;
&lt;br /&gt;
=== IPv4 ===&lt;br /&gt;
[[Datei:Osi-3-v4.png|thumb|400px|right|Abb. 5]]&lt;br /&gt;
Abb. 5 illustriert die verwendeten IPv4-Netze. Zur Vereinfachung sind nicht alle Supernodes und Server dargestellt. Von ''oben nach unten'' gesehen werden die Netze wie folgt verwendet (vgl. [[IP Subnetze]]).&lt;br /&gt;
&lt;br /&gt;
==== Mesh ====&lt;br /&gt;
In der Mesh-Wolke (dem OSI-2 Segment) werden Adressen aus dem Bereich &amp;lt;tt&amp;gt;172.27.0.0/18&amp;lt;/tt&amp;gt; verwendet. &lt;br /&gt;
* Supernodes ist eine statische Adresse fest zugewiesen. fastd3 verwendet die Adresse &amp;lt;tt&amp;gt;172.27.8.1&amp;lt;/tt&amp;gt; während fastd4 &amp;lt;tt&amp;gt;172.27.16.1&amp;lt;/tt&amp;gt; nutzt. &lt;br /&gt;
* Nodes besitzen keine IPv4 Adresse - sie sind nicht Teil des IPv4-Netzes. (Evtl. bald doch - siehe Abschnitt [[Architektur#Anycast | Anycast]])&lt;br /&gt;
* Jedem Supernode ist ein /21 Netz zugeteilt. Hier: fastd3: &amp;lt;tt&amp;gt;172.27.8.0/21&amp;lt;/tt&amp;gt;, fastd4: &amp;lt;tt&amp;gt;172.27.16.0/21&amp;lt;/tt&amp;gt;. Sie verfügen somit über je 2048 Adressen. &lt;br /&gt;
** Jeder Supernode betreibt einen DHCP-Server, der Adressen aus dem zugeteilten Bereich in der Mesh-Cloud vergibt. fastd3 vergibt beispielsweise Adressen aus dem Bereich &amp;lt;tt&amp;gt;172.27.8.10&amp;lt;/tt&amp;gt; - &amp;lt;tt&amp;gt;172.27.15.255&amp;lt;/tt&amp;gt;&lt;br /&gt;
** Jeder Klient im Mesh-Netz bezieht eine IP von einem Supernode. Er nutzt ihn als ''Default-Router'' und ''DNS-Server''. Die Auswahl des Supernodes erfolgt durch den batman-adv Gateway Mode (Vgl. http://www.open-mesh.org/projects/batman-adv/wiki/Gateways).&lt;br /&gt;
&lt;br /&gt;
==== Backbone-VPN / Tinc ====&lt;br /&gt;
Alle Supernodes und sonstigen Server des Freifunk-KBU-Netztes sind untereinander über ein dezentrales VPN (Tinc - vgl. http://tinc-vpn.org/) verbunden.&lt;br /&gt;
* Das Netz verwendet den Adressbereich &amp;lt;tt&amp;gt;172.27.255.0/24&amp;lt;/tt&amp;gt;. Bspw. verwendet fastd3 die Adresse &amp;lt;tt&amp;gt;172.27.55.9&amp;lt;/tt&amp;gt; -- fastd4 hingegen &amp;lt;tt&amp;gt;172.27.255.10&amp;lt;/tt&amp;gt;&lt;br /&gt;
* Das VPN wird als Transport-Netz benutzt: IP-Pakete mit fremden Quell- und Zieladressen werden darüber transportiert.&lt;br /&gt;
* Verfügt ein Supernode über Kontakt zu weiteren Netzten  so annonciert er eine entsprechende Route. In der Abbildung kann fastd4 über das Tor-Netzwerk Verbindungen zum WWW aufbauen. Er annonciert daher die Route &amp;lt;tt&amp;gt;0.0.0.0/0&amp;lt;/tt&amp;gt; (Default Route). Verfügt ein Node über Kontakt im ChaosVPN (http://wiki.hamburg.ccc.de/ChaosVPN) oder IC-VPN (http://wiki.freifunk.net/IC-VPN) so annonciert er diese Netzbereiche.&lt;br /&gt;
* Das VPN ist verschlüsselt. Nutzlast wie z.B. Service-Aufrufe müssen daher nicht zusätzlich per SSL/TLS gesichert werden.&lt;br /&gt;
* Jeder Router annonciert zusätzlich das im zugeteilte Netz -- fastd3: &amp;lt;tt&amp;gt;172.27.8.0/21&amp;lt;/tt&amp;gt;,  fastd4: &amp;lt;tt&amp;gt;172.27.16.0/21&amp;lt;/tt&amp;gt;&lt;br /&gt;
* Der Schlüsselaustausch erfolgt via github (https://github.com/ff-kbu/bbkeys).&lt;br /&gt;
Paul nimmt hierbei eine Sonderrolle ein: Als einziger, regulärer Router zum Internet kann er als IPv4- und IPv6-Default-Router verwendet werden. Paul ist kein Supernode sondern wickelt lediglich externen Traffic ab.&lt;br /&gt;
&lt;br /&gt;
==== Anycast ====&lt;br /&gt;
&amp;lt;todo nicht implementiert&amp;gt; &lt;br /&gt;
Jeder Node ist über das Infrastruktur-Netz auf der IP &amp;lt;tt&amp;gt;172.27.0.1&amp;lt;/tt&amp;gt; erreichbar. Hierüber können Klienten Status-Informationen des Nodes beziehen, bei dem sie eingebucht sind.&lt;br /&gt;
&amp;lt;/todo nicht implementiert&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== IPv6 ===&lt;br /&gt;
[[Datei:Osi-3-v6.png|thumb|450px|right|Abb. 6]]&lt;br /&gt;
Abb. 6 illustriert die IPv6 Konfiguration. Wie zuvor bei IPv4 sind zur Vereinfachung nicht alle Supernodes und Server dargestellt. Für IPv6 werden die folgenden Addressbereiche verwendet:&lt;br /&gt;
* &amp;lt;tt&amp;gt;fdd3:5d16:b5dd::/48&amp;lt;/tt&amp;gt; Unique Local Addresses (ULA)&lt;br /&gt;
* &amp;lt;tt&amp;gt;2001:67C:20A0:B100::/56&amp;lt;/tt&amp;gt; Global.&lt;br /&gt;
Die Verwendung der Public IPv6 Address ermöglicht, dass alle Teilnehmer des Freifunk-Netzes extern erreichbar sind. &lt;br /&gt;
&lt;br /&gt;
Von ''oben nach unten'' werden die Netze wie folgt verwendet:&lt;br /&gt;
&lt;br /&gt;
==== Mesh ====&lt;br /&gt;
Im Mesh werden ULA und global gültige IPv6-Addressen verwendet. Jedem Supernode ist ein eigenes, globales /64 Subnet zugewiesen. Der Supernode verwendet die Host-ID 1. Hier: fastd3: &amp;lt;tt&amp;gt;2001:67c:20a0:b104::1/6&amp;lt;/tt&amp;gt;, fastd4: &amp;lt;tt&amp;gt;2001:67c:20a0:b105::1/64&amp;lt;/tt&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
Supernodes versenden Router Advertisments (RA) im kompletten Segment. Nodes und Klienten erhalten aus jedem Pool eine Addresse (stateless autoconfiguration). Jeder Supernode routed IPv6-Pakete zwischen Mesh-Cloud und Internet.&lt;br /&gt;
&lt;br /&gt;
Hinweis: Da der Klient das Default-Gateway zufällig wählt, werden Pakete idR auf verschiedenen Routes zugestellt:&lt;br /&gt;
* Sendet der Klient ein Paket, so wird der vom Klienten zufällig gewählte Supernode genutzt&lt;br /&gt;
* Empfängt der Klient ein Paket, so richtet sich der Supernode nach der verwendeten Public IPv6 Addresse des Klienten: es wird der Supernode verwendet, aus dessem Subnet die Adresse stammt&lt;br /&gt;
&lt;br /&gt;
==== Backbone-VPN / Tinc ====&lt;br /&gt;
Im Backbone-VPN wird IPv6 analog zu IPv4 verwendet (vgl. [[Architektur#Backbone-VPN_.2F_Tinc | Backbone-VPN / Tinc (IPv4)]]. Jedem Teilnehmer ist eine IP aus dem Bereich &amp;lt;tt&amp;gt;fdd3:5d16:b5dd:3::/64&amp;lt;/tt&amp;gt; zugewiesen. Die Endziffer entspricht der von IPv4. Bspw. verfügt Paul über die Adressen &amp;lt;tt&amp;gt;172.27.255.3&amp;lt;/tt&amp;gt; und &amp;lt;tt&amp;gt;fdd3:5d16:b5dd:3::3&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Supernodes annoncieren fremde Public-V6 Netze des Mesh-Segments mit geringer Priorität im Tinc-Backone. Somit ist sichergestellt, dass bei einem Ausfall eines Supernodes die Addressen weiterhin verwendet werden können. Im kompletten Mesh wird &amp;lt;tt&amp;gt;fdd3:5d16:b5dd::/64&amp;lt;/tt&amp;gt; zur internen Adressierung genutzt.&lt;br /&gt;
&lt;br /&gt;
==== Sonstige Bereiche / ULA ====&lt;br /&gt;
Einzelnen Anwendungen stehen komplette /64-Netze zur Verfügung gestellt. Entsprechende Adressen sind in der Firmware fest verdrahtet. Die Nutzung eigener /64 Netze ermöglicht es, Server zu transparent migrieren ohne auf DNS angewiesen zu sein. Beispiel: collectd verwendet &amp;lt;tt&amp;gt;fdd3:5d16:b5dd:2::/64&amp;lt;/tt&amp;gt;, der collectd-Server ist unter &amp;lt;tt&amp;gt;fdd3:5d16:b5dd:2::1&amp;lt;/tt&amp;gt; erreichbar.&lt;br /&gt;
&lt;br /&gt;
== OSI-7: Anwendungen ==&lt;br /&gt;
TBD - Hier kommen hin:&lt;br /&gt;
* Register&lt;br /&gt;
* collectd&lt;br /&gt;
* DNS&lt;br /&gt;
* Ggf. Squid&lt;br /&gt;
&lt;br /&gt;
== Ausblick / Probleme / TODOs / Offene Punkte ==&lt;br /&gt;
# Anycast Info-Page implementieren&lt;br /&gt;
# In Tinc 1.0 wird das annoncieren beliebiger Netze hackish, da [http://www.tinc-vpn.org/documentation-1.1/tincctl.8 tincctl] noch nicht nutzbar ist. (Ggf. Scripten)? Alternativ können wir auch OSPF auf allen Tinc-Verbindungen nutzen - Nachteil: Komplexität.&lt;br /&gt;
# Wenn Lübeck LFF 0.3.2.1 release hat: Filter für Broadcast / Multicast dokumentieren. -&amp;gt; Weniger Last auf den fastd-Gateways.&lt;br /&gt;
# DNS-Caches auf den Supernodes _wirklich_ implementieren - bislang leiten wir ganz &amp;quot;lame&amp;quot; an Paul weiter.&lt;br /&gt;
&lt;br /&gt;
== Notizblock ==&lt;br /&gt;
Nix zu sehen - bitte weitergehen.&lt;br /&gt;
&amp;lt;strike&amp;gt; &lt;br /&gt;
&lt;br /&gt;
Im OSI-2 Segment werden die folgenden Adressen verwendet:&lt;br /&gt;
* 2001:67c:20a0:b102::/64&lt;br /&gt;
* fdd3:5d16:b5dd::/64&lt;br /&gt;
* fdd3:5d16:b5dd:1::/64&lt;br /&gt;
&lt;br /&gt;
=== Konfiguration Super-Nodes ===&lt;br /&gt;
Jeder Super-Node betreibt einen DHCPv4-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.&lt;br /&gt;
&lt;br /&gt;
Die aktuelle Planung sieht 8 Super-Nodes für das FF-KBU vor, auf denen DHCP-Server betrieben werden. Keys und DNS-Namen sind in der Firmware hinterlegt. Bei Bedarf können weitere Super-Nodes hinzugefügt werden.&lt;br /&gt;
&lt;br /&gt;
=== Konfiguration Nodes ===&lt;br /&gt;
''&amp;lt;todo&amp;gt; (TODO: Implementierung in der Firmware ausstehend).''&lt;br /&gt;
&lt;br /&gt;
Nodes verwenden im Uplink-Netz zusätzlich den ULA-Bereich&lt;br /&gt;
*fdd3:5d16:b5dd:1::/64 &lt;br /&gt;
Jeder Node kann über seine Public-IPv6, ULA-IPv6, Link-Local-IPv6 Adressen und die IPv4-Adresse seines WAN-Uplink-Netzes erreicht werden. Jedem Node wird dadurch eine eindeutige Adresse aus fdd3:5d16:b5dd::/64 zugewiesen, die aus allen Netzen - mit denen er verbunden ist erreicht werden kann &lt;br /&gt;
&lt;br /&gt;
Gleichzeitig verwendet jeder Node die anycast-Adresse 172.27.0.255, die nur aus dem Infrastruktur-Netz erreichbar ist. Hierdurch kann ein Client explizit abfragen, mit welchem Node er verbunden ist. &amp;lt;/todo&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== IPv6 / RADVD ===&lt;br /&gt;
Hinweis: Aktell nicht so umgesetzt - Tinc in Squeeze hat da afair Probleme TODO: Umsetzen.&lt;br /&gt;
Super-Nodes betreiben radvd-Server im Adressbereich 2001:67c:20a0:b102::/64 und annoncen sich selbst als Router&lt;br /&gt;
&amp;lt;/strike&amp;gt;&lt;br /&gt;
[[Category:Netzdesign]]&lt;/div&gt;</summary>
		<author><name>Globalhawk</name></author>
	</entry>
</feed>