QoS Components
Cisco offers a wealth of QoS resources on its switch and router platforms. These resources are classified into one of three categories, which are discussed in this section. The category of QoS resources used most often in production, however, is the Differentiated Services category, which offers greater scalability and flexibility than the resources found in the Best-Effort or Integrated Services categories.
QoS Categories
All of the Cisco QoS features are categorized into one of the following three categories:
Best-Effort—Best-Effort does not truly provide QoS, because there is no reordering of packets. Best-Effort uses the first-in first-out (FIFO) queuing strategy, where packets are emptied from a queue in the same order in which they entered it.
Integrated Services (IntServ)—IntServ is often referred to as “Hard QoS,” because it can make strict bandwidth reservations. IntServ uses signaling among network devices to provide bandwidth reservations. Resource Reservation Protocol (RSVP) is an example of an IntServ approach to QoS. Because IntServ must be configured on every router along a packet’s path, the main drawback of IntServ is its lack of scalability.
Differentiated Services (DiffServ)—DiffServ, as the name suggests, differentiates between multiple traffic flows. Specifically, packets are “marked,” and routers and switches can then make decisions (for example, dropping or forwarding decisions) based on those markings. Because DiffServ does not make an explicit reservation, it is often called “Soft QoS.” The focus of these Quick Reference Sheets is DiffServ, as opposed to IntServ or Best-Effort.
DiffServ
Now that you understand the importance that marking plays in a DiffServ QoS solution, you can learn how packets can be marked. Inside an IPv4 header is a byte called the type of service (ToS) byte. You can mark packets, using bits within the ToS byte, with either IP Precedence or Differentiated Service Code Point (DSCP) markings.
IP Precedence uses the 3 leftmost bits in the ToS byte. With 3 bits at its disposal, IP Precedence markings can range from 0 to 7. However, values 6 and 7 should not be used, because those values are reserved for network use.
For more granularity, you can choose DSCP, which uses the 6 leftmost bits in the ToS byte. Six bits yield 64 possible values (0 to 63). The challenge with so many values at your disposal is that the value you choose to represent a certain level of priority can be treated differently by a router or switch under someone else’s administration.
To maintain relative levels of priority among devices, the Internet Engineering Task Force (IETF) selected a subset of those 64 values for use. These values are called per-hop behaviors (PHBs), because they indicate how packets should be treated by each router hop along the path from the source to the destination.
The four categories of PHBs are as follows:
Default—Traffic that only needs best-effort treatment can be marked with the Default PHB, which simply means that the 6 leftmost bits in the packet’s ToS byte (that is, the DSCP bits) are all 0 (that is, a DSCP value of 0).
Expedited Forwarding (EF)—The EF PHB has a DSCP value of 46. Latency-sensitive traffic, such as voice, typically has a PHB of EF.
Assured Forwarding (AF)—The broadest category of PHBs is the AF PHB. Specifically, 12 AF PHBs exist, as shown in the following table.
PHB
Low Drop Preference
Medium Drop Preference
High Drop Preference
Class 1
AF11 (10)
001010
AF12 (12)
001100
AF13 (14)
001110
Class 2
AF21 (18)
010010
AF22 (20)
010100
AF23 (22)
010110
Class 3
AF31 (26)
011010
AF32 (28)
011100
AF33 (30)
011110
Class 4
AF41 (34)
100010
AF42 (36)
100100
AF43 (38)
100110
Notice that the Assured Forwarding PHBs are grouped into four classes. Examining these DSCP values in binary reveals that the 3 leftmost bits of all the Class 1 AF PHBs are 001 (that is, a decimal value of 1); the 3 leftmost bits of all the Class 2 AF PHBs are 010 (that is, a decimal value of 2); the 3 leftmost bits of all the Class 3 AF PHBs are 011 (that is, a decimal value of 3); and the 3 leftmost bits of all the Class 4 AF PHBs are 100 (that is, a decimal value of 4). Because IP Precedence examines these 3 leftmost bits, all Class 1 DSCP values would be interpreted by an IP Precedence–aware router as an IP Precedence value of 1. The same applies to the Class 2, 3, and 4 PHB values.
Within each AF PHB class are three distinct values, which indicate a packet’s “drop preference.” Higher values in an AF PHB class are more likely to be discarded during periods of congestion. For example, an AF13 packet is more likely to be discarded than an AF11 packet.
Class Selector (CS)—To have backward compatibility with IP Precedence, you can use CS PHBs, because, just like IP Precedence, CS PHBs have 0s in the 4th, 5th, and 6th bits of the ToS byte. As an example, consider that your router uses DSCP markings, but you are sending packets to a router that only understands IP Precedence markings. That would be a great opportunity to use CS markings. You could send a packet marked with a DSCP value of 40, which is 101000 in binary. When that packet is received by the IP Precedence–aware router, its IP Precedence value is interpreted as 5, because only the 3 leftmost bits are considered, and because 101 in binary equals 5 in decimal.
QoS Tools
Now that you understand how markings can be performed with the DiffServ QoS model, realize that marking alone does not alter the behavior of packets. You must have a QoS tool that references those marking and alters the packets’ treatment based on those markings. Following are some of the QoS tools that are addressed later in these Quick Reference Sheets:
Classification—Classification is the process of placing traffic into different categories. Multiple characteristics can be used for classification. For example, POP3, IMAP, SMTP, and Exchange traffic could all be placed in an “EMAIL” class. Classification does not, however, alter bits in the frame or packet.
Marking—Marking alters bits (for example, bits in the ToS byte) within a frame, cell, or packet to indicate how the network should treat that traffic. Marking alone does not change how the network treats a packet. Other tools (for example, queuing tools) can, however, reference those markings and make decisions based on them.
Congestion management—When you hear the term congestion management, think queuing. These concepts are the same. When an interface’s output software queue contains packets, the interface’s queuing strategy determines how the packets are emptied from the queue. For example, some traffic types can be given priority treatment, and bandwidth amounts can be made available for specific classes of traffic.
Congestion avoidance—If an interface’s output queue fills to capacity, newly arriving packets are discarded (that is, “tail-dropped”), regardless of the priority that is assigned to the discarded packet. To prevent this behavior, Cisco uses a congestion avoidance technique called Weighted Random Early Detection (WRED). After the queue depth reaches a configurable level (that is, the minimum threshold) for a particular priority marking (for example, IP Precedence or DSCP), WRED introduces the possibility of discard for packets with those markings. As the queue depth continues to increase, the possibility of discard increases until a configurable maximum threshold is reached. After the queue depth has exceeded the maximum threshold for traffic with a specific priority, there is a 100 percent chance of discard for those traffic types.
Policing and shaping—Sometimes, instead of making a minimum amount of bandwidth available for specific traffic types, you might want to limit the available bandwidth. Both policing and shaping tools can accomplish this objective. Collectively, these tools are called traffic conditioners.
Policing can be used in either the inbound or outbound direction, and it typically discards packets that exceed the configured rate limit, which you can think of as a “speed limit” for particular traffic types. Because policing drops packets, resulting in retransmissions, it is recommended for use on higher-speed interfaces. Policing mechanisms also allow you to rewrite packet markings (for example, IP Precedence markings).
Shaping can be applied only in the outbound direction. Instead of discarding traffic that exceeds the configured rate limit, shaping delays the exceeding traffic by buffering it until bandwidth becomes available. That is why shaping preserves bandwidth, as compared to policing, at the expense of increased delay. Therefore, shaping is recommended for use on slower-speed interfaces. Also, shaping does not have policing’s ability to rewrite packet markings.
Link efficiency—To make the most of the limited bandwidth that is available on slower-speed links, you can choose to implement compression or Link Fragmentation and Interleaving (LFI). Using header compression on smaller packets can dramatically increase a link’s available bandwidth.
LFI addresses the issue of “serialization delay,” which is the amount of time required for a packet to exit an interface. A large data packet, for example, on a slower-speed link could create excessive delay for a voice packet because of the time required for the data packet to exit the interface. LFI fragments the large packets and interleaves the smaller packets among the fragments, reducing the serialization delay that the smaller packets experience.