Differentiated Services - WebTP Home Page, EECS, UC Berkeley
Download
Report
Transcript Differentiated Services - WebTP Home Page, EECS, UC Berkeley
Differentiated Services
Yogesh Bhumralkar
WebTP Meeting - 03/06/2000
What is Diffserv?
An approach to delivering QoS in a scalable,
incrementally deployable way that:
keeps control of QoS “local”
pushes work to the edges or network boundaries: keeps
forwarding path simple
requires minimal standardization, encourages maximal
innovation: doesn’t specify the means so much as it specifies
the ends.
Diffserv model leverages the fact that the Internet is
composed of independently administered domains.
Aggregation:
“Behavior Aggregates (BA)”: packets are grouped
according to the forwarding behavior they are to receive
within the cloud.
“Per-Hop Behavior (PHB)”: description of the forwarding
treatment for a particular BA - this is the observable
behavior.
Basic idea: Nodes in the center of a network only have
to deal with the small number of traffic aggregates
rather than keeping track of every separate traffic flow
that passes through.
Aggregation:
Per-flow state is maintained at the edges
Flows are classified into aggregates and are
“conditioned” to meet the rules of that traffic aggregate.
Traffic Conditioning occurs at the edges.
Can occur either upon ingress or egress.
Within the network the aggregate is treated as one:
no distinction made between different flows.
treatment of behavior aggregate should not result in different
performance for different traffic compositions within the
behavior aggregate.
How are flows conditioned?
Classifier identifies the flows that packets belong to.
Classification based on the DS Field in IP header and perhaps other
info such as source/dest. IP addresses etc.
DS Field value represents a BA and maps to a particular PHB
Meter measures the resource consumption of the flow:
flow rate and size of bursts.
Marker modifies the DS Field.
Shaper:
paces out the traffic
usually done for incoming bursty traffic
Dropper:
packets are dropped when a burst exceeds a maximum rate or
maximum burst threshold
Conditioning Process:
Packet Marking: DS Field
DS Field is a replacement for the original IPv4 TOS octet
or IPv6 Traffic Class octet in the IP Header.
Leftmost 6 bits represent the DSCP (Diffserv codepoint)
Rightmost 2 bits currently unused (CU)
Codepoints are an index into a table of packet
forwarding treatments at each router.
Table maps a DSCP to a particular PHB although this mapping
may only be local to that domain.
DSCP indicates a packet’s behavior aggregate within a cloud from this point on the packet is treated only as part of this
aggregate not as part of a particular flow.
Marking:
Marking can be done by a DS-node anywhere in the
network but is usually done at network boundaries
Re-marking:
the codepoints for a given PHB might be different in different
domains.
Hence, the need to re-specify the codepoint.
There are recommended codepoint values for certain PHBs but
these need not be strictly followed.
Re-Marking:
Domain A
Domain B
Egress Node
110101
Phb1 = 110101
Ingress Node
111001
Phb1 = 111001
PHB: Class Selector Compliant
Motivation was to preserve backward compatibility with
the IP Precedence Field (bits 0-2) in TOS octet.
used for network control traffic, routing traffic etc.
routers can implement filters based on this IP Precedence field.
Specified by DSCP = “xxx000”
Preserve Default PHB requirement on code ‘000000’ Best Effort traffic
CSC codepoints describe minimum requirements on a
set of PHBs that are compatible with forwarding
treatments on selected by IP Precedence fields .
CS PHB Requirements:
The set of PHBs mapped to by the 8 CSC codepoints
must give at least 2 independently forwarded classes of
traffic.
PHBs for codepoints 11x000 must give packets
preferential forwarding treatment compared to the
default PHB (‘000000’).
Packets with different codepoints may be re-ordered but
those with the same codepoints should remain in order
Example: Strict Priority scheduling with 2 queues
Assured Forwarding (AF) PHB:
Four independently forwarded AF classes with three
levels of drop precedence (two okay) within each class.
Each class allocated certain amount of resources at the
node (bandwidth and buffer space).
Drop precedence determines the relative order of
importance of a packet within a class. A congested
node discards packets with a higher drop precedence.
No re-ordering of AF packets of a microflow when they
belong to the same AF class regardless of their drop
precedence.
Packets with the lowest drop precedence are assumed
to be within a subscribed profile.
AF Example: Olympic Service
3 Classes: Gold (AF1), Silver (AF2), Bronze (AF3)
Packets are assigned to these classes so that gold class
experiences lighter load than the others.
Each class can have 3 drop precedences: implement
using a leaky bucket controller with parameters rate and
size, which is the sum of two burst values: committed
burst size and excess burst size (ebs).
If # tokens available >= ebs --> low drop precedence
If 0 < # tokens < ebs --> medium drop precedence
If # tokens == 0 --> high drop precedence
Expedited Forwarding (EF) PHB:
Forwarding treatment for an aggregate where the
departure rate of the aggregate’s packets must equal or
exceed the configured rate for that aggregate.
EF traffic should receive this rate independent of the
presence of any other traffic.
Time scale: Traffic should avg at least the configured
rate when measured over a time interval equal to or
longer than the time taken to send an MTU sized packet
on the output link at the configured rate.
Can implement this with a PQ with a token bucket rate
limiter or a WRR scheduler with EF’s share of the
bandwidth being the configured rate.
Resource Management:
Bandwidth Brokers
Keep track of allocated bandwidth in a network domain.
Process new bandwidth allocation requests.
Configured with organizational policies - establish
relationships with brokers in adjacent domains.
Brokers configure routers within their domain to deliver
particular services to a flow.
Process is indicated in the following diagram:
Bandwidth Brokers:
1. Request: A wants to
transfer data to B.
2. Request requires
negotiation between
Bba and BBb.
3, 4. Brokers configure
routers within their
domains.
5, 6, 7. Transfer of data.
Acknowledgements:
Kathleen Nichols presentation slides on Diffserv at the
UCB BMRC seminar (1998).