a two-bit differentiated services architecture
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 PresentationTRANSCRIPT
![Page 1: A Two-bit Differentiated Services Architecture](https://reader035.vdocument.in/reader035/viewer/2022081511/568158b9550346895dc60264/html5/thumbnails/1.jpg)
A Two-bit Differentiated Services Architecture
K. Nichols, V. Jacobson, L. Zhang
presented by Wendy Edwards
![Page 2: A Two-bit Differentiated Services Architecture](https://reader035.vdocument.in/reader035/viewer/2022081511/568158b9550346895dc60264/html5/thumbnails/2.jpg)
Outline
• Motivation
• Better quality internet services
• Differentiated services– Overview– How it works– Who gets what?– Discussion
![Page 3: A Two-bit Differentiated Services Architecture](https://reader035.vdocument.in/reader035/viewer/2022081511/568158b9550346895dc60264/html5/thumbnails/3.jpg)
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](https://reader035.vdocument.in/reader035/viewer/2022081511/568158b9550346895dc60264/html5/thumbnails/4.jpg)
Approaches
• Integrated Services
• Differentiated Services
![Page 5: A Two-bit Differentiated Services Architecture](https://reader035.vdocument.in/reader035/viewer/2022081511/568158b9550346895dc60264/html5/thumbnails/5.jpg)
Integrated Service Components
• Reservations
• Admission Control
• Scheduling
• Traffic shaping
![Page 6: A Two-bit Differentiated Services Architecture](https://reader035.vdocument.in/reader035/viewer/2022081511/568158b9550346895dc60264/html5/thumbnails/6.jpg)
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](https://reader035.vdocument.in/reader035/viewer/2022081511/568158b9550346895dc60264/html5/thumbnails/7.jpg)
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](https://reader035.vdocument.in/reader035/viewer/2022081511/568158b9550346895dc60264/html5/thumbnails/8.jpg)
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](https://reader035.vdocument.in/reader035/viewer/2022081511/568158b9550346895dc60264/html5/thumbnails/9.jpg)
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](https://reader035.vdocument.in/reader035/viewer/2022081511/568158b9550346895dc60264/html5/thumbnails/10.jpg)
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](https://reader035.vdocument.in/reader035/viewer/2022081511/568158b9550346895dc60264/html5/thumbnails/11.jpg)
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](https://reader035.vdocument.in/reader035/viewer/2022081511/568158b9550346895dc60264/html5/thumbnails/12.jpg)
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](https://reader035.vdocument.in/reader035/viewer/2022081511/568158b9550346895dc60264/html5/thumbnails/13.jpg)
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](https://reader035.vdocument.in/reader035/viewer/2022081511/568158b9550346895dc60264/html5/thumbnails/14.jpg)
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](https://reader035.vdocument.in/reader035/viewer/2022081511/568158b9550346895dc60264/html5/thumbnails/15.jpg)
First Hop Router Overview
ConfigurationInfo
Classifier
Marker
Marker
![Page 16: A Two-bit Differentiated Services Architecture](https://reader035.vdocument.in/reader035/viewer/2022081511/568158b9550346895dc60264/html5/thumbnails/16.jpg)
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](https://reader035.vdocument.in/reader035/viewer/2022081511/568158b9550346895dc60264/html5/thumbnails/17.jpg)
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](https://reader035.vdocument.in/reader035/viewer/2022081511/568158b9550346895dc60264/html5/thumbnails/18.jpg)
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](https://reader035.vdocument.in/reader035/viewer/2022081511/568158b9550346895dc60264/html5/thumbnails/19.jpg)
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](https://reader035.vdocument.in/reader035/viewer/2022081511/568158b9550346895dc60264/html5/thumbnails/20.jpg)
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](https://reader035.vdocument.in/reader035/viewer/2022081511/568158b9550346895dc60264/html5/thumbnails/21.jpg)
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](https://reader035.vdocument.in/reader035/viewer/2022081511/568158b9550346895dc60264/html5/thumbnails/22.jpg)
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](https://reader035.vdocument.in/reader035/viewer/2022081511/568158b9550346895dc60264/html5/thumbnails/23.jpg)
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](https://reader035.vdocument.in/reader035/viewer/2022081511/568158b9550346895dc60264/html5/thumbnails/24.jpg)
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](https://reader035.vdocument.in/reader035/viewer/2022081511/568158b9550346895dc60264/html5/thumbnails/25.jpg)
RIO Drop Probability Curve
MaxP
1.0
Minout Minin MaxinMaxout
P(drop)
AvgLen
![Page 26: A Two-bit Differentiated Services Architecture](https://reader035.vdocument.in/reader035/viewer/2022081511/568158b9550346895dc60264/html5/thumbnails/26.jpg)
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](https://reader035.vdocument.in/reader035/viewer/2022081511/568158b9550346895dc60264/html5/thumbnails/27.jpg)
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](https://reader035.vdocument.in/reader035/viewer/2022081511/568158b9550346895dc60264/html5/thumbnails/28.jpg)
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](https://reader035.vdocument.in/reader035/viewer/2022081511/568158b9550346895dc60264/html5/thumbnails/29.jpg)
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](https://reader035.vdocument.in/reader035/viewer/2022081511/568158b9550346895dc60264/html5/thumbnails/30.jpg)
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](https://reader035.vdocument.in/reader035/viewer/2022081511/568158b9550346895dc60264/html5/thumbnails/31.jpg)
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](https://reader035.vdocument.in/reader035/viewer/2022081511/568158b9550346895dc60264/html5/thumbnails/32.jpg)
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](https://reader035.vdocument.in/reader035/viewer/2022081511/568158b9550346895dc60264/html5/thumbnails/33.jpg)
Example 1: Bandwidth Broker
Statically configured example with BB messages exchanged
![Page 34: A Two-bit Differentiated Services Architecture](https://reader035.vdocument.in/reader035/viewer/2022081511/568158b9550346895dc60264/html5/thumbnails/34.jpg)
Example 2: Bandwidth Broker
End-to-end example with static allocation
![Page 35: A Two-bit Differentiated Services Architecture](https://reader035.vdocument.in/reader035/viewer/2022081511/568158b9550346895dc60264/html5/thumbnails/35.jpg)
Example 3: Bandwidth Broker
End-to-end static allocation with no remaining allocation