IP QoS Tools:
a) Classification and Marking b) Congestion Management c) Congestion Avoidance d) Policing and Shaping e) Link Efficiency
a) Classification and Marking
Classification and Marking, although lumped together as one, are two distinct items within the QoS mechanisms to implement QoS. In general terms they identify and split traffic into different classes and mark the traffic according to desired behaviors.
Classification tools sort packets into different traffic types, to which different policies can be applied. Classification can be done at every node in the network or be implemented at the edge of the network when the packet enters the network. Classification of packets can happen without marking the packets. Classification inspects one or more fields in the packet to identify the type of traffic that the packet is carrying. After the identification process the traffic is handed to the treatment application such as, marking, remarking, queuing, policing, shaping or a combination of these.
Marking writes a field within the packet, frame, cell or label to preserve the classification decision that was reached during the classification process. Marking is also known as coloring the packet, which involves marking each packet as a member of a network class so all devices throughout the rest of the network can quickly recognize the packet class. The marking process set bits in the DSCP or IP Precedence field of each IP packet according to the class that the packet is in. Packets that are marked as high priority, such as a voice packet, will generally never be dropped by congestion avoidance mechanisms. On the other hand, if packets are marked as low priority they will be dropped when congestion occurs.
b) Congestion Management
Congestion management queuing algorithms use the marking on each packet to determine which queue to place packets in. Each queue is given different treatment based on the class of packets in the queue. Congestion management tools are implemented on all output interfaces in a QoS enabled network. Cisco IOS uses the following
congestion management queuing methods:
FIFO (First in First Out), Priority Queuing (PQ), Custom Queuing (CQ)
Weighted Fair Queuing (WFQ)
Class Based Weighted Fair Queuing (CBWFQ)
Low Latency Queuing (LLQ)
CBWFQ and LLQ:
LLQ (Low Latency Queuing) is an extension of CBWFQ (Class Based Weighted Fair Queuing) where we add a priority queue to the scheduler. Here’s an illustration to help you visualize this:
In the picture above, output queue 2,3 and 4 are attached to the regular CBWFQ scheduler and are served in a (weighted) round robin fashion. Queue 1 however, is attached to the LLQ scheduler and bypasses the CBWFQ scheduler. This turns queue 1 into a priority queue. Everything that ends up in queue 1 will be served before any other the other queues.
c) Congestion Avoidance
Congestion Avoidance monitors network traffic loads in an effort to anticipate and avoid congestion. Congestion Avoidance is achieved through packet dropping. Typically, congestion avoidance is implemented on output interfaces where high-speed links intersect with low speed links. Congestion Avoidance in Cisco products uses Weighted Random Early Detection (WRED) to avoid congestion by dropping low priority packets and allowing high priority packets to continue on their path.
d) Policing and Shaping
Policing or Shaping mechanisms are used to condition traffic before transmitting or when receiving traffic. Policers and Shapers can work in tandem, they are not mutually exclusive.
Policing controls bursts and conforms traffic to ensure each traffic type gets the prescribed bandwidth. In some cases policing can help service providers maintain service level agreements (SLA). This is accomplished by throttling excess traffic above agreed SLA by dropping low priority traffic. Policing is implemented with Class-Based Policing and Committed Access Rate (CAR).
Committed Access Rate (CAR)
CAR is a policing mechanism that controls the maximum transmission rate of traffic arriving or leaving an interface. Committed Access Rate additionally provides traffic policing on all traffic over an interface or on individual traffic flows over an interface. In order to be granular, CAR utilizes QoS classification parameters, such as IP Precedence values, DSCP values, or MAC address. Lower priority traffic typically will have lower transmission rate limits.
Class Based Policing conforms to the Differentiated Services QoS model by policing traffic within classifications of traffic. It uses drop precedence bits based on the committed and the excess burst traffic rate limit. Traffic flows within a class are colored with a lower drop probability when traffic is below the committed rate, a higher drop probability when traffic is between the committed and excess rate, and the highest drop probability when traffic is above the excess rate. As with CAR, class-based policing utilizes QoS classification parameters, such as IP Precedence values, DSCP values, or MAC address.
Shaping helps smooth out speed mismatches in the network and limits transmission rates. These mechanisms are typically used to limit the flow from high speed links to low speed links, to prevent the low speed links from becoming over run. Cisco QoS uses Generic Traffic Shaping (GTS), and Frame Relay Traffic Shaping (FRTS) to implement shaping.
Generic Traffic Shaping (GTS)
GTS restrains outbound traffic to a specified flow rate using a token bucket policy, which utilizes committed burst size (Bc), the timing interval (Tc), and the committed information rate (CIR) variables. GTS provides traffic shaping on all traffic over an outbound router interface and utilizes access lists to identify the traffic to be shaped.
Class-based Traffic Shaping
Class-based traffic shaping has the ability to apply Generic Traffic Shaping (GTS) to classifications of traffic using the appropriate access-lists, protocols, or inbound interfaces as “classifiers”. In addition, class-based shaping allows for higher burst rates than GTS to potentially utilize more available bandwidth (peak rate shaping). The danger, however, is the likelihood of traffic being dropped during times of congestion. If the business applications have minimal tolerance for packet loss, it is recommended to use average rate shaping.
Distributed Traffic Shaping (DTS)
Distributed traffic shaping also has the ability to apply Generic Traffic Shaping (GTS) to classifications of traffic using the same classifiers as class-based shaping along with IP Precedence and DSCP values. Distributed shaping also supports the advantages and disadvantages of peak rate shaping. The two big differentiators of DTS are its ability to offload the shaping processing from the route switch to the versatile interface processor (VIP) and the ability to assign shaping parameters at the sub-interface level.
e) Link Efficiency
Although not exclusively QoS tools, link efficiency tools are categorized as QoS tools because they are often used in conjunction with QoS. Both of the link efficiency tools were created outside of the realm of QoS, and were used as independent Cisco IOS Tools.
Header-compression is a tool that is used to reduce the IP overhead of a Real-Time Transport Protocol (RTP) voice packet which reduces the overall size of the IP packet. Large packets normally do not use header-compression because the ratio of the size of the IP header is not significant compared to the payload of the packet. Short voice packets’ IP header can more than triple the overall size of the packet which can increase the delay of transmitting the packet to its destination.
A RTP packet has 40 bytes of IP Overhead broken out as follows:
IP Header = 20 bytes
UDP Header = 8 bytes
RTP Header = 12 bytes
Total = 40 bytes
When compressed, the IP/UDP/RTP header is reduced down to 2 or 4 bytes depending on if the cyclic redundancy check (CRC) is transmitted.
Link Fragmentation and Interleaving (LFI) is used to reduce delay and jitter on slower speed links by breaking the larger packets, such as FTP file transfers, into smaller packets and interleaving them in with the small voice packets. LFI reduces serialization delay by fragmenting large packets such as file transfers on slow WAN links (768K or less). If these large packets are allowed to continue unimpeded the voice packets would exceed their delay and jitter tolerances, and would result in bad quality voice.
The next few entries of this QoS blog will explore the Cisco IOS Modular QoS Command Line Interface (MQC), and how to configure the QoS mechanisms explained in this blog.