ADVANCED QUEUING TECHNIQUES
Now that we have a more in-depth knowledge about the basic queuing methods we can look at some of the more advanced techniques which we use now days.
Priority Queuing
“Priority queuing ensures that important traffic gets the fastest handling at each point where it is used. It was designed to give strict priority to important traffic.”[i]
In Packet queuing packets are assigned to four priority queues, each of these queues has a different priority, for example, you could assign high, medium, normal, and low priority to them
The queues with the higher priority are serviced first; however each queue is only serviced if the highest priority queues are empty.
Advantages:
Higher priority queues are given the lowest delay and delay jitter, and the highest bandwidth.
Disadvantages:
Low priority queues can be left waiting for a while if high priority queues are being overwhelmed with packets.
Class-Based Weighted Fair Queuing (CBWFQ)
Class-based weighted fair queuing (CBWFQ) expands the standard WFQ functionality to offer support for user-defined traffic classes.
Class-Based Weighted Fair Queuing allows traffic to be classified based on criteria, such as access control lists, input interface names, protocols, and Quality of service (QoS) labels.
Packets that match the criteria for a class form the traffic of that class. Consequently a queue is reserved for that class and any traffic intended for that class is placed in its corresponding queue.
Having defined a class it is possible to assign it characteristics some of which include: bandwidth, packet limit, and weight.
Before characterising a class it is important to specify the queue size, after the queue limit has been exceeded we can expect packet drop, or tail drop.
In Class-Based Weighted Fair Queuing, the weight defined for the class develops into the weight of each packet that meets the match criteria of the class. Packets that reach the output interface are classified according to the match criteria filters defined earlier, with their correct weight.
To configure a class process you should follow these steps:
It determines how many types of packets are to be distinguished from one another.
It involves configuration of policies to be implemented on packets that correspond to one of the classes defined earlier through a class map.
This associates an active policy map, or service policy, with an interface to apply the particular set of policies for the map to that interface.
Advantages of CBWFQ
The advantage of CBWFQ is that it enables us to specify an precise amount of bandwidth for each class of traffic. It is possible to configure up to 64 classes, to manage and control unlike Weighted Fair queuing.
Disadvantages of CBWFQ
It is only possible to configure CBWFQ if the interface is in the default queuing mode.
“Serial interfaces at E1 (2.048 Mbps) and below use WFQ by default—other interfaces use FIFO by default. Enabling CBWFQ on a physical interface overrides the default interface queuing method. Enabling CBWFQ on an ATM PVC does not override the default queuing method.
Traffic shaping and policing are not currently supported with CBWFQ.
CBWFQ is supported on variable bit rate (VBR) and available bit rate (ABR) ATM connections. It is not supported on unspecified bit rate (UBR) connections.
CBWFQ is not supported on subinterfaces.” [ii]
Low-Latency Queuing (LLC)
Low Latency queuing is a combination of Priority Queuing, and an extension of the Class-Based weighted fair queuing. It is a modern queuing method recommended for Voice over IP (VoIP) and IP Telephony, is also used for video conferencing.
The main difference between these two is how bandwidth is distributed to the class maps in the policy map.
Low latency queuing uses the priority command to request bandwidth. This priority command makes sure that the bandwidth is available upon request even if the interface is busy. Therefore bandwidth is available all the time, meaning there is low latency.
Packets that exceed the requested amount of bandwidth when the interface is busy, are dropped, in the other hand if the interface is less busy the class map may be assigned more bandwidth. Nevertheless the class map will always have its required bandwidth.
To implement Low-Latency Queuing, you would need to enable Cisco-Express Forwarding on the router. The IOS version of the router must be at least IP Plus or higher. Cisco states that the IOS version must be at least 12.0.7.
Internet Protocol
Real-Time Protocol Priority (IP RTP Priority)
“The IP RTP Priority feature extends and improves on the functionality offered by the ip rtp reserve command by allowing you to specify a range of User Datagram Protocol (UDP)/RTP ports whose traffic is guaranteed strict priority service over any other queues or classes using the same output interface.” [iii]
Strict priority means that if there are other packets in a high priority queue they would be delayed and sent after the RTP packets have been sent.
What is more you can specify the voice port range to make sure that voice traffic is given the highest priority. IP RTP can be used together with either Weighted Fair Queuing (WFQ) or Class-Based WFQ (CBWFQ) on the same outgoing interface.
Advantages
It has the ability to enforce strict queuing which allows sensitive data such as voice calls, preferential treatment over other traffic
Disadvantages
“In the event of congestion, if the traffic exceeds the configured bandwidth, then all the excess traffic is dropped.”[iv]