ee 122 : quality of service

45
1 EE 122: Quality of Service Ion Stoica TAs: Junda Liu, DK Moon, David Zats http://inst.eecs.berkeley.edu/~ee12 2/fa09 (Materials with thanks to Vern Paxson, Jennifer

Upload: jersey

Post on 23-Feb-2016

26 views

Category:

Documents


0 download

DESCRIPTION

EE 122 : Quality of Service. Ion Stoica TAs: Junda Liu, DK Moon, David Zats http://inst.eecs.berkeley.edu/~ee122/fa09 (Materials with thanks to Vern Paxson , Jennifer Rexford, and colleagues at UC Berkeley). Goals of Today’s Lecture. Traffic characterization Token bucket QoS models: - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: EE 122 : Quality of Service

1

EE 122: Quality of ServiceIon Stoica

TAs: Junda Liu, DK Moon, David Zatshttp://inst.eecs.berkeley.edu/~ee122/fa09

(Materials with thanks to Vern Paxson, Jennifer Rexford,and colleagues at UC Berkeley)

Page 2: EE 122 : Quality of Service

Goals of Today’s Lecture Traffic characterization

Token bucket

QoS models: Integrated Services: End-to-end network

“reservations” Differentiated Services: First Class vs. Coach

Page 3: EE 122 : Quality of Service

Reserving Resources End-to-End

Source sends a reservation message E.g., “this flow needs 5 Mbps”

Each router along the path Keeps track of the reserved resources

E.g., “the link has 6 Mbps left” Checks if enough resources remain

E.g., “6 Mbps > 5 Mbps, so circuit can be accepted” Creates state for flow and reserves resources

E.g., “now only 1 Mbps is available”

Page 4: EE 122 : Quality of Service

How to Specify Bursty Traffic Option #1: Specify the maximum bit rate. Problems?

Maximum bit rate may be much higher average Reserving for the worst case is wasteful

Option #2: Specify the average bit rate. Problems? Average bit rate is not sufficient Network will not be able to carry all of the packets Reserving for average case leads to bad performance

Option #3: Specify the burstiness of the traffic Specify both the average rate and the burst size Allows the sender to transmit bursty traffic … and the network to reserve the necessary

resources

Page 5: EE 122 : Quality of Service

Characterizing Burstiness: Token Bucket Parameters

r – average rate, i.e., rate at which tokens fill the bucket b – bucket depth (limits size of burst) R – maximum link capacity or peak rate

A bit can be transmitted only when a token is available

r bps

b bits

≤ R bps

regulatortime

bits

b·R/(R-r)

slope R

slope r

Maximum # of bits sent

b/(R-r)

Page 6: EE 122 : Quality of Service

Traffic Enforcement: Example r = 100 Kbps; b = 3 Kb; R = 500 Kbps

3Kb

T = 0 : 1Kb packet arrives

(a)

2.2Kb

T = 2ms : packet transmitted b = 3Kb – 1Kb + 2ms*100Kbps = 2.2Kb

(b)

2.4Kb

T = 4ms : 3Kb packet arrives

(c)

3Kb

T = 10ms : packet needs to wait until enough tokens are in the bucket

(d)

0.6Kb

T = 16ms : packet transmitted

(e)

Page 7: EE 122 : Quality of Service

Source Traffic Characterization: Arrival Curve

Arrival curve – maximum amount of bits transmitted during any interval of time Δt

Use token bucket to bound arrival curve

Δt

bits

Arrival curve

time

bps

Page 8: EE 122 : Quality of Service

Arrival Curve: Example Arrival curve – maximum amount of bits

transmitted during any interval of time Δt Use token bucket to bound arrival curve

bitsArrival curve

time

bps

0 1 2 3 4 5

1

2

1 2 3 4 5

1

2

3

4

(R=2,b=1,r=1)

Δt

Page 9: EE 122 : Quality of Service

QoS Guarantees: Per-hop Reservation End-host: specify

arrival rate characterized by token bucket with parameters (b,r,R)

the maximum tolerable delay D, no losses Router: allocate bandwidth ra, buffer space Ba such that

no packet is dropped no packet experiences a delay larger than D

bits

b•R/(R-r)

slope rArrival curve

DBa

slope ra

R

Page 10: EE 122 : Quality of Service

Ensuring the Source Behaves Guarantees depend on the source behaving

Extra traffic might overload one or more links Leading to congestion, and resulting delay and loss Solution: need to enforce the traffic specification

Solution #1: policing Drop all data in excess of the traffic specification

Solution #2: shaping Delay the data until it obeys the traffic specification

Solution #3: marking Mark all data in excess of the traffic specification … and give these packets lower priority in the network

Page 11: EE 122 : Quality of Service

Integrated Services: Required Elements

Reservation Protocol How service request gets from host to network

Admission control algorithm How network decides if it can accept flow

