G
Guest
Guest
Archived from groups: microsoft.public.windowsnt.protocol.tcpip (More info?)
Hello,
There is a TCP problem when the server (Windows NT 4)
sends 3 duplicated acks to the client, asking for
determinated lost packet but instead of the client sends
this packet, it ignores this request and sends the next
packet on the queue. What happen is that the server will
ack this new packet and send again a new ack with the
imediate seq number before the duplicated ack sent and so
on. The example below show this situation:
Connection stablished...
Client: Seq=408; ack=158; len=4 (packet a)
Client: Seq=412; ack=158; len=4 (packet b)
Server : Seq=158; ack=412; len=0 (ack packet a)
*** Server : Seq=158; ack=416; len=0 (ack packet b,
for some reason this packet is lost).
As the client received the first ack it sends the
next packet
Client: Seq=416; ack=158; len=4 (packet c)
*** Server : Seq=158; ack=416; len=0 (duplicated ack)
Client: Seq=420; ack=158; len=4 (packet d)
*** Server : Seq=158; ack=416; len=0 (duplicated ack)
Now the server sent 3 duplicated acks but the
client ignores this situation and sends the next packet
Client: Seq=424; ack=158; len=4 (packet e)
Now the problem comes: The server ack the packet
received and send an ack with the seg=412. (Segment
correctly acked before the seg 416)
*** Server : Seq=158; ack=424; len=0
---> Server : Seq=158; ack=412; len=0
Client: Seq=428; ack=158; len=4 (packet f)
And then connection continues with this
problem....
*** Server : Seq=158; ack=428; len=0
---> Server : Seq=158; ack=412; len=0
Is there someone SP that fix this problem? Is there
something else that we can do to fix this problem?
Thanks
Hello,
There is a TCP problem when the server (Windows NT 4)
sends 3 duplicated acks to the client, asking for
determinated lost packet but instead of the client sends
this packet, it ignores this request and sends the next
packet on the queue. What happen is that the server will
ack this new packet and send again a new ack with the
imediate seq number before the duplicated ack sent and so
on. The example below show this situation:
Connection stablished...
Client: Seq=408; ack=158; len=4 (packet a)
Client: Seq=412; ack=158; len=4 (packet b)
Server : Seq=158; ack=412; len=0 (ack packet a)
*** Server : Seq=158; ack=416; len=0 (ack packet b,
for some reason this packet is lost).
As the client received the first ack it sends the
next packet
Client: Seq=416; ack=158; len=4 (packet c)
*** Server : Seq=158; ack=416; len=0 (duplicated ack)
Client: Seq=420; ack=158; len=4 (packet d)
*** Server : Seq=158; ack=416; len=0 (duplicated ack)
Now the server sent 3 duplicated acks but the
client ignores this situation and sends the next packet
Client: Seq=424; ack=158; len=4 (packet e)
Now the problem comes: The server ack the packet
received and send an ack with the seg=412. (Segment
correctly acked before the seg 416)
*** Server : Seq=158; ack=424; len=0
---> Server : Seq=158; ack=412; len=0
Client: Seq=428; ack=158; len=4 (packet f)
And then connection continues with this
problem....
*** Server : Seq=158; ack=428; len=0
---> Server : Seq=158; ack=412; len=0
Is there someone SP that fix this problem? Is there
something else that we can do to fix this problem?
Thanks