[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[lwip-devel] [bug #19434] Processing of Fast retransmit bug
From: |
Oleg Tyshev |
Subject: |
[lwip-devel] [bug #19434] Processing of Fast retransmit bug |
Date: |
Wed, 28 Mar 2007 16:22:40 +0000 |
User-agent: |
Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.3) Gecko/20070309 Firefox/2.0.0.3 |
Follow-up Comment #6, bug #19434 (project lwip):
from 2988:
5 Managing the RTO Timer
An implementation MUST manage the retransmission timer(s) in such a way that
a segment is never retransmitted too early, i.e. less than one RTO after the
previous transmission of that segment.
The following is the RECOMMENDED algorithm for managing the retransmission
timer:
(5.1) Every time a packet containing data is sent (including a
retransmission), if the timer is not running, start it running so
that it will expire after RTO seconds (for the current value of
RTO).
(5.2) When all outstanding data has been acknowledged, turn off the
retransmission timer.
(5.3) When an ACK is received that acknowledges new data, restart the
retransmission timer so that it will expire after RTO seconds (for the
current value of RTO).
When the retransmission timer expires, do the following:
(5.4) Retransmit the earliest segment that has not been acknowledged by
the TCP receiver.
(5.5) The host MUST set RTO <- RTO * 2 ("back off the timer"). The
maximum value discussed in (2.5) above may be used to provide an upper bound
to this doubling operation.
(5.6) Start the retransmission timer, such that it expires after RTO
seconds (for the value of RTO after the doubling operation outlined in 5.5).
====
As in 5.3 written, retransmission timer is restated
when ACK that acknowledges new data
But lwip resets timer each time new segment sent. I think it is not correct.
_______________________________________________________
Reply to this item at:
<http://savannah.nongnu.org/bugs/?19434>
_______________________________________________
Message sent via/by Savannah
http://savannah.nongnu.org/