TCP. Learning objectives Reliable Transport in TCP TCP flow and Congestion Control.
Towards Understanding TCP Performance on...
-
Upload
vuongtuong -
Category
Documents
-
view
216 -
download
2
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!