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).