> segments by the network. In addition, a TCP receiver SHOULD send an
> immediate ACK when the incoming segment fills in all or part of a
> gap in the sequence space. This will generate more timely
> information for experimental loss recovery algorithms, such as
> NewReno [Flo98].
It seems like an immediate ACK in this case also helps the standard RTO
and fast retransmit loss recovery algorithms, though it only saves one
delayed ACK period in these cases. Given this, is it worth generalizing
this last phrase to something like:
This will generate more timely information for a sender recovering from
a loss through a retransmission timeout, a fast retransmit, or
an experimental loss recovery algorithm, such as NewReno [Flo98].
Also, for the sake of organization, it seems to make sense to mention this
issue in section 4.2, "Acknowledgment Mechanisms". Where it says now:
Out-of-order data segments SHOULD be acknowledged immediately, in order
to trigger the fast retransmit algorithm.
maybe it could be something of the flavor:
Out-of-order data segments SHOULD be acknowledged immediately, in order
to accelerate loss recovery. To trigger the fast retransmit algorithm,
the receiver should send an immediate duplicate ACK when it
receives a data segment above a gap in the sequence space. To provide
feedback to senders recovering from losses, the receiver should send an
immediate ACK when it receives a data segment that fills in all or part
of a gap in the sequence space.
This may be overkill, but i think that if i were an engineer in a hurry to
figure out how to implement ACKs, i might miss this issue if it were only
mentioned in the section on Fast Retransmit/Fast Recovery.
just a thought,
neal