Opened 7 years ago

Closed 7 years ago

#13631 closed task (fixed)

tcp: rfc 3042: implementing limited trasmit

Reported by: a-star Owned by: axeld
Priority: normal Milestone: Unscheduled
Component: Network & Internet/TCP Version: R1/Development
Keywords: tcp, gsoc, slow start Cc:
Blocked By: Blocking:
Platform: All

Description

Limited Transmit" algorithm - sending a new data segment in response to each of the first two duplicate acknowledgments that arrive at the sender.

Rationale: effectively recover lost segments when a connection's cwnd is small, or when a large number of segments are lost in a single transmission window. Transmitting these extra segments increases the probability that TCP can recover from a single lost segment using the fast retransmit algorithm, rather than using a costly retransmission timeout.

According to the rfc, limited transmit can be applied when:

a) receiver's advertised window allows the transmission of the segment b) amount of outstanding data should remain <= cwnd + 2. In other words, only 2 segments can be sent beyond cwnd.

The rfc also says that “cwnd MUST NOT be changed when these segments are transmitted”. To fit the algorithm with our _SendQueued method without modifying it too much, we first increase cwnd before calling _SendQueued, and then decrease it by the same amount to adhere to the rfc.

Attachments (2)

tcp-rfc-3042-implemented-limited-trasmit.patch (2.4 KB ) - added by a-star 7 years ago.
0003-tcp-rfc-3042-implemented-limited-transmit.patch (1.4 KB ) - added by a-star 7 years ago.

Download all attachments as: .zip

Change History (5)

comment:1 by a-star, 7 years ago

patch: 01

comment:2 by a-star, 7 years ago

No new changes. New patch as a result of changes to a previous patch (#13629).

comment:3 by jessicah, 7 years ago

Resolution: fixed
Status: newclosed

Applied in hrev51385.

Note: See TracTickets for help on using tickets.