Transport Congestion Control - PowerPoint PPT Presentation

1 / 37
About This Presentation
Title:

Transport Congestion Control

Description:

Recap: Connection Close. Objective of closure handshake: ... close. full duplex data: bi-directional data flow in same connection. A sliding window protocol ... – PowerPoint PPT presentation

Number of Views:41
Avg rating:3.0/5.0
Slides: 38
Provided by: yangrich
Category:

less

Transcript and Presenter's Notes

Title: Transport Congestion Control


1
Transport Congestion Control
10/19/2009
2
Admin.
  • Stop by my office to discuss your program design
    for programming assignment 2

3
Recap Connection Management
  • Connection setup
  • agree on initial sequence numbers
  • Internet solution Three-Way-Handshake (TWH)
  • Connection close
  • both sides can release allocated resources
  • Internet solution time wait

4
netstat -t -a
CLOSED
LISTEN
SYN RCVD
ESTABLSIHED
ESTABLSIHED
ESTABLSIHED
FINWAIT 1
FIN
CLOSEWAIT
LASTACK
FINWAIT 2
TIMEWAIT
ACK
5
TCP Connection Management
CLOSED
TCP lifecycle init SYN/FIN
SYN RCVD
http//dsd.lbl.gov/TCP-tuning/ip-sysctl-2.6.txt
6
TCP Connection Management
CLOSED
TCP lifecycle wait for SYN/FIN
SYN RCVD
7
A Summary of Questions
  • How to improve the performance of rdt3.0?
  • sliding window protocols
  • What if there are duplication and reordering?
  • network guarantee max packet life time
  • transport guarantee not reuse a seq before life
    time
  • seq management and connection management
  • How to determine the right parameters?

8
History
  • Key parameters for TCP in mid-1980s
  • fixed window size W
  • timeout value 2 RTT
  • Network collapse in the mid-1980s
  • UCB ?? LBL throughput dropped by 1000X !

9
Timeout
  • Q how to set timeout value?
  • too short premature timeout
  • unnecessary retransmissions many duplicates
  • too long slow reaction to segment loss

Q What is an ideal value for the timeout of a
transmitted packet?
10
High-level Idea
  • Ideally, we set timeout RTT, but RTT is not a
    fixed value (why?)

Set timeout average safe margin
11
Estimating Round Trip Time
  • SampleRTT measured time from segment
    transmission until ACK receipt
  • SampleRTT will vary, want a smoother
    estimated RTT
  • use several recent measurements, not just
    current SampleRTT

EstimatedRTT (1- ?)EstimatedRTT ?SampleRTT
  • Exponential weighted moving average
  • influence of past sample decreases exponentially
    fast
  • typical value ? 0.125

12
Setting Timeout
  • Problem
  • using the average of SampleRTT will generate
    many timeouts due to network variations
  • Solution
  • EstimtedRTT plus safety margin
  • large variation in EstimatedRTT -gt larger safety
    margin

DevRTT (1-?)DevRTT ?SampleRTT-EstimatedRTT
(typically, ? 0.25)
Then set timeout interval
TimeoutInterval EstimatedRTT 4DevRTT
13
An Example TCP Session
14
A Summary of Questions
  • How to improve the performance of rdt3.0?
  • sliding window protocols
  • What if there are duplication and reordering?
  • network guarantee max packet life time
  • transport guarantee not reuse a seq before life
    time
  • seq management and connection management
  • How to determine the right parameters?
  • timeout mean variation
  • sliding window size

15
Principles of Congestion Control
  • Big picture
  • How to determine a flows sending rate?
  • Congestion
  • informally too many sources sending too much
    data too fast for the network to handle
  • different from flow control !
  • manifestations
  • lost packets (buffer overflow at routers)
  • wasted bandwidth
  • long delays (queueing in router buffers)
  • a top-10 problem !

16
Some General Questions
  • How can congestion happen?
  • What is congestion control?
  • Why is congestion control difficult?

