MTU funktionsweise und Bits
Guten Tag
Ich habe eine Frage zur Funktion bzw. der Einstellung einer MTU. Ich habe folgenden Artikel zu welchem ich Fragen habe:
http://www.borghesi-datalink.ch/index.php/support/tipps-tricks/15-mtu-g ...
Nun ein Datenframe ist im Normalfall 1518 (28 bytes der Header + 15000 Bytes die Payload) Bytes gross und ein Datenpaket 64 KiBy.
Auf dieser verlinkten Website wird nun beschrieben wie eine MTU richtig eingestellt werden kann. Wieso ist diese MTU nicht immer bei 1518 Bytes? Einmal lese ich von einer Standard grösse von 1518 Bytes mal 1500 Bytes bei Ethernet. Fakt ist doch ein Datenframe ist ca. 1518 Bytes gross. Jedoch kann es kleiner sein wenn weniger Daten verschickt werden oder halt um 4 Bytes grösser wenn VLAN Tags im Frame noch existieren.
Die Website geht von einem ISP aus welcher als Standward Wert für die MTU 1492 Bytes hat wieso auch immer. Dann werden 28 Bytes dazugerechnet wieso wird dazu IPv4 und ICMP genommen? Mein Traffic wird ja nicht nur aus ICMP bestehen? Meine Payload wird ja höchstwahrscheinlich auch immer bei 1500 Bytes liegen...
Was spielt das für eine Rolle wie hoch die MTU eingestellt ist im normal Fall muss doch immer eine Fragmentierung gemacht werden weil mehr als 1518 Bytes von einem Datenpaket in ein Datenframe erzeugt werden?
Vielen Dank fürs Aufklären der Fragen.
Nicolas
Ich habe eine Frage zur Funktion bzw. der Einstellung einer MTU. Ich habe folgenden Artikel zu welchem ich Fragen habe:
http://www.borghesi-datalink.ch/index.php/support/tipps-tricks/15-mtu-g ...
Nun ein Datenframe ist im Normalfall 1518 (28 bytes der Header + 15000 Bytes die Payload) Bytes gross und ein Datenpaket 64 KiBy.
Auf dieser verlinkten Website wird nun beschrieben wie eine MTU richtig eingestellt werden kann. Wieso ist diese MTU nicht immer bei 1518 Bytes? Einmal lese ich von einer Standard grösse von 1518 Bytes mal 1500 Bytes bei Ethernet. Fakt ist doch ein Datenframe ist ca. 1518 Bytes gross. Jedoch kann es kleiner sein wenn weniger Daten verschickt werden oder halt um 4 Bytes grösser wenn VLAN Tags im Frame noch existieren.
Die Website geht von einem ISP aus welcher als Standward Wert für die MTU 1492 Bytes hat wieso auch immer. Dann werden 28 Bytes dazugerechnet wieso wird dazu IPv4 und ICMP genommen? Mein Traffic wird ja nicht nur aus ICMP bestehen? Meine Payload wird ja höchstwahrscheinlich auch immer bei 1500 Bytes liegen...
Was spielt das für eine Rolle wie hoch die MTU eingestellt ist im normal Fall muss doch immer eine Fragmentierung gemacht werden weil mehr als 1518 Bytes von einem Datenpaket in ein Datenframe erzeugt werden?
Vielen Dank fürs Aufklären der Fragen.
Nicolas
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 388394
Url: https://administrator.de/contentid/388394
Ausgedruckt am: 23.11.2024 um 00:11 Uhr
21 Kommentare
Neuester Kommentar
Hallo,
https://de.wikipedia.org/wiki/Maximum_Transmission_Unit
http://www.firewall.cx/networking-topics/65-tcp-protocol-analysis/138-t ...
https://tools.ietf.org/html/rfc2923
https://tools.ietf.org/html/rfc879
https://tools.ietf.org/html/rfc791
Einmal lese ich von einer Standard grösse von 1518 Bytes mal 1500 Bytes bei Ethernet.
Warum ist dunckel Grau nicht Schwarz? Es kommt auf die Betrachtung drauf an und wo und wie diese Pakete transportiert werden sollen.
Gruß,
Peter
https://de.wikipedia.org/wiki/Maximum_Transmission_Unit
http://www.firewall.cx/networking-topics/65-tcp-protocol-analysis/138-t ...
https://tools.ietf.org/html/rfc2923
https://tools.ietf.org/html/rfc879
https://tools.ietf.org/html/rfc791
Nun ein Datenframe ist im Normalfall
Aber dieser Normalfall gilt nur für dein LAN. Das WAN bzw. dein Internet kann einen anderen Normalfall haben.Einmal lese ich von einer Standard grösse von 1518 Bytes mal 1500 Bytes bei Ethernet.
Warum ist dunckel Grau nicht Schwarz? Es kommt auf die Betrachtung drauf an und wo und wie diese Pakete transportiert werden sollen.
Gruß,
Peter
Die MTU bezieht sich ja nur auf Layer 3, da ist der Ethernet-Frame erstmal egal.
Normalerweise wird in reinen Ethernet-Umgebungen eine MTU von 1500 Bytes verwendet. Das IP-Paket selbst ist dann diese 1500 Bytes groß. Wie groß dann der Ethernet-Frame ist, ist nicht mehr das Problem der MTU
Die 1518 Bytes sind die gesamte Frame-Größe des Ethernet-Frames - dieser ist aber wie gesagt streng genommen nicht Teil der MTU.
Normalerweise wird in reinen Ethernet-Umgebungen eine MTU von 1500 Bytes verwendet. Das IP-Paket selbst ist dann diese 1500 Bytes groß. Wie groß dann der Ethernet-Frame ist, ist nicht mehr das Problem der MTU
Die 1518 Bytes sind die gesamte Frame-Größe des Ethernet-Frames - dieser ist aber wie gesagt streng genommen nicht Teil der MTU.
Moin,
die MTU sagt was darüber aus, welche Größe IP-Pakete maximal haben sollten, damit sie über das Schicht-2-Medium ohn eFragmentierung übertragen werden können. bei ethernet sind das die besagten 1500, weil der Payload eines Standard-Ethernet-Frames eben nicht mehr hergibt. bei pppoE geht dann nochmal wir das encapsulation nochmal was drauf, so daß hier die Provider die MTU auf 1492 setzen. bei anderen Übertragungsmedien können die MTUs nochmal ganz anders sein, siehe z.B. den RFC 1626: Default IP MTU for use over ATM AAL5
lks
die MTU sagt was darüber aus, welche Größe IP-Pakete maximal haben sollten, damit sie über das Schicht-2-Medium ohn eFragmentierung übertragen werden können. bei ethernet sind das die besagten 1500, weil der Payload eines Standard-Ethernet-Frames eben nicht mehr hergibt. bei pppoE geht dann nochmal wir das encapsulation nochmal was drauf, so daß hier die Provider die MTU auf 1492 setzen. bei anderen Übertragungsmedien können die MTUs nochmal ganz anders sein, siehe z.B. den RFC 1626: Default IP MTU for use over ATM AAL5
lks
Moin,
eine Rolle spielt es, wenn das Medium gewechselt wird. Du hast zuhause ein Ethernet. Dort ist die MTU 1500 bytes bei einer Framegröße von 1518 byte. Die 18 byte mehr im Frame sind die beiden MAC-Adressen (2x48 bit = 12 byte), das Typenfeld (2 byte) und Checksumme (4 byte). Das ist aber nur im Ethernet so. Auf anderen Medien sehen die Frames anders aus und so ergibt sich dort eine andere MTU. So sind bei den verschiedenen Providern verschiedene MTUs im PPPoE-Frame üblich (http://www.nwlab.net/art/mtu/mtu.html). Jetzt nehmen wir mal an, Du willst 1 MB übertragen. Das ergibt bei einer MTU von 1500 bytes 700 Datenpakete. 699 Davon nutzen die volle MTU aus. Diese 699 Pakete kommen nun beim Router an und sollen ins Internet. Die andere Seite kann aber nur eine MTU von 1492. Das hat als erste Konsequenz, dass aus den 699 Paketen 1398 Pakete werden, da jedes einzelne fragementiert werden muss. Die zweite Konsequenz ergibt sich aus der Größe des zweiten Pakets. Das ist nur 8 byte groß. Ein Paket im Ethernet z. B. muss aber mindestens 64 byte groß sein. D. h. das Paket muss mit nutzlosen Daten aufgefüllt werden. Dadurch werden 699x56byte = 38kbyte zusätzliche Datenlast erzeugt. Stelle ich hingegen die MTU so ein, dass sie zu meinem Provider passt, dann sind es nur 703 Pakete, die unfragmentiert übertragen werden können.
Lange Rede, kurzer Sinn: Eine auf den Provider abgestimmte MTU macht das Ganze ein wenig schneller.
Wenn wir gerade dabei sind: Noch schneller wird es, wenn man auch das TCP-Window auf die Leitungsgeschwindigkeit anpasst.
hth
Erik
eine Rolle spielt es, wenn das Medium gewechselt wird. Du hast zuhause ein Ethernet. Dort ist die MTU 1500 bytes bei einer Framegröße von 1518 byte. Die 18 byte mehr im Frame sind die beiden MAC-Adressen (2x48 bit = 12 byte), das Typenfeld (2 byte) und Checksumme (4 byte). Das ist aber nur im Ethernet so. Auf anderen Medien sehen die Frames anders aus und so ergibt sich dort eine andere MTU. So sind bei den verschiedenen Providern verschiedene MTUs im PPPoE-Frame üblich (http://www.nwlab.net/art/mtu/mtu.html). Jetzt nehmen wir mal an, Du willst 1 MB übertragen. Das ergibt bei einer MTU von 1500 bytes 700 Datenpakete. 699 Davon nutzen die volle MTU aus. Diese 699 Pakete kommen nun beim Router an und sollen ins Internet. Die andere Seite kann aber nur eine MTU von 1492. Das hat als erste Konsequenz, dass aus den 699 Paketen 1398 Pakete werden, da jedes einzelne fragementiert werden muss. Die zweite Konsequenz ergibt sich aus der Größe des zweiten Pakets. Das ist nur 8 byte groß. Ein Paket im Ethernet z. B. muss aber mindestens 64 byte groß sein. D. h. das Paket muss mit nutzlosen Daten aufgefüllt werden. Dadurch werden 699x56byte = 38kbyte zusätzliche Datenlast erzeugt. Stelle ich hingegen die MTU so ein, dass sie zu meinem Provider passt, dann sind es nur 703 Pakete, die unfragmentiert übertragen werden können.
Lange Rede, kurzer Sinn: Eine auf den Provider abgestimmte MTU macht das Ganze ein wenig schneller.
Wenn wir gerade dabei sind: Noch schneller wird es, wenn man auch das TCP-Window auf die Leitungsgeschwindigkeit anpasst.
hth
Erik
Zitat von @erikro:
Lange Rede, kurzer Sinn: Eine auf den Provider abgestimmte MTU macht das Ganze ein wenig schneller.
Lange Rede, kurzer Sinn: Eine auf den Provider abgestimmte MTU macht das Ganze ein wenig schneller.
Üblicherweise stimmt man die MTU auf den Transportweg ab und nicht auf den eigenen Provider. Aber man sollte die MTU nicht größer wählen, als es der Provider angibt.
lks
Edit: Typo
Zitat von @Lochkartenstanzer:
Üblicherweise stimmt man die MTU auf den Transportweg ab und nicht auf den eigenen Provider. Aber mann sollte die MTU nicht größer wählen, als es der provider angibt.
Üblicherweise stimmt man die MTU auf den Transportweg ab und nicht auf den eigenen Provider. Aber mann sollte die MTU nicht größer wählen, als es der provider angibt.
Das ist dann die hohe Kunst der MTU-Einstellung.
Moin,
Nein, ein Datenpaket kann im Ethernetframe maximal 1.500 byte groß sein. Deshalb nutzt man nicht die theoretisch mögliche ganze Größe des IP-Paketes. Und 1MB/1500byte ~ 700
Nee, guck mal hier. Ist zwar schon ein wenig älter, stimmt aber immer noch.
Liebe Grüße
Erik
Zitat von @nicuhu:
Jetzt nehmen wir mal an, Du willst 1 MB übertragen. Das ergibt bei einer MTU von 1500 bytes 700 Datenpakete. 699 Davon nutzen die volle MTU aus. Diese 699 Pakete kommen nun beim Router an und sollen ins Internet. Die andere Seite kann aber nur eine MTU von 1492. Das hat als erste Konsequenz, dass aus den 699 Paketen 1398 Pakete werden, da jedes einzelne fragementiert werden muss. Die zweite Konsequenz ergibt sich aus der Größe des zweiten Pakets. Das ist nur 8 byte groß. Ein Paket im Ethernet z. B. muss aber mindestens 64 byte groß sein. D. h. das Paket muss mit nutzlosen Daten aufgefüllt werden. Dadurch werden 699x56byte = 38kbyte zusätzliche Datenlast erzeugt. Stelle ich hingegen die MTU so ein, dass sie zu meinem Provider passt, dann sind es nur 703 Pakete, die unfragmentiert übertragen werden können.
Wieso 700 Datenpakete? Ein Datenpaket kann bis zu 64KByte (Header+Payload) sein wieso nutzt man nicht die gesamte Grösse? Diese Datenpakete muss man doch anschliessend umkapseln in Daten-Frame welche nicht grösser als 1518 Bytes sein dürfen dazu muss ja fragmentiert werden.
Jetzt nehmen wir mal an, Du willst 1 MB übertragen. Das ergibt bei einer MTU von 1500 bytes 700 Datenpakete. 699 Davon nutzen die volle MTU aus. Diese 699 Pakete kommen nun beim Router an und sollen ins Internet. Die andere Seite kann aber nur eine MTU von 1492. Das hat als erste Konsequenz, dass aus den 699 Paketen 1398 Pakete werden, da jedes einzelne fragementiert werden muss. Die zweite Konsequenz ergibt sich aus der Größe des zweiten Pakets. Das ist nur 8 byte groß. Ein Paket im Ethernet z. B. muss aber mindestens 64 byte groß sein. D. h. das Paket muss mit nutzlosen Daten aufgefüllt werden. Dadurch werden 699x56byte = 38kbyte zusätzliche Datenlast erzeugt. Stelle ich hingegen die MTU so ein, dass sie zu meinem Provider passt, dann sind es nur 703 Pakete, die unfragmentiert übertragen werden können.
Wieso 700 Datenpakete? Ein Datenpaket kann bis zu 64KByte (Header+Payload) sein wieso nutzt man nicht die gesamte Grösse? Diese Datenpakete muss man doch anschliessend umkapseln in Daten-Frame welche nicht grösser als 1518 Bytes sein dürfen dazu muss ja fragmentiert werden.
Nein, ein Datenpaket kann im Ethernetframe maximal 1.500 byte groß sein. Deshalb nutzt man nicht die theoretisch mögliche ganze Größe des IP-Paketes. Und 1MB/1500byte ~ 700
Lange Rede, kurzer Sinn: Eine auf den Provider abgestimmte MTU macht das Ganze ein wenig schneller.
Wenn wir gerade dabei sind: Noch schneller wird es, wenn man auch das TCP-Window auf die Leitungsgeschwindigkeit anpasst.
Also MSS? Maximum Segment Size?Wenn wir gerade dabei sind: Noch schneller wird es, wenn man auch das TCP-Window auf die Leitungsgeschwindigkeit anpasst.
Nee, guck mal hier. Ist zwar schon ein wenig älter, stimmt aber immer noch.
Liebe Grüße
Erik
Zitat von @nicuhu:
Was ich mich immer noch Frage ist weshalb die MTU nicht immer gleich gross ist. Ein IP-Datenpaket und ein Ethernet Frame hat doch immer eine statische Festgrösse, das Ziel müsste doch sein, einen Frame oder Paket immer voll zu kriegen um weniger Traffic zu generieren. Ist das Protokoll spezifisch einen PPPOE Rahmen kann als Payload weniger Daten aufnehmen als ein Ethernet-Frame?
Was ich mich immer noch Frage ist weshalb die MTU nicht immer gleich gross ist. Ein IP-Datenpaket und ein Ethernet Frame hat doch immer eine statische Festgrösse, das Ziel müsste doch sein, einen Frame oder Paket immer voll zu kriegen um weniger Traffic zu generieren. Ist das Protokoll spezifisch einen PPPOE Rahmen kann als Payload weniger Daten aufnehmen als ein Ethernet-Frame?
Eben. In ein PPPOE-Frame "paßt" weniger payload, weil Du für das PPP Headerinformationen brauchst. udn das gesamtpaket immer noch in ein Ethernet-Frame passen muß. Und es gibt übertragungsverfahren, die ganz andere Frame-Größen haben (siehe Links oben). Udn um performace-Verluste duch unnötiges zwischenfragmentieren zu vermeiden, stellt man manchmal die MTU passend auf den Übertragungsweg ein, so daß vielleicht noch kleinere MTUs zustandekommen.
lks
Hallo,
Warum sagts du nicht was du nicht verstehst anstatt nur zu sagen "Du verstehst nicht"?
Gruß,
Peter
Warum sagts du nicht was du nicht verstehst anstatt nur zu sagen "Du verstehst nicht"?
Gruß,
Peter
Hallo,
Das einzige was in der IT / EDV genormt ist ist o und 1.
Gruß,
Peter
Zitat von @nicuhu:
Weshalb werden dort erst die Headerinfos von IPv4 und ICMP also die 28 Byts vom Wert 1492 Bytes subtrahiert und ein Ping abgesetzt und am Schluss wenn der richtige Wert für die MTU ermittelt wurde diese 28 Bytes wieder dazu addiert?
Die Header sind nicht immer gleich, nur wenn du es auf einen Anschluß (WAN Port X und über Technology Y mit Anbieter Z) und ein Protokoll (ICMP) geht brauchst du das alles nicht vor- und zurückrechnen.Weshalb werden dort erst die Headerinfos von IPv4 und ICMP also die 28 Byts vom Wert 1492 Bytes subtrahiert und ein Ping abgesetzt und am Schluss wenn der richtige Wert für die MTU ermittelt wurde diese 28 Bytes wieder dazu addiert?
Wieso ist das so ein herum probieren mit Werten um den richtigen Wert zu finden?
Weil nicht jeder Weg den du fahren willst die gleichen vorraussetzungen bieten. Ist ein Untershied ob du läufst oder mit Rollschuhen zur Schule gehst / fährst. Dein Energiebedarf ist nicht gleich obwohl der Weg gleichlang sein kann (Sofern du den gleichen nimmst).Wieso passen die 1492 Bytes - 28 Bytes (Headerinfos vom IPv4 und ICMP) = 1464 Bytes nicht auf anhieb?
Weil da kein globalen immer diesen Wert nehmen passt. TCP ungleich UDP, LWL ungleich Kupfer, Protokoll ICMP ungleich Protokoll HTTP usw.Wieso passt das IP-Datenpaket welches nicht fragmentiert werden soll von 1464 Bytes nicht in ein PPPoE Frame mit einer Grösse von 1492 Byts (gesamte PPPoE Frame Grösse)? IP-Datenpaket aus sicht von Layer 3 gesehen.
Weil selbst schon bei PPOE es je nach Anwendungsfall zu Unterschiedlichen Packetgrössen kommt.Aus Sicht von Layer 2 ist das komplete IP-Datenpaket ja nur die Payload, die Schicht 2 fügt ja anschliessend noch seine Headerinfos zu.
Aber es gibt mehr als nur die Schicht 2. ICMP ist z.B. auf OSI Schicht 3 und HTTP ist auf OSI Schicht 7 angesiedelt. https://de.wikipedia.org/wiki/OSI-ModellDas einzige was in der IT / EDV genormt ist ist o und 1.
Gruß,
Peter