Hey Marco, thanks for the detailed reply. I learned something from your
comments, but I still do not think we have zeroed in on the problem. When the
client sends 9 or 10 ACKs in a row, it does it back-to-back with *far* less than 200ms delay between them.
The ACKs are only 0.000002 seconds apart. It looks like a sudden rapid burst of
identical ACKs. No packets are received from the server during this burst. Do
you still think this looks like a network problem, or it is maybe a software/socket/stack
problem?
-----Original Message-----
From: Marco Rommelse
[mailto:m.rommelse@xxxxxxxxx]
Sent: Friday, September 05, 2003
2:08 AM
To: Robinson, Eric R.;
ethereal-users@xxxxxxxxxxxx
Subject: Re: [Ethereal-users]
Application Keeps Acking Same Packet,then Suddenly Catches Up
Eric,
Ack-ing the same packet every time is
tcp's only way of letting the sending party know that it has lost the tcp frame
following the acked one. The reciever ack's every packet that it recieves after
the lost frame with the sequence number of the frame it hasn't
recieved. The server should resend that frame. When the frame has been resent,
tcp acks the last sequence number + length of the last frame it has gotten in
good order from the sender. The fact that you see the reciever ack-ing 9-10
times has to do with the nagle algorithm. This algorithm has an internal clock
which goes off every 200 ms (standard setting). During that time it waits with
ack-ing packets until it has something to send as well. If the 200 ms period
has passed, and there is nothing to send, then it has to ack the packets it
recieved. Your sender is probably filling up the windowsize of your reciever
during that waiting period (fast sender, slow reciever), and tcp has lost a
packet.
Retransmissions like this can slow things
down considerably. Try replacing the lan-cables first, then the patch panels
(if any), then switch switchports, then replace nic's. Test every step.
Marco.
-----
Original Message -----
To: 'ethereal-users@xxxxxxxxxxxx'
Sent: Friday, September 05,
2003 2:47 AM
Subject:
[Ethereal-users] Application Keeps Acking Same Packet,then Suddenly Catches Up
Network geeks:
I have an application
called ProLaw that runs off a NetWare server on the other side of a PIX
firewall.
Most of my workstations
perform fine. But two or three of them slow way down after a few hours of use,
to the point that queries which usually take 10-15 seconds take 1.5 minutes!
Meanwhile, other clients on the same switch keep working fine.
Traces show that during
the slow periods, the client retransmits a lot of ACKs of the same data. It
will transmit the same ACK maybe 9 or 10 times in a row with only about
0.000002 seconds between. Then the server finally retransmits a packet of its
own.
When this happens, the
client finally ACKs all of the previously received data at once and catches up.
Somebody please offer some
insight on what could be happening here!
--Eric
_______________________________________________
Ethereal-users mailing list
Ethereal-users@xxxxxxxxxxxx
http://www.ethereal.com/mailman/listinfo/ethereal-users