Towards Understanding TCP Performance on...

Post on 09-Mar-2018

216 views 2 download

Transcript of Towards Understanding TCP Performance on...

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

2

“In 2013,…, they (4G-connections) already account

for 30 percent of mobile data traffic”

“4G traffic will be more than half of the total mobile

traffic by 2018.”

Motivation

2

• Does TCP work well in LTE/EPC networks? • TCP only utilize 50% 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)

“In 2013,…, they (4G-connections) already account

for 30 percent of mobile data traffic”

“4G traffic will be more than half of the total mobile

traffic by 2018.”

Motivation

2

• Does TCP work well in LTE/EPC networks? • TCP only utilize 50% 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.

“In 2013,…, they (4G-connections) already account

for 30 percent of mobile data traffic”

“4G traffic will be more than half of the total mobile

traffic by 2018.”

Motivation

2

• Does TCP work well in LTE/EPC networks? • TCP only utilize 50% 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.

“In 2013,…, they (4G-connections) already account

for 30 percent of mobile data traffic”

“4G traffic will be more than half of the total mobile

traffic by 2018.”

We look “under the hood” to answer: how cellular specific events impact TCP’s performance?

We studied two cellular scenarios

3

We studied two cellular scenarios

• On-going TCP connection when a user is handed-over between eNodeBs.

• Seamless handover.

• Lossless handover.

3

We studied two cellular scenarios

• On-going TCP connection when a user is handed-over between eNodeBs.

• Seamless handover.

• Lossless handover.

3

• Sudden load increase on an eNodeB:

• When neighbor eNodeBs fail and users are handed to a survived eNodeB.

We studied two cellular scenarios

• On-going TCP connection when a user is handed-over between eNodeBs.

• Seamless handover.

• Lossless handover.

3

• Sudden load increase on an eNodeB:

• When neighbor eNodeBs fail and users are handed to a survived eNodeB.

LTE/EPC network architecture

4

Evolved Packet Core (EPC)Radio Network

(E-UTRAN) Internet

PDN !gateway

Serving !gateway

S1-U

X2

eNodeB

UE

LTE/EPC network architecture

4

Evolved Packet Core (EPC)Radio Network

(E-UTRAN) Internet

PDN !gateway

Serving !gateway

S1-U

X2

eNodeB

UE

LTE stack

PDCP: header compression, ciphering

RLC: segmentation/concatenation, ARQ

MAC: MAC multiplexing, HARQ

PHY: coding, modulation

IP packet

eNodeB

scheduler

5

LTE stack

PDCP: header compression, ciphering

RLC: segmentation/concatenation, ARQ

MAC: MAC multiplexing, HARQ

PHY: coding, modulation

IP packet

UEeNodeB

radio bearers

logical channels

transport channels

scheduler

PDCP: decompression, deciphering

RLC: reassembly, ARQ

MAC: MAC demultiplexing, HARQ

PHY: decoding, demodulation

IP packet

5

LTE stack

PDCP: header compression,

ciphering

RLC: segmentation/concatenation,

MAC: MAC multiplexing,

HARQ

PHY: coding, modulation

IP

UEeNodeB

radio

logical

transport scheduler

PDCP: decompression,

deciphering

RLC: reassembly, ARQ

MAC: MAC demultiplexing,

HARQ

PHY: decoding, demodulation

IP

6

LTE stack

PDCP: header compression,

ciphering

RLC: segmentation/concatenation,

MAC: MAC multiplexing,

HARQ

PHY: coding, modulation

IP

UEeNodeB

radio

logical

transport scheduler

PDCP: decompression,

deciphering

RLC: reassembly, ARQ

MAC: MAC demultiplexing,

HARQ

PHY: decoding, demodulation

IP

6

PDCP seamless handover

7

Source eNodeB Target eNodeB

PDCP seamless handover

7

Source eNodeB Target eNodeB

X2 link

• Un-transmitted SDUs are forwarded to the target eNodeB via the X2 link.

PDCP seamless handover

7

Source eNodeB Target eNodeB

X2 link

!

X

• Un-transmitted SDUs are forwarded to the target eNodeB via the X2 link.

• SDUs in the retransmission queue are discarded.

PDCP lossless handover

8

PDCP lossless handover

8

Source eNodeB Target eNodeB

PDCP lossless handover

8

Source eNodeB Target eNodeB

X2 link

• Both un-transmitted SDUs and SDUs in the retransmission queue are forwarded to the target eNodeB via the X2 link.

(1)

(2)

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 2009.

• Retrieving TCP parameters from the Network Simulation Cradle (NSC) integration.

10

Scenario 1: PDCP handovers

• Source eNB - target eNB: 750m.

• X2 interface: 6ms delay.

• UE’s velocity: normal distribution with mean 40 km/h, variance 5 km/h.

• PDCP retransmission queue size: 64KB to 4096KB.

target eNB

