Schnaittach synchron/asynchron

Tim Niemeyer tim at tn-x.org
Do Jun 14 21:38:55 CEST 2018


Moin

Oh weh.. Eigentlich wollte ich ganz schnell eben antworten..

Naja.. viel Spaß beim Lesen.

Am Donnerstag, den 14.06.2018, 18:38 +0200 schrieb fff at mm.franken.de:
> Hallo Tim,
> 
> > > ob wir eine synchrone oder asynchrone Leitung haben wollen...
> > > Was ist besser? was sind die Kriterien?
> > 
> > Ihr wollt natürlich N-IX Zugang haben, weil dort liegt bereits das
> > Freifunk L3 Netz an. 
> 
> Ja, über N-IX sind wir zu proact gekommen.
> 
> Jetzt mal laienhaft gefragt: wozu könnten wir "L3" gebrauchen?
Puh. Also ich versuchs mal, wenn alles oder nur Teile davon unklar
sind. Dann musst du aber bitte nachfragen.

"Kurz" etwas ((arg) vereinfachte) technische Grundlagen. Ich habe nicht
die korrekten Namen der Schichten verwendet, sondern die, womit man
sich (also: ich mir) das alles besser merken:
--- %< ---
Layer 1:
- Dies ist die physikalische Schicht. Man kann es sich als Licht (auf
Glasfaser) oder Strom (auf Kupfer) vorstellen. Dabei geht es darum wie
eben dieses Medium genutzt wird und letztlich logische Daten von einem
Punkt im Raum zum anderen übertragen werden können.

Layer 2:
- Dies ist die Ethernet-Schicht. Hier geht es nun darum, dass
"Netzwerk-Pakete" (Ethernet-Frames) von einem Computer zum anderen
übertragen werden können.
- Jeder der Computer hat eine Nummer/Adresse anhand Ziel und Absender
bestimmt werden kann (Ähnlich wie ne Telefonnummer). Diese nennt sich
MAC-Adresse.
- Es gibt Verteiler. Man nennt sie Switch. Damit kann man mehrere
Computer untereinander verbinden. Switche führen eine Liste aller
bekannten Adressen und wenn ein Frame (Paket) nun auf einem Port
ankommt, wird der Port passend zur Ziel-Adresse in einer Liste
nachgeschlagen. Der Switch leitet dann den Frame weiter.
- Es gibt einen Broadcast Mechanismus, mit dem ein Paket von einem
Absender an _jeden_ angeschlossenen Teilnehmer geschickt wird.

Layer 3:
- Dies ist die IP-Schicht. Hier geht es nun endlich um IP-Adressen und
IP-Pakete. Sowohl IPv4 als auch IPv6. Im folgenden das Beispiel nur per
IPv4.
- Jeder Computer hat eine IP-Adresse, eine Netzmaske und eine Gateway-
Adresse.
- Die IP-Adresse wird benutzt um ein Ziel und ein Absender zu
bestimmen.
- Die Netzmaske gibt an, was zum "eigenen Netzwerk" (man nennt es
Subnetz) gehört und was nicht.
- Alle Pakete, welche zwischen zwei Computern innerhalb eines Subnetzes
geschickt werden, werden direkt verschickt. Dazu ermittelt der
Absender-Computer die MAC-Adresse vom Ziel-Computer und schickt das IP-
Paket über die Layer-2 Verbindung zum Ziel.
- Alle Pakete, welche zwischen zwei Computern geschickt werden, welche
nicht im selben Subnetz sind (PC zu Hause und Server von $Webseite;
oder PC in Hood Fürth und PC in Hood BGL) müssen zunächst zum Gateway
geschickt werden. Der Absender-PC ermittelt die MAC Adresse vom Gateway
und schickt das IP-Paket per Layer-2 zum Gateway. Das Gateway (man
nennt es eigentlich Router) ermittelt dann über seine Routing-
Tabelle welcher der nächste Router ist, damit das Paket auf dem
möglichst kürzesten Weg an kommen kann (i.d.R. sind zwischen Absender
und Empfänger eine oder mehrere Handvoll Router). Jeder Router
ermittelt dann wiederum die MAC-Adresse vom nächsten und gibt das Paket
wieder per Layer-2 weiter.
- Die einzelnen Layer-2 Netzwerke zwischen den Routern sind also von
einander getrennt und Daten können nur über Router von einem Layer-2
Netz ins andere übermittelt werden.

