tcp: rfc 3042: implementing limited trasmit
|Reported by:||a-star||Owned by:||axeld|
|Component:||Network & Internet/TCP||Version:||R1/Development|
|Keywords:||tcp, gsoc, slow start||Cc:|
|Has a Patch:||yes||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.
Change History (5)
by , 2 years ago