Upload
haneesha-muddasani
View
218
Download
0
Embed Size (px)
Citation preview
7/29/2019 Transp Layer2
1/11
1
Transport LayerTransport Layer(contd..)
7/29/2019 Transp Layer2
2/11
Approaches towards congestion controlApproaches towards congestion control
End-end congestion control:
no explicit feedback from networkcongestion inferred from end-
system observed loss, delayapproach taken by TCP
Network-assisted congestioncontrol:
routers provide feedback to endsystems
single bit indicating congestion(SNA, DECbit, TCP/IP ECN, ATM)
explicit rate sender should send at
Two broad approaches towards congestion control:
7/29/2019 Transp Layer2
3/11
Case study: ATM ABR congestion controlCase study: ATM ABR congestion control
ABR:ABR: available bit rate:elastic serviceif senders path
underloaded:
sender should use availablebandwidthif senders path congested:sender throttled to minimumguaranteed rate
RMRM (resource management)cells:
sent by sender, interspersed withdata cells
bits in RM cell set by switches(network-assisted)
NI bit:NI bit:no increase in rate (mildcongestion)
CI bit:CI bit: congestion indication
RM cells returned to sender byreceiver, with bits intact
7/29/2019 Transp Layer2
4/11
Case study: ATM ABR congestionCase study: ATM ABR congestion
controlcontrol
Two-byte ER (explicit rate) field in RM cell
congested switch may lower ER value in cell
sender send rate thus maximum supportable rate on path
EFCI bit in data cells: set to 1 in congested switch
if data cell preceding RM cell has EFCI set, sender sets CI bit in returnedRM cell
7/29/2019 Transp Layer2
5/11
TCP congestion control:TCP congestion control:-- additive increase, multiplicative decreaseadditive increase, multiplicative decrease
8 K b y t e s
1 6 K b y t e s
2 4 K b y t e s
t im e
c o n g e s t i o n
w i n d o w
Approach: increase transmission rate (window size),
probing for usable bandwidth, until loss occurs
additive increase:increase CongWin by 1 MSS
every RTT until loss detected multiplicative decrease: cut CongWin in half after
loss
time
congestionwindowsize
Saw tooth
behavior: probing
for bandwidth
7/29/2019 Transp Layer2
6/11
TCP Congestion Control: detailsTCP Congestion Control: details
sender limits transmission:LastByteSent-LastByteAcked
CongWinRoughly,
CongWin is dynamic, function ofperceived network congestion
How does senderperceive congestion?
loss event = timeout or3duplicate acks
TCP sender reduces rate(CongWin) after lossevent
three mechanisms:
AIMDslow startconservative after timeoutevents
rate =CongWin
RTTBytes/sec
7/29/2019 Transp Layer2
7/11
TCP Slow StartTCP Slow Start
When connection begins,CongWin = 1 MSSExample: MSS = 500 bytes &RTT = 200 msec
initial rate = 20 kbpsavailable bandwidth may be >>MSS/RTT
desirable to quickly ramp up torespectable rate
When connection begins,increase rateexponentially fast untilfirst loss event
7/29/2019 Transp Layer2
8/11
TCP Slow Start (more)TCP Slow Start (more)
When connection begins,increase rate exponentiallyuntil first loss event:-double CongWin every RTT
-done by incrementing CongWinfor every ACK received
Summary:initial rate is slowbut ramps up exponentially
fast
Host A
onesegmentRTT
Host B
time
twosegments
foursegments
7/29/2019 Transp Layer2
9/11
RefinementRefinementQ: When should the
exponential increase switchto linear?
A: When CongWin gets to 1/2of its value before timeout.
Implementation:Variable Threshold
At loss event, Threshold is setto 1/2 of CongWin just beforeloss event
7/29/2019 Transp Layer2
10/11
Refinement: inferring lossRefinement: inferring loss
After 3 dup ACKs:CongWin is cut in half
window then grows linearly
But after timeout event:
CongWin instead set to 1 MSS;
window then grows exponentially
to a threshold, then grows linearly
3 dup ACKs indicatesnetwork capable ofdelivering some segments timeout indicates amore alarmingcongestion scenario
7/29/2019 Transp Layer2
11/11
Summary: TCP Congestion ControlSummary: TCP Congestion Control
When CongWin is below Threshold, sender in slow-start phase, window grows exponentially.
When CongWin is above Threshold, sender is incongestion-avoidance phase, window grows linearly.
When a triple duplicate ACK occurs, Threshold setto CongWin/2 and CongWin set to Threshold.
When timeout occurs, Threshold set to CongWin/2and CongWin is set to 1 MSS.