11

Serving gateway

S1-U

X2

source eNB

Scenario 1: PDCP handovers

• Source eNB - target eNB: 750m.

• X2 interface: 6ms delay.

• UE’s velocity: normal distribution with mean 40 km/h, variance 5 km/h.

• PDCP retransmission queue size: 64KB to 4096KB.

target eNB

11

Serving gateway

S1-U

X2

source eNB

TCP in seamless handover

12

�������

�������

����

�������

������

�������

�������

�� ��� �� ��� � �� �� ��� ��

�����

��������

��������

���������������������� ����������������

!���"�������#��

Segments sequence

TCP in seamless handover

12

�������

�������

����

�������

������

�������

�������

�� ��� �� ��� � �� �� ��� ��

�����

��������

��������

���������������������� ����������������

!���"�������#��

Segments sequence

TCP in seamless handover

12

Congestion window and throughput

�������

�������

����

�������

������

�������

�������

�� ��� �� ��� � �� �� ��� ��

�����

��������

��������

���������������������� ����������������

!���"�������#��

Segments sequence

0

50

100

150

200

20 25 30 35 400

200

400

600

800

1000

1200

1400

Cw

nd (s

egm

ent)

dela

y(m

s)

Time (s)

handover

CWndsegment delay

TCP in seamless handover

12

Congestion window and throughput

�������

�������

����

�������

������

�������

�������

�� ��� �� ��� � �� �� ��� ��

�����

��������

��������

���������������������� ����������������

!���"�������#��

Segments sequence

0

50

100

150

200

20 25 30 35 400

200

400

600

800

1000

1200

1400

Cw

nd (s

egm

ent)

dela

y(m

s)

Time (s)

handover

CWndsegment delay

TCP in seamless handover

12

Congestion window and throughput

�������

�������

����

�������

������

�������

�������

�� ��� �� ��� � �� �� ��� ��

�����

��������

��������

���������������������� ����������������

!���"�������#��

Segments sequence

0

50

100

150

200

20 25 30 35 400

200

400

600

800

1000

1200

1400

Cw

nd (s

egm

ent)

dela

y(m

s)

Time (s)

handover

CWndsegment delay

0500

10001500200025003000350040004500

20 25 30 35 40

Thro

ughp

ut (k

bps)

Time (s)

handover

TCP throughput

TCP in seamless handover

12

Congestion window and throughput

�������

�������

����

�������

������

�������

�������

�� ��� �� ��� � �� �� ��� ��

�����

��������

��������

���������������������� ����������������

!���"�������#��

Segments sequence

0

50

100

150

200

20 25 30 35 400

200

400

600

800

1000

1200

1400

Cw

nd (s

egm

ent)

dela

y(m

s)

Time (s)

handover

CWndsegment delay

0500

10001500200025003000350040004500

20 25 30 35 40

Thro

ughp

ut (k

bps)

Time (s)

handover

TCP throughput

TCP in seamless handover

12

Congestion window and throughput

�������

�������

����

�������

������

�������

�������

�� ��� �� ��� � �� �� ��� ��

�����

��������

��������

���������������������� ����������������

!���"�������#��

Segments sequence

0

50

100

150

200

20 25 30 35 400

200

400

600

800

1000

1200

1400

Cw

nd (s

egm

ent)

dela

y(m

s)

Time (s)

handover

CWndsegment delay

0500

10001500200025003000350040004500

20 25 30 35 40

Thro

ughp

ut (k

bps)

Time (s)

handover

TCP throughput

TCP in lossless handover

13

Segments sequence

0

100

200

300

400

500

600

700

800

900

1000

28 28.5 29 29.5 30 30.5 31 31.5 32se

gmen

t seq

uenc

e nu

mbe

r

Time (s)

hand-over

Sent sequence numberAck sequence number

TCP in lossless handover

13

Segments sequence

0

100

200

300

400

500

600

700

800

900

1000

28 28.5 29 29.5 30 30.5 31 31.5 32se

gmen

t seq

uenc

e nu

mbe

r

Time (s)

hand-over

Sent sequence numberAck sequence number

TCP in lossless handover

13

Congestion window and throughput Segments sequence

0

100

200

300

400

500

600

700

800

900

1000

28 28.5 29 29.5 30 30.5 31 31.5 32se

gmen

t seq

uenc

e nu

mbe

r

Time (s)

hand-over

Sent sequence numberAck sequence number

0

50

100

150

200

20 25 30 35 4002004006008001000120014001600

Cw

nd (s

egm

ent)

dela

y (m

s)

Time (s)

handover

cwndsegment delay

TCP in lossless handover

13

Congestion window and throughput Segments sequence

0

100

200

300

400

500

600

700

800

900

1000

28 28.5 29 29.5 30 30.5 31 31.5 32se

gmen

t seq

uenc

e nu

mbe

r

Time (s)

hand-over

