35
A Two-bit Differentiated Services Architecture K. Nichols, V. Jacobson, L. Zhang presented by Wendy Edwards

A Two-bit Differentiated Services Architecture

  • Upload
    noleta

  • View
    46

  • Download
    0

Embed Size (px)

DESCRIPTION

A Two-bit Differentiated Services Architecture. K. Nichols, V. Jacobson, L. Zhang presented by Wendy Edwards. Outline. Motivation Better quality internet services Differentiated services Overview How it works Who gets what? Discussion. - PowerPoint PPT Presentation

Citation preview

Page 1: A Two-bit Differentiated Services Architecture

A Two-bit Differentiated Services Architecture

K. Nichols, V. Jacobson, L. Zhang

presented by Wendy Edwards

Page 2: A Two-bit Differentiated Services Architecture

Outline

• Motivation

• Better quality internet services

• Differentiated services– Overview– How it works– Who gets what?– Discussion

Page 3: A Two-bit Differentiated Services Architecture

Motivation“If That’s Your Best, Your Best Won’t Do”

Twisted Sister (Heavy Metal Band)

• Internet is currently best-effort.

• We want better service for some applications.

• Telephony, multimedia have problems with delays and variable bandwidth.

Page 4: A Two-bit Differentiated Services Architecture

Approaches

• Integrated Services

• Differentiated Services

Page 5: A Two-bit Differentiated Services Architecture

Integrated Service Components

• Reservations

• Admission Control

• Scheduling

• Traffic shaping

Page 6: A Two-bit Differentiated Services Architecture

Why IntServ Won’t Fly

• Scalability problems

• Per flow state at each router

• Each router has to classify each packet

• On-demand reservations are complex

Page 7: A Two-bit Differentiated Services Architecture

Differentiated Services

• In this paper, two different levels of service proposed, Premium and Assured

• Recommends we use both, using one bit to represent each.

Page 8: A Two-bit Differentiated Services Architecture

DiffServ Vs. IntServ

• Goals are same, but mechanisms are different

• Bandwidth, rather than delay, will be key parameter

• Mostly static allocation

Page 9: A Two-bit Differentiated Services Architecture

DiffServ Goals

• Keep forwarding path simple• Push complexity to edges of network• No assumptions about types of traffic (don’t

assume multicasting)• Allocation policy works with long-term and short-

term provisioning• Dominant Internet model remains best effort (most

of the traffic will be best effort)

Page 10: A Two-bit Differentiated Services Architecture

DiffServ ArchitectureSLA Between AS1 and AS2

Autonomous System 2

Autonomous System 1

Destination

Interior Router maintains two

queues

Egress Router may have to reshape premium

traffic relative to SLA between systems

Ingress Router – doesn’t need to classify, but does

need to police

First Hop Router – “edge” of network

Page 11: A Two-bit Differentiated Services Architecture

Premium Services

• Guaranteed peak rate

• Shaped/hard-limited, so no bursts

• Cannot be oversubscribed, so it may be under-provisioned

• Gets priority over all other traffic

• Extra traffic may be dropped

Page 12: A Two-bit Differentiated Services Architecture

Premium Traffic Flow From End-host to Organization’s ISP

first hoprouter

internalrouter

borderrouter

host

borderrouter

ISP

Company A

Unmarkedpacket flow

Packets in premiumflows have bit set

Premium packet flowrestricted to R bytes/sec

Page 13: A Two-bit Differentiated Services Architecture

Assured Services

• Better than best-effort, though it’s not clear how much better

• “Expected capacity” usage profile

• Unlikely to be dropped if it stays within profile

• Described by average and burst rates

• Extra traffic is sent as best-effort

Page 14: A Two-bit Differentiated Services Architecture

First Hop/Edge Router

• Classification (detect A or P bit traffic)

• Marking (if traffic conforms to profile, mark)

• Forwarding – premium queue is forwarded first

Page 15: A Two-bit Differentiated Services Architecture

First Hop Router Overview

ConfigurationInfo

Classifier

Marker

Marker

Page 16: A Two-bit Differentiated Services Architecture

When a Packet Arrives at Leaf Router

ClearA & P

bits

Packetclassifier

Marker 1

Marker N

Forwardingengine

Arrivingpacket Best effort

Flow

1Flow

N

Markers: service class (Premium or assured), rate (peak for premium, expected for assured), permissible burst size (may not apply to premium)

Page 17: A Two-bit Differentiated Services Architecture

Two Queues

There are two queues, one for premium and one for assured and best-traffic. The routers check the P-bit of a packet and assign it to the appropriate queue

P-bitSet?

No

Yes

Best Effort Queue

Premium Queue

Page 18: A Two-bit Differentiated Services Architecture

Assured Service

• In best-effort queue, no congestion = no problem.

• When there is congestion,

– Assured packets within profile are served first, and best-effort traffic is dropped using RED algorithm.

– When some assured packets are not within profile, uses two-tiered RED mechanism called “RIO” (RED with In or Out).

Page 19: A Two-bit Differentiated Services Architecture

Markers

• Leaf routers have traffic profiles - they classify packets based on packet header

• If no profile present, pass as best effort

