Wann Sie Adjust verwenden möchten MSS

Wann Sie Adjust verwenden möchten MSS

120766
Created On 10/15/19 09:43 AM - Last Modified 03/26/21 17:49 PM


Symptom


TCP Übertragungen nach einer Weile fehlschlagen/Timeout. 
Beispielsweise versucht der Client, PC auf eine Website zuzugreifen, und die Webseite wird nicht geladen, und das Timeout erfolgt oder lädt nur teilweise.
Der Browser gibt möglicherweise "ERR_CONNECTION_TIMED_OUT" oder lädt nur Teile der Webseite.
Die Webseite kann sehr lange dauern, um vollständig auf den Browser zu laden.


Environment


Jede TCP basierte Übertragung. 
Probleme mit dem Zugriff auf Websites wurden in diesem Dokument behandelt.


Cause


Erste Prüfung :
Der Fehler oder Status des Browsers muss zuerst überprüft werden, um festzustellen, ob das Problem nicht durch Probleme mit dem Server verursacht wird.
Wenn http-Fehlercodes der Serie 500 oder 400 angezeigt werden, kann es sich um ein Server- oder Autorisierungsproblem handelt.
Wenn es keine solchen Fehlercodes gibt und der PC in der Lage ist, die zu URL beheben, könnte das Problem auf Probleme auf dem Pfad zurückzuführen MTU sein.

Aus Gründen der Übersichtlichkeit und Einfachheit berücksichtigt dieses Dokument die folgende Topologie als Einrichtung.

Topologie :


Benutzeriertes Bild


Annahmen :
Die MTU Einstellung auf eth1/1 Schnittstelle des R1 Routers ist 1400 Bytes.
10.10.40.1 ist der Webserver, der die abcd.com Website hostet. 
abcd.com auf dem Client PC löst sich auf 10.10.40.1
Die Website wird nicht auf den Client PC geladen.
 


Resolution


Wie funktioniert Lower MTU Kommunikation beeinflussen TCP :
Da in diesem Fall die MTU von eth1/1-Schnittstelle des Routers R1 auf 1400 Bytes festgelegt ist, müssen Pakete mit einer Größe von mehr als 1400 Bytes fragmentiert werden, bevor sie von dieser Schnittstelle gesendet werden können.
Wenn don't Fragment ( DF ) Flag auf dem Header des Pakets gesetzt IP ist, dann muss der Router R1 das Paket löschen und "Fragmentation needed but DF bit set" (Typ 3, Code 4) ICMP Fehlercode an die Quelle senden.
Die meisten TCP basierten Anwendungen haben das Bit im Header DF IP festgelegt.
Betrachten Sie ein Datenpaket der Größe 1500 Bytes von Server 10.10.40.1 wird an Client 10.10.10.1 gesendet.
Da das DF Flag auf diesem Paket gesetzt wird, wird Router R1 das Paket löschen, wenn es versucht, es aus der Ethernet 1/1-Schnittstelle zu senden.
Dies führt dazu, dass alle Pakete mit einer Größe von mehr als 1400 Bytes verworfen werden und die Webseite daher nicht auf den Client geladen wird.
Wenn SSL ( ) Verbindung verwendet HTTPS wird, dann sind die Pakete mit dem Serverzertifikat in der Regel große Pakete, die fallen gelassen werden können, wodurch der SSL / Handshake TLS fehlschlägt.

Wie zu finden MTU Problem und Optimal MSS :
Es ist nicht immer möglich, Zugriff auf alle Hosts im Pfad zu haben, um die Einstellungen zu MTU überprüfen. Einfacher
A Ping-Test vom Client PC oder Server kann verwendet werden, um festzustellen, ob es ein MTU Problem im Pfad gibt.
Die folgenden Parameter müssen beim Ping eingestellt werden.
1. Nicht Fragmentieren Bit (-f)
2. Größe (-l)
Unter Ausgabe wird von Windows PC genommen. Entsprechende Befehle müssen auf Computern verwendet werden, auf denen eine andere ausgeführt OS wird.
Wie in den obigen Abschnitten erläutert, zeigt der Ping-Test auf dem Client die folgenden Ergebnisse an, da der MTU von eth1/1 auf dem R1-Router auf 1400 Bytes festgelegt ist.

