Einführung
Dieses Dokument beschreibt das Konzept und die Konfiguration der TCP-MSS-Anpassung. Außerdem wird das Konzept der Maximum Transmission Unit (MTU) erläutert, und es wird erläutert, wie Sie Paketverluste für Websites mit größeren Paketgrößen verhindern können.
Mitwirkend von Richika Jain, Cisco TAC Engineer.
Voraussetzungen
Anforderungen
Cisco empfiehlt, dass Sie über Kenntnisse über Point-to-Point Protocol over Ethernet (PPPoE) verfügen.
Verwendete Komponenten
Die Informationen in diesem Dokument basieren auf generischen Geräten.
Die Informationen in diesem Dokument wurden von den Geräten in einer bestimmten Laborumgebung erstellt. Alle in diesem Dokument verwendeten Geräte haben mit einer leeren (Standard-)Konfiguration begonnen. Wenn Ihr Netzwerk in Betrieb ist, stellen Sie sicher, dass Sie die potenziellen Auswirkungen eines Befehls verstehen.
Konfigurieren
Die MTU ist die maximale Länge von Daten, die durch ein Protokoll in einer Instanz übertragen werden können. Beispielsweise beträgt die MTU-Größe einer Ethernet-Schnittstelle standardmäßig 1500 Byte, was den Ethernet-Frame-Header und den Trailer ausschließt. Das bedeutet, dass die Schnittstelle keinen Frame mit einer Größe von mehr als 1500 Byte übertragen kann.Dieses Diagramm veranschaulicht dieses Konzept:
Wenn Sie in den Frame schauen, sehen Sie einen 20-Byte-IP-Header + 20-Byte-TCP-Header, das verbleibende 1460-Byte-Byte, eine Nutzlast, die in einem Frame übertragen werden kann. Dies wird als TCP MSS bezeichnet.
Wenn keine zusätzliche Kapselung auf einem Transit-Router durchgeführt wird, kann das Quellgerät die maximale Nutzlastlänge von 1460 Byte verwenden, ohne dass das Risiko einer Paketfragmentierung/-verwerfung besteht. Dies wird während der dreiseitigen TCP-Handshake-Phase zwischen dem Quell- und Zielhost ausgehandelt. Wenn ein Router jedoch eine zusätzliche Kapselung durchführt, wird ein zusätzlicher Label-Header hinzugefügt, der letztendlich die Größe des Frames erhöht, der einen Transit-Router verlässt. Die maximale MTU einer Schnittstelle hängt von der Hardwareplattform ab, die IEEE 802.3-Standards erfordern jedoch eine MTU von mindestens 1.500 Byte.
PPPoE benötigt zusätzliche 8 Byte und spaltet die Ethernet-MTU auf 1492 ab. Wenn die effektive MTU auf den Hosts nicht geändert wird, kann der Router zwischen Host und Server die TCP-Sitzungen beenden. Dieser Befehl IP TCP ADJUST-MSS 1452 wird in den PPPoE-Konfigurationen empfohlen.
Wenn das Quellgerät ein Full-Size-Paket mit einer TCP-MSS von 1460 Byte erstellt, ist es wahrscheinlich, dass der übertragende Router das Paket verwirft/fragmentiert. Dies beeinträchtigt unsere Netzwerkleistung, z. B. wenn Sie Websites durchsuchen. Um Websites mit größeren Paketen aufzunehmen, können Sie die maximal mögliche TCP-MSS-Größe (z. B. 1452 Byte) vom Quellgerät verkleinern. Wenn der Router die Quelle und das Ziel zum Zeitpunkt des TCP-Handshake nicht signalisiert, kann die optimale TCP-MSS möglicherweise ein Problem mit Verwerfen/Fragmentierung verursachen.
Das Problem tritt möglicherweise nicht auf, wenn Sie alle Websites durchsuchen, kann aber auf einigen Websites auftreten. TDer Grund dafür ist, dass die Paketgrößen, die es erstellt, um sie zu erreichen (was von der Hardware abhängt, die dazwischen liegt). Bei Websites, die größere Paketgrößen erstellen, wird jedes größere Paket verworfen, wenn Sie den Befehl ip tcp adjust-mss nicht verwenden.
Um das Problem zu beheben, das beim Surfen auf einigen Websites auftritt, sollte der Befehl IP TCP ADJUST-MSS 1452 auf der Schnittstelle konfiguriert werden, die auf die LAN-Schnittstelle zeigt.
1. Aktivieren
2. Terminal konfigurieren
3. Schnittstellentyp Nummer
4. IP tcp adjust-mss max-segment-size // Passt den MSS-Wert der TCP-SYN-Pakete an, die durch einen Router geleitet werden. Das max-segment-size-Argument ist die maximale Segmentgröße in Byte. Der Bereich liegt zwischen 500 und 1460.
5. IP mtu bytes // Legt die MTU-Größe der auf einer Schnittstelle gesendeten IP-Pakete in Byte fest.
6. Ende
Überprüfen
In diesem Abschnitt überprüfen Sie, ob Ihre Konfiguration ordnungsgemäß funktioniert.
Schritt 1:
Überprüfen Sie die Konfiguration der TCP-MSS-Anpassung.
interface ethernet1/1
ip address 10.0.0.1 255.0.0.0
ip tcp adjust-mss 1452
duplex half
Schritt 2:
Telnet von Router A zu Router B.
telnet 10.0.1.2
Trying 10.0.1.2...
TCP: sending SYN, seq 886170752, ack 0
TCP0: Connection to 1.0.1.2:23, advertising MSS 536
tcp0: O CLOSED 1.0.1.2:23 4.0.0.1:11008 seq 886170752
OPTS 4 SYN WIN 4128
Schritt 3:
Beobachten Sie die Debugausgabe auf Router B.
tcp0: I LISTEN 4.0.0.1:11008 1.0.1.3:23 seq 886170752
OPTS 4 SYN WIN 4128
TCP0: state was LISTEN -> SYNRCVD [23 -> 4.0.0.1(11008)]
TCP0: Connection to 4.0.0.1:11008, received MSS 1452, MSS is 1452
Der TCP-MSS-Wert wird auf den konfigurierten Wert von 1452 eingestellt.
Fehlerbehebung
Für diese Konfiguration sind derzeit keine spezifischen Informationen zur Fehlerbehebung verfügbar.