Der Grund:
Wenn man sich bei CompuServe Pro einwählt, werden alle Pakete zunächst durch einen Tunnel in die USA geleitet. Dieser Tunnel kann nur Datenpakete mit einer maximalen Größe von 1400 Bytes transportieren, d. h. die MTU (Maximum Transfer Unit) ist 1400.
Jedesmal, wenn man von einem Windows-Client eine TCP-Verbindung aufbaut, versucht dieser automatisch die MTU für die Verbindung zum gewählten Server festzustellen. Dabei schickt er Pakete mit verschiedenen Größen. Bei denen, die zu groß für die Verbindung sind, erhält er von einem Router per ICMP eine Fehlermeldung, daß das Paket zu groß war. Danach schickt er eben kleinere Pakete.
Das klappt nun soweit, daß der Windows-Client keine Pakete größer 1400 Bytes verschickt, so daß sie auch beim Server ankommen. Zum Problem wird aber, daß der Client als gewünschte Maximalgröße für Antwortpakete trotzdem 1500 angegeben hat (die Maximalgröße für Ethernet-Netzwerke), denn der Server schickt nun Antwortpakete mit 1500 Bytes zurück.
Bei anderen Providern geht das nun gut, bei CompuServe Pro ist aber der Tunnel dazwischen. Dieser teilt dem Server per ICMP mit, daß die Pakete zu groß sind, woraufhin dieser normalerweise seine Paketgröße auf 1400 verringert. Es gibt jedoch einige Server, die hinter einer Firewall sitzen, die ICMP generell nicht durchläßt (warum auch immer jemand das verbrochen hat). In diesem Fall schmeißt die Firewall die Fehlermeldungen des Tunnels weg, und der Server sendet weiter fleißig zu große Pakete, die dann natürlich niemals durchkommen. Genau in diesem Fall kommt es dann zu obigem Problem.
Die Lösung:
Man installiert das Modul mssclampfw.o (dieses OPT-Paket) auf dem Router. Dieses stellt die MTU einer Verbindung fest und modifiziert bei allen ausgehenden Paketen die Maximalgröße für Antwortpakete entsprechend. Dies ist zwar irgendwie ein "Hack", da alle ausgehenden Pakete modifiziert werden müssen, hat aber den Vorteil, daß man alle Windows-Clients in Ruhe lassen kann und dadurch weniger Aufwand hat. [...]
Das Modul mssclampfw.o wurde ursprünglich für DSL verwendet, da PPPoE das gleiche Problem hat. Heute verwendete PPPoE-Treiber (auch die von Fli4L) haben allerdings eine entsprechende Funktion meist eingebaut, so daß die Verwendung dieses Moduls dafür überflüssig ist. Weitere Informationen finden sich auf
http://sdb.suse.de/sdb/de/html/hoe_adsl_router.html, über diese Seite habe ich auch das fertige Modul von
ftp://ftp.suse.com/pub/projects/T-DSL/mssclampfw.o heruntergeladen.