QoS 101
Last updated
Was this helpful?
Last updated
Was this helpful?
Congestion occurs when there is more traffic to be sent than the interface can physically send. Depending on the configuration, packets that are waiting to be sent can be dropped or queued. Dropping is no good because the information is lost (UDP) or it may require retransmissions (TCP). Queuing on the other hand introduces delays. For some types of traffic this might not be a problem but for voice traffic this will result in poor quality. Another important factor is delay variation, called jitter. It will also have a negative impact on voice or real time traffic.
QoS tries to model the way network devices handle traffic in order to offer each application the required QOS level in terms of congestion, delay or jitter. When deploying QoS in a network, there are 2 models that can be used: DiffServ and IntServ.
IntServ provides an Integrated Services model, where the sender application requests a QoS level from the network, and the network devices agree to offer the required level end-to-end, from the sender to the receiver. The routers will have to implement a signalling method to communicate with the sender and with each other in order to agree if such a service level can be delivered or not. The signalling protocol used for IntServ is ).
DiffServ provides a Differentiated Service model, where each router along the path from sender to the receiver must be manually configured to offer the required QoS level for the application. There is no signalling protocol involved so routers and applications do not talk to each other. So how does one router know what the application level should be? The process of Classification will do that. Traffic will be separated into different classes and each class will be treated differently. Usually, traffic classification is performed at the network edge and then the traffic is marked according to the Type of Service that should be assigned to it. For each QoS marking a PHB (Per Hop Behaviour) is configured that defines the QoS level.
See
MQC is a Cisco CLI Component used to apply QoS settings. In newer IOS versions, HQF is used instead of MQC. HQF is a an extended implementation of MQC that allows the use of hierarchical policies. They actually work pretty much the same.
There are 3 steps when using MQC:
Now add match criteria for the class:
A policy is a list of Classes and the actions defined for each class:
In a policy, all traffic that is not matched by the defined classes will be considered to be inside the default class. This class can be configured using:
To verify the configuration, use one of the following commands:
Currently, the most used method of configuring QoS is via the MQC. See .
Before MQC, there were 4 types of Queuing mechanisms that could be used on an interface of a Cisco Router. They are known now as legacy methods of configuring QoS: FIFO, WFQ, PQ, CQ. See for more details.
Additionally, are ways of configuring a Priority Queue for RTP (usually voice) traffic.
There are 2 methods for congestion avoidance: Tail Drop and (Weighted) Random Early Detection. See for more details.
See for more details.
CAR is a legacy mechanism that can perform classification, marking and policing. See .
For details, see .
Now, inside each class you can define the QoS parameters for , , , and so on. You can also define a service policy for a class, which will make use of HQF, thus making the current policy the parent of the policy defined in the service policy Here are some of the things you can define for each class:
See , or look for Frame Relay Fragmentation Support.
Frame Relay offers some specific QoS configuration options which are detailed in the article.