[haiku-bugs] [Haiku] #13631: tcp: rfc 3042: implementing limited trasmit

  • From: "a-star" <trac@xxxxxxxxxxxx>
  • Date: Tue, 25 Jul 2017 22:29:11 -0000

#13631: tcp: rfc 3042: implementing limited trasmit
------------------------------------+------------------------------
 Reporter:  a-star                  |        Owner:  axeld
     Type:  task                    |       Status:  new
 Priority:  normal                  |    Milestone:  Unscheduled
Component:  Network & Internet/TCP  |      Version:  R1/Development
 Keywords:  tcp, gsoc, slow start   |   Blocked By:
 Blocking:                          |  Has a Patch:  0
 Platform:  All                     |
------------------------------------+------------------------------
 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.

--
Ticket URL: <https://dev.haiku-os.org/ticket/13631>
Haiku <https://dev.haiku-os.org>
The Haiku operating system.

Other related posts: