lwip-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[lwip-devel] [task #14602] TCP: update/audit congestion control implemen


From: Joel Cunningham
Subject: [lwip-devel] [task #14602] TCP: update/audit congestion control implementation
Date: Wed, 9 Aug 2017 17:42:16 -0400 (EDT)
User-agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:54.0) Gecko/20100101 Firefox/54.0

URL:
  <http://savannah.nongnu.org/task/?14602>

                 Summary: TCP: update/audit congestion control implementation
                 Project: lwIP - A Lightweight TCP/IP stack
            Submitted by: jcunningham
            Submitted on: Wed 09 Aug 2017 09:42:14 PM UTC
                Category: TCP
         Should Start On: Wed 09 Aug 2017 12:00:00 AM UTC
   Should be Finished on: Wed 09 Aug 2017 12:00:00 AM UTC
                Priority: 5 - Normal
                  Status: None
                 Privacy: Public
        Percent Complete: 0%
             Assigned to: None
             Open/Closed: Open
         Discussion Lock: Any
         Planned Release: None
                  Effort: 0.00

    _______________________________________________________

Details:

LwIP's TCP congestion control implementation was written back with RFC 2001
(1997), which has had two replacements: RFC 2581 (1999) and RFC 5681 (2009)

One thing that I know is out-of-date is setting ssthresh after a loss
detection.  We have the original logic from RFC 2001 which is:


When congestion occurs (indicated by a timeout or the reception
of duplicate ACKs), one-half of the current window size (the
minimum of cwnd and the receiver's advertised window, but at
least two segments) is saved in ssthresh.


RFC 2581 updated this to (and I believe is still current in RFC 5681):


When a TCP sender detects segment loss using the retransmission
timer, the value of ssthresh MUST be set to no more than the value
given in equation 3:

      ssthresh = max (FlightSize / 2, 2*SMSS)            (3)

As discussed above, FlightSize is the amount of outstanding data in
the network.


Fast Retransmit

 1.  When the third duplicate ACK is received, set ssthresh to no more
       than the value given in equation 3.





    _______________________________________________________

Reply to this item at:

  <http://savannah.nongnu.org/task/?14602>

_______________________________________________
  Message sent via/by Savannah
  http://savannah.nongnu.org/




reply via email to

[Prev in Thread] Current Thread [Next in Thread]