Was ist der Unterschied zwischen MSS und MTU?


33

Ich bin verwirrt über den Unterschied zwischen maximaler Segmentgröße und maximaler Übertragungseinheit.

Kann jemand bitte in Bezug auf Layer 2 und 3 erklären?

Wenn ich ein Paket von 800 Bytes in der Nutzlast hätte. Wäre es richtig zu sagen, dass die MSS 800 Bytes (wenn ich es so einstelle) und die MTU 840 wäre? TCP 20 und IP 20 Bytes. Wäre es anders, wenn ich PPPoE machen würde?


Obwohl dies nicht unbedingt ein Duplikat ist, kann die Antwort auf diese Frage auch Ihre Frage beantworten.
YLearn

Antworten:


19

Und dazu. MSS - Wert ergibt sich aus dem Wert der MTU , wenn Sie ein 800-Byte - Paket haben, kann es auch sagen , dass ein solches Paket war ursprünglich 2260 Bytes lang, und er brach in 2 - Paket 1460 + 800 Bytes, wenn wir MTU 1500. verwenden =
Sie say ist wahr, wenn Sie MSS = 800, sollte die MTU mindestens 840 sein. Da der PPPoE-Overhead 8 Bytes beträgt, ist MTU = 1492 Bytes und MSS = 1492-40 = 1452 Bytes.


28

Die MTU ist die maximale IP-Paketgröße für eine bestimmte Verbindung. Pakete, die größer als die MTU sind, werden an der Stelle fragmentiert, an der sich die untere MTU befindet, und weiter unten in der Kette wieder zusammengesetzt.

Wenn keine Fragmentierung gewünscht wird, müssen Sie entweder die MTU an jedem Hop überprüfen oder ein Hilfsprotokoll dafür verwenden ( Path MTU Discovery ).

Beachten Sie, dass IPv6 KEINE Paketfragmentierung durch Router unterstützt. Daher ist PMTUD mit ICMPv6 obligatorisch, wenn Sie ein Paket aufgrund einer kleinen MTU nicht irgendwo verlieren möchten. Endpunkte können fragmentieren, Router jedoch nicht. Außerdem weist IPv6 eine viel höhere MINIMUM-MTU auf.

MSS ist die maximale TCP-Segmentgröße. Im Gegensatz zu MTU werden Pakete, die MSS überschreiten, nicht fragmentiert, sondern einfach verworfen. MSS wird normalerweise beim TCP-Drei-Wege-Handshake entschieden, aber einige Setups liefern möglicherweise einen Pfad, in dem die entschiedene MSS immer noch zu groß ist und zu verworfenen Paketen führt. Das MSS wird nicht paketweise ausgehandelt, sondern für eine vollständige TCP-Sitzung, und es werden auch keine TCP / IP-Header berücksichtigt

Bei Verwendung von PPPoE bedeutet der gesamte Overhead, dass Sie die MSS auf dem Weg reduzieren müssen, indem Sie sie normalerweise auf dem Router angeben, auf dem sich der Chokepoint befindet. Dadurch wird die MSS für den durchgehenden Handshake durch den korrekten niedrigeren Wert ersetzt, falls dieser höher ist. PPPoE fügt einfach 8 Bytes (6 Bytes PPPoE + 2 Bytes PPP) zu allem hinzu (IP + TCP) und soll über Ethernet mit einer MTU von 1500 Bytes ausgeführt werden. Daher ist das 1492 MSS normalerweise für den Durchgang konfiguriert.

Ihr IP-Stack schneidet Daten ab, die an den MSS gesendet werden sollen, speichert sie in einem TCP-Segment und speichert sie dann in einem oder mehreren IP-Paketen (je nachdem, ob sie größer als die lokalen MTU-Einstellungen sind), bevor sie gesendet werden. Fortgeschrittener Router kann die Leistung weiter reduzieren, wenn er eine niedrigere MTU hat. Sie wirken sich jedoch nur auf das IP-Paket selbst aus und spielen nicht in das TCP-Segment / den TCP-Header ein.


4
Klassifizierung: IPv6 unterstützt keine Fragmentierung in Routern, Endstationen können jedoch IPv6-Pakete fragmentieren
Mike Pennington,

1
Bearbeitet meine Antwort, um genauer zu sein
Remi Letourneau

0

MTU ist die maximale IP-Paketgröße einer bestimmten Verbindung. MSS ist die maximale TCP-Segmentgröße.

MTU wird für die Fragmentierung verwendet, dh ein Paket, das größer als MTU ist, wird fragmentiert. Im Fall von MSS wird ein Paket, das größer als MSS ist, verworfen.

MSS wird beim TCP-Handshake grundsätzlich in SYN angegeben und kann nach dem Verbindungsaufbau nicht mehr geändert werden.

MSS = MTU-40 (IP-Header (20 Byte) + TCP-Header (20 Byte))


Ich denke, TCP-Header ist nicht unbedingt 20 Bytes, das ist nur die minimale Länge?
Sajuuk

Es könnte einen zusätzlichen Options-Header geben
aneesh joshi
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.