Packet scheduling algorithms How routers deliver service

Architecture for solution: IntServ Provides service guarantees at a per-flow

granularity

Page 12: EE 122 : Quality of Service

Control Plane vs. Data Plane Control plane:

How information gets to routers Data plane:

What routers do with that information when processing data packets

Control

Data

Page 13: EE 122 : Quality of Service

Control Plane: Resource Reservation

SenderReceiver

Page 14: EE 122 : Quality of Service

Control Plane: Resource Reservation

SenderReceiver

Sender sends specificationof traffic profile

Page 15: EE 122 : Quality of Service

Control Plane: Resource Reservation

SenderReceiverPath established (or perhaps admission control denies path)

Page 16: EE 122 : Quality of Service

Control Plane: Resource Reservation

SenderReceiver

The receiver acceptsreservation request

Page 17: EE 122 : Quality of Service

Control Plane: Admission Control

SenderReceiver

Per-flow state(soft state)

Page 18: EE 122 : Quality of Service

SenderReceiver

Control Plane: Admission Control

Per-flow state on all routers in path

Page 19: EE 122 : Quality of Service

Data Plane

SenderReceiver

Per-flow classification on each router

Page 20: EE 122 : Quality of Service

Data Plane

SenderReceiver

Per-flow classification on each router

Page 21: EE 122 : Quality of Service

Data Plane

SenderReceiver

Per-flow scheduling on each router

Page 22: EE 122 : Quality of Service

Admission Control

Parameter-based: worst case analysis Guaranteed service Lower utilization

Measurement-based: measure current traffic “Controlled load” service Higher utilization

Remember that best-effort service co-exists No need for IntServ traffic to achieve high

utilization

Page 23: EE 122 : Quality of Service

Problems with IntServ

Scalability: per-flow state & classification Aggregation/encapsulation techniques can help Can overprovision big links, per-flow ok on small links Scalability can be fixed - but no second chance

Economic arrangements: Need sophisticated settlements between ISPs Contemporary settlements are primitive

Unidirectional, or barter User charging mechanisms: need QoS pricing

On a fine-grained basis

Page 24: EE 122 : Quality of Service

5 Minute Break

Questions Before We Proceed?

Page 25: EE 122 : Quality of Service

Differentiated Services (DiffServ) Give some traffic better treatment than other

Application requirements: interactive vs. bulk transfer

Economic arrangements: first-class versus coach What kind of better service could you give?

Fewer drops Lower delay Lower delay variation (jitter)

How to know which packets get better service? Bits in packet header

Deals with traffic in aggregate Provides weaker services But much more scalable

Page 26: EE 122 : Quality of Service

Diffserv Architecture Ingress routers - entrance to a DiffServ domain

Police or shape traffic Set Differentiated Service Code Point (DSCP) in IP header

Core routers Implement Per Hop Behavior (PHB) for each DSCP Process packets based on DSCP

IngressEgress

IngressEgress

DS-1 DS-2

Edge router Core router

Page 27: EE 122 : Quality of Service

Traffic Limitations

Can’t give all traffic better service!

Must limit the amount of traffic that gets better service

Service Level Agreements (SLA) Source agrees to limit amount of traffic in given class Network agrees to give that traffic “better” service

For a price! Economics play an important (fatal?) role in QoS

Page 28: EE 122 : Quality of Service

Expedited Forwarding (EF)

Give packet minimal delay and loss service E.g., put EF packets in high priority queue

To make this a true “absolute” service All SLAs must sum to less than the link speed

Page 29: EE 122 : Quality of Service

Is Delay the Problem?

Packets are dropped when queue starts to grow

Thus, delays are mostly speed-of-light latency

Service quality is mostly expressed by drop-rate

Want to give traffic different levels of dropping

Page 30: EE 122 : Quality of Service

Assured Forwarding (AS)

Packets are all serviced in order Makes TCP implementations perform well

But some packets can be marked as low-drop and others as high-drop Think of it as priority levels for dropping

Page 31: EE 122 : Quality of Service

Example 10% premium traffic, 90% ordinary traffic

Overall drop rate is 5%

Give premium traffic 0% drops; ordinary traffic a 5.55% drop rate

Large improvement in service for the small class of traffic without imposing much of a penalty on the other traffic Count on SLAs to control premium traffic

Page 32: EE 122 : Quality of Service

DiffServ “Code Points”

Use six of the ToS bits in IP packet header

Define various “code points” Alternative classes of service (drop probability and

assured forwarding)

Each code point defines a desired per-hop behavior Description of the service the packet should get Not a description of the router implementation of that

service

Page 33: EE 122 : Quality of Service

Differentiated Service (DS) Field

DS field encodes Per-Hop Behavior (PHB)E.g., Expedited Forwarding (all packets receive

minimal delay & loss)E.g., Assured Forwarding (packets marked with

low/high drop probabilities)

