Академический Документы
Профессиональный Документы
Культура Документы
“costs” of congestion:
❒ more work (retrans) for given “goodput”
❒ unneeded retransmissions: link carries multiple copies of pkt
Approaches towards congestion control Case study: ATM ABR congestion control
Two broad approaches towards congestion control:
ABR: available bit rate: RM (resource management)
❒ “elastic service” cells:
End-to-end congestion Network-assisted
❒ if sender’s path ❒ sent by sender, interspersed
control: congestion control: “underloaded”: with data cells
❒ no explicit feedback from ❒ routers provide feedback
❍ sender should use ❒ bits in RM cell set by switches
network to end systems
available bandwidth (“network-assisted”)
❒ congestion inferred from ❍ single bit indicating
❒ if sender’s path ❍ NI bit: no increase in rate
end-system observed loss, congestion (SNA,
congested: (mild congestion)
delay DECbit, TCP/IP ECN,
❍ sender throttled to ❍ CI bit: congestion
❒ approach taken by TCP ATM)
minimum guaranteed indication
❍ explicit rate indication
rate ❒ RM cells returned to sender by
to sender
receiver, with bits intact
RTT
❍
❍ ideally: transmit as fast ❍ congestion avoidance
initialize: Congwin = 1
as possible (Congwin as for (each segment ACKed) two segm
important variables:
en ts
❒
large as possible) Congwin++
❍
without loss Congwin
until (loss event OR
increase Congwin until ❍ threshold: defines four segm
❍
threshold between two
CongWin > threshold) en ts
loss (congestion)
slow start phase,
❍ loss: decrease Congwin,
congestion control ❒ exponential increase (per
then begin probing
phase RTT) in window size (not so
(increasing) again time
slow!)
❒ loss event: timeout (Tahoe
TCP) and/or or three
duplicate ACKs (Reno TCP)
3: Transport Layer 3b-24 3: Transport Layer 3b-25
TCP Congestion Avoidance AIMD
TCP Fairness
Congestion avoidance TCP congestion
avoidance: Fairness goal: if N TCP
/* slowstart is over */ ❒ AIMD: additive sessions share same
/* Congwin > threshold */ increase, bottleneck link, each
Until (loss event) { multiplicative should get 1/N of link
every w segments ACKed: decrease capacity
Congwin++
❍ increase window by 1 TCP connection 1
} per RTT
threshold = Congwin/2 ❍ decrease window by
Congwin = 1 factor of 2 on loss
perform slowstart 1 event
bottleneck
TCP
router
connection 2
1: TCP Reno skips slowstart (fast capacity R
recovery) after three duplicate ACKs
3: Transport Layer 3b-26 3: Transport Layer 3b-27
Connection 1 throughput R