| Bart de Koning 2004-06-08, 12:03 am |
| Hi,
I'm running a web and SSH server on Linux Mandrake.
The problem is that with some connections it is not possible
to send data from the server to the client.
This happens with (just a guess) 1% of the clients. All the
other clients can contact the server.
The setup is:
- Server on a routed subnet (ADSL connection) running Apache
- One client with an ADSL running XP is unable to connect
When I monitor the dataflow to the client with TCPDUMP on linux and
windump on the XP computer I see the following (there is no problem
with the client setup. I plugged my own laptop into his hetwork, and the
same happens):
- A data connection is made. On the server side all the data is queued
in the TCPstack. When I type 'netstat' I see the data and the status is
FIN_WAIT1. Apache logging is normal.
- With TCPDUMP I see
client -> server SYN
Ser -> cli SYN ACK
Cli -> Ser ACK
Cli -> Ser sends 458 datawords (GET index.html I guess)
Ser -> Cli ACK (*1)
Ser -> Cli sends data (frame 1..1403) (*2)
Ser -> Cli sends data (frame 1403..2805)
The data from *2 is being repeated all the time because the
server couldn't recie an ACK from the client.
From *1 the data is lost. The (Ser -> Cli ACK (*1)) is the last
package the client recieves.
The MTU size of the server is 1500; no ECN is used.
What can go wrong. The same thing happens when a SSH session is
opened....
Thanks in advance,
Bart
|