<<

EECS 122: Introduction to Computer Networks Differentiated Services (DiffServ)

Computer Science Division Department of Electrical Engineering and Computer Sciences University of California, Berkeley Berkeley, CA 94720-1776

EE122 F05

Problems with IntServ

Scalability: per-flow state, classification, etc. - 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 - Right now, settlements are primitive (barter)

User charging mechanisms: need QoS pricing

EE122 F05 2

1 Differentiated Services (DiffServ)

Some traffic should get better treatment - Application requirements: interactive vs. bulk transfer - Economic arrangements: first-class versus coach

What kind of better service could you give? - Measured by drops, or delay (and drops)

How do you know which packets to give better service? - Bits in packet header

EE122 F05 3

DiffServ (cont’d)

Build around the concept of domain

Domain – a contiguous region of network under the same administrative ownership

Differentiate between edge and core routers

Edge routers - Perform per aggregate shaping or policing - Mark packets with a small number of bits; each bit encoding represents a class (subclass)

Core routers - Process packets based on packet marking

Far more scalable than Intserv, but provides weaker services

EE122 F05 4

2 Diffserv Architecture

Ingress routers - Police/shape traffic - Set Differentiated Service Code Point (DSCP) in Diffserv (DS) field

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

DS-1 DS-2

Ingress Ingress EgressEgress EgressEgress

Edge Core router

EE122 F05 5

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

EE122 F05 6

3 “Expedited Forwarding”

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

EE122 F05 7

Is Delay the Problem?

With RED, most queues are small

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

EE122 F05 8

4 “Assured Forwarding”

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

EE122 F05 9

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

EE122 F05 10

5 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

EE122 F05 11

Differentiated Service (DS) Field

0 5 6 7 DS Filed

0 4 8 16 19 31 Version HLen TOS Length Identification Flags Fragment offset TTL Protocol Header checksum IP Source address header Destination address Data

DS filed reuse the first 6 bits from the former Type of Service (TOS) byte

The other two bits are proposed to be used by ECN

EE122 F05 12

6 DiffServ Code Point Packet Headers

000 Routine 001 Priority 010 Immediate 011 Flash 100 Flash Override 101 Critical 110 Internetwork Control 111 Network Control

4 Classes (e.g., Business, Telecommuter, Residential) plus Low/Medium/High Drop Probability plus Expedited Forwarded (EF)

EE122 F05 13

Assured Service [Clark & Wroclawski ‘97]

Defined in terms of user profile, how much assured traffic is a user allowed to inject into the network

Network: provides a lower loss rate than best-effort - In case of congestion best-effort packets are dropped first

User: sends no more assured traffic than its profile - If it sends more, the excess traffic is converted to best- effort

EE122 F05 14

7 Assured Service

Large spatial granularity service

Theoretically, user profile is defined irrespective of destination - All other services we learnt are end-to-end, i.e., we know destination(s) apriori

This makes service very useful, but hard to provision (why ?) Traffic profile

Ingress

EE122 F05 15

Premium Service [Jacobson ’97]

Provides the abstraction of a virtual pipe between an ingress and an egress router

Network: guarantees that premium packets are not dropped and they experience low delay

User: does not send more than the size of the pipe - If it sends more, excess traffic is delayed, and dropped when buffer overflows

EE122 F05 16

8 Edge Router

Ingress

Traffic conditioner Class 1 Marked traffic Traffic conditioner Class 2 Data traffic Classifier Scheduler Best-effort

Per aggregate Classification (e.g., user) EE122 F05 17

Assumptions

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

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

EE122 F05 18

9 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 User profile b bits (token bucket) assured traffic Set A-bit in-profile traffic Metering Clear A-bit out-of-profile traffic

EE122 F05 19

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 User profile b bits (token bucket)

premium traffic Metering/ Shaper/ in-profile traffic Set P-bit out-of-profile traffic (delayed and dropped) EE122 F05 20

10 Scheduler

Employed by both edge and core routers

For premium service – use strict priority, or weighted (WFQ)

For assured service – use RIO (RED with In and Out) - Always drop OUT packets first • For OUT measure entire queue • For IN measure only in-profile queue Dropping probability 1 OUT IN

Average queue length

EE122 F05 21

Scheduler Example

Premium traffic sent at high priority

Assured and best-effort traffic pass through RIO and then sent at low priority

yes P-bit set? high priority

no yes A-bit set? no RIO low priority

EE122 F05 22

11 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

EE122 F05 23

Example

Achieve end-to-end bandwidth guarantee

2 3

BBBB BBBB BBBB 7 5 1 9 6 4 8 profile profile profile receiver sender

EE122 F05 24

12 Comparison to Best-Effort and Intserv

Best-Effort Diffserv Intserv Service Connectivity Per aggregate isolation Per flow isolation No isolation Per aggregate guarantee Per flow guarantee No guarantees Service End-to-end Domain End-to-end scope Complexity No setup Long term setup Per flow steup Scalability Highly scalable Scalable Not scalable (each (nodes maintain (edge routers maintains router maintains only routing state) per aggregate state; core per flow state) routers per class state)

EE122 F05 25

Summary

Diffserv more scalable than Intserv - Edge routers maintain per aggregate state - Core routers maintain state only for a few traffic classes

But, provides weaker services than Intserv, e.g., - Per aggregate bandwidth guarantees (premium service) vs. per flow bandwidth and delay guarantees

BB is not an entirely solved problem - Single point of failure - Handle only long term reservations (hours, days)

EE122 F05 26

13 Discussion: Factors Limiting QoS Deployment

Prevalence of overprovisioning - If all links are only at 40% utilization, why do you need QoS? - The inter-ISP links are not over provisioned

Primitive inter-ISP financial arrangements - QoS requires financial incentives to enforce tradeoffs - Current peering arrangements are not able to carry these incentives through in a meaningful way • Must agree on pricing and service • Currently agree on neither!

End-users not used to pricing/performance options EE122 F05 27

QoS Debates

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

Is differentiated services enough? - Can one really deliver reliable service just using relative priorities? - Is EF service a viable option?

It all depends on adaptability of applications

EE122 F05 28

14 EE122 F05 29

15