Sent sequence numberAck sequence number

0

50

100

150

200

20 25 30 35 4002004006008001000120014001600

Cw

nd (s

egm

ent)

dela

y (m

s)

Time (s)

handover

cwndsegment delay

TCP in lossless handover

13

Congestion window and throughput Segments sequence

0

100

200

300

400

500

600

700

800

900

1000

28 28.5 29 29.5 30 30.5 31 31.5 32se

gmen

t seq

uenc

e nu

mbe

r

Time (s)

hand-over

Sent sequence numberAck sequence number

0

50

100

150

200

20 25 30 35 4002004006008001000120014001600

Cw

nd (s

egm

ent)

dela

y (m

s)

Time (s)

handover

cwndsegment delay

0500

10001500200025003000350040004500

20 25 30 35 40

Thro

ughp

ut (k

bps)

Time (s)

handover

TCP throughput

TCP in lossless handover

13

Congestion window and throughput Segments sequence

0

100

200

300

400

500

600

700

800

900

1000

28 28.5 29 29.5 30 30.5 31 31.5 32se

gmen

t seq

uenc

e nu

mbe

r

Time (s)

hand-over

Sent sequence numberAck sequence number

0

50

100

150

200

20 25 30 35 4002004006008001000120014001600

Cw

nd (s

egm

ent)

dela

y (m

s)

Time (s)

handover

cwndsegment delay

0500

10001500200025003000350040004500

20 25 30 35 40

Thro

ughp

ut (k

bps)

Time (s)

handover

TCP throughput

TCP in lossless handover

13

Congestion window and throughput Segments sequence

0

100

200

300

400

500

600

700

800

900

1000

28 28.5 29 29.5 30 30.5 31 31.5 32se

gmen

t seq

uenc

e nu

mbe

r

Time (s)

hand-over

Sent sequence numberAck sequence number

0

50

100

150

200

20 25 30 35 4002004006008001000120014001600

Cw

nd (s

egm

ent)

dela

y (m

s)

Time (s)

handover

cwndsegment delay

0500

10001500200025003000350040004500

20 25 30 35 40

Thro

ughp

ut (k

bps)

Time (s)

handover

TCP throughput

TCP in lossless handover

13

Congestion window and throughput Segments sequence

0

100

200

300

400

500

600

700

800

900

1000

28 28.5 29 29.5 30 30.5 31 31.5 32se

gmen

t seq

uenc

e nu

mbe

r

Time (s)

hand-over

Sent sequence numberAck sequence number

0

50

100

150

200

20 25 30 35 4002004006008001000120014001600

Cw

nd (s

egm

ent)

dela

y (m

s)

Time (s)

handover

cwndsegment delay

0500

10001500200025003000350040004500

20 25 30 35 40

Thro

ughp

ut (k

bps)

Time (s)

handover

TCP throughput

Seamless HO suffers from a throughput reduction while lossless HO experiences a high delay.

TCP’s performance during handovers

14

���

���

���

�����

������

����

����

����

�����

������

����

�������� �!��"�#

��

���

����

�����

���������

��������

������

������

������� ������ ��������

�������� ��� ����

TCP good-put End-to-end delay

TCP’s performance during handovers

14

���

���

���

�����

������

����

����

����

�����

������

����

�������� �!��"�#

��

���

����

�����

���������

��������

������

������

������� ������ ��������

�������� ��� ����

TCP good-put End-to-end delay

TCP’s performance during handovers

14

���

���

���

�����

������

����

����

����

�����

������

����

�������� �!��"�#

���

���

���

�����

������

����

����

����

���������������

������� !��!�� "���� �!#�

$���%��� &����'��(�� %��� &����'��

��

���

����

�����

���������

��������

������

������

�������

������

������

��

�������������� ����� ����

�������� �� �!��"������� �� �!��

��

���

����

�����

���������

��������

������

������

������� ������ ��������

�������� ��� ����

TCP good-put End-to-end delay

TCP’s performance during handovers

14

���

���

���

�����

������

����

����

����

�����

������

����

�������� �!��"�#

���

���

���

�����

������

����

����

����

���������������

������� !��!�� "���� �!#�

$���%��� &����'��(�� %��� &����'��

��

���

����

�����

���������

��������

������

������

�������

������

������

��

�������������� ����� ����

�������� �� �!��"������� �� �!��

��

���

����

�����

���������

��������

������

������

������� ������ ��������

�������� ��� ����

TCP good-put End-to-end delay

- 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.

• 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

Can applications specify the type of handover?

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

Can applications specify the type of handover?No: same radio bearer type for all applications.

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

Can applications specify the type of handover?No: same radio bearer type for all applications.

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

Can applications specify the type of handover?No: same radio bearer type for all applications.

Need a closer interaction between applications and the network?

Scenario 2: Sudden load increase in an eNodeB

• Assume an area with 250m 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 250m 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!