C:\Users\skadmin>ping 10.10.40.1 -f -l 1472
Pinging 10.10.40.1 with 1472 bytes of data:
Packet needs to be fragmented but DF set.
Packet needs to be fragmented but DF set.
Der Grund, 1472 Bytes als Größe für den ersten Test zu wählen, liegt darin, dass das vollständige Paket dann 1500 Bytes beträgt.
Vollständiges Paket = IP 20B(Header) + 8B(Header) ICMP + 1472B(Nutzlast) = 1500 Bytes. 
Wir können sehen, dass die ICMP Meldung "Fragmentierung erforderlich, aber DF Bit gesetzt" wieder kommt. 
Also führen wir mehrere solche Ping-Tests durch, um die maximale Größe des Pakets herauszufinden, das in der Lage ist, den Server und zurück zu erreichen, ohne Fragment zu erhalten.
C:\Users\admin>ping 10.10.40.1 -f -l 1440
Pinging 10.10.40.1 with 1440 bytes of data:
Packet needs to be fragmented but DF set.

C:\Users\admin>ping 10.10.40.1 -f -l 1350
Pinging 10.10.40.1 with 1350 bytes of data:
Reply from 10.10.40.1: bytes=1350 time=447ms TTL=58

C:\Users\skadmin>ping 10.10.40.1 -f -l 1380
Pinging 10.10.40.1 with 1380 bytes of data:
Packet needs to be fragmented but DF set.

C:\Users\admin>ping 10.10.40.1 -f -l 1372
Pinging 10.10.40.1 with 1372 bytes of data:
Reply from 10.10.40.1: bytes=1372 time=438ms TTL=58

C:\Users\admin>ping 10.10.40.1 -f -l 1373
Pinging 10.10.40.1 with 1373 bytes of data:
Packet needs to be fragmented but DF set.
Die Methode "Teilen und erobern" wurde verwendet, um den Max-Wert zu finden, bei dem der Ping erfolgreich ist. 
Basierend auf den obigen Testausgaben kann man sehen, dass der Ping funktioniert, wenn die Größe 1372 Bytes beträgt und bei 1373 Bytes fehlschlägt. 
Dies bedeutet, dass nur ein 1400-Byte-Paket in der Lage sein wird, den Server und zurück zu erreichen, ohne fragmentiert zu werden.
1372 Bytes + ICMP Header 8 Bytes + Header IP 20 Bytes = 1400 Bytes. 

Um das Optimum MSS zu bestimmen, das verwendet werden kann, nehmen Sie das Ergebnis des obigen Tests, der 1400 Bytes ist, und subtrahieren Sie den potenziellen TCP Header- und IP Headerwert. 
1400 Bytes - ( IP Header 20 Bytes + TCP Header 20 Bytes) = 1360 Bytes
Das MSS Optimum, das verwendet werden kann, ist also 1360 Bytes

Wie man dieses Optimum MSS verwendet:
Die meisten Firewalls und Router haben die Möglichkeit, den MSS Wert für eine Verbindung über sie TCP anzupassen.
Sie können den MSS Wert auf dem und die SYN SYN ACK Zwischenpakete zwischen dem Client und Sever neu schreiben.
Diese Funktion kann verwendet werden, um den MSS Wert auf den berechneten optimalen MSS Wert 1360 Bytes festzulegen, sodass sowohl Client als auch Sever ihre Segmente nur auf diese Größe erstellen.
Sobald die TCP und IP Header hinzugefügt werden, ist die Größe des vollständigen Pakets gleich 1400 Bytes, was der maximalen Größe des Pakets entspricht, das ohne Fragmentierung durchlaufen werden kann. 
Segment 1360 Bytes + TCP header 20 Bytes + IP header 20 Bytes = 1400 Bytes.


So kann das Fragmentierungsproblem auf dem Pfad für die Verbindung vermieden werden TCP und Paketverluste können vermieden werden.
Bitte beachten Sie, dass das Problem, auch wenn der Wert für das Problem behoben MSS PA firewall wird, nicht durch die verursacht Firewall wird.
Das Problem wird von anderen Hosts im Pfad verursacht, die eine niedrigere MTU Einstellung haben.

PA firewall Um den MSS Wert auf 1360 Bytes anzupassen, muss die Anpassungsgröße als 140 Byte konfiguriert werden.
1500 - 1360 = 140 Bytes

Lesen Sie den folgenden Link, um den MSS Anpassungswert zu konfigurieren. 
Konfigurieren MSS der Größenanpassung


Additional Information


Zusätzliche nützliche Links :
Wie die Anpassung automatisch für den Datenverkehr über Tunnel auf TCP MSS IPSEC PA Firewalls
HOW THE PALO ALTO NETWORK FIREWALL HANDLES PACKETS THAT EXCEED THE MTU
HOW TO CONFIGURE MTU AND MSS SETTINGS FROM THE CLI erfolgt



Actions
  • Print
  • Copy Link

    https://knowledgebase.paloaltonetworks.com/KCSArticleDetail?id=kA10g000000PN0gCAG&lang=de&refURL=http%3A%2F%2Fknowledgebase.paloaltonetworks.com%2FKCSArticleDetail

Choose Language