Towards Understanding TCP Performance on LTE/EPC Mobile Networks! Binh Nguyen1, Arijit Banerjee1, Vijay Gopalakrishnan2, Sneha Kasera1, Seungjoon Lee2, Aman Shaikh2, and Jacobus (Kobus) Van der Merwe1 1School of Computing, University of Utah 2AT&T Labs - Research 1
Motivation 2
Motivation 4G traffic will be more than half of the total mobile traffic by 218. In 213,, they (4G-connections) already account for 3 percent of mobile data traffic 2
Motivation 4G traffic will be more than half of the total mobile traffic by 218. In 213,, they (4G-connections) already account for 3 percent of mobile data traffic Does TCP work well in LTE/EPC networks? TCP only utilize 5% of the available bandwidth in cellular networks (Huang et al. SIGCOMM 13) SPDY is not faster in cellular networks because of the interaction between TCP with cellular networks (Erman et al. CoNEXT 13) 2
Motivation 4G traffic will be more than half of the total mobile traffic by 218. In 213,, they (4G-connections) already account for 3 percent of mobile data traffic Does TCP work well in LTE/EPC networks? TCP only utilize 5% of the available bandwidth in cellular networks (Huang et al. SIGCOMM 13) SPDY is not faster in cellular networks because of the interaction between TCP with cellular networks (Erman et al. CoNEXT 13) Treat the cellular network as a black-box. Speculate the root causes of performance problems. 2
Motivation 4G traffic will be more than half of the total mobile traffic by 218. In 213,, they (4G-connections) already account for 3 percent of mobile data traffic Does TCP work well in LTE/EPC networks? TCP only utilize 5% of the available bandwidth in cellular networks (Huang et al. SIGCOMM 13) SPDY is not faster in cellular networks because of the interaction between TCP with cellular networks (Erman et al. CoNEXT 13) We look under the hood to answer: how cellular specific events impact TCP s performance? Treat the cellular network as a black-box. Speculate the root causes of performance problems. 2
We studied two cellular scenarios 3
We studied two cellular scenarios On-going TCP connection when a user is handedover between enodebs. Seamless handover. Lossless handover. 3
We studied two cellular scenarios On-going TCP connection when a user is handedover between enodebs. Seamless handover. Lossless handover. Sudden load increase on an enodeb: When neighbor enodebs fail and users are handed to a survived enodeb. 3
We studied two cellular scenarios On-going TCP connection when a user is handedover between enodebs. Seamless handover. Lossless handover. Sudden load increase on an enodeb: When neighbor enodebs fail and users are handed to a survived enodeb. 3
LTE/EPC network architecture enodeb UE X2 S1-U Serving! gateway PDN! gateway Radio Network (E-UTRAN) Evolved Packet Core (EPC) Internet 4
LTE/EPC network architecture enodeb X2 S1-U Serving! gateway PDN! gateway UE Radio Network (E-UTRAN) Evolved Packet Core (EPC) Internet 4
LTE stack IP packet PDCP: header compression, ciphering RLC: segmentation/ concatenation, ARQ scheduler MAC: MAC multiplexing, HARQ PHY: coding, modulation enodeb 5
LTE stack IP packet IP packet PDCP: header compression, ciphering PDCP: decompression, deciphering radio bearers RLC: segmentation/ concatenation, ARQ RLC: reassembly, ARQ logical channels scheduler MAC: MAC demultiplexing, HARQ MAC: MAC multiplexing, HARQ transport channels PHY: coding, modulation enodeb 5 PHY: decoding, demodulation UE
LTE stack IP PDCP: header compression, ciphering RLC: segmentation/ concatenation, MAC: MAC multiplexing, HARQ scheduler PHY: coding, modulation 6 enodeb IP radio PDCP: decompression, deciphering logical RLC: reassembly, ARQ transport MAC: MAC demultiplexing, HARQ PHY: decoding, demodulation UE
LTE stack IP PDCP: header compression, ciphering RLC: segmentation/ concatenation, MAC: MAC multiplexing, HARQ scheduler PHY: coding, modulation 6 enodeb IP radio PDCP: decompression, deciphering logical RLC: reassembly, ARQ transport MAC: MAC demultiplexing, HARQ PHY: decoding, demodulation UE
PDCP seamless handover Source enodeb Target enodeb 7
PDCP seamless handover X2 link Source enodeb Target enodeb Un-transmitted SDUs are forwarded to the target enodeb via the X2 link. 7
PDCP seamless handover X2 link! X Source enodeb Target enodeb Un-transmitted SDUs are forwarded to the target enodeb via the X2 link. SDUs in the retransmission queue are discarded. 7
PDCP lossless handover 8
PDCP lossless handover Source enodeb Target enodeb 8
PDCP lossless handover (2) (1) X2 link Source enodeb Target enodeb Both un-transmitted SDUs and SDUs in the retransmission queue are forwarded to the target enodeb via the X2 link. 8
Methodology Use simulations (NS-3) for better controls and modifications. Real network stack: Linux v2.6.26 with TCP CUBIC. Workload: downlink bulk-transfer TCP application. 9
Modifications to NS3 Radio Link Control Acknowledged Mode (RLC AM). Lossless handover according to 3GPP TS 36.323 29. Retrieving TCP parameters from the Network Simulation Cradle (NSC) integration. 1
Scenario 1: PDCP handovers source enb Source enb - target enb: 75m. S1-U X2 interface: 6ms delay. X2 target enb Serving gateway UE s velocity: normal distribution with mean 4 km/h, variance 5 km/h. PDCP retransmission queue size: 64KB to 496KB. 11
Scenario 1: PDCP handovers source enb Source enb - target enb: 75m. S1-U X2 interface: 6ms delay. X2 target enb Serving gateway UE s velocity: normal distribution with mean 4 km/h, variance 5 km/h. PDCP retransmission queue size: 64KB to 496KB. 11
TCP in seamless handover Segments sequence 12
TCP in seamless handover Segments sequence 12
TCP in seamless handover Congestion window and throughput Cwnd (segment) 2 15 1 4 5 CWnd segment delay 2 2 25 3 35 4 Time (s) handover 14 12 1 8 6 delay (ms) Segments sequence 12
TCP in seamless handover Congestion window and throughput Cwnd (segment) 2 15 1 4 5 CWnd segment delay 2 2 25 3 35 4 Time (s) handover 14 12 1 8 6 delay (ms) Segments sequence 12
TCP in seamless handover Congestion window and throughput Cwnd (segment) 2 15 1 4 5 CWnd segment delay 2 2 25 3 35 4 Time (s) handover 14 12 1 8 6 delay (ms) Segments sequence Throughput (kbps) 45 4 TCP throughput 35 3 25 2 15 1 5 2 25 3 35 4 Time (s) handover 12
TCP in seamless handover Congestion window and throughput Cwnd (segment) 2 15 1 4 5 CWnd segment delay 2 2 25 3 35 4 Time (s) handover 14 12 1 8 6 delay (ms) Segments sequence Throughput (kbps) 45 4 TCP throughput 35 3 25 2 15 1 5 2 25 3 35 4 Time (s) handover 12
TCP in seamless handover Congestion window and throughput Cwnd (segment) 2 15 1 4 5 CWnd segment delay 2 2 25 3 35 4 Time (s) handover 14 12 1 8 6 delay (ms) Segments sequence Throughput (kbps) 45 4 TCP throughput 35 3 25 2 15 1 5 2 25 3 35 4 Time (s) handover 12
TCP in lossless handover Segments sequence 1 9 Sent sequence number Ack sequence number segment sequence number 8 7 6 5 4 3 2 hand-over 1 28 28.5 29 29.5 3 3.5 31 31.5 32 Time (s) 13
TCP in lossless handover Segments sequence 1 9 Sent sequence number Ack sequence number segment sequence number 8 7 6 5 4 3 2 hand-over 1 28 28.5 29 29.5 3 3.5 31 31.5 32 Time (s) 13
TCP in lossless handover Cwnd (segment) 2 15 1 Congestion window and throughput handover 5 4 cwnd segment delay 2 2 25 3 35 4 Time (s) 16 14 12 1 8 6 delay (ms) segment sequence number 1 9 8 7 6 5 4 3 Segments sequence hand-over Sent sequence number Ack sequence number 2 1 28 28.5 29 29.5 3 3.5 31 31.5 32 Time (s) 13
TCP in lossless handover Cwnd (segment) 2 15 1 Congestion window and throughput handover 5 4 cwnd segment delay 2 2 25 3 35 4 Time (s) 16 14 12 1 8 6 delay (ms) segment sequence number 1 9 8 7 6 5 4 3 Segments sequence hand-over Sent sequence number Ack sequence number 2 1 28 28.5 29 29.5 3 3.5 31 31.5 32 Time (s) 13
TCP in lossless handover Cwnd (segment) Throughput (kbps) 2 15 1 Congestion window and throughput handover 5 4 cwnd segment delay 2 2 25 3 35 4 Time (s) 45 4 35 3 25 2 15 1 5 TCP throughput 2 25 3 35 4 handover 16 14 12 1 8 6 delay (ms) segment sequence number 1 9 8 7 6 5 4 3 2 1 Segments sequence hand-over 28 28.5 29 29.5 3 3.5 31 31.5 32 Time (s) Sent sequence number Ack sequence number Time (s) 13
TCP in lossless handover Cwnd (segment) Throughput (kbps) 2 15 1 Congestion window and throughput handover 5 4 cwnd segment delay 2 2 25 3 35 4 Time (s) 45 4 35 3 25 2 15 1 5 TCP throughput 2 25 3 35 4 handover 16 14 12 1 8 6 delay (ms) segment sequence number 1 9 8 7 6 5 4 3 2 1 Segments sequence hand-over 28 28.5 29 29.5 3 3.5 31 31.5 32 Time (s) Sent sequence number Ack sequence number Time (s) 13
TCP in lossless handover Cwnd (segment) Throughput (kbps) 2 15 1 Congestion window and throughput handover 5 4 cwnd segment delay 2 2 25 3 35 4 Time (s) 45 4 35 3 25 2 15 1 5 TCP throughput 2 25 3 35 4 handover 16 14 12 1 8 6 delay (ms) segment sequence number 1 9 8 7 6 5 4 3 2 1 Segments sequence hand-over 28 28.5 29 29.5 3 3.5 31 31.5 32 Time (s) Sent sequence number Ack sequence number Time (s) 13
TCP in lossless handover Cwnd (segment) Throughput (kbps) 2 15 1 Congestion window and throughput handover 5 4 cwnd segment delay 2 2 25 3 35 4 Time (s) 45 4 35 3 25 2 15 1 5 TCP throughput 2 25 3 35 4 handover Time (s) 16 14 12 1 8 6 delay (ms) segment sequence number 1 9 8 7 6 5 4 3 2 1 Segments sequence hand-over 28 28.5 29 29.5 3 3.5 31 31.5 32 Time (s) Seamless HO suffers from a throughput reduction while lossless HO experiences a high delay. Sent sequence number Ack sequence number 13
TCP s performance during handovers TCP good-put End-to-end delay 14
TCP s performance during handovers TCP good-put End-to-end delay 14
TCP s performance during handovers TCP good-put End-to-end delay 14
TCP s performance during handovers TCP good-put End-to-end delay 14 - In seamless handovers, the higher the PDCP queue size, the lower TCP good-put. - In lossless handovers, the higher the PDCP queue size, the larger end-to-end delay.
Implications 15
Implications Different types of handover has different impacts on TCP s performance: 15
Implications Different types of handover has different impacts on TCP s performance: Seamless handover: low delay but hurts throughput. 15
Implications Different types of handover has different impacts on TCP s performance: Seamless handover: low delay but hurts throughput. Lossless handover: high delay but guarantee throughput and delivery. 15
Implications Different types of handover has different impacts on TCP s performance: Seamless handover: low delay but hurts throughput. Lossless handover: high delay but guarantee throughput and delivery. 15
Implications Different types of handover has different impacts on TCP s performance: Seamless handover: low delay but hurts throughput. Lossless handover: high delay but guarantee throughput and delivery. What about applications? 15
Implications Different types of handover has different impacts on TCP s performance: Seamless handover: low delay but hurts throughput. Lossless handover: high delay but guarantee throughput and delivery. What about applications? Low delay is important: Skype, real-time interactive games, etc. 15
Implications Different types of handover has different impacts on TCP s performance: Seamless handover: low delay but hurts throughput. Lossless handover: high delay but guarantee throughput and delivery. What about applications? Low delay is important: Skype, real-time interactive games, etc. High throughput and guaranteed delivery are favorable (with a certain bound of delay): File transfer, HTTP. 15
Implications Different types of handover has different impacts on TCP s performance: Seamless handover: low delay but hurts throughput. Lossless handover: high delay but guarantee throughput and delivery. Can applications specify the type of handover? What about applications? Low delay is important: Skype, real-time interactive games, etc. High throughput and guaranteed delivery are favorable (with a certain bound of delay): File transfer, HTTP. 15
Implications Different types of handover has different impacts on TCP s performance: Seamless handover: low delay but hurts throughput. Lossless handover: high delay but guarantee No: same throughput radio bearer and delivery. type for all applications. Can applications specify the type of handover? What about applications? Low delay is important: Skype, real-time interactive games, etc. High throughput and guaranteed delivery are favorable (with a certain bound of delay): File transfer, HTTP. 15
Implications Different types of handover has different impacts on TCP s performance: Seamless handover: low delay but hurts throughput. Lossless handover: high delay but guarantee No: same throughput radio bearer and delivery. type for all applications. Can applications specify the type of handover? What about applications? Low delay is important: Skype, real-time interactive games, etc. High throughput and guaranteed delivery are favorable (with a certain bound of delay): File transfer, HTTP. 15
Implications Different types of handover has different impacts on TCP s performance: Seamless handover: low delay but hurts throughput. Lossless handover: high delay but guarantee No: same throughput radio bearer and delivery. type for all applications. Can applications specify the type of handover? Need What a about closer applications? interaction between applications and the network? Low delay is important: Skype, real-time interactive games, etc. High throughput and guaranteed delivery are favorable (with a certain bound of delay): File transfer, HTTP. 15
Scenario 2: Sudden load increase in an enodeb Assume an area with 25m of radius from the enodeb where UEs are uniformly distributed. Users mobility: Levy-walk pedestrian mobility. UEs are attached to the enodeb at the beginning of the experiment and start downloading data at a specific time. 16
Scenario 2: Sudden load increase in an enodeb Assume an area with 25m of radius from the enodeb where UEs are uniformly distributed. Users mobility: Levy-walk pedestrian mobility. UEs are attached to the enodeb at the beginning of the experiment and start downloading data at a specific time. 16
Conclusions 17
Conclusions Cellular specific phenomena impacts TCP s performance: Different types of handover has different impacts on TCP s performance: delay and throughput trade-off. Possible future work: 17
Conclusions Cellular specific phenomena impacts TCP s performance: Different types of handover has different impacts on TCP s performance: delay and throughput trade-off. Possible future work: More investigations on the TCP s performance problems. Cross-layer interactions: e.g., applications and the mobility stack. Base station congestion prediction and mitigation. 17
Thank you!