Upload
noleta
View
46
Download
0
Tags:
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
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
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.
Approaches
• Integrated Services
• Differentiated Services
Integrated Service Components
• Reservations
• Admission Control
• Scheduling
• Traffic shaping
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
Differentiated Services
• In this paper, two different levels of service proposed, Premium and Assured
• Recommends we use both, using one bit to represent each.
DiffServ Vs. IntServ
• Goals are same, but mechanisms are different
• Bandwidth, rather than delay, will be key parameter
• Mostly static allocation
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)
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
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
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
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
First Hop/Edge Router
• Classification (detect A or P bit traffic)
• Marking (if traffic conforms to profile, mark)
• Forwarding – premium queue is forwarded first
First Hop Router Overview
ConfigurationInfo
Classifier
Marker
Marker
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)
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
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).
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
Marker Diagram
Wait fortoken
Set P bitPacketinput
Packetoutput
Test iftoken Set A bit
token
No token
Packetinput
Packetoutput
Drop on overflow
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.
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
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
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.
RIO Drop Probability Curve
MaxP
1.0
Minout Minin MaxinMaxout
P(drop)
AvgLen
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
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
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
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
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;
Static Allocation
• Pre-determined, long-term static allocations
• End-to-end bandwidth guarantees based on series of bilateral agreements
• Automatic aggregation
• Manual configuration
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
Example 1: Bandwidth Broker
Statically configured example with BB messages exchanged
Example 2: Bandwidth Broker
End-to-end example with static allocation
Example 3: Bandwidth Broker
End-to-end static allocation with no remaining allocation