[e2e] Some questions about TCP.

Dominik Kaspar dokaspar.ietf at gmail.com
Mon Nov 23 10:00:12 PST 2009


Hi Detlef,

Maybe the answer to your questions is that a DupACK never contains a
payload. At least that is what a colleague and I could find in the
Linux source code. I doubt you will find a reference in RFCs. The only
hint that the RFC 2581 gives me, is the word "immediate" in the
sentence "A TCP receiver SHOULD send an immediate duplicate ACK when
an out-of-order segment arrives". I assume that "immediate" implies
somehow a quickly sent "bare" ACK and the absence of a payload...

FLAG_NOT_DUPACK defines the conditions of when a segment is not a
duplicate acknowledgment:
http://www.gelato.unsw.edu.au/lxr/source/net/ipv4/tcp_input.c#L105

This might also answer your question about what happens in a scenario
with extreme difference in up- and downlink speeds (like ADSL). The
numerous data packets that are traveling over the fast downlink may
acknowledge the same data, which might appear to be DupACKs, but they
all contain a payload, therefore, they are not treated as DupACKs.

Not sure if that was of any help...

Greetings,
Dominik


More information about the end2end-interest mailing list