17
Cause/Cost of Congestion Single Bottleneck
flow 1
5 Mbps
20 Mbps
10 Mbps
20 Mbps
flow 2 (5 Mbps)
20 Mbps
router 1
router 2
  • - Flow 2 has a fixed sending rate of 5 Mbps
  • - We vary the sending rate of flow 1 from 0 to 20
    Mbps
  • - Assume
  • no retransmission link from router 1 to router
    2 has infinite buffer

throughput e2e packets delivered in unit time
Delay?
18
Cause/Cost of Congestion Single Bottleneck
router 5
router 3
flow 1
5 Mbps
20 Mbps
10 Mbps
20 Mbps
flow 2 (5 Mbps)
20 Mbps
router 2
router 1
router 4
router 6
  • Assume
  • no retransmission
  • the link from router 1 to router 2 has finite
    buffer
  • throughput e2e packets delivered in unit time
  • Zombie packet a packet dropped at the link from
    router 2 to router 5 the upstream transmission
    from router 1 to router 2 used for that packet
    was wasted!

How about delay?
19
Summary The Cost of Congestion
  • Cost
  • Packet loss
  • wasted upstream bandwidth when a pkt is discarded
    at downstream
  • wasted bandwidth due to retransmission (a pkt
    goes through a link multiple times)
  • High delay

20
Outline
  • Recap
  • Transport congestion control
  • what is congestion
  • congestion control

21
Rate-based vs. Window-based
  • Rate-based
  • Congestion control by explicitly controlling the
    sending rate of a flow, e.g. set sending rate to
    128Kbps
  • Example ATM
  • Window-based
  • Congestion control by controlling the window size
    of a transport scheme, e.g. set window size to
    64KBytes
  • Example TCP

Discussion rate-based vs. window-based
22
Window-based Congestion Control
  • Window-based congestion control is self-clocking
    considers flow conservation, and adjusts to RTT
    variation automatically

23
Sliding Window Congestion Control
  • Transmission rate limited by congestion window
    size, cwnd, over segments

cwnd
  • cwnd segments, each with MSS bytes sent in one
    RTT

Assume W is small enough. Ignore small details.
MSS Minimum Segment Size
24
The Desired Properties of a Congestion Control
Scheme
  • Efficiency close to full utilization but low
    delay
  • fast convergence after disturbance
  • Fairness (resource sharing)
  • Distributedness (no central knowledge for
    scalability)

25
A Simple Model
User 1
x1
d ? xi gt Xgoal?
x2
?
User 2
xn
User n
Flows observe congestion signal d, and locally
take actions to adjust rates.
26
Linear Control
  • Proposed by Chiu and Jain (1988)
  • The simplest control strategy

Discussion values of the parameters?
27
State Space of Two Flows
x2
overload
underload
x1
28
congestion
x0
efficiency
29
Implication Congestion (overload) Case
  • In order to get closer to efficiency and fairness
    after each update, decreasing of rate must be
    multiplicative decrease (MD)
  • aD 0
  • bD lt 1

30
no-congestion
x0
efficiency
31
Implication No Congestion Case
  • In order to get closer to efficiency and fairness
    after each update, additive and multiplicative
    increasing (AMI), i.e.,
  • aI gt 0, bI gt 1
  • Simply additive increase gives better improvement
    in fairness (i.e., getting closer to the fairness
    line)
  • Multiplicative increase is faster

32
Four Special Cases
Discussion state transition trace.
33
AIMD State Transition Trace
x2
x0
x1
34
Another Look
  • Consider the difference or ratio of the rates of
    two flows
  • AIAD
  • MIMD
  • MIAD
  • AIMD

35
Mapping A(M)I-MD to Protocol
  • What do we need to apply the A(M)I-MD algorithm
    to a sliding window protocol?

36
Backup Slides
37
Implicit vs. Explicit
  • Explicit
  • routers provide feedback to end systems
  • explicit rate sender should send at
  • single bit indicating congestion (SNA, DECbit,
    TCP ECN, ATM)
  • Implicit
  • congestion inferred by end systems through
    observed loss, delay
Write a Comment
User Comments (0)
About PowerShow.com