1 lecture 10: tcp performance slides adapted from: congestion slides for computer networks: a...
Post on 19-Dec-2015
212 views
TRANSCRIPT
![Page 1: 1 Lecture 10: TCP Performance Slides adapted from: Congestion slides for Computer Networks: A Systems Approach (Peterson and Davis) Chapter 3 slides for](https://reader036.vdocument.in/reader036/viewer/2022072007/56649d405503460f94a1a73e/html5/thumbnails/1.jpg)
1
Lecture 10:
TCP Performance
Slides adapted from:Congestion slides for Computer Networks: A Systems Approach (Peterson and Davis)
Chapter 3 slides for Computer Networking: A Top Down Approach Featuring the Internet (Kurose and Ross)
ITCS 6166/8166 091Spring 2007
Jamie PaytonDepartment of Computer Science
University of North Carolina at Charlotte
February 12, 2007
![Page 2: 1 Lecture 10: TCP Performance Slides adapted from: Congestion slides for Computer Networks: A Systems Approach (Peterson and Davis) Chapter 3 slides for](https://reader036.vdocument.in/reader036/viewer/2022072007/56649d405503460f94a1a73e/html5/thumbnails/2.jpg)
2
Announcements
• Homework 1 deadline is extended– Due: Feb. 16 at 5 pm– Submit through WebCT
• Homework 2 – Assigned: Feb. 14– Due: Feb. 21
![Page 3: 1 Lecture 10: TCP Performance Slides adapted from: Congestion slides for Computer Networks: A Systems Approach (Peterson and Davis) Chapter 3 slides for](https://reader036.vdocument.in/reader036/viewer/2022072007/56649d405503460f94a1a73e/html5/thumbnails/3.jpg)
3
Transmission Control Protocol
• Implementation of sliding window protocol
TCP Segment (Packet) Structure
TCP uses sliding windows at sender and receiver
(buffers)
![Page 4: 1 Lecture 10: TCP Performance Slides adapted from: Congestion slides for Computer Networks: A Systems Approach (Peterson and Davis) Chapter 3 slides for](https://reader036.vdocument.in/reader036/viewer/2022072007/56649d405503460f94a1a73e/html5/thumbnails/4.jpg)
4
TCP Flavors• TCP Tahoe
– Slow start • Switch to AIMD when hit threshold
– Handling loss• Unconditional reduction of window to 1 MSS
• TCP Reno– Slow start
• Switch to AIMD when hit threshold
– Handling loss• Reduction of window to ½
when triple duplicate ACKS• “Fast recovery”: skip slow
start, go to threshold
![Page 5: 1 Lecture 10: TCP Performance Slides adapted from: Congestion slides for Computer Networks: A Systems Approach (Peterson and Davis) Chapter 3 slides for](https://reader036.vdocument.in/reader036/viewer/2022072007/56649d405503460f94a1a73e/html5/thumbnails/5.jpg)
5
TCP Performance
• What is the average throughput for a connection?– Let W be the window size at which loss
occurs– Maximum rate is W/RTT– “Minimum” rate (Reno) is W/(2*RTT)– Average rate is 0.75*W/RTT
• More detailed formula– Average throughput is 1.22*MSS/(RTT*√L)
![Page 6: 1 Lecture 10: TCP Performance Slides adapted from: Congestion slides for Computer Networks: A Systems Approach (Peterson and Davis) Chapter 3 slides for](https://reader036.vdocument.in/reader036/viewer/2022072007/56649d405503460f94a1a73e/html5/thumbnails/6.jpg)
6
How Did You Get That?
![Page 7: 1 Lecture 10: TCP Performance Slides adapted from: Congestion slides for Computer Networks: A Systems Approach (Peterson and Davis) Chapter 3 slides for](https://reader036.vdocument.in/reader036/viewer/2022072007/56649d405503460f94a1a73e/html5/thumbnails/7.jpg)
7
Fairness goal: if K TCP sessions share same bottleneck link of bandwidth R, each should have average rate of R/K
TCP connection 1
bottleneckrouter
capacity R
TCP connection 2
TCP Fairness
![Page 8: 1 Lecture 10: TCP Performance Slides adapted from: Congestion slides for Computer Networks: A Systems Approach (Peterson and Davis) Chapter 3 slides for](https://reader036.vdocument.in/reader036/viewer/2022072007/56649d405503460f94a1a73e/html5/thumbnails/8.jpg)
8
Why is TCP Fair?Two competing sessions:• Additive increase gives slope of 1, as throughout increases• Multiplicative decrease decreases throughput proportionally
congestion avoidance: additive increase
R
R
equal bandwidth share
Connection 1 throughput
Con
nect
ion
2 th
roug
h pu t
loss: decrease window by factor of 2congestion avoidance: additive increase
loss: decrease window by factor of 2
![Page 9: 1 Lecture 10: TCP Performance Slides adapted from: Congestion slides for Computer Networks: A Systems Approach (Peterson and Davis) Chapter 3 slides for](https://reader036.vdocument.in/reader036/viewer/2022072007/56649d405503460f94a1a73e/html5/thumbnails/9.jpg)
9
More on FairnessFairness and UDP• Multimedia applications
often use UDP– can pump audio/video at
constant rate– rate will not be throttled
by congestion control – packet loss can be
tolerated
• Research area: making UDP play nice with TCP
Fairness and TCP • Applications may use
parallel connections– Web browsers do this
• Example: – link of rate R currently
supporting 9 connections; • new app asks for 1 TCP
– Rate?
• new app asks for 11 TCPs– Rate?
![Page 10: 1 Lecture 10: TCP Performance Slides adapted from: Congestion slides for Computer Networks: A Systems Approach (Peterson and Davis) Chapter 3 slides for](https://reader036.vdocument.in/reader036/viewer/2022072007/56649d405503460f94a1a73e/html5/thumbnails/10.jpg)
10
Delay Modeling
Q: How long does it take to receive an object from a Web server after sending a request?
Ignoring congestion, delay is influenced by:
• TCP connection establishment
• data transmission delay• slow start
Notation, assumptions:• Assume one link between client
and server of rate R• S: MSS (bits)• O: object size (bits)• no retransmissions (no loss, no
corruption)
Window size:• First assume: fixed congestion
window, W segments• Then dynamic window, modeling
slow start
![Page 11: 1 Lecture 10: TCP Performance Slides adapted from: Congestion slides for Computer Networks: A Systems Approach (Peterson and Davis) Chapter 3 slides for](https://reader036.vdocument.in/reader036/viewer/2022072007/56649d405503460f94a1a73e/html5/thumbnails/11.jpg)
11
Fixed Congestion Window (1)
First case:WS/R > RTT + S/R: ACK for
first segment in window returns before window’s worth of data sent
delay = 2RTT + O/R
![Page 12: 1 Lecture 10: TCP Performance Slides adapted from: Congestion slides for Computer Networks: A Systems Approach (Peterson and Davis) Chapter 3 slides for](https://reader036.vdocument.in/reader036/viewer/2022072007/56649d405503460f94a1a73e/html5/thumbnails/12.jpg)
12
Fixed Congestion Window (2)
Second case:• WS/R < RTT + S/R:
wait for ACK after sending window’s worth of data sent
delay = 2RTT + O/R+ (K-1)[S/R + RTT - WS/R]
![Page 13: 1 Lecture 10: TCP Performance Slides adapted from: Congestion slides for Computer Networks: A Systems Approach (Peterson and Davis) Chapter 3 slides for](https://reader036.vdocument.in/reader036/viewer/2022072007/56649d405503460f94a1a73e/html5/thumbnails/13.jpg)
13
TCP Delay Modeling: Slow Start (1)
Suppose use of slow start
Will show that the delay for one object is:
R
S
R
SRTTP
R
ORTTLatency P )12(2
where P is the number of times TCP idles at server:
}1,{min KQP
- where Q is the number of times the server idles if the object were of infinite size.
- and K is the number of windows that cover the object.
![Page 14: 1 Lecture 10: TCP Performance Slides adapted from: Congestion slides for Computer Networks: A Systems Approach (Peterson and Davis) Chapter 3 slides for](https://reader036.vdocument.in/reader036/viewer/2022072007/56649d405503460f94a1a73e/html5/thumbnails/14.jpg)
14
TCP Delay Modeling: Slow Start (2)
RTT
initia te TCPconnection
requestobject
first w indow= S /R
second w indow= 2S /R
third w indow= 4S /R
fourth w indow= 8S /R
com pletetransm issionobject
delivered
tim e atc lient
tim e atserver
Example:• O/S = 15 segments• K = 4 windows• Q = 2• P = min{K-1,Q} = 2
Server idles P=2 times
Delay components:• 2 RTT for connection estab and request• O/R to transmit object• time server idles due to slow start
Server idles: P = min{K-1,Q} times
![Page 15: 1 Lecture 10: TCP Performance Slides adapted from: Congestion slides for Computer Networks: A Systems Approach (Peterson and Davis) Chapter 3 slides for](https://reader036.vdocument.in/reader036/viewer/2022072007/56649d405503460f94a1a73e/html5/thumbnails/15.jpg)
15
TCP Delay Modeling (3)
R
S
R
SRTTPRTT
R
O
R
SRTT
R
SRTT
R
O
idleTimeRTTR
O
P
kP
k
P
pp
)12(][2
]2[2
2delay
1
1
1
th window after the timeidle 2 1 kR
SRTT
R
S k
ementacknowledg receivesserver until
segment send tostartsserver when from time RTTR
S
window kth the transmit totime2 1
R
Sk
RTT
initia te TCPconnection
requestobject
first w indow= S /R
second w indow= 2S /R
third w indow= 4S /R
fourth w indow= 8S /R
com pletetransm issionobject
delivered
tim e atc lient
tim e atserver
![Page 16: 1 Lecture 10: TCP Performance Slides adapted from: Congestion slides for Computer Networks: A Systems Approach (Peterson and Davis) Chapter 3 slides for](https://reader036.vdocument.in/reader036/viewer/2022072007/56649d405503460f94a1a73e/html5/thumbnails/16.jpg)
16
TCP Delay Modeling (4)
)1(log
)}1(log:{min
}12:{min
}/222:{min
}222:{min
2
2
110
110
S
OS
Okk
S
Ok
SOk
OSSSkK
k
k
k
Calculation of Q, number of idles for infinite-size object,is similar (see HW).
Recall K = number of windows that cover object
How do we calculate K ?
![Page 17: 1 Lecture 10: TCP Performance Slides adapted from: Congestion slides for Computer Networks: A Systems Approach (Peterson and Davis) Chapter 3 slides for](https://reader036.vdocument.in/reader036/viewer/2022072007/56649d405503460f94a1a73e/html5/thumbnails/17.jpg)
17
HTTP Modeling• Assume Web page consists of:
– 1 base HTML page (of size O bits)
– M images (each of size O bits)
• Non-persistent HTTP:
– M+1 TCP connections in series
– Response time = (M+1)O/R + (M+1)2RTT + sum of idle times
• Persistent HTTP:
– 2 RTT to request and receive base HTML file
– 1 RTT to request and receive M images
– Response time = (M+1)O/R + 3RTT + sum of idle times
• Non-persistent HTTP with X parallel connections
– Suppose M/X integer.
– 1 TCP connection for base file
– M/X sets of parallel connections for images.
– Response time = (M+1)O/R + (M/X + 1)2RTT + sum of idle times
![Page 18: 1 Lecture 10: TCP Performance Slides adapted from: Congestion slides for Computer Networks: A Systems Approach (Peterson and Davis) Chapter 3 slides for](https://reader036.vdocument.in/reader036/viewer/2022072007/56649d405503460f94a1a73e/html5/thumbnails/18.jpg)
18
02468
101214161820
28Kbps
100Kbps
1 Mbps 10Mbps
non-persistent
persistent
parallel non-persistent
HTTP Response time (in seconds)RTT = 100 msec, O = 5 Kbytes, M=10 and X=5
For low bandwidth, connection & response time dominated by transmission time.
Persistent connections only give minor improvement over parallel connections.
![Page 19: 1 Lecture 10: TCP Performance Slides adapted from: Congestion slides for Computer Networks: A Systems Approach (Peterson and Davis) Chapter 3 slides for](https://reader036.vdocument.in/reader036/viewer/2022072007/56649d405503460f94a1a73e/html5/thumbnails/19.jpg)
19
0
10
20
30
40
50
60
70
28Kbps
100Kbps
1 Mbps 10Mbps
non-persistent
persistent
parallel non-persistent
RTT =1 sec, O = 5 Kbytes, M=10 and X=5
For larger RTT, response time dominated by TCP establishment & slow start delays. Persistent connections now give important improvement: particularly in high delaybandwidth networks.
HTTP Response time (in seconds)