370 likes | 1.07k Views
Differentiated Services (DiffServ). Definition of DiffServ Per Domain Behaviors and Rules for their Specification Papadimitriou Panagiotis 21/01/2004. Why DiffServ?. Internet currently provides “Best Effort” service (inadequate, Quality of Service not provided).
E N D
Differentiated Services (DiffServ) Definition of DiffServ Per Domain Behaviors and Rules for their Specification Papadimitriou Panagiotis21/01/2004
Why DiffServ? • Internet currently provides “Best Effort” service (inadequate, Quality of Service not provided). • The IETF defined models, IntServ and DiffServ, are simply two ways of considering the fundamental problem of providing QoS for a given IP packet. • DiffServ mainly aims for seamless end-to-end QoS deployment with complete management, provisioning, and signaling support.
DiffServ at a glance • There is a clear need for relatively simple and coarse methods of providing differentiated classes of service for Internet traffic to support various types of applications and specific business requirements. • The differentiated services framework enables quality-of-service provisioning within a network domain by applying rules at the edges to create traffic aggregates and coupling each of these with a specific forwarding path treatment in the domain through use of a codepoint in the IP header.
DiffServ at a glance (2) Differentiated Services allows an approach to IP QoS which: • is modular • is increamentally deployable • is scalable • introduces minimal per-node complexity
Definitions • Differentiated Services Domain (DS Domain): a contiguous portion of the Internet over which a consistent set of differentiated services policies are administered in a coordinated fashion • Differential Services Boundary: the edge of a DS domain, where classifiers and traffic conditioners are likely to be deployed • Per Domain Behaviour (PDB): the expected treatment that an identifiable or target group of packets will receive from “edge to edge” of a DS domain • Per Hop Behaviour (PHB): defines the service at each hop; may be relative (compared to other PHBs) or absolute (in bandwidth or delay terms)
Definitions (2) • Traffic Aggregate: collection of packets with a codepoint (DSCP) that maps to the same PHB, usually in a DS domain or some subset of a DS domain • Behaviour Aggregate (BA): a collection of packets with the same codepoint (DSCP) crossing a link in a particular direction • Service Level Specification (SLS): a set of parameters and their values which together define the service offered to traffic stream by a DS domain • Autonomous System (AS): an independantly administered domain of the Internet
DiffServ Code Point Field • Packets are first divided into classes by marking the type of service (ToS) byte in the IP header. • A 6-bit bit-pattern (called the Differentiated Services Code Point [DSCP]) in the IPv4 ToS Octet or the IPv6 Traffic Class Octet is used as shownbelow:
DiffServ Architecture • A DS-Domain is made up of DS Ingress nodes, DS Interior nodes (in the core), and DS Egress nodes. • Functionally all DS Ingress and Egress nodes can be categorized as a Boundary node, since they act as a demarcation point between the DS-Domain and the non-DS-aware network.
DiffServ Architecture (2) AS2 Y X AS3 AS1 X Y X AS5 AS4 Y X • The letters X and Y represent the DS boundary routers • DS boundary routers contain traffic conditioners that ensure and enforce perfomance (e.g., shapers and policers)
DiffServ Traffic Conditioner Block • Classifier: selects a packet in a traffic stream based on the content of some portion of the packet header • Meter: checks compliance to traffic parameters (e.g., Token Bucket) and passes results to marker and shaper/dropper to trigger action for in/out-of-profile packets • Marker: writes/rewrites the DSCP value • Shaper: delay some packets for them to be compliant with the profile
DiffServ Traffic Conditioner Block (2) A traffic conditioner typically: • classifies the incoming packets into pre-defined aggregates • meters them to determine compliance to traffic parameters (and determines if the packet is in profile, or out of profile), • marks them appropriately by writing/re-writing the DSCP, • and finally shapes (buffers to achieve a target flow rate) or drops the packet in case of congestion.
Defining PDBs • Each PDB has measurable, quantifiable attributes that can be used todescribe what happens to its packets as they enter and cross the DSdomain. • PDB attributes may be absolute or statistical and they may be parameterized by network properties. • A PDB is applied to a target group of packets arriving at the edge of the DS domain. • The target group is distinguishedfrom all arrivingpackets by use of packet classifiers.
Defining PDBs (2) The action of the PDB on the target group has 2 parts: • The first part is the the use of traffic conditioning tocreate a traffic aggregate. During trafficconditioning, conformantpackets are marked with a DSCP for the PHB associated with the PDB. • The second part is the treatment experienced bypackets from the same traffic aggregate transiting the interior of aDS domain, between and inside of DS domain boundaries.
The effects of traffic conditioning on the target group • This effect is quantified by the relationship of the emerging traffic aggregate to the entering target group. • This relationship can depend on the arriving traffic pattern as well the configuration of the traffic conditioners. • There may be a “loss rate” on the arriving target groupthat results from sending too much traffic or the traffic with thewrong temporal characteristics.
Crossing the DS Domain • DSCPs should not change in the interior of DS domain as there is no traffic conditioning being applied. • If it is necessary to reapply the kind of traffic conditioning that could result in remarking, there should be a DS domain boundary at that point, though such an “interior” boundary can have “lighter weight” rules in its TCA (Traffic Conditioning Aggrements).
Crossing the DS Domain (2) • A PDB operates between N ingress points and M egresspoints at the DS domain boundary (N ≥ 1, M≥ 1). • Even in the degenerate case whereN=M=1, PDB attributes are more complex than the definition of PHBattributes since theconcatenation of the behavior of intermediatenodes affects the former. • A complex case with N > 1, M > 1 involves splits and merges in the traffic path. • Analytic, simulation and experimental work will be necessary to understand even the simpler PDBs.
Constructing PDBs • A DS domain is configured to meet the network operator's trafficengineering goals for the domain independently of the performancegoals for a particular flow of a traffic aggregate. • Multiple PDBs may use the same PHB. The specification of a PDB cancontain a list of PHBsand their required configuration, all of whichwould result in the same PDB. In operation, it is expected that asingle domain will use a single PHB to implement a particular PDB,though different domains may select different PHBs. • Multiple PDBs might use the same PHB in which case the transit performance of traffic aggregates of these PDBs will be the same.
PDBs using PHB Groups The use of PHB groups to construct PDBs can be done in severalways: • A single PHB member of a PHB group might be used to construct asingle PDB. The trafficconditioning for that PDB and the requiredconfiguration of theparticular PHB would be defined in such a way that there is nodependence or relationship with the manner in which other PHBs of thegroup are used. • A single PDB can be constructed using more than one PHB from the same PHB group.
PDBs using PHB Groups (2) • A set of related PDBs might be defined using a PHB group. This is appropriate when the traffic conditioners that create the trafficaggregates associated with each PDB have some relationships andinterdependencies such that the traffic aggregates for these PDBsshould be described and characterized together. The transitattributes will depend on the PHBassociated with the PDB and willnot be the same for all PHBs in the group, though there may be someparameterized interrelationship between the attributes of each ofthese PDBs.
Format for Specification of PDBs • 1. Applicability Statement All PDB specs must have an applicability statement that outlines theintended use of this PDB and thelimits to its use. • 2. Technical Specification In general, rules or guidelines to create the PDB. Thetechnicalspecification must list the classification and traffic conditioningrequired (if any) and the PHB (or PHBs) tobeused with anyadditional requirements on their configuration.
Format for Specification of PDBs (2) • 3. Attributes PDB’s attributes tell how it behaves under ideal conditions if configured in a specified manner Drop rate, throughput, delay bouns, etc. Attributes must be explicit, quantifiableand defensible • 4. Parameters Maximum number of hops Minimum bandwidth Total number of entry / exit points of the PDB Minimum buffer size for the PDB at a network node
Format for Specification of PDBs (3) • 5. Assumptions PDBs will be usually specified assuming lossless links, no link failures and relatively stable routing • 6. Example uses A PDB specification must give example uses to motivate theunderstanding of ways in which a diffserv network could make use ofthe PDB • 7. Security Considerations for each PDB
On PDB Attributes • Topic for Discussion: Under what conditions can we join the output of a DS domain to another under the same traffic conditioning and expectations? • Although there are many ways in which traffic might be distributed, creating quantifiable, realizable PDBs that can be concatenated into multi-domain services limits the realistic scenarios. • A PDB'sattributes with a clear statement of the conditions under which the attributes hold is critical to the composition of multi-domainservices.
On PDB Attributes (2) There are two ways to characterize PDBs with respect to time: • Properties over "long" time periods, or averagebehaviors. A PDB specification should report these as the rates or throughput seenover some specified time period. • Properties of “short” time behavior, usuallyexpressed as the allowable burstiness in a traffic aggregate. The short time behavior is important in understanding buffering requirements (and associated loss characteristics) and for metering and conditioning considerations at DS boundaries
Reference Best Effort PDB • We define as a reference a Best EffortPDB, a PDB that has little in the way of rules or expectations • A Best Effort (BE) PDB is for sending “normal internet traffic” across a diffserv network • The definition and use of thisPDB is to preserve, to a reasonable extent, the pre-diffserv deliveryexpectation for packets in a diffserv network that do not require anyspecial differentiation
A look at IntServ/RSVP • The Intergated Services (IntServ) model relies on the Resource Reservation Protocol (RSVP) to signal and reserve the desired QoS for each flow in the network. • Two types of service can be requested via RSVP (assuming all network devices support RSVP along the path from the source to the destination): • The first type is a very strict guaranteed service that provides for firm bounds on end-to-end delay and assured bandwidth for traffic that conforms to the reserved specifications. • The second type is a controlled load service that provides for a better than best effort and low delay service under light to moderate network loads. Thus, it is possible (at least theoretically) to provide the requisite QoS for every flow in the network, provided it is signaled using RSVP and the resources are available.
Multi-Protocol Label Switching (MPLS) • A standards-based technique used to manage and optimize traffic flow for large-scale networks. • In an MPLS network, incoming packets are assigned a label by a label edge router (LER). Label switch routers (LSRs) use these labels to forward the packets through the network along a label switch path (LSP). Each LSR removes the existing label and assigns a new one. • MPLS combines the advantages of bridges (Layer 2 switching, which is used in ATM and frame relay) and routers (Layer 3 switching, which is used in IP). • MPLS serves to create faster and more scalable networks to facilitate quality of service, class of service, and the use of VPNs. Discuss: Differences between DiffServ and MPLS?
DiffServ vs MPLS • Diffserv, as mentioned before, takes the IP TOS (type of service) field, renames it the DS byte, and uses it to carry information about IP packet service requirements. • It operates at Layer 3 only and does not deal with lower layers. • On the other hand, MPLS specifies ways that Layer 3 traffic can be mapped to connection-oriented Layer 2 transports like ATM and Frame Relay. • MPLS adds a label containing specific routing information to each IP packet and allows routers to assign explicit paths to various classes of traffic. • It also offers traffic engineering and techniques that can boost IP routing efficiency
DiffServ Issues/Problems • Topic for Discussion: Drawbacks of DiffServ? • Provisioning Unlike RSVP/IntServ, DiffServ needs to be provisioned. Setting up the various classes throughout the network requires knowledge of the applications and traffic statistics for aggregates of traffic on the network. This process of application discovery and profiling can be time-consuming, although there are tools that can make life easier (e.g. NBAR application discovery, Protocol Analyzers)
DiffServ Issues/Problems (2) • Billing and Monitoring Management is still a big issue. Even though packets/sec, bytes/sec and many other counters are available via the class-based Management Information Base (MIB), billing and monitoring are still difficult issues. • QoS and Routing One of the biggest drawbacks of DiffServ comes from the fact that signaling/provisioning happens separate from the routing process. Thus, there may exist a path (e.g. OSPF, ISIS, EIGRP) in the network that has the required resources, even when DiffServ fails to find the resources.