[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [ns] a small bug in delayed ACK ?
On Sun, 2 Apr 2000, [ks_c_5601-1987] ��� wrote:
> I think there is a small bug in the implementation of delayed ACK in "tcp-sink.cc"
>
> At line 300 of tcp-sink.cc of ns 2.1b6, (DelAckSink::recv).
> To delay an ACK, packet seq. "th->seqno()" is compared to "acker_->Seqno()"
>
> It can cause a problem, because received packet can be "next expected"
> and simultaneously "out-of-order".
> Hence the comparison should be changed to between packet seq. "th->seqno()" and
> _max seq._ "maxseen_".
Definitely not.
maxseen_ is the highest sequence number seen to date, so can be from
an out of order packet.
A received packet cannot be next expected and out-of-order, where
'out-of-order' means not-what-is-needed-to-move-the-left-window-edge-
along. The delack timer is only started when a received packet is
in-order, ie was expected, and maxseen_ doesn't tell you that.
L.
<[email protected]>PGP<http://www.ee.surrey.ac.uk/Personal/L.Wood/>