Top Banner
Network Congestion Network Congestion Gabriel Nell UC Berkeley
21

Network Congestion

Apr 11, 2015

Download

Documents

api-3723676
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Network Congestion

Network CongestionNetwork Congestion

Gabriel Nell

UC Berkeley

Page 2: Network Congestion

OutlineOutline

Background: what is congestion?Congestion control

– End-to-end– Router-based

Economic insightsOverview of TCP-friendly congestion

control mechanisms

Page 3: Network Congestion

CongestionCongestion

The state of sustained network overload Congestion collapse

– Traffic dominated by overhead such as packet retransmissions

Current internet– Dominated by best-effort traffic– TCP for guaranteed delivery; Congestion-aware– UDP for streaming applications; Congestion-unaware

Page 4: Network Congestion

Controlling CongestionControlling Congestion

End-hosts– Advantages: cheap, scalable– Disadvantage: requires cooperation

Routers– Advantages: can be more aggressive, has a

complete picture of network traffic– Disadvantages: expensive, algorithms difficult

to implement in hardware

Page 5: Network Congestion

TCP Congestion ControlTCP Congestion Control

Implemented at end hosts Relies on feedback

– Implicit: packet drops indicate congestion– Explicit: ECN flags in header

Congestion controlled by changing window size: additive increase, multiplicative decrease (AIMD)

Problem: delays in adapting to network conditions may cause oscillations

Page 6: Network Congestion

Router-Based ControlRouter-Based Control

Scheduling– Determines service order– Should be easy to implement, provide fairness

and protection, and perform wellScheduling algorithms

– FIFO (first in, first out)– Round-robin / weighted round-robin– Weighted fair queuing

Page 7: Network Congestion

Router-Based ControlRouter-Based Control

Buffer Management– Absorbs bursts– Shared/per-flow– Introduce delay

Queue Management– Manage queue length, decide what packets to drop– RED effective, but difficult to parameterize for variable

conditions

Page 8: Network Congestion

Economic InsightsEconomic Insights

Tragedy of the Commons– Network resources a public good– Negative externality

Solution: Internalize costs– Congestion pricing: cover fixed costs, charge

extra under congestion conditions– Charge by willingness to pay

Page 9: Network Congestion

Economic InsightsEconomic Insights

New problem - customers prefer:– Flat rates– Constant performance, even if variable

performance is better on average

Page 10: Network Congestion

TCP-friendly Congestion TCP-friendly Congestion ControlControl

TCP-friendly: long-term throughput does not exceed that of TCP under the same conditions

Motivation: want to stream data such as audio and video without degrading overall network performance

For convenience, consider long-lasting streams

Page 11: Network Congestion

Congestion Control SchemesCongestion Control Schemes

Window-based vs. Rate-basedUnicast vs. MulticastEnd-to-end vs. Router-supported

Page 12: Network Congestion

Single-rate Vs. Multi-rateSingle-rate Vs. Multi-rate

Meaningful when considering multicastSingle-rate sends data to each client at the

same rateMultirate sends data to each client at

whatever rate is best for that client

Page 13: Network Congestion

Single-rate ProtocolsSingle-rate Protocols

Page 14: Network Congestion

Rate-based ApproachesRate-based Approaches

RAP – Rate Adaptation Protocol– Simple AIMD behavior

LDA+ – Loss-Delay Based Adaption Algorithm– Dynamic AIMD based on RTCP feedback

TFRC – TCP-Friendly Rate Control Protocol– Adjusts sending rate based on complex TCP equation

TEAR – TCP Emulation at Receivers– Uses a congestion window to determine rate, but

averages over larger timescales

Page 15: Network Congestion

Window-based ApproachesWindow-based Approaches

RLA – Random Listening Algorithm– Tracks number n of congested receivers, window is

decreased if a random number is 1/n MTCP – Multicast TCP

– Arrange receivers in a tree, children report congestion to parents.

– Root receives aggregate info, sends only as much data as smallest window

NCA – Nominee-Based Congestion Avoidance– Selects bottleneck as representative receiver, uses TCP-

style congestion control algorithm

Page 16: Network Congestion

Multi-rate ProtocolsMulti-rate Protocols

Page 17: Network Congestion

Rate-based ApproachesRate-based Approaches

RLC – Receiver-Driven Layered Congestion Control– Bandwidth consumed by each layer increases

exponentially– Subscription to additional layers comes at

particular times, which also increase exponentially; however congestion causes immediate layer drops

Page 18: Network Congestion

Rate-based ApproachesRate-based Approaches

FLID-DL – Fair Layered Increase/Decrease with Dynamic Layering– Encodes data with digital fountain– Bandwidth consumed by a layer decreases over

timeLTS/TFRP – Layered Transmission

Scheme/TCP-Friendly Transport Protocol– Use simple TCP rate equation to decide

subscription level

Page 19: Network Congestion

MLDA and RainbowMLDA and Rainbow

MLDA – Multicast Loss-Delay Based Adaption Algorithm (rate-based)– Same as LDA+, but performs rate calculation at

receiver

Rainbow (window-based)– Encode data with digital fountain– Receivers individually request packets based on

individual windows

Page 20: Network Congestion

ConclusionConclusion

Congestion is an important and complex problem

Many solutions of varying effectiveness and complexity for various applications

Areas of future research:– Methods of comparing protocols– Improve definitions of fairness, friendliness– Improve models of TCP traffic

Page 21: Network Congestion

Questions?Questions?