[Freifunk-Bonn] MTU of interface mesh-vpn is too small

Ruben Kelevra cyrond at gmail.com
Mi Apr 10 00:20:00 CEST 2013


Hallo Dirk,

nein, das ist kein Grund zur Beunruhigung, ich kenn dich leider nicht
persönlich, daher kann ich schwer deinen Kenntnisstand einschätzen,
ich versuch es mal einfach zu erklären:

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 und empfangen
und verarbeitet werden. Dies ist der Umstand vor dem Batman-adv an der
von dir zitierten Stelle warnt.


Lieben Gruß aus Wermelskirchen


Ruben

2013/4/10 Dirk Theisen <d.theisen at gmx.net>:
> Huhu, Techniker!
>
> Apr  9 23:50:42 bibo kern.info kernel: [   75.860000] batman_adv: bat0: Adding interface: mesh-vpn
> Apr  9 23:50:42 bibo kern.info kernel: [   75.860000] batman_adv: bat0: The MTU of interface mesh-vpn is too small (1426) to handle the transport of batman-adv packets. Packets going over this interface will be fragmented on layer2 which could impact the performance.
>
> Ich habe das hier im Log gefunden. Bedeutet das Handlungsbedarf oder nehmen wir das in Kauf?
>
> Gruß,
>    Dirk
> --
> _______________________________________________
> Freifunk-Bonn mailing list
> Freifunk-Bonn at lists.bonn.freifunk.net
> http://lists.kbu.freifunk.net/cgi-bin/mailman/listinfo/freifunk-bonn



Mehr Informationen über die Mailingliste Freifunk-Bonn