Security Appliance QoS Features Created by Bob Eckhoff
Have you ever participated in a long-distance phone call that involved a satellite connection? The conversation might be interrupted with brief but perceptible voice gaps at odd intervals. The gaps between arriving voice packets is called jitter, and it is caused by latency in the network. Some network traffic, such as voice and video, cannot tolerate long latency times. Quality of service (QoS) is a feature that enables you to prioritize critical traffic, prevent bandwidth hogging, and manage network bottlenecks to prevent packet drops.
Supported QoS Features
The security appliance supports the following QoS features:
Priority queuing: For critical traffic that cannot tolerate latency, priority queuing enables you to prioritize certain traffic flows (such as latency-sensitive traffic like voice and video) ahead of othertraffic.
Policing: To prevent individual flows from consuming all network bandwidth, you can limit themaximum bandwidth used per flow by dropping the out-of-limit traffic.
Traffic shaping: If you have a device that transmits packets at a high speed, such as a securityappliance with Fast Ethernet, and it is connected to a low-speed device such as a cable modem,then the cable modem is a bottleneck at which packets are frequently dropped. To manage networks with differing line speeds, you can configure the security appliance to transmit packets at a fixed slower rate by queuing or delaying the out-of-limit traffic.
In comparing traffic policing versus traffic shaping, traffic policing typically drops the traffic that exceeds a configured rate, whereas traffic shaping typically delays excess traffic to prevent unnecessary drops.
Priority Queuing (QoS)
Priority queuing is typically used to provide low-latency voice and video service. If you want to enable priority queuing for traffic, you need to create the priority queue on each interface where the voice traffic will be prioritized. Each physical interface with priority queuing uses two queues: one for priority traffic and the other for all other traffic. The interface services all packets in the priority queue before servicing any packets in the general queue.
To create a standard priority queue on an interface for use with priority queuing, use the priority-queue command in global configuration mode:
Optionally, to change the size of the priority queues, enter the following command:
Because queues are not of infinite size, they can fill and overflow. When a queue is full, any additional packets cannot get into the queue and are dropped (called tail drop). To avoid having the queue fill up, you can use the queue-limit command to increase the queue buffer size. The number_of_packets is the number of average, 256-byte packets that the specified interface can transmit in a 500-ms interval. A packet that stays more than 500 ms in a network node might trigger a timeout in the end-to-end application. Such a packet can be discarded in each network node. The upper limit of the range of values for the queue-limit command is determined dynamically at run time. To view this limit, enter queue-limit ? on the command line. The key determinants are the memory needed to support the queues and the memory available on the device. The queue-limit that you specify affects both the higher priority low-latency queue and the besteffort queue.
This tx-ring-limit command sets the maximum number of low-latency or normal-priority packets allowed into the Ethernet transmit driver before the driver pushes back to the queues on the interface to let them buffer packets until the congestion clears. The number_of_packets is the number of maximum 1550-byte packets that the specified interface can transmit in a 10-ms interval. This guarantees that the hardwarebased transmit ring imposes no more than 10 ms of extra latency for a high-priority packet. The upper limit of the range of values for the tx-ring-limit command is determined dynamically at run time. To view this limit, enter tx-ring-limit ? on the command line. The key determinants are the memory needed to support the queues and the memory available on the device. The tx-ring-limit that you specify affects both the higher priority low-latency queue and the best-effort queue.
To enable QoS priority queuing, use the priority command in class configuration mode. For critical traffic that cannot tolerate latency, such as VoIP, you can identify traffic for low-latency queuing (LLQ) so that it is always transmitted at a minimum rate.