Quality of Service, or QoS, enables you to tell the router (or switch) how to handle packets in times of network congestion. With QoS, we can either tell the router how to deal with network congestion when it occurs, how to try to avoid the congestion in the first place, or a combination of both. A typical example of QoS is giving certain important applicationsnamely, voice over IP (VoIP)a much higher priority on your network than other less important traffic (such as the latest peer-to-peer file-sharing program).
When do you need QoS? Well, if you are throwing more bandwidth at your network latency problems, you might want to consider developing a QoS policy to improve your network performance. Setting up QoS is far cheaper than upgrading network bandwidth. It may only delay your need for additional bandwidth, but it will also improve performance for your highest priority applications.
While a properly configured QoS environment improves the speed of important network applications, it does nothing for a poorly designed network. If your network problems are caused by a poor network design, QoS is nothing more than a bandage and might even compound the problem. Evaluate your network design before implementing QoS.
Methods for implementing QoS include congestion management, congestion avoidance, traffic shaping, and traffic policing. Cisco has introduced some advanced tools for QoS management as well: Modular QoS CLI (MQC), Class-Based Weighted Fair Queuing (CBWFQ), and Network-Based Application Recognition (NBAR). These new tools are covered in this chapter.
For now, before we start looking at different QoS methods, we need to understand how a router marks a packet, which designates it for QoS services.