Documente Academic
Documente Profesional
Documente Cultură
(VTC2000-Fall Tutorial)
Why TCP?
Explosive growth of internet.
Web browsing (HTTP) contribute to more than 70%
of the traffic in the internet.
HTTP and some other internet applications use TCP
as the transport mechanism.
TCP is tuned to fixed networks (low delay, low error
rate).
Scalability of the internet is enabled by TCP flow
control mechanisms.
HTTP/TCP
When and how much
HTTP/TCP
internet
HTTP/TCP
RLP/MAC/PHY
RLP/MAC/PHY
RLP/MAC/PHY
BSC/RNC
MS
Internet protocols
Radio network protocols
Receiver
www.yahoo.com
HTTP www.yahoo.com
RLP
RLP
Coding and interleaving etc.
Radio frames
Tutorial Outline
Introduction
RLP
TCP
HTTP
IS-2000 RLP
NAK-Based
RLP Type 3 supports 2 rounds of NAKs.
Two NAKs in the first round and three NAKs in the second
round.
In RLP Type 3 enhanced, the number of rounds and
NAKs/retransmissions sent in each round are configurable.
The configuration parameters are determined during RLP
set up process through negotiation between the mobile
terminal and the network.
RLP Type 3
TX
1
2 3
NAKs
NAKs
2 2
2 2 2
RX
RTX Timer
Abort Timer
TCP Header
16-bit source port number 16-bit destination port
32-bit sequence number
32-bit acknowledgment number
4-bit
HLEN
Reserved
URGACKPSHRSTSYN FIN
20 bytes
SYN(K)
Data flow
ACK(J+1)
ACK(M+1)
FIN(N)
FIN(M)
ACK(N+1)
RX
J
K+1
20 bytes
[SYN(J), ACK(K+1)]
Loss Detection
TCP Data and ACKs can get lost due to congestion
or transmission errors.
Two different ways to detect loss:
Retransmission timeout
Duplicate ACKs
TCP Timeout
TCP sets a timeout, when it sends data.
If the data is NOT acknowledged when the timeout
expires
TCP retransmits the data.
Exponential Back-off
RTO=T
RTO=2T
RTO=4T
TX
RX
Duplicate ACKs
After receiving three duplicate ACK,
TCP sender assumes that the segment is lost and,
Perform a retransmission
RX
K+1
K+2
K+3
K+4
K+2
K+5
K+2
K+6
K+2
K+7
K+2
K+2
K+2
K+8
3 dupacks
Window size
ACKs received
10
Congestion Avoidance
Congestion Avoidance
When congestion occurs (indicated by a timeout or
the reception of duplicate ACKs), ssthresh max
[2*MSS, 1/2(current window size)]
Additionally, if the congestion is indicated by a
timeout, cwnd MSS (i.e., slow start).
When new data is acknowledged by the other end,
increase cwnd, but the way it increases depends on
whether TCP is performing slow start (cwnd
ssthresh) or congestion avoidance (cwnd > ssthresh).
Current
Window
Advertised
window
cwnd
1.5KB
65KB
1.50KB 65KB
t+
65KB
65KB
75.0KB 65KB
65KB
75.0KB 32.5KB
65KB
1.50KB 32.5KB
ssthresh
Congestion Avoidance
In congestion avoidance, each time an ACK is received,
cwnd MSS*MSS/cwnd. For example, MSS=1500 bytes,
current cwnd=6000 bytes, the new cwnd = 6375 bytes
This is a linear growth of cwnd, compared to slow start's
exponential growth.
The increase in cwnd should be at most one MSS each
RTT (regardless how many ACKs are received in that RTT),
whereas slow start increments cwnd by the number of
ACKs received in an RTT.
cwnd (segments)
25
20
15
10
5
0
ssthresh
4
RTT
Web server
TCP
TCP
Internet
HTTP/1.0 (Continued)
HTTP/1.0 (Continued)
HTTP/1.0 (Continued)
Web object (A) transfer time
Completion of index.html
Packet Bursts
B
4 parallel TCP connections
C
D
E
F
Web page transfer time
HTTP/1.0 (Continued)
First TCP connection (A) is for the home page (GET
/).
This HTML document refers to 5 GIF images (B
through F).
As soon as this home page is received by the client,
four TCP connections are opened in parallel for the
first four images (B through E).
As soon as one of these connections terminates,
another connection is immediately established to
fetch the next and last image F.
HTTP/1.1
HTTP/1.1 (Continued)
Delay (RTT)
Bandwidth
Delay*Bandwidth Product
(ms)
(Kb/s)
(Bytes)
W-LAN
1500
563
GSM, IS-95
500
9 .6
600
Richochet
500
128.0
8KB
3G Wireless
200
384
40ms
Wasted BW
12ms
576B
Max
buffer
space
=8 K B
TCP
receiver
ACKs
12ms
Delay=100ms, Rate=384Kb/s
Maximum number of outstanding segments = Floor(8KB/576B)=13
Variable Delays
TCP RTO = mean RTT+4 (mean deviation of RTT)
Host
HTTP/TCP
HTTP/TCP
internet
RLP/MAC/PHY
BSC/RNC
Errors
RLP/MAC/PHY
MS
RLP Retransmissions
Large variations in the RTT (due to RLP retransmissions) increase the RTO
Router
Host
RNC
Errors
MS
Handoffs
Variations in RTT due to delay associated with
Handoffs.
TCP timeouts (and duplicate transmissions) due to
sudden increase in delays seen by TCP (RTO cannot
be adjusted so fast).
Selective Acks
RX
K+1
K+2
K+3
Fast RTX
Fast Recovery
K+4
K+2
K+5
K+2
K+6
K+2
K+7
K+2
K+2
K+2
K+8
K+8
K+9
K+9
K+10
3 dupacks
Ack counting
Handling ACKs
Terminating Slow
Start
Ack-every-segment
cwnd (segments)
25
20
15
10
5
0
ssthresh
IW=1
IW=4
RTT
ACK Counting
Make each ACK count to its fullest by growing the
window based on the data being acknowledged (byte
counting).
May cause bursts that lead to congestion.
Limit the window growth to 2 segments.
ACK-every-segment
Keep a constant stream of ACKs coming back by turning off
delayed ACKs during slow start.
Should be limited to slow start only in order to avoid penalizing
asymmetric-bandwidth configurations
K
200-500ms
K+1
K+1
K+2
cwnd (segments)
ssthresh
4
RTT
K+1
K+2
K+3
K+4
K+5
K+6
Delay
K+7
Fast RTX
Fast Recovery
K+2
K+2
K+8
K+8
K+9
K+9
K+10
Selective Acknowledgments
K
K+1
K+2
K
K+1
K+3
K+4
K+5
K+6
K+7
K+8
K+2
K+5
K+9
Split TCP
Replace an end-to-end TCP connection with two distinct
connections: one across the wireless link, the other across
the wireline network
TCP1
Host
TCP2
BSC/RNC
BS
MS
Snoop Protocol
Locally (on the wireless link) retransmit lost packets.
Suppress the duplicate ACKs on their way from the
receiver back to the sender.
Not beneficial when radio link protocol provides in
sequence delivery of frames.
Problem with IPSEC.
Wireless Link
Internet
Host
BSC/RNC
BS
MS
HTTP/TCP/RLP Results
M o u s e c lick
Web Page
Web Page
Think Tim e
M o u s e c lick
W e b o b jects
Number of
connections per web
page
Mean = 3,
Median=1
Mean = 6.75KB
30* seconds
[Exponential distribution]
TCP Parameters
TCP version
Reno
TCP maximum
segment size (MSS)
Configurable
100ms
60ms
Delay [secs]
5
4
3
C=1
C=4
0.
01
(I.
I.d
)
0.
05
(I.
I.d
)
0.
10
(I.
I.d
)
0.
01
(c
or
r)
0.
05
(c
or
r)
0.
10
(c
or
r)
FER
4
3.5
3
2.5
0.01(I.I.d)
2
1.5
1
0.05(I.I.d)
0.10(I.I.d)
0.5
0
<1KB
1K-10K
10K20K
Object Size
20K 30K
30K 40K
0.
01
(I.
I.d
)
0.
05
(I.
I.d
)
0.
10
(I.
I.d
)
0.
01
(c
or
r)
0.
05
(c
or
r)
0.
10
(c
or
r)
Object Throughput
60
50
40
30
38.4 Kb/s
20
153.6 Kb/s
10
FER
0.
01
(I.
I.d
)
0.
05
(I.
I.d
)
0.
10
(I.
I.d
)
0.
01
(c
or
r)
0.
05
(c
or
r)
0.
10
(c
or
r)
140
120
100
80
C=1
60
40
C=4
20
0
FER
7
6
5
0.01(corr)
0.05(corr)
0.10(corr)
2
1
0
<1KB
1K-10K
Object Size
180
160
0.95
140
120 Kb/s
120
100
80
60
40
20
0
0
10
20
30
N u m b e r o f HT T P u s e r s
40
50
0.9
0.82 s/KB
0.85
0.8
0.75
0.7
0.65
0.6
0.55
26 users
0.5
0
10
20
30
N u m b e r o f HT T P u s e r s
40
50
1.2
(1,1,1,1,1)
(2,3)
0.8
(1,1,2)
0.6
(1,1,3)
0.4
(1,2,2)
0.2
(1,2,3)
FE
R=
30
%
FE
R=
20
%
FE
R=
10
%
FE
R=
5%
0
FE
R=
0%
1.4
1.2
(1,1,1,1,1)
(2,3)
0.8
(1,1,2)
0.6
(1,1,3)
0.4
(1,2,2)
0.2
(1,2,3)
FE
R=
30
%
FE
R=
20
%
FE
R=
10
%
FE
R=
5%
0
FE
R=
0%
1.4
RLP Buffers
TCP Segments
TCP Segments
New Transmission
buffer
V(R) -V(N)
RESEQ Buffer
V(S) -V(N)peer
RTX buffer
MS
BSC/RNC
1
0.9
0.8
0.7
0.6
0.5
0.4
0.3
0.2
0.1
0
FER=0%
B u ffe r S i z e [KB]
7.78
6.91
6.05
5.18
4.32
3.46
2.59
1.73
0.86
FER=10%
C.D.F.
1%
340
369
369
5%
275
340
340
10%
230
320
320
Recomm Comments
endation
MTU size
1500B
TCP Receive
Window size
64KB
TCP Initial
Window
2MSS
(up to
4380B)
Yes
Use of SACK
Summary
Packet Multiplexing over the air is crucial for efficient support
of TCP/IP traffic.
A radio link layer MUST perform in sequence delivery of radio
frames to avoid TCP retransmissions due to duplicate ACKs.
Multiple instances of link layer protocol per user (e.g., for
different TCP flows) will improve the overall system
performance (assuming low overhead to setup a radio link
connection)
Summary (Continued)
Minimizing the radio link round trip time (RTT) by
eliminating the delays associated with the access network,
coding and interleaving etc. will improve the performance
of TCP/IP traffic.
Limit the radio link errors to =< 10%
Use less aggressive NAK schemes.