Overview of Class of Service Control
Class of Service (CoS) helps resolve the problem of network congestion by giving certain types of traffic priority over others. Network congestion occurs when multiple messages are competing for network resources at the same time.
Common queue scheduling algorithms such as First Come First Serve (FCFS), Strict-Priority Queue scheduling, Weighted Round Robin (WRR) scheduling, and Strict-Priority Queue + WRR scheduling help decongest a network.
First Come First Serve
The FCFS algorithm does not classify a message. It simply follows a first-in-first-out method. When a message arrives at an interface faster that the interface can send it, the FCFS algorithm forwards the message to the queue in the order of receiving the message. It sends out messages in the same order as receiving them.
Strict-Priority Queuing
Strict-Priority Queuing is designed for critical business applications, wherein services are prioritized in order to reduce the latency of response when a congestion occurs. A priority queue classifies all messages into eight classes—7, 6, 5, 4, 3, 2, 1, and 0, in the order of priority. The group of critical services is put into the higher-priority queue, and noncritical business group is put into the lower-priority queue. The higher-priority queue is emptied before the messages in the lower-priority queue are sent. Messages in the group of noncritical business are transmitted in the idle gap of handling critical business data.
The disadvantage of Strict-Priority Queuing is that the messages in the lower-priority group are not sent if the higher-priority queue is not emptied.
Weighted Round Robin Scheduling
Weighted Round Robin (WRR) queue scheduling divides each port into eight output queues—7, 6, 5, 4, 3, 2, 1, and 0, in that order of priority, with 7 being the highest priority. All the queues are scheduled by turns and each queue gets a certain service time. Each queue of WRR can be configured with weighted values of w7, w6, w5, w4, w3, w2, w1, or w0. The weighted value represents the weight of the resource. For example, on a 100 Mb port, if you configure the WRR for 80, 70, 60, 50, 50, 40, 30, and 20, in that order of priority, the WRR of 20 is assured of at least 5 Mbps bandwidth.
An advantage of WRR queuing is that although multiple queues are scheduled by polling, each queue is not assigned a fixed time slot. If a queue is empty, it immediately switches to the next queue schedule so that the bandwidth and resources of that queue can be fully utilized.
Strict-Priority Queuing and Weighted Round Robin Scheduling
Strict-Priority queuing and WRR scheduling combine their algorithms. If the weight of a queue is set to 0, the queue follows the Strict-Priority queuing algorithm to send messages. A non-0 value of the weight switches the queue to the WRR scheduling mechanism.
Weighted Fair Queuing
Weighted Fair Queuing (WFQ) is flow-based queuing that schedules interactive traffic to the front of the queue to reduce response time. WFQ shares the remaining bandwidth between high-bandwidth flows.