TCP-Anwendungseinstellung Nicht fragmentieren (DF) -Bit

708
some user

Ich habe festgestellt, dass einige TCP-Anwendungen das DF-Bit (Don't Fragment) setzen. Meine Forschung scheint zu zeigen, dass TCP eine Fragmentierung vermeiden und stattdessen die Segmentgröße (MSS) anpassen möchte.

Nach meinem Verständnis erfordert dieser Mechanismus jedoch die Verwendung von ICMP-Too-Big-Paketen. Heutzutage verwenden viele Leute NAT und FW und blockieren oft alle unerwünschten ICMP-Pakete. Wie funktioniert die MSS-Anpassung in diesen sehr häufigen Umgebungen? Oder sind diese Gateways intelligent genug, um innerhalb des ICMP zu parsen und vorhandene Sitzungen abzugleichen?

0
Wenn alle ICMP gelöscht werden, ist zu erwarten, dass die Funktionen, die von ICMP vermittelt werden, verloren gehen. Dies beinhaltet die Entdeckung der MTU. Firewalls prüfen unerreichbare Elemente und stimmen mit den geltenden Regeln und Zulassungen überein. Während das Blockieren aller ICMPs üblich ist, sollte dies nicht als der richtige Ansatz betrachtet werden. Paul vor 6 Jahren 1
ICMP verwendet kein TCP. DavidPostill vor 6 Jahren 0
@DavidPostill Niemand sagt, dass ICMP TCP verwendet. OPs sprechen darüber, wie einige ICMP-Nachrichten eine Kopie der Header des Pakets enthalten, die den Fehler verursacht haben. Er hat Recht, dass NATs und SPI-Firewalls die TCP-Header in diesen ICMP-Paketen parsen müssen. Spiff vor 6 Jahren 0

1 Antwort auf die Frage

1
Spiff

Sie beschreiben einen Algorithmus namens "Path MTU Discovery", der meistens funktioniert. Nur ignorante Sysadmins und fehlerhafte Produkte blockieren alle ICMP-Nachrichten. Selbst Websites, die ICMP-Echos (Pings) blockieren möchten, sind in der Regel intelligent genug, um ICMP-Nachrichten "Ziel nicht erreichbar" durchzulassen.

Und ja, gute Implementierungen von NAT-Gateways und SPI-Firewalls prüfen die erfassten Header in der ICMP-Meldung "Ziel nicht erreichbar", um herauszufinden, welchen Fluss sie entsprechen, und entsprechend umzugehen.