Priority queuing uses the packet header information consisting of either the TCP port or the
protocol as a classification mechanism. When a packet enters the router, it’s compared against
a list that will assign a priority to it and forward it to the corresponding queue.
Priority queuing can assign a packet to one of four priorities—high, medium, normal, and
low—with a separate dispatching algorithm to manage the traffic in all four. Figure 30.4 shows
how these queues are serviced. You can see that the algorithm starts with the high-priority
queue processing all the data there. When that queue is empty, the dispatching algorithm moves
down to the medium-priority queue, and so on down the priority chain, performing a cascade
check of each queue before moving on. So if the algorithm finds packets in a higher priority
queue, it will process them first before moving on. This is where problems can develop; packets
in the lower priority queues could be totally neglected in favor of the higher priority ones if
they’re continually busy with the arrival of new packets.