Ist die "Clamping" von TCP Maximum Segment Size (MSS) mit IPv6 kompatibel?

9

Mit IPv4 kann TCP MSS "Clamping" (ein Netzwerkgerät, das den MSS-Wert in einem TCP-Header bearbeitet) hilfreich sein, wenn die Erkennung der maximalen Übertragungseinheit des Pfads nicht funktioniert. (z. B. wenn ICMP irgendwo im Pfad blockiert wird.) Da IPv6 nicht fragmentiert ist, ist das "Paket zu groß" von ICMPv6 immer noch zu groß, um den ursprünglichen Endpunkt zu signalisieren.

Gibt es eine Anleitung zum spezifischen Klemmen von TCP MSS über IPv6?

Craig Constantine
quelle

Antworten:

14

Technisch gesehen kann es in IPv6 zu einer Fragmentierung kommen. Dies ist der Wikipedia-Artikel darüber.

Diese Juniper-Seite ist etwas alt, zeigt jedoch, dass Sie ein MSS für TCP über IPv6 auf Junos genauso wie in IPv4 mit demselben Befehl klemmen können tcp mss. Dasselbe wird in diesem Artikel für Cisco IOS 15 unter Verwendung des herkömmlichen adjust-mssBefehls ip tcp gezeigt .

Sie können also die MSS-Klemmung konfigurieren, wenn PMTUD nicht so funktioniert, wie es in einem Teil Ihres Netzwerks sein sollte. Andernfalls sollten Sie sicherstellen, dass Sie den reibungslosen Ablauf von PTMUD in Ihrem Netzwerk unterstützen, sodass keine MSS-Klemmung erforderlich ist ( Ich verstehe, dass dies nicht immer unter Ihrer Kontrolle steht.

Aktualisieren

Hier ist ein Link zu einem neueren Junos-Artikel für Junos 10x anstatt 9, ich kann keinen für 11 finden und ich bin gerade nicht vor 11, aber ich gehe davon aus, dass es der gleiche sein wird.

jwbensley
quelle
... lese ich die Fragmentierungsbeschreibung richtig? IPv4-Fragmentierung kann bei jedem Hop in der Route auftreten, während in IPv6 die Router das Paket verwerfen müssen (Benachrichtigung über ICMPv6) und dann die Fragmentierung durch die Endpunkte erfolgt.
Craig Constantine
2
Ja das ist richtig. Die Fragmentierung in Version 6 wird von den Routern nur durchgeführt, wenn der Router als Host fungiert. IE: Management-Verkehr über v6 usw.
Bigmstone
1
Es gibt eine Subtilität hier, dass zumindest die IOS-Version von adjust-mss kaputt ist, indem sie v6 klemmt, aber falsch: blog.ioshints.info/2013/01/…
LapTop006
2

Es gibt definitiv Fälle - in denen normalerweise IPv6-in-IPv4-Tunnel irgendwann auf dem Weg beteiligt sind -, in denen die MSS-Aushandlung fehlschlägt, selbst wenn PMTUD ordnungsgemäß funktioniert. In diesem Fall wird eine TCP-Sitzung möglicherweise korrekt gestartet (da die SYN / ACK-Pakete klein sind), aber es kommen keine Datenpakete an (da diese Pakete für den Tunnel zu groß sind). In diesem Fall würde die MSS-Klemmung am anderen Ende helfen, ist jedoch nicht unter der Kontrolle des "Opfers", das auf die Pakete wartet. Die ausfallsichere Lösung besteht darin, die IPv6-MTU für beide Enden auf 1280 einzustellen, die durch einen beliebigen Tunnel gelangen soll.

Brian Carpenter
quelle