• If profile is for Assured Traffic:

– mark in-profile packets (token is available) with A, forward others unmarked where they will be treated as best effort

• If profile is for Premium Traffic:

– delay out-of -profile packets in queue until token becomes available. If queue overflows, drop packets

Page 20: A Two-bit Differentiated Services Architecture

Marker Diagram

Wait fortoken

Set P bitPacketinput

Packetoutput

Test iftoken Set A bit

token

No token

Packetinput

Packetoutput

Drop on overflow

Page 21: A Two-bit Differentiated Services Architecture

RED Overview

• Random Early Detection – a mechanism by which the router can more accurately manage its queue length.

• Each router monitors its own queue length and notify sources of imminent congestion.

• RED does this implicitly by dropping packet earlier than it would have to (before buffer space is exhausted) to encourage source to slow down.

• Two thresholds – first one drops packets with probability p, and second drops packets completely. Uses weighted running queue length because traffic is bursty.

• Since RED drops packets randomly, the probability that RED decides to drop a particular flow’s packets is roughly proportional to the share of bandwidth flow is getting.

Page 22: A Two-bit Differentiated Services Architecture

RED Drop Probabilities

Time

Maxqueue length

Minthreshold

Maxthreshold

Instantaneous queue length

Forced drop

No drop

Probabilisticearly drop

100%

Initial drop probability

maxp WeightedAverageQueue Lengthminth maxth

Page 23: A Two-bit Differentiated Services Architecture

RIO – RED With In or Out

• Similar to RED, but with two separate probability curves

• Has two classes, “In” and “Out” (of profile)

• “Out” class has lower minimum threshold, so packets are dropped from this class first

• As avg queue length increases, “in” packets are dropped

• Since best-effort is included in the “Out” class, assured traffic can starve best-effort

Page 24: A Two-bit Differentiated Services Architecture

RIO Algorithm

For each packet arrivalif it is an In packet

calculate the average In queue size avg_in;calculate the average queue size avg_total;

If it is an In packet.if min_in < avg_in < max_in

calculate probability Pin

with probability Pin, drop this packet;else if max_in < avg_in

drop this packet.If it is an Out packet

if min_out < avg_total < max_outcalculate probability Pout;with probability Pout drop this packet;

else if max_out < avg_totaldrop this packet.

Page 25: A Two-bit Differentiated Services Architecture

RIO Drop Probability Curve

MaxP

1.0

Minout Minin MaxinMaxout

P(drop)

AvgLen

Page 26: A Two-bit Differentiated Services Architecture

Router Output Interface for Two-bit Architecture

P-bit set?

If A-bit setincr A_cnt

High-priority Q

Low-priority Q

If A-bit setdecr A_cnt

RIO queuemanagement

Packets out

yes

no

Page 27: A Two-bit Differentiated Services Architecture

Border Router Input Interface Profile Meters

Arrivingpacket

Is packetmarked?

Tokenavailable?

Tokenavailable?

Clear A-bit

Drop packet

Forwardingengine

A s

et

P set

token

toke

n

Not marked

no

no

Page 28: A Two-bit Differentiated Services Architecture

TSW- Time Sliding Window

• Alternative to RED as a mechanism for traffic policing

• Two components– Rate estimator smooths out burstiness of TCP traffic

and is sensitive to instantaneous sending rate

– Tagging algorithm tags packets as out once traffic exceeds certain threshold

Page 29: A Two-bit Differentiated Services Architecture

TSW Design

• Three state variables– Win_length – measured in units of time– Avg_rate – rate estimate of last packet arrival– T_front – time of last packet arrival

• Avg_rate and T_front are updated each time a packet arrives, but Win_length is preconfigured

• TSW contains “decaying” function that forgets history over time

Page 30: A Two-bit Differentiated Services Architecture

TSW Algorithm

Initially

Win_length = a constant;

Avg_rate = connection’s target rate RT

T_front = 0;Upon each packet arrival

Bytes in TSW = Avg_rate * Win_length;

New_bytes = Bytes_in_TSW + pkt_size;

Avg_rate = New_bytes / (now – T_front + Win_length);

T_front = now;

Page 31: A Two-bit Differentiated Services Architecture

Static Allocation

• Pre-determined, long-term static allocations

• End-to-end bandwidth guarantees based on series of bilateral agreements

• Automatic aggregation

• Manual configuration

Page 32: A Two-bit Differentiated Services Architecture

Bandwidth Brokers

• “Who gets to use the bandwidth when?”

• Agents that allocate and control bandwidth shares

• Receives requests from peers (or domain it controls) and responds.

• Only need to have limited trust relationships with peers (rather flowspecs in all routers in an end-to-end path)

• Responsibilities– Parcel out region’s marked traffic

– Manage messages sent across boundaries to adjacent BBs

Page 33: A Two-bit Differentiated Services Architecture

Example 1: Bandwidth Broker

Statically configured example with BB messages exchanged

Page 34: A Two-bit Differentiated Services Architecture

Example 2: Bandwidth Broker

End-to-end example with static allocation

Page 35: A Two-bit Differentiated Services Architecture

Example 3: Bandwidth Broker

End-to-end static allocation with no remaining allocation