120 likes | 370 Views
Beyond TCP Congestion Control. 2007. Extensions to TCP. End-to-end congestion control Selective acknowledgements: TCP SACK Delay-based congestion avoidance: TCP Vegas TCP-Friendly Rate Control: TFRC Binomial Congestion Control Router - assisted Congestion Control
E N D
Extensions to TCP • End-to-end congestion control • Selective acknowledgements: TCP SACK • Delay-based congestion avoidance: TCP Vegas • TCP-Friendly Rate Control: TFRC • Binomial Congestion Control • Router - assisted Congestion Control • Active Queue Mgmt. (AQM) and RED • Explicit congestion notification: ECN • eXplicit Control Protocol: XCP • Discriminating between congestion losses and other losses: cross-layer signaling and guesses losses
Outline • TCP-Friendly Rate Control (TFRC) • Binomial Congestion Control
TCP-Friendly • Any alternative congestion control scheme needs to coexist with TCP in FIFO queues in the best-effort Internet, or be protected from TCP in some manner. • To co-exist with TCP, it must impose the same long-term load on the network: • No greater long-term throughput as a function of packet loss and delay so TCP doesn't suffer • Not significantly less long-term throughput or it's not too useful
TFRC: TCP-Friendly Rate Control • Equation-based congestion control • Rate-based • Use a model of TCP's throughout as a function of the loss rate, RTT and RTO directly in a congestion control algorithm • If transmission rate is higher than that given by the model, reduce the transmission rate to the model's rate • Otherwise increase the transmission rate • Much slower increase than TCP • Decrease is also slower • 4 – 8 RTTs to halve speed
An Improved "Steady State" Model A pretty good improved model of TCP Reno, including timeouts, Sigcomm 1998: • 1st term corresponds to simple Loss Model • 2nd term corresponds to complicated timeout behavior • Is critical in situations with > 5% loss rates where timeouts occur frequently
TFRC Details • The devil's in the details • How to measure the loss rate? • How to respond to persistent congestion? • How to use RTT and prevent oscillatory behavior? • Not as simple as first thought
Is AIMD the Only Answer? • Akella et al.: exploring congestion control • AIAD with a tiny bit of MD works better than AIMD • Binomial cc: Bansal and Balakrishnan • Nonlinear window adjustment algorithms • Can be TCP-friendly, and smoother (for media)
Binomial Congestion Control • In AIMD • Increase: Wn+1 = Wn + • Decrease: Wn+1 = (1- ) Wn =Wn - Wn • In Binomial • Increase: Wn+1 = Wn + /Wnk • Decrease: Wn+1 = Wn - Wnl • k=0 & l=1 AIMD • l < 1 results in less than multiplicative decrease • Good for multimedia applications
Binomial Congestion Control • Rate ~ 1/ (loss rate)1/(k+l+1) • If k+l=1 rate ~ 1/p0.5 • TCP friendly if l =< 1 • AIMD (k=0, l=1) is the most aggressive of this class • Good for applications that want to probe quickly and can use any available bandwidth