Bug 2984 - TCP sender stalls because it never receives an ACK (receiver ACKs many times)
TCP sender stalls because it never receives an ACK (receiver ACKs many times)
Status: NEW
Product: ns-3
Classification: Unclassified
Component: lte
ns-3.28
PC Linux
: P3 normal
Assigned To: Biljana Bojović
:
Depends on:
Blocks:
  Show dependency treegraph
 
Reported: 2018-08-31 23:58 EDT by Jonah Ho
Modified: 2018-09-03 05:02 EDT (History)
5 users (show)

See Also:


Attachments
Radio environment map (125.28 KB, image/png)
2018-08-31 23:58 EDT, Jonah Ho
Details
simple_lte_seed.cc (27.83 KB, text/x-csrc)
2018-08-31 23:59 EDT, Jonah Ho
Details
TCP sender log (44.54 KB, text/plain)
2018-09-01 00:03 EDT, Jonah Ho
Details
Receiver TCP log (862.24 KB, text/plain)
2018-09-01 00:07 EDT, Jonah Ho
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Jonah Ho 2018-08-31 23:58:03 EDT
Created attachment 3170 [details]
Radio environment map

Overview:
Full-buffer downlink traffic from a remote host to 7x UEs over TCP using LTE with EPC.  However the simulation never finishes.  This is due to the TCP sender stalling because midway in simulation, it never receives an ACK from IMSI 4 (located in the middle cell).  The simulation transfers 93.75MB of data and TCP stalls around the 21MB mark.

Steps to Reproduce:
1. Download attached simple_lte_seed.cc 
2. ./waf configure -d debug
3. ./waf --run "simple_lte_seed --Seed=1 --rlcMode=RLC_AM --harqMode=HARQ_DISABLED --n=3 --s1uDelay=0.002 --serverEPCDelay=0.01"

Actual Results:
93.75MB data transfer never finishes for IMSI 4

Expected Results:
93.75MB data transfer finishes for all UEs

Attached logs and radio environment map.
Comment 1 Jonah Ho 2018-08-31 23:59:27 EDT
Created attachment 3171 [details]
simple_lte_seed.cc
Comment 2 Jonah Ho 2018-09-01 00:03:24 EDT
Created attachment 3172 [details]
TCP sender log

Node 15 is the remote host.
7.0.0.5 is IMSI #4.
SEQ number 21957777 is responsible for stalling the simulation.
Comment 3 Jonah Ho 2018-09-01 00:07:39 EDT
Created attachment 3173 [details]
Receiver TCP log

Node 11 is IMSI 4.
We can see it ACKs well past the SEQ num 21957777 responsible for stalling the simulation.
Comment 4 Jonah Ho 2018-09-01 00:11:35 EDT
The sender keeps sending SEQ num 21957777 and the receiver keeps rejecting it (correctly).  But the pure ACKs are not getting through to sender.  

 [node 11] At state ESTABLISHED received packet of seq [21957777:21958313) out of range [21986185:22117257)
 [node 11] 11 Add option TS, ts=332865 echo=331610
 [node 11] Sending a pure ACK, acking seq 21986185
 [node 11] At state ESTABLISHED received packet of seq [21957777:21958313) out of range [21986185:22117257)
 [node 11] 11 Add option TS, ts=334785 echo=331610
 [node 11] Sending a pure ACK, acking seq 21986185
 [node 11] At state ESTABLISHED received packet of seq [21957777:21958313) out of range [21986185:22117257)
 [node 11] 11 Add option TS, ts=338625 echo=331610
 [node 11] Sending a pure ACK, acking seq 21986185
 [node 11] At state ESTABLISHED received packet of seq [21957777:21958313) out of range [21986185:22117257)
 [node 11] 11 Add option TS, ts=346625 echo=331610
 [node 11] Sending a pure ACK, acking seq 21986185
 [node 11] At state ESTABLISHED received packet of seq [21957777:21958313) out of range [21986185:22117257)
 [node 11] 11 Add option TS, ts=362625 echo=331610
 [node 11] Sending a pure ACK, acking seq 21986185
 [node 11] At state ESTABLISHED received packet of seq [21957777:21958313) out of range [21986185:22117257)
Comment 5 Jonah Ho 2018-09-01 13:52:12 EDT
Looking at UlPdcpStats.txt, I see pure ACKS (54 bytes) are being transmitted near the stalling point.  But the PduSize is zero.  Is this why the ACKS are never received?

% start	end	CellId	IMSI	RNTI	LCID	nTxPDUs	TxBytes	nRxPDUs	RxBytes	delay	stdDev	min	max	PduSize	stdDev	min	max
332.75	333	4	4	1	4	1	54	0	0	0	0	0	0	0	0	0	0	
334.75	335	4	4	1	4	1	54	0	0	0	0	0	0	0	0	0	0	
338.5	338.75	4	4	1	4	1	54	0	0	0	0	0	0	0	0	0	0	
346.5	346.75	4	4	1	4	1	54	0	0	0	0	0	0	0	0	0	0	
362.5	362.75	4	4	1	4	1	54	0	0	0	0	0	0	0	0	0	0	
394.5	394.75	4	4	1	4	1	54	0	0	0	0	0	0	0	0	0	0