What is Diffserv? zAn approach to delivering QoS in a scalable, incrementally deployable way that: ykeeps control of QoS “local” ypushes work to the edges or network boundaries: keeps forwarding path simple yrequires minimal standardization, encourages maximal innovation: doesn’t specify the means so much as it specifies the ends. zDiffserv model leverages the fact that the Internet is composed of independently administered domains.
Aggregation: z“Behavior Aggregates (BA)”: packets are grouped according to the forwarding behavior they are to receive within the cloud. z“Per-Hop Behavior (PHB)”: description of the forwarding treatment for a particular BA - this is the observable behavior. zBasic 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: zPer-flow state is maintained at the edges zFlows are classified into aggregates and are “conditioned” to meet the rules of that traffic aggregate. yTraffic Conditioning occurs at the edges. yCan occur either upon ingress or egress. zWithin the network the aggregate is treated as one: yno distinction made between different flows. ytreatment of behavior aggregate should not result in different performance for different traffic compositions within the behavior aggregate.
How are flows conditioned? zClassifier identifies the flows that packets belong to. yClassification based on the DS Field in IP header and perhaps other info such as source/dest. IP addresses etc. yDS Field value represents a BA and maps to a particular PHB zMeter measures the resource consumption of the flow: flow rate and size of bursts. zMarker modifies the DS Field. zShaper: ypaces out the traffic yusually done for incoming bursty traffic zDropper: ypackets are dropped when a burst exceeds a maximum rate or maximum burst threshold
Packet Marking: DS Field zDS Field is a replacement for the original IPv4 TOS octet or IPv6 Traffic Class octet in the IP Header. yLeftmost 6 bits represent the DSCP (Diffserv codepoint) yRightmost 2 bits currently unused (CU) zCodepoints are an index into a table of packet forwarding treatments at each router. yTable maps a DSCP to a particular PHB although this mapping may only be local to that domain. yDSCP 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: zMarking can be done by a DS-node anywhere in the network but is usually done at network boundaries zRe-marking: ythe codepoints for a given PHB might be different in different domains. yHence, the need to re-specify the codepoint. yThere are recommended codepoint values for certain PHBs but these need not be strictly followed.
Re-Marking: 110101 111001 Phb1 = 110101 Domain A Domain B Phb1 = 111001 Ingress Node Egress Node
PHB: Class Selector Compliant zMotivation was to preserve backward compatibility with the IP Precedence Field (bits 0-2) in TOS octet. yused for network control traffic, routing traffic etc. yrouters can implement filters based on this IP Precedence field. zSpecified by DSCP = “xxx000” zPreserve Default PHB requirement on code ‘000000’ - Best Effort traffic zCSC codepoints describe minimum requirements on a set of PHBs that are compatible with forwarding treatments on selected by IP Precedence fields.
CS PHB Requirements: zThe set of PHBs mapped to by the 8 CSC codepoints must give at least 2 independently forwarded classes of traffic. zPHBs for codepoints 11x000 must give packets preferential forwarding treatment compared to the default PHB (‘000000’). zPackets with different codepoints may be re-ordered but those with the same codepoints should remain in order zExample: Strict Priority scheduling with 2 queues
Assured Forwarding (AF) PHB: zFour independently forwarded AF classes with three levels of drop precedence (two okay) within each class. zEach class allocated certain amount of resources at the node (bandwidth and buffer space). zDrop precedence determines the relative order of importance of a packet within a class. A congested node discards packets with a higher drop precedence. zNo re-ordering of AF packets of a microflow when they belong to the same AF class regardless of their drop precedence. zPackets with the lowest drop precedence are assumed to be within a subscribed profile.
AF Example: Olympic Service z3 Classes: Gold (AF1), Silver (AF2), Bronze (AF3) zPackets are assigned to these classes so that gold class experiences lighter load than the others. zEach 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). yIf # tokens available >= ebs --> low drop precedence yIf 0 medium drop precedence yIf # tokens == 0 --> high drop precedence
Expedited Forwarding (EF) PHB: zForwarding treatment for an aggregate where the departure rate of the aggregate’s packets must equal or exceed the configured rate for that aggregate. zEF traffic should receive this rate independent of the presence of any other traffic. zTime 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. zCan 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 zKeep track of allocated bandwidth in a network domain. zProcess new bandwidth allocation requests. zConfigured with organizational policies - establish relationships with brokers in adjacent domains. zBrokers configure routers within their domain to deliver particular services to a flow. zProcess 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: zKathleen Nichols presentation slides on Diffserv at the UCB BMRC seminar (1998).