E N D
Session Abstract QoS (Quality of Service) mechanisms are becoming increasingly popular in current networks. This is mainly due to the varied type of applications (such as voice, video, real-time streaming data) concurrently using the network. These applications typically require different levels of performance in terms of loss, delay, and throughput.This tutorial provides a theoretical overview of the basic functional blocks used to provision QoS in different networks (call admission, policing, shaping, scheduling, etc.). Details of each function and how it is being deployed in IP, ATM, Frame Relay, and UMTS are provided.This session is a technology tutorial and is not a tutorial on the use of OPNET products. This session serves as a technology primer for intermediate-to-advanced QoS sessions:1310 Planning, Analyzing, and Optimizing MPLS TE and FRR Deployments 1315 Planning and Analyzing QoS Deployments 1510 Understanding IP Model Internals and Interfaces 1813 Traffic behavior and Queueing in a QoS Environment
Outline • Introduction to QoS • History • QoS Definitions • Basic Functional Blocks of QoS • Call Admission • Resource Reservation • Policing/Shaping • Scheduling • Congestion Avoidance Mechanisms • Protocols Using QoS • IP: DiffServ, IntServ, DS-MPLS-TE • ATM • Frame Relay • UMTS • Summary
Q E = C Quality (Q) Efficiency (E) Introduction – Quality of Service (QoS) • The Best Effort Paradigm: • Increase in traffic leads to degradation of service for all. Some applications are impacted more than others. • Why not just over-provision resources? Everyone can then get the best quality all the time… • The QE curve and its implications • Do we need QoS? • Users will find new applications that will eventually cause bandwidth to be a limiting factor (Murphy’s Law!) • Relative misuse of available bandwidth by protocols with no throttling mechanism (such as UDP) over others that do (TCP) may incorrectly penalize conforming flows • Conclusion: • We may need QoS mechanisms for guaranteed services across the network
QoS – Definition(s) • Definition • The end-to-end perspective (We, the users) QoS is a quantification of service/application-relevant measures of network effectiveness against acceptable levels for measures such as: • delay • jitter • loss • response time • throughput • QoS – The Network architecture perspective (We, the providers) • Provide services to specific traffic classes such that QoS can be provided to end-users on a guaranteed/differential basis
The QoS Perspective • So, what is Quality of Service? • Ability to provide better service to selected traffic • Distinguish traffic with strict timing requirements • Allocate resources in the network (e.g., bandwidth, buffer, priority) so that traffic gets to destinations quickly and reliably • Do not create bandwidth – simply manage it effectively to meet application requirements • Benefits of using QoS • Dedicated bandwidth • Controlled network latency and jitter • Improved loss characteristics • Control and predictability beyond the “best-effort” concept
QoS-Enabled Applications QoS-Enabled Applications Application Presentation Session RSVP Transport RSVP RSVP Application RSVP Diffserv, MPLS, ATM Diffserv, MPLS, ATM Diffserv Network Presentation Diffserv Transport Data Link Layer Session Network Physical Transport Data Link Layer Network Physical Data Link Layer End-to-End Quality of Service Guarantee Physical Diffserv, MPLS RSVP RSVP Other Guaranteed Approaches Quality of Service Heterogeneity
Outline • Introduction to QoS • History • QoS Definitions • Basic Functional Blocks of QoS • Call Admission • Resource Reservation • Policing/Shaping • Scheduling • Congestion Avoidance Mechanisms • Protocols Using QoS • IP: DiffServ, IntServ, DS-MPLS-TE • ATM • Frame Relay • UMTS • Summary
Basic Functional Blocks of QoS • Pieces of the Puzzle • Call Admission/ Resource Allocation • SLA (Service Level Agreement) • Advertisement of required bandwidth by user to the network • Provisioning of bandwidth by network for user • Flow Classification • Ability of the network to identify incoming packets (flows) and assign them a pre-defined level of service • Policing and Shaping • Ability of the network to monitor flows to ensure conformance to advertised traffic characteristics and provisioned resources • Congestion Avoidance Mechanisms • Ability to monitor buffer utilization levels and regulate flow rates to alleviate congestion on network links • Scheduling Mechanisms • Queueing mechanisms to provision differing levels of service
2 2 3 3 4 2 1 Call Admission • Control Plane • Signal the network on type of connection and QoS requirements • Network is responsible for pro-active Bandwidth Management • Establishing the route of the connection • Reserving enough resources to meet QoS requirements • Stochastic reservation • Virtual pipes • Rejecting a call if it does not have enough resources to meet the call • Examples: • ATM • IntServ (RSVP) • MPLS 1 Request 2 Route Establishment Confirmation 3 Destination Source Acknowledgement 4
CLASSIFIER Flow Classification • Need a method to identify packets/cells in order to provide differential treatment • Examples of Classification Criteria • VC number • MPLS Label • Type of Service • Protocol • Address • Source IP Address • Destination IP Address • Port Number • Source port • Destination port • Incoming interface • DSCP (DiffServ Code Point)
Policing and Shaping • Regulate the rate at which a flow is allowed to inject packets into the network • Using an appropriate time scale for measurement is important for three metrics • Average rate • Limit the long term-average rate (packets per time interval) of the flow • Peak rate • Limit the maximum number of packets that can be allowed into the network over a short interval of time • Burst size • Limit the number of packets that can be allowed into the network over an extremely short interval of time • Limiting case (as time interval approaches zero) defines the number of packets that can be instantaneously sent into the network • Systems use either a leaky bucket or a token bucket mechanism
Single token bucket mechanism r tokens/second Size b Packets Remove Token To network Data Stream Buffer The Bucket Mechanism • Consists of a bucket (of size b) that can hold up to b tokens which are created at a rate of r tokens/second • New tokens either get added to the bucket or are discarded (if bucket is full) • Tokens do not get stored in case of no packets (Leaky Bucket) • Tokens get stored awaiting packets (Token Bucket) • An incoming packet must remove a token from the token bucket before entering the network • Lack of tokens in the bucket could cause packet • To be dropped (a simple policer) • To be buffered (delayed) as it awaits a token (a shaper) • Single bucket allows for flow to be policed based on average rate metric
p tokens/second Size b2 Dual token bucket mechanism r tokens/second Size b1 Packets Remove Token Remove Token To network Data Stream Buffer Dual Buckets • Mechanism • Consists of a two token buckets • Allows for policing on average rate, peak rate, and burst size • Parameters of buckets are set based on flow requirements
Traffic Rate Traffic Rate Shaping Policing Traffic Traffic Time Time Traffic Rate Traffic Rate Traffic Traffic Time Time Policing and Shaping • Effect of Policing • Effect of Shaping
Congestion Avoidance • Not congestion management! • Monitor traffic loads at egress network interfaces in order to anticipate and avoid congestion in the buffers • Do not accept packet into buffer if packet fails “discard test” • Typically works best in tandem with TCP • Take advantage of TCP retransmission mechanism by randomly dropping packets • Reduce chance of tail drop • Minimize chance of global synchronization • Common schemes • RED (Random Early Detection) • Stochastically drop packets as congestion begins to increase • WRED (Weighted Random Early Detection) • Combine stochastic dropping of packets with IP Precedence • Implemented by two different algorithms • Average queue size computation • Packet drop probability
Congestion Avoidance – WRED • Discard packets based on: • Average queue depth • Type of Service (TOS) Manage Interface Buffer Resources Avoid Congestion on Links
Congestion Avoidance – RED Packet Dropped Packet Randomly Dropped Packet Enqueued Dropping Prob. 100% 100/Mark Prob. 0% Maximum Threshold Average queue size Minimum Threshold
Scheduling • Common queueing disciplines • FIFO (First In First Out) • PQ (Priority Queueing) • Strict • WRR (Weighted Round Robin) variants • FQ (Fair Queueing) • Equal weight given to each queue • WFQ (Weighted Fair Queueing) • Variable weight given to each queue • Approximate when packet sizes disparate • Implemented in software • CQ (Custom Queueing) • CBWFQ (Class Based Weighted Fair Queueing) • WFQ where packets are classified into queues • DRR (Deficit Round Robin) • More exact weight given to each queue • Implemented in hardware
Scheduling – PQ • Classification by: • Type of Service • Protocol • IP address • Incoming interface • Port number Manage Interface Buffer Resources Allocate Link Bandwidth by Source Priority
Scheduling – WFQ Allocate Fair Proportion of Link Bandwidth • Classification by: • Type of Service • Protocol • IP address • Incoming interface • Port number Manage Interface Buffer Resources
Scheduling – WFQ Principles • Operational basics • Divide traffic into various queues • Assign a weight (portion of bandwidth) to each queue • Serve each queue according to its weight (in essence, desired percentage of output port bandwidth for the queue) • Each class is “guaranteed” a minimum share of output forwarding capacity • Note that the queues are not in a priority order – which means each queue sees the full server for a fraction of the total time • Allows for configuration of multiple levels of sharing hierarchy • LLQ (Low Latency Queue): • Strict priority queue within CBWFQ paradigm
Putting the Pieces Together… Meter Conforming Packets Nonconforming Packets Shaped Packets Congestion Avoidance Shaper/ Dropper Packets Scheduler Classifier Marker Dropped Packets • Classifier: Selects packets based on portions of packet header • Marker: Marks/Remarks the packet header based on traffic class • Meter: Checks compliance to traffic profile and passes result to Marker and Shaper/Dropper • Shaper: Allows for delaying of packets in buffer to enforce compliance with traffic profile • Dropper: Drops traffic that does not conform with traffic profile • Congestion Avoidance: Checks buffer levels and stochastically drops packets • Scheduler: Allows for differential queueing and servicing of packets
Outline • Introduction to QoS • History • QoS Definitions • Basic Functional Blocks of QoS • Call Admission • Resource Reservation • Policing/Shaping • Scheduling • Congestion Avoidance Mechanisms • Protocols Using QoS • IP: DiffServ, IntServ, DS-MPLS-TE • ATM • Frame Relay • UMTS • Summary
Scope of IP QoS • From a TCP/IP perspective …
IP Datagram Lifecycle under QoS OUTGOING Band. Management QUEUE CLASSIFICATION Congestion Avoidance INCOMING Band. Management ROUTING SCHEDULING Performs datagram scheduling by using a specified queuing scheme. Options are: - CQ - PQ - FIFO - WFQ Classify and “police” datagrams at interfaces. Defines policies for handling traffic – e.g., setting TOS, special handling when it exceeds thresholds. Based on: - IP Precedence - Application Type - Incoming Interface Use standard IP routing protocols (RIP, IGRP, EIGRP, OSPF, BGP4, static) to determine next hop and interface to forward the packet Classify and place incoming datagrams in appropriate queues. Based on: - IP Precedence - Application type - Application port - Incoming Interface - Source/dest address - DiffServ code point - Combination of above Discard packets if they do not conform to agreed policies. Policies can be defined using RED/WRED
DiffServ Basics • Focus on QoS provisioning across single domain and not end-to-end • Classification/Policing at the edge and “class-based” forwarding in the core • Use of IP ToS byte for DSCP (DiffServ Code Point) • Allocate resources for aggregated traffic (Not individual flows) • Emphasis on guaranteeing QoS by provisioning (SLA- Service Level Agreement) rather than reservation (signaling) • PHB (Per Hop Behavior) • “Externally observable forwarding treatment at a single node for an aggregate of flows with the same DSCP value.” • Standard PHBs • EF (Expedited Forwarding) for low delay, low jitter requirements • AFxy (Assured Forwarding) for differential treatment. Allows for four classes (0 < x < 5) and three levels (0 < y < 4) of drop precedence • BE (Best Effort) • Allows for backward compatibility with IP ToS precedence values
DiffServ Components • At the edge of DiffServ domain • Classification and Marking • Policing/Shaping • Within the core of the DiffServ domain • Congestion Avoidance • Scheduling • Combination of LLQ / CBWFQ for differential treatment to DiffServ Classes (Why do we need LLQ?) • Result: • Provide differential treatment to Behavior Aggregates (BA) by proper configuration • Remove complexity from core of network and place it at edges
IntServ • Allow for per-flow QoS • More state information to be maintained (resource intense) • Mechanism • Applications announce traffic request • Nodes use signaling and connection admission to establish route • Accept the call; reserve resources for call along path • Reject the call • Nodes use policing mechanisms to enforce traffic profiles • Features • Provision true end-to-end QoS on a per-flow basis • Routers need to maintain state information on a per-flow basis • Scalability issues within core of network
RSVP • RSVP (Resource Reservation Protocol) • Protocol used for control signals • Transmitting applications use RSVP to describe data traffic characteristics • Receiving applications use RSVP to describe their QoS requirements • Network Elements use RSVP to deliver QoS requests to other network elements • Reservation setup mechanism • Dynamic: applications can dynamically reserve and free network bandwidth • Simplex reservation setup: Each side of a connection requiring bandwidth guarantee must perform a separate reservation procedure • Hop-by-hop reservation style: Every RSVP-aware hop benefits from the RSVP messages traversing a flow – end-to-end guarantee not possible if some intermediate elements do not support RSVP • Different reservation styles for unicast and multicast traffic
MPLS – Basics • Label Switching • Originally designed to make routers faster • Longest prefix lookup vs. fixed label lookup • Separates control and data plane • Higher forwarding rates • Enables traffic engineering • Scalable, high-performance IP networks • Multi-Protocol • “Label” as universal identifier • Single device can transport data units of multiple protocols • E.g., IP datagrams and ATM cells through an ATM switch
MPLS – Traffic Engineering • Traffic Engineering is placing traffic where there is bandwidth • Optimize network resources through careful distribution of traffic in network • Provide ability to arbitrarily segregate flows at any desired level of granularity and route those flows independently from one another • Constraint Based Routing (CBR) • Allow TE Cost Metric to be based on parameters such as • Hop Count • Delay • Available Bandwidth • TE Cost
TCP Traffic UDP Traffic MPLS-TE Operation • Optimize route selection of LSP based on TE metric • Off-Line Mode • Compute routes periodically (using CBR) and switch to new routes during maintenance periods • Could lead to operational delays as all routes (even existing demands) are re-established • On-Line Mode • Route computation performed incrementally with arrival of each new demand • Does not require rerouting of existing traffic • Inefficient optimization as compared to Off-Line Mode • Two modes can be combined at different time scales
DiffServ Aware MPLS-TE • Combine TE concept of routing with service provisioning concept of DiffServ • CBR • New concept of sub pools (within the global available bandwidth pool) • Allows for a more restrictive bandwidth constraint that can be used by LSPs meant for “guaranteed” traffic • Allow LSPs to request bandwidth from a specific sub pool • Concept of ensuring QoS for flows • Forward Equivalence Class (FEC) • A set of classification rules to allow classification of packets • Examples: IP Prefix, Egress Router, Application flow • Use Marking functionality to map FEC onto MPLS header • E-LSP • EXP bits on MPLS header are used to carry information about FEC • L-LSP • MPLS Label contains information about FECs • Map EXP classes to DiffServ PHB for specific scheduling policies
Outline • Introduction to QoS • History • QoS Definitions • Basic Functional Blocks of QoS • Call Admission • Resource Reservation • Policing/Shaping • Scheduling • Congestion Avoidance Mechanisms • Protocols Using QoS • IP: DiffServ, IntServ, DS-MPLS-TE • ATM • Frame Relay • UMTS • Summary
ATM Service Classes Class Description Example CBR Constant Bit Rate T1-circuit RT-VBR Variable Rate: RT Video conf NRT-VBR Variable Rate: NRT Email ABR Available Bit Rate Browsing UBR Unspecified Bit Rate Best effort Guaranteed Frame Rate IP traffic GFR
Usage Parameter Control (UPC) • Parameters • Peak Cell Rate (PCR) • Maximum rate at which the source can send cells • Sustainable Cell Rate (SCR) • Upper-bound on average cell rate • Maximum Burst Size (MBS) • Maximum number of cells sent back to back at PCR • Minimum Cell Rate (MCR) • Minimum cell rate guaranteed by the circuit • Cell Delay Variation Tolerance (CDVT) • The maximum cell delay variance • QoS metrics • Maximum Cell Transfer Delay (maxCTD) • The maximum time spent by a cell in the network • Cell Delay Variation (CDV) • Difference between best and worst case CTD • Cell Loss Ratio (CLR) • Maximum ratio of lost cells over total cells transmitted
ATM Classes, UPC and QoS Class UPC Contract QoS Descriptor CBR RT-VBR nRT-VBR ABR UBR GFR PCR PCR, SCR, MBS PCR, SCR, MBS PCR MCR PCR, MCR Max CTD, CDV, CLR Max CTD, CDV, CLR CLR CLR (some networks) No QoS CLR
Congestion Control in ATM • Connection Admission Control (CAC) • Computes an equivalent bandwidth, a function of UPC • Source checks if enough resource (equivalent bandwidth) is available before accepting a connection. Routing protocol (PNNI) may be used • Allocates bandwidth for connection or denies entry • Congestion Policing • Controls whether the user (flow) obeys the UPC contract (usually using a sequence of leaky buckets) • Control of cell rates • Using control packets (only applicable to ABR) • Congestion Avoidance • Early Packet Discard (EPD) • Partial Packet Discard (PPD)
Service Classes for IP Traffic • Traditionally UBR is used to carry IP traffic over an ATM network • UBR offers no QoS and link subscription is minimal (four cells/second), since IP offers no guarantee of service anyway • GFR (Guaranteed Frame Rate) is a new service class defined by the ATM FORUM • UBR with MCR (Minimum Cell Rate) and EPD/PPD but without the complicated renegotiation of the MCR rate of the ABR class • If GFR is not available, nRT-VBR is a valid option, provided AAL5 (ATM Adaptation Layer 5) and EPD/PPD are used
ATM: Congestion Avoidance • Early Packet Discard (EPD) • Maximize the number of complete AAL5 frames that are successfully transmitted during periods of congestion • On reaching a threshold value in the ATM switch buffer, cells belonging to new AAL5 frames are discarded • Implemented on selected virtual circuits • Enforced before cells are admitted into the buffer • Partial Packet Discard (PPD) • If a cell of a AAL5 frame needs to be discarded, then all remaining cells of that frame are also discarded except for the last one that contains the AAL5 trailer • Enforced after cells are admitted into the buffer
QoS Protocols – A Comparison Protocols ATM DiffServ IntServ QoS Connection Admission Control Required Not Required Required Control Plane Protocol PNNI, H-PNNI Use existing routing RSVP Policing/Shaping Required Optional Required Classification UPC parameters map to service class Src/Dest IP Address etc. RSVP state information, same as DiffServ Congestion Avoidance EPD, PPD RED, WRED variants RED, WRED, variants Scheduling WRR based LLQ/CBWFQ, WDRR etc. Same as DiffServ QoS End-to-end at ATM Layer Within core of domain (IP Layer) End-to-end (Application Layer)
Outline • Introduction to QoS • History • Basic Functional Blocks of QoS • Call Admission • Resource Reservation • Policing/Shaping • Scheduling • Congestion Avoidance Mechanisms • Protocols Using QoS • IP: DiffServ, IntServ, DS-MPLS-TE • ATM • Frame Relay • UMTS • Summary
Frame Relay • Policing/Shaping • Mainly used to control traffic flows in a hub-and-spoke network • Used to throttle amount of traffic on a VC • Can be used with ECN (Explicit Congestion Notification) • FECN (Forward ECN) • BECN (Backward ECN) • Congestion Avoidance Schemes • Partial Packet Discard (PPD) • Early Packet Discard (EPD)
Outline • Introduction to QoS • History • Basic Functional Blocks of QoS • Call Admission • Resource Reservation • Policing/Shaping • Scheduling • Congestion Avoidance Mechanisms • Protocols Using QoS • IP: DiffServ, IntServ, DS-MPLS-TE • ATM • Frame Relay • UMTS • Summary
QoS in UMTS • QoS Mechanism • Connection Admission (Frequency Allocation) • Inter-operability with wired networks. Allows for mapping precedence bits in IP ToS byte (or service classes from ATM network) to one of UMTS traffic classes • Characterizes higher layer traffic for UMTS • Each traffic class has its own configuration • Allows configuration of data rate, block error rate, transfer delay, etc. • Allocation, retention and preemption details for use during admission control phase can also be configured • UMTS QoS Classes • Based on 3G TS 23.197 • Conversational • Streaming • Interactive • Background
Outline • Introduction to QoS • History • QoS Definitions • Basic Functional Blocks of QoS • Call Admission • Resource Reservation • Policing/Shaping • Scheduling • Congestion Avoidance Mechanisms • Protocols Using QoS • IP: DiffServ, IntServ, DS-MPLS-TE • ATM • Frame Relay • UMTS • Summary
IP QoS Framework Source: Cisco “Service Provider QoS – Providing e2e Guarantees, April 2001
ATM QoS Approaches • Tailored Service Classes defined for use for specific QoS expectations • UPC parameters defined for service classes • Connection and establishment of routes dictated by equivalent bandwidth calculations • QoS enforced by token bucket mechanisms and WRR-based scheduling