Version HLen TOS LengthIdentification Fragment offsetFlags

Source addressDestination address

TTL Protocol Header checksum

0 4 8 16 19 31

Data

IPheader

DS Field0 5 6 7

ECN

Page 34: EE 122 : Quality of Service

Edge Router

Classifier

Traffic conditioner

Traffic conditioner

Scheduler

Class 1

Class 2

Best-effort

Marked traffic

Ingress

Per aggregateClassification (e.g., user)

Data traffic

Page 35: EE 122 : Quality of Service

Assumptions

Assume two bits P-bit denotes premium traffic A-bit denotes assured traffic

Traffic conditioner (TC) implement Metering (policing) Marking Shaping

Page 36: EE 122 : Quality of Service

TC Performing Metering/Marking Used to implement Assured Service In-profile traffic is marked:

A-bit is set in every packet Out-of-profile (excess) traffic is unmarked

A-bit is cleared (if it was previously set) in every packet; this traffic treated as best-effort

r bps

b bits

Metering in-profile traffic

out-of-profile traffic

assured traffic

User profile (token bucket)

Set A-bit

Clear A-bit

Page 37: EE 122 : Quality of Service

TC Performing Metering/Marking/Shaping

Used to implement Premium Service In-profile traffic marked:

Set P-bit in each packet Out-of-profile traffic is delayed, and when buffer

overflows it is dropped

r bps

b bits

Metering/Shaper/Set P-bit

in-profile traffic

out-of-profile traffic(delayed or dropped)

premium traffic

User profile(token bucket)

Page 38: EE 122 : Quality of Service

Scheduler Premium traffic sent at high priority Assured and best-effort traffic sent at low priority

Always drop OUT (best-effort) packets first Implemented by the RED with In and Out (RIO) scheduler

P-bit set?

A-bit set? RIO

yes

noyesno

high priority

low priority

Page 39: EE 122 : Quality of Service

Control Path Each domain is assigned a Bandwidth

Broker (BB) Usually, used to perform ingress-egress

bandwidth allocation BB is responsible to perform admission

control in the entire domain BB not easy to implement

Require complete knowledge about domain Single point of failure, may be performance

bottleneck Designing BB still a research problem

Page 40: EE 122 : Quality of Service

Example

Achieve end-to-end bandwidth guarantee

BB BB BB1

2 3

579

senderreceiver

8 profile 6profile

4 profile

Page 41: EE 122 : Quality of Service

Comparison to Best-Effort & Intserv

Best-Effort Diffserv Intserv

Service ConnectivityNo isolationNo guarantees

Per aggregate isolationPer aggregate guarantee

Per flow isolationPer flow guarantee

Service scope

End-to-end Domain End-to-end

Complexity No setup Long term setup Per flow steup

Scalability Highly scalable (nodes maintain only routing state)

Scalable(edge routers maintain per aggregate state; core routers per class state)

Not scalable (each router maintains per flow state)

Page 42: EE 122 : Quality of Service

Discussion: Limited QoS Deployment

End-to-end QoS across multiple providers/domains is not available today

Issue #1: complexity of payment Requires payment system among multiple parties

And agreement on what constitutes service Diffserv tries to structure this as series of bilateral

agreements … … but lessens likelihood of end-to-end service Architecture includes notion of “Bandwidth Broker” for end-

to-end provisioning Solid design has proved elusive

Need infrastructure for metering/billing end user

Page 43: EE 122 : Quality of Service

Limited QoS Deployment, con’t Issue #2: prevalence of overprovisioning

Within a large ISP, links tend to have plenty of headroom

Inter-ISP links are not over provisioned, however Is overprovisioning enough?

If so, is this only because access links are slow? What about Korea, Japan, and other countries with

fast access links? Disconnect: ISPs overprovision, users get bad

service Key difference: intra-ISP vs. general end-to-

end

Page 44: EE 122 : Quality of Service

Exploiting Lack of End-to-End QoS Suppose an ISP offers their own Internet service

E.g., portal (ala’ Yahoo) or search engine (ala’ Google) Then it’s in their interest that performance to

Yahoo or Google is inferior So customers prefer to use their value-added services

ISP can recognize traffic to competitor and demote it charge competitor if they want well-provision paths just not put effort/$ into high-capacity interconnects w/

other ISPs; congestion provides traffic demotion directly Works particularly well for large providers w/ lots

of valuable content

Page 45: EE 122 : Quality of Service

Summary QoS models

Reservations & admission control Descriptions of bursty traffic: token buckets

IntServ provides per-flow performance guarantees But lacks scalability

DiffServ provides per-aggregate tiers of relative perf. Scalable, but not as powerful

Neither is generally available end-to-end today ISPs may manipulate what services receive what

performance raises issues of: network neutrality