Quality of Service (QoS) is the technique of prioritizing traffic flows and providing preferential forwarding for higher-priority packets. The fundamental reason for implementing QoS in your network is to provide better service for certain traffic flows. A traffic flow can be defined as a combination of source and destination addresses, source and destination socket numbers, and the session identifier. A traffic flow can more broadly be described as a packet moving from an incoming interface that is destined for transmission to an outgoing interface. The traffic flow must be identified, classified, and prioritized on all routers and passed along the data forwarding path throughout the network to achieve end-to-end QoS delivery. The terms traffic flow and packet are used interchangeably throughout this module.
To implement QoS on a network requires the configuration of QoS features that provide better and more predictable network service by supporting bandwidth allocation, improving loss characteristics, avoiding and managing network congestion, metering network traffic, or setting traffic flow priorities across the network.
This module contains overview information about modular QoS features within a service provider network.
The Cisco IOS XR QoS features enable networks to control and predictably service a variety of networked applications and traffic types. Implementing Cisco IOS XR QoS in your network promotes the following benefits:
Control over resources. You have control over which resources (bandwidth, equipment, wide-area facilities, and so on) are being used. For example, you can limit bandwidth consumed over a backbone link by FTP transfers or give priority to an important database access.
Tailored services. If you are an Internet Service Provider (ISP), the control and visibility provided by QoS enables you to offer carefully tailored grades of service differentiation to your customers.
Coexistence of mission-critical applications. Cisco IOS XR QoS features make certain of the following conditions:
That your WAN is used efficiently by mission-critical applications that are most important to your business.
That bandwidth and minimum delays required by time-sensitive multimedia and voice applications are available.
That other applications using the link get their fair service without interfering with mission-critical traffic.
QoS on Cisco IOS XR software relies on the following techniques to provide for end-to-end QoS delivery across a heterogeneous network:
Before implementing the QoS features for these techniques, you should identify and evaluate the traffic characteristics of your network because not all techniques are appropriate for your network environment.
Packet classification techniques identify the traffic flow, and provide the capability to partition network traffic into multiple priority levels or classes of service. After traffic flow is identified, it can be marked as a traffic class.
Identification of a traffic flow can be performed by using several methods within a single router: access control lists (ACLs), protocol match, IP precedence, IP differentiated service code point (DSCP), and so on.
Marking of a traffic flow is performed by:
Setting IP Precedence or DSCP bits in the IP Type of Service (ToS) byte.
Setting Class of Service (CoS) bits in the Layer 2 headers (Ethernet, Spatial Reuse Protocol [SRP], and so on).
Setting EXP bits within the imposed or the topmost Multiprotocol Label Switching (MPLS) label.
Setting qos-group and discard-class bits.
Marking can be carried out:
Unconditionally—As part of the class-action.
Conditionally—As part of a policer-action.
Combination of conditionally and unconditionally.
For detailed conceptual and configuration information about packet marking, see the module for unconditional marking, and Configuring Modular Quality of Service Congestion Management on Cisco IOS XR Softwaremodule for conditional marking.
Congestion management techniques control congestion after it has occurred. One way that network elements handle an overflow of arriving traffic is to use a queueing algorithm to sort the traffic, then determine some servicing method of prioritizing it onto an output link.
Cisco IOS XR software implements the low-latency Queueing (LLQ) feature, which brings strict priority queueing (PQ) to the Modified Deficit Round Robin (MDRR) scheduling mechanism. LLQ with strict PQ allows delay-sensitive data, such as voice, to be dequeued and sent before packets in other queues are dequeued.
Cisco IOS XR software includes traffic policing capabilities available on a per-class basis as well as class-based shaping.
The traffic policing feature limits the input or output transmission rate of a class of traffic based on user-defined criteria, and can mark packets by setting values such as IP Precedence, QoS group, or DSCP value.
Traffic shaping allows control over the traffic that leaves an interface to match its flow to the speed of the remote target interface and ensure that the traffic conforms to the policies contracted for it. Thus, traffic adhering to a particular profile can be shaped to meet downstream requirements, thereby eliminating bottlenecks in topologies with data-rate mismatches.
Cisco IOS XRsoftware supports a class-based traffic shaping method through a CLI mechanism in which parameters are applied per class.
For detailed conceptual and configuration information about congestion management, see the Configuring Modular Quality of Service Congestion Management on Cisco IOS XR Softwaremodule.
Congestion avoidance techniques monitor network traffic flows in an effort to anticipate and avoid congestion at common network and internetwork bottlenecks before problems occur. These techniques are designed to provide preferential treatment for traffic (such as a video stream) that has been classified as real-time critical under congestion situations while concurrently maximizing network throughput and capacity utilization and minimizing packet loss and delay. Cisco IOS XR software supports the Random Early Detection (RED), Weighted RED (WRED), and tail drop QoS congestion avoidance features.
For detailed conceptual and configuration information about congestion avoidance techniques, see the Configuring Modular Quality of Service Congestion Management on Cisco IOS XR Software module.
Differentiated Service Model for Cisco IOS XR Software
Cisco IOS XR software supports a differentiated service that is a multiple-service model that can satisfy different QoS requirements. However, unlike in the integrated service model, an application using differentiated service does not explicitly signal the router before sending data.
For differentiated service, the network tries to deliver a particular kind of service based on the QoS specified by each packet. This specification can occur in different ways, for example, using the IP Precedence bit settings in IP packets or source and destination addresses. The network uses the QoS specification to classify, mark, shape, and police traffic, and to perform intelligent queueing.
The differentiated service model is used for several mission-critical applications and for providing end-to-end QoS. Typically, this service model is appropriate for aggregate flows because it performs a relatively coarse level of traffic classification.
Additional Cisco IOS XR QoS Supported Features
The following sections describe the additional features that play an important role in the implementation of QoS on Cisco IOS XR software.
In Cisco IOS XR software, QoS features are enabled through the Modular QoS command-line interface (MQC) feature. The MQC is a command-line interface (CLI) structure that allows you to create traffic policies and attach these policies to interfaces. A traffic policy contains a traffic class and one or more QoS features. A traffic class is used to classify traffic, whereas the QoS features in the traffic policy determine how to treat the classified traffic. One of the main goals of MQC is to provide a platform-independent interface for configuring QoS across Cisco platforms.
For detailed conceptual and configuration information about the MQC feature, see the Configuring Modular Quality of Service Packet Classification on Cisco IOS XR Software module.
The fabricq queue selection mechanism is known as Fabric QoS. To provide class of service to the traffic under fabric congestion scenarios, configure Fabric QoS. The platform-independent user interface allows you to configure an MQC policy on the switch fabric queues. This policy is global for all line cards on the router.
Where to Go Next
To configure the packet classification features that involve identification and marking of traffic flows, see the Configuring Modular Quality of Service Packet Classification on Cisco IOS XR Software module.
To configure the queueing, scheduling, policing, and shaping features, see the Configuring Modular Quality of Service Congestion Management on Cisco IOS XR Software module.
To configure the WRED and RED features, see the Configuring Modular QoS Congestion Avoidance on Cisco IOS XR Software module.
To configure fabric QoS, see the Configuring Fabric Quality of Service Policies and Classes on Cisco IOS XR Software module.
The following sections provide references related to implementing QoS.
No new or modified RFCs are supported by this feature, and support for existing RFCs has not been modified by this feature.
The Cisco Technical Support website contains thousands of pages of searchable technical content, including links to products, technologies, solutions, technical tips, and tools. Registered Cisco.com users can log in from this page to access even more content.