DF-Bit in der Apache-Tomcat-Kommunikation

1634
Andrea Colleoni

Editiert (Änderungen sind kursiv dargestellt ):

In meiner Konfiguration habe ich einen Apache 2.2-HTTP-Server, der als Reverse-Proxy mit mod_proky_jk konfiguriert ist und der den http-Service von einem Apache Tomcat 6-Anwendungsserver verfügbar macht. Bei den beiden handelt es sich um unterschiedliche MS Windows 2008 R2-Felder.

Mein Problem ist, dass die Kommunikation zwischen einem über GPRS oder GSM verbundenen mobilen Mobilgerät manchmal fehlschlägt .

Ich habe diese Nachricht gefunden und scheint in meine Situation zu passen.

Beim Ablegen von TCP-Nachrichten habe ich festgestellt, dass Apache Pakete anfordert, deren DF-Bit auf "Nicht fragmentieren" gesetzt ist. Die Größe des Ethernet-Frames beträgt 1514 und die MTU 1500.

Gibt es eine Möglichkeit, Apache anzuweisen, das DF-Bit nicht zu verwenden? Binden Sie den Dienst möglicherweise an die Maschinen-IP statt an alle Schnittstellen?

Die neue Ausgabe ist :

Wenn das Problem durch von PPPoE hinzugefügte Bytes verursacht wird, kann das Problem durch Einstellen einer niedrigeren MTU in den beiden Windows-Feldern behoben werden.

Weiteres Update

Mir ist aufgefallen, dass bei einem mobilen Gerät die Kommunikation fehlgeschlagen ist. Ich habe die Unterschiede zwischen zwei dieser Geräte analysiert und in den WWAN-Einstellungen unter Extras > Datenkonfiguration festgestellt, dass das nicht funktionierende Gerät die Option " Automatische Konfiguration aktivieren " nicht aktiviert hat . Ich habe es überprüft und warm neu gestartet und die Verbindung war erfolgreich. Ich deaktivierte es und die Verbindung war immer noch erfolgreich. Dieses Gerät ist nie wieder ausgefallen.

Vielleicht habe ich das Problem entdeckt? Was wirkt sich diese Einstellung auf Kommunikationsebene aus?

1
Woher wissen Sie, dass die Kommunikation fehlschlägt, weil die IP-Prüfsummenverschiebung fehlschlägt? Nur weil Sie in Wireshark Prüfsummenfehler sehen, bedeutet das nicht, dass ein Fehler vorliegt. Sind Sie sicher, dass das ** Paket ** 1514 Byte ist, oder ist der Ethernet-Frame, in dem das Paket enthalten ist, 1514 Byte? Zoredache vor 12 Jahren 0
Danke für den Kommentar. Ich habe meine Frage bearbeitet, um einige Fehler zu beheben. Andrea Colleoni vor 12 Jahren 0

1 Antwort auf die Frage

1
Zoredache

Gibt es eine Möglichkeit, Apache anzuweisen, das DF-Bit nicht zu verwenden?

Nein, dies ist nicht möglich, da Apache auf dieser Ebene im Netzwerkstack nicht funktioniert. Apache führt Standardsystemaufrufe an den Kernel durch.

Mein Problem ist, dass die Kommunikation zwischen den beiden aufgrund von IP-Prüfsummenverschiebung fehlschlägt.

Woher wissen Sie, dass die Kommunikation fehlschlägt, weil die IP-Prüfsummenverschiebung fehlschlägt? Nur weil Sie in Wireshark Prüfsummenfehler sehen, bedeutet das nicht, dass ein Fehler vorliegt.

Mir ist aufgefallen, dass Apache Pakete anfordert, bei denen das DF-Bit auf "Nicht fragmentieren" gesetzt ist. Die Paketgröße beträgt jedoch tatsächlich 1514 (mehr als die MTU = 1500).

Sind Sie sicher, dass das Paket 1514 Bytes ist, oder ist der Ethernet-Frame, in dem das Paket enthalten ist, 1514 Bytes?

pinging mit dem Schalter "-f -l 1514" sagt, "Paket muss fragmentiert sein, aber DF gesetzt.".

Wenn es sich bei Ihrem Ping um eine MTU von 1500 handelt, funktioniert der Ping mit der Größe 1514 nicht.

Vielen Dank für die Antwort und habe etwas Geduld wegen meines Wissensdefizits in dieser Angelegenheit. Ihre Antwort war nützlich und hat mir einige Dinge klargestellt, also habe ich meine Frage bearbeitet. Andrea Colleoni vor 12 Jahren 0