Priority queuing is the simplest "fancy queuing" strategy. As shown in Figure 14-3, priority lists are used to allocate traffic into one of four priority queues: high, medium, normal, or low. The medium queue is serviced only when the high queue is empty, the normal queue is serviced when both the high and medium queues are empty, and the low queue is serviced when all the other queues are empty. Priority queues should be used with caution, as any traffic in higher queues can deny service to traffic in lower-priority queues. Moreover, priority queuing is a processor-intensive feature that does not scale well for high-speed interfaces.
Figure 14-3. Priority Queuing
To avoid service denial, it may be necessary to increase the size of the lower-priority queues. This is achieved via the priority-list <list> queue-limit command. In addition, higher-priority queues may also be rate-limited using Committed Access Rate (CAR), described later in this chapter.
Priority queues are relatively simple to configure. In general, however, custom queuing provides a more flexible—not to mention deterministic—solution.
A router supports up to 16 priority lists, which can be applied to a particular interface or protocol. Those packets that do not match any of the allocations specified in the access list will be placed into the normal queue, although this behavior can be changed using the priority-list <list> default <queuekeyword> command. Within any particular priority queue, the algorithm is FIFO.
Was this article helpful?