Chapter #2 – What is QoS?
Networks experience congestion, like traffic congestion on the road, this is when the link has more traffic than it can handle. Once this happens, some packets are dropped.
QoS helps by prioritising important traffic over less important traffic. If traffic must be dropped, it’s the less important traffic. QoS doesn’t magically make links better, it just manages the traffic on them better. If a link is regularly full, it’s time to upgrade that link.
Chapter #3 – Application Traffic
Different traffic needs to be handled in different ways. Some traffic, like voice (phone calls, Teams, Zoom), may not need more bandwidth. It just needs to be delivered reliably and on time. Other traffic can be shaped (or buffered).
Real-time traffic (voice, video calls) needs to be handled differently to streaming traffic (NetFlix, YouTube), and to transactional traffic (HTTP, SQL).
There are four important traffic characteristics:
- Bandwidth – The amount of data transferred per second
- Loss – When traffic is lost before it reaches its destination
- Latency – The time it takes traffic to pass from one endpoint to another (RTT is similar, but measure return time too)
- Jitter – The variance in latency
Chapter #4 – Classification and Marking
Every device in the network has its own QoS configuration. Sometimes this means no configuration. This is known as Per Hop Behaviour (PHB), as each device needs to make it’s own decisions.
Each device needs to classify packets are they arrive at the router. Other actions are applied as the packets are forwarded out.
Each device needs to work toward a common goal. So each device should be configured in a way that helps the entire network. This is called End-to-End QoS.
Marking packets is where the router will add extra information to a packet. This is done in the IP header or the Ethernet header. By marking a packet, other devices can make smarter decisions when deciding what to do with it.
The old way of marking was a 3-bit field in the IP header (ToS) called IP Precedence. This has been replaced with DSCP/DiffServ, which is 6-bits. This is backward-compatible with IP Precedence.
IP Precedence allows for up to 8 classes, called CS0-CS7. DSCP allows for many more combinations, in addition to the CS classes. Some of the new classes (AF, or Assured Forwarding) have a drop-probability, which is similar to a sub-class.
Chapter #5 – Cisco’s MQC
MQC, or Modular QoS CLI is just Cisco’s name for the configuration hierarchy. It’s not as scary as it sounds.
Class-maps are used to identify and classify traffic. This can be done solely within the class-map, or with the help of an access-list.
Policy-maps assign actions to the class-maps. This could be marking traffic, or it could be something like reserving bandwidth.
A service-policy assigns a policy-map to an interface. This can apply to the ‘in’ or ‘out’ direction. Some actions, like marking, should be applied as traffic comes on. Other actions, like reserving bandwidth, should be applied as traffic leaves the interface.
We could optionally use NBAR to classify traffic. This is a Cisco feature that identified traffic based on its application.
|ip access-list extended NAME||Configuration||Create an extended ACL|
|class-map [match-all|match-any] NAME||Configuration||Create a new class map|
|match access-group name NAME||Class-map Configuration||Match criteria within an ACL|
|policy-map NAME||Configuration||Create a policy|
|class NAME||Policy-Map Configuration||Configure class actions within a QoS policy|
|bandwidth percent VALUE||Policy-map class configuration||Reserve bandwidth for a class|
|service-policy NAME||Interface configuration||Apply a QoS policy to an interface|
|bandwidth VALUE||Interface configuration||Configure the bandwidth of an interface|
|show policy-map interface INTERFACE||Privileged Exec mode||Show QoS settings on an interface|