Layer 4:
- Dies ist die Port-Schicht.
- Hierüber werden bestimmte Dienste auf einem Computer-Adressiert. Zum
Beispiel kann man so einen Web-Server oder einen Mail-Server erreichen.
- Gehe ich nicht weiter drauf ein.

Layer 5-7:
- Überspringe ich. Sind i.d.R. nicht so wichtig. ;)

Layer 8:
- Das bist du, wie du vor dem Computer sitzt.

Ich könnte mir vorstellen, dass es auf dem #18fff [1] vielleicht auch
den ein oder anderen Vortrag gibt, der Netzwerk Grundlagen erläutert:
- "Was ist eigentlich dieses L3 (Layer 3)?"
--- >% ---

Kurz mal etwas Analogie rausgeholt:
--- %< ---
Das Internet besteht aus vielen Firmen (die vielfach sogar gegenseitig
konkurrieren), viele davon betreiben eigene Netzwerke. Damit nun jede
Firma mit jeder anderen Firma Daten austauschen kann, müsste jede mit
jeder verbunden sein. Dies ist nicht möglich, weil es vermutlich nicht
genügend Glasfasern dafür auf der Erde gibt. Also verbinden sich die
Firmen jeweils nur mit ihren "Nachbarn" (das nennen man Peering). Eine 
Firma kann einer anderen neben dem Peering aber auch sog. Transit
anbieten. Dabei werden die Daten der einen Firma über das Netzwerk der
anderen Firma durchgeleitet. Auf diesem Wege kann nun jede Firma mit
jeder anderen Firma Daten austauschen.
(Natürlich gibt es auch im Internet teilweise auch Hierarchien und auch
andere Entitäten als Firmen usw ..)
--- >% ---

Das Freifunk-Netz besteht nun auch aus vielen "Firmen" (ich nenne das
im folgenden lieber "Entitäten"). Auch diese betreiben jeweils ihre
eigenen Netzwerke und Peeren mit anderen Entitäten. Weil jeder
Freifunker dem Pico-Peering-Agreement zustimmt, wird neben dem Peering
auch immer der Transit gewährt. 

Man kann sich nun auf den Standpunkt stellen, dass beim Peering
_eigentlich_ nicht das gemeint ist, was viele als "meshing" bezeichnen.
Also dem wilden Funk-Verbinden, was die klassischen Freifunk-Knoten so
gern tun. Beim Peering ist eigentlich gemeint, dass unterschiedliche
Subnetze (bei uns Hoods genannt) miteinander verbunden werden. Dies tun
nicht die klassischen Router-Aufsteller sondern in unserem Fall die
Gateway-Betreiber. Diese peeren untereinander und diese gewähren sich
auch Transit. (Dabei sollte man erwähnen, dass die meisten Gateways in
unterschiedlichen Rechenzentren stehen und keine eigenen Verbindungen
haben. Das Peeren und daher auch der Transit erfolgen in den
allermeisten Fällen daher nur auf virtueller Infrastruktur (VPNs), die
eigentlich auf das Internet zurück greift.)

Die klassischen Freifunk Knoten verbinden sich gegenseitig und mit den
Gateways und bilden dabei nur ein großes Layer-2 Netz. Jeder Computer
darin kann direkt mit jedem anderen Computer darin reden. Außerdem sind
die meisten genutzten Verbindungen ebenfalls keine echten
physikalischen eigenen Leitungen, sondern nur virtuelle (VPN)
Verbindungen. Die paar wenigen echten physikalischen Verbindungen
(WLAN-"Mesh"), sind leider oft auch nur sehr unzureichend aufgebaut
(Frequenzen voll, schlechte Ausrichtungen, etc). Dazu kommt, dass alle
Ethernet-Frames die in einen Freifunk-Knoten eindringen zunächst in das
sog. batman-adv Protokoll hineingepackt werden. Dieses erzeugt einen
Overhead und der Ethernet-Frame wird größer. Oftmals zu groß, um ihn
durch Layer-1 zu kriegen. Also müssen viele Pakete zunächst aufgeteilt
werden und dann hat man schon zwei. Wenn die Pakete dann noch durch die
virtuelle Layer-2 Verbindung (dem VPN) müssen, weil sie z.B. zum
Gateway geschickt werden um ins Internet zu gelanden, kommt nochmal
Overhead von dem VPN hinzu.

> Was genau machen wir damit?
Darüber funktioniert das Freifunk Peering zwischen verschiedenen Hoods.
 Für die ganzen klassischen Freifunk-Knoten (man nennt sie inzwischen
oft gern V1 und V2 Knoten), ist das alles unspannend. Da gibt es nur
Einheitsbrei und der ist nicht mal mehr recht als schlecht.

Viel spannender wird es, wenn man die Hood zu sich nach Hause holt und
so ein eigenes Subnetz gestaltet. Damit kann man dann auch richtige
Peerings eingehen und man verliert sehr sehr viel Overhead und andere
Probleme. Jedes Gateway einer Hood wird dabei über eine eigene Leitung
an seine Nachbarn angeschlossen, das kann z.B. Richtfunk oder eben zur
Not auch VPN sein.

> > > Die Idee ist, eine schnelle Leitung auf das Rathaus-Türmchen,
> > > und von dort in der Stadt verteilen...

Auf dem Rathaus-Türchmen könnte man z.B. einen eigenen Gateway
installieren. Diesen bindet man dann aber eben nicht per VPN über das
Internet an das Freifunk-Netz, sondern über eine physikalische
Glasfaser-Leitung (z.B. über den N-IX). Auf dieser Leitung können dann
per Layer-3 Daten ausgetauscht werden. An das Rathaus-Türmchen können
dann
- Clients per Funk
- Clients per Richtfunk
- andere Gateways per Richtfunk
angeschlossen werden.

Richtfunk gibt es inzwischen (z.B. bis zu 1.5 km) für erschwingliches
Geld bereits mit vollem Gigabit. So wäre es möglich weitere Gateways in
der Stadt an die entsprechend schnelle Leitung anzubinden.

> > > Was für eine Bandbreite ist mindestens erforderlich, damit man
> > > mehrere
> > > Standorte mit entsprechend vielen Clients versorgen kann?
> > 
> > Es kommt weniger auf die Bandbreite als mehr auf die Technik an.
> > Wenn du dort nur einen Internet Zugang hast und dann per VPN in
> > eine zentrale Freifunk Hood gehst, wird es immer langsam sein, egal
> > wie schnell eure Internet Anbindung ist.
> 
> Was also müssten wir genau tun? (ich bin Laie)

Ihr braucht für die minimal-Version:
* ein Port am N-IX
* eine Faser dort hin
* ein VLAN zu dem Port von F3 Netze
* ein Gateway vor Ort
Dann können wir ein Babel (Freifunk L3) Peering machen.

Ihr braucht für die coole-Version:
* alles von oben
* ein BGP Router (kann ne kleine Linux Kiste sein)
* ein Abkommen mit F3 Netze, damit ihr die IPs von F3 Netze ebenfalls
am N-IX announcen dürft

Tim

1: https://wiki.freifunk.net/Freifunk_Festival_2018

> Mit herzlichem Gruss,
> Markus
-------------- nächster Teil --------------
Ein Dateianhang mit Binärdaten wurde abgetrennt...
Dateiname   : signature.asc
Dateityp    : application/pgp-signature
Dateigröße  : 488 bytes
Beschreibung: This is a digitally signed message part
URL         : <http://lists.freifunk.net/mailman/private/franken-freifunk.net/attachments/20180614/6a0fc9fe/attachment.sig>


Mehr Informationen über die Mailingliste franken