Diskussion:Freifunk Firmware NRW/Häufige Fragen

Aus wiki.freifunk.net
Zur Navigation springenZur Suche springen

Firmware

Log

The MTU of interface mesh-vpn is too small (1426)[...]

{{{FrageKurz}}}

Frage: Ich habe das im Log gefunden. Bedeutet das Handlungsbedarf oder nehmen wir das in Kauf?

Die Pakete die man im Internet verschickt sind üblicherweise 1500 Byte groß.

Ein DSL-Anschluss weicht wegen einem Protokoll namens PPPoE ein bisschen von der Norm ab und dort ist die Maximalgröße 1492 Byte.

Wenn wir nun mit Batman-adv-Pakete verschicken wollen, die 1500 Byte groß sind benötigt Batman-adv für seine Arbeit natürlich auch noch gewisse Informationen, die er mitschicken muss, das nennt man Kapseln. Das normale Datenpaket (ein Ethernetframe) wird also in ein Batman-adv verpackt, die Batman-adv-Informationen stehen am Anfang, damit es weiß was es damit zu tun hat.

Über WLAN sind größere Pakete eher unkritisch, daher erhöhen wir die Maximal Paketgröße (MTU, Maximal Transfer Unit) um den Platz den Batman-adv benötigt um seinen Dienst zu verrichten, sodass alle Pakete bis 1500 Bytes ohne Probleme durchs Batman-adv Netz über WLAN übertragen werden können.

Wenn wir die Daten nun über das Internet verschicken wollen haben wir zwei Probleme, die ursprünglichen Daten sind schon 1500 Byte groß, wir müssen zusätzlich die Batman-adv-Infos dabei rechen, und dann können wir Batman-adv nicht direkt im Internet als Protokoll verwenden, sondern müssen diese Daten erstmal Kapseln und für das Internet konform machen.

Also sinkt die maximale Transfergröße eines Datenpaketes deutlich, um zu verhindern das Pakete mit 1500 Byte nicht übertragen werden können bietet TCP/IP wie auch viele andere Protokolle eine Fragmentierung an, hiermit wird ein Datenpaket zerteilt, in mehreren kleineren Paketen übertragen und beim Empfänger wieder zusammen gesetzt.

Dieses bietet Batman-adv ebenfalls an, sodass wir bei der Fragmentierung nicht auf TCP/IP zurückgreifen müssen.

Um die Daten nun über das Internet zu übertragen verwenden wir fastd, dieses hat auch einige Informationen in jedes Paket zu packen, um mit den empfangenen Daten umzugehen (z.B. die Verschlüsselung wird dort definiert). Also muss zwischen die Adressierung für das Internet und die Batman-adv-Informationen noch ein Informationsblock für fastd.

Unser Paket sieht mittlerweile (vereinfacht) wie folgt aus:

[IP/UDP][fastd][batman-adv][Daten]

Nun passt unser Paket einfach nicht mehr in einem Block in ein 1500 Byte großes Paket, das bedeutet das unser Paket erst von Batman in zwei oder mehr Teile zerlegt wird und dann wie folgt (vereinfacht) übertragen wird:

[IP/UDP][fastd][batman-adv][Datenblock1] [IP/UDP][fastd][batman-adv][Datenblock2]

Dieser Umstand sorgt dafür das viele Informationen die eigentlich für beide Datenblöcke gelten doppelt versendet werden müssen, dazu muss natürlich die doppelte Anzahl an Paketen herausgesendet, empfangen und verarbeitet werden. Dies ist der Umstand vor dem Batman-adv an der zitierten Stelle warnt.