tasklwIP - A Lightweight TCP/IP stack - Tasks: task #14602, TCP: update/audit congestion...


You are not allowed to post comments on this tracker with your current authentication level.

task #14602: TCP: update/audit congestion control implementation

Submitter:  Joel Cunningham <jcunningham>
Submitted:  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
Assigned to:  None Percent Complete:  0%
Open/Closed:  Open Planned Release:  None
Effort:  0.00

Wed 09 Aug 2017 09:42:14 PM UTC, original submission:  

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.

Joel Cunningham <jcunningham>
Group Member


(Note: upload size limit is set to 16384 kB, after insertion of the required escape characters.)

No files currently attached


Depends on the following items: None found

Items that depend on this one: None found


Carbon-Copy List
  • -email is unavailable- added by jcunningham (Submitted the item)

    There are 0 votes so far. Votes easily highlight which items people would like to see resolved in priority, independently of the priority of the item set by tracker managers.


    No changes have been made to this item

    Back to the top

    Powered by Savane 3.13-4b48.
    Corresponding source code