Bug 2832

Summary: TCP Repeated Retransmission
Product: ns-3 Reporter: Menglei Zhang <mengleizhang.mz>
Component: tcpAssignee: natale.patriciello
Status: RESOLVED FIXED    
Severity: critical CC: michele.polese, ns-bugs, tomh
Priority: P3    
Version: ns-3.27   
Hardware: All   
OS: All   
Attachments: original/ fixed TCP sequence plot
Script to recreate the TCP sequence plot
A patch file to fix 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