Was soll beim Empfang einer ICMP-Nachricht „Fragmentierung erforderlich“ geschehen?

Was soll beim Empfang einer ICMP-Nachricht „Fragmentierung erforderlich“ geschehen?

Im Allgemeinen und insbesondere auf einer Solaris 10-Maschine ...

Sehen Sie, wir haben ein Problem in unserem Netzwerk. Ich betreue einige Reverse-Proxy-Instanzen auf einem Solaris 10-Server, der sich hinter einem Load Balancer befindet, und einige Benutzer greifen über eine NAT-Firewall darauf zu und ... jedenfalls stürzte vor zwei Tagen alles ab und funktionierte nicht mehr.

Nachdem wir stundenlang Pakete erfasst und analysiert haben, sehen wir, dass, wenn einer der internen Clients versucht, auf eine Site zuzugreifen, der LB irgendwann (insbesondere, wenn wir beispielsweise die Server Hello SSL-Nachricht senden) eine ICMP-Fragmentierung erforderlich-Nachricht zurücksendet, in der steht, dass die MTU 508 Byte beträgt und dass die Pakete mit dem Nicht-Fragmentieren-Bit gesetzt sind, wie es die Standardeinstellung in Solaris ist...

Ok, alles gut. Aber dann... passiert nur, dass, da keine ACK empfangen wurde (weil die Pakete nie vom Client empfangen wurden), die Solaris-Maschine die Pakete erneut sendet... gleiche Größe, gleiches DF-Bit.

Dies führt natürlich dazu, dass keine Kommunikation möglich ist.

Sollte das Solaris-Betriebssystem beim Empfang dieser ICPM-Nachricht nicht entweder das DF-Bit für diese Pakete aufheben oder die Verbindungs-MSS so anpassen, dass sie < der MTU ist, die uns die Nachricht mitteilt? Kann man das irgendwo als aktiviert/deaktiviert konfigurieren? Oder soll das passieren?

Ich bin nicht genau sicher, wie die Pfad-MTU-Erkennung in Solaris 10 abläuft, aber wenn diese Nachricht nicht berücksichtigt wird, wie wird dann die MSS angepasst?

Vielen Dank im Voraus für jeden Hinweis, jede Hilfe oder auch nur eine Idee, wo ich suchen soll :)

verwandte Informationen