würde ich auch weglassen oder auf 1460 adaptieren
Die Werte bei MSS-Clamping müssen bei…
- IPv4 40bytes kleiner sein als die MTU
(20bytes IPv4-Header, 20bytes TCP-Header, lassen 1460bytes für Payload übrig)
- IPv6 60bytes kleiner sein als die MTU:
(40bytes IPv6-Header, 20bytes TCP-Header, lassen 1440bytes für Payload übrig)
Bezugsgrösse ist jeweils als die MTU des ausgehenden Links, natürlich. Heute meistens 1500bytes auf einem normalen Ethernet: Oft genug aber auch weniger, besonders wenn Tunnels ins Spiel kommen [1], nur sehr selten ist es mehr.
Schauen wir zwei Fälle an:
A) Der Regelfall: lokales LAN mit MTU 1500, Internet-/Uplink mit MTU 1500
Bei IPv4 beginnen die TCP-Speaker mit MSS 1460 in den TCP-Options. MSS-Clamping für ipv4 mit “ip tcp adjust-mss 1460” wäre just auf der Linie und würde nie manipulierend in die TCP-Header eingreifen.
Bei IPv6 beginnen die TCP-Speaker mit MSS 1440 in den TCP-Options. MSS-Clamping für ipv6 mit “ipv6 tcp adjust-mss 1460” wäre ein zu hoher Wert, und würde nicht eingreifen.
B) Spezialfall, lokales LAN mit MTU 9000 (Jumbo Frames), Internet-/Uplink mit MTU 1500
Bei IPv4 beginnen die TCP-Speaker mit MSS 8960 in den TCP-Options. MSS-Clamping für ipv4 mit “ip tcp adjust-mss 1460” wäre dringend nötig, damit die TCP-Verbindungen über den Uplink “fliegen”. Man will nicht auf PathMTU-Discovery für IPv4 setzen.
Bei IPv6 beginnen die TCP-Speaker mit MSS 8940 in den TCP-Options. MSS-Clamping für ipv6 mit “ipv6 tcp adjust-mss 1460” MSS wäre nachgerade falsch. Während SYN und SYN-ACK noch durchpassen würden, wären dann die ersten “ernsthaften” Pakete der TCP-Verbindungn hoffnungslos zu gross, und müssten - wenn’s denn ginge - fragmentiert werden.
Ein Router darf/kann bei IPv6 aber nicht fragmentieren, also wird er den sendenden Hosts eine ICMPv6 Type 2 Code 0 ( Packet Too Big) Message zukommen lassen, mit dem Hinweis, dass die WAN-MTU des ausgehenden Links halt nur 1500 sei. Die muss dann durch den Host korrekt empfangen und verarbeitet werden.
Kurz:
Beinem Uplink mit MTU 1500 und einer lokalen MTU >1500 sind MSS Clamping auf 1440 für IPv6 und 1460 für IPv4 durchaus sinnvoll. 1460 hingegen passt nie wirklich zu IPv6.
Gruss
Marc
[1] ein paar Beispiele von Links mit geringerer MTU (ausgehend von den allgegenwärtigen 1500 bytes)
PPPoE (8): MTU 1492
GRE-Tunnel (24): MTU 1476
6RD-Tunnel (20): MTU 1480
6RD-Tunnel über PPPoE: MTU 1472 (das haben die Swisscom 6RD Border Relays als MTU auf den 6RD Tunneln)
IPSec-Tunnel Site-to-Site ohne NAT-T (ca 62, je nach IPsec-Dialekt): MTU 1438
IPSec-Tunnel Site-to-Site mit NAT-T (ca 70, je nach IPsec-Dialekt): MTU 1428
GRE-Over-IPSec-Tunnel Site-to-Site (ca 100, je nach IPsec-Dialekt): MTU 1400
Das sind dann alles Fälle, bei denen man sich das Leben mit korrektem MSS-Clamping leichter machen kann.