Subject: Re: TCP fast retransmit
To: Noritoshi Demizu <demizu@dd.iij4u.or.jp>
From: Greg Troxel <gdt@ir.bbn.com>
List: tech-net
Date: 12/17/2004 09:38:10
In my understanding, such a small window update would not be sent in
order to reduce the number of ACKs. (A TCP window update is sent when
2 MSS or more bytes of data are received, or 1/2 or more of receive
buffer of data are received, since the last ACK is sent. I guess
MSS=1460 in your trace.) So, the ACK would be a dup ACK.
I think you are correct in that the window update would not _cause_ an
ACK to be sent. But consider a window update happening in the middle
of a sequence of what really are duplicate acks (in that they are sent
to ack packets arriving when there is missing data):
data1
ack
data
(does not arrive)
data
dupack for data1
data
dupack for data1
[data read, window updated, no window update sent]
data
ack for data1 with different window.
This last ack really is a dupack in this case, but can't be treated as
such, and I think that was the point of the notion of 'freezing the
window', and continuing to report the old window, perhaps until an ack
is sent which advances the ack point.
--
Greg Troxel <gdt@ir.bbn.com>