Bug 2832 - TCP Repeated Retransmission
TCP Repeated Retransmission
Status: RESOLVED FIXED
Product: ns-3
Classification: Unclassified
Component: tcp
ns-3.27
All All
: P3 critical
Assigned To: natale.patriciello
:
Depends on:
Blocks:
  Show dependency treegraph
 
Reported: 2017-11-30 17:03 UTC by Menglei Zhang
Modified: 2018-03-03 06:01 UTC (History)
3 users (show)

See Also:


Attachments
original/ fixed TCP sequence plot (320.86 KB, image/png)
2017-11-30 17:03 UTC, Menglei Zhang
Details
Script to recreate the TCP sequence plot (4.10 KB, text/x-csrc)
2017-11-30 17:05 UTC, Menglei Zhang
Details
A patch file to fix this bug (636 bytes, patch)
2017-11-30 17:06 UTC, Menglei Zhang
Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Menglei Zhang 2017-11-30 17:03:13 UTC
Created attachment 2967 [details]
original/ fixed TCP sequence plot

In the TcpSocketBase class, Selective ACK(SACK) is enabled by default and triggers retransmissions after loss events. However, the partial ACK also triggers retransmissions, even if the SACK is enabled. Therefore the same packet is retransmitted twice. According to RFC 6592 https://tools.ietf.org/html/rfc6582, the fast recovery for partial ACK should be used in the absence of SACK. Here I attached a figure to show the original TCP sequence plot and the fixed one.
Comment 1 Menglei Zhang 2017-11-30 17:05:35 UTC
Created attachment 2968 [details]
Script to recreate the TCP sequence plot
Comment 2 Menglei Zhang 2017-11-30 17:06:14 UTC
Created attachment 2969 [details]
A patch file to fix this bug
Comment 3 natale.patriciello 2018-03-03 06:01:34 UTC
Fixed in  13372:950f852a89f9