[e2e] Clarification needed on delayed acks and sliding window
protocol
Bob Braden
braden at ISI.EDU
Sat Sep 25 10:58:29 PDT 2004
*> >
*> >Now, sliding window protocol looks something like this on a sniffer
*> >
*> >Host A -------> host B (1k bytes of data)
*> >
*> >Host A ------> host B (1k bytes of data)
*> >
*> >Host A <----- -Host B (ack)
*> >
*> >Correct?
*>
*> Yes (assuming 1KB is the MSS). Note the Nagle algorithm could be on in
*> this case (indeed, is highly likely to be on, as the FTP application may
*> not be writing data in 1KB chunks, and Nagle ensures that maximum sized
*> segments get sent).
*>
I think this is a confusing question. Your example above seems to be
showing the use of delayed ACKs, which is a much more constrained
algorithm than is required by a sliding window. TCP was always a
sliding window protocol. With a sliding window, an equally valid
sequence might be:
Host A -------> host B (1k bytes of data)
Host A <------ Host B (ack 1K)
Host A ------> host B (1k bytes of data)
Host A <------ Host B (ack 1K
(immediate ACK, no delayed ACKs) or it might be:
Host A -------> host B (1k bytes of data)
Host A <------ Host B (ack 1K)
Host A ------> host B (1k bytes of data)
Host A -------> host B (1k bytes of data)
Host A -------> host B (1k bytes of data)
Host A <------ Host B (ack 1K)
Host A -------> host B (1k bytes of data)
Host A <------ Host B (ack 2K)
Host A <------ Host B (ack 1K)
(etc.)
Bob Braden
More information about the end2end-interest
mailing list