Priority Queuing 701
Dec 24,2008 00:00 by alperen
Priority Queuing
With priority queuing, data is placed into one of four different queues, defined as high, medium,
normal, and low. These queues are emptied on a strict priority basis. Packets in the highest priority
queue are always transmitted first, and packets in lower priority queues are not transmitted
until the queues with higher priorities are emptied.
Configuration options available to the administrator include how to define the traffic, what
queue to place the traffic into, and how large each queue should be. To define the traffic for a
particular priority queue, use the priority-list global command:
Terry_3550(config)#priority-list 1 ?
default Set priority queue for unspecified datagrams
interface Establish priorities for packets from a named interface
protocol priority queueing by protocol
queue-limit Set queue limits for priority queues
Terry_3550(config)#priority-list 1 protocol ?
arp IP ARP
bridge Bridging
cdp Cisco Discovery Protocol
compressedtcp Compressed TCP
ip IP
Terry_3550(config)#priority-list 1 protocol ip ?
high
medium
normal
low
Terry_3550(config)#priority-list 1 protocol ip high ?
fragments Prioritize fragmented IP packets
gt Prioritize packets greater than a specified size
list To specify an access list
lt Prioritize packets less than a specified size
tcp Prioritize TCP packets 'to' or 'from' the specified port
udp Prioritize UDP packets 'to' or 'from' the specified port
<cr>
Terry_3550(config)#priority-list 1 prot ip high list ?
<1-199> IP access list
<1300-2699> IP expanded access list
Terry_3550(config)#^Z
Terry_3550#
To define the maximum queue size for a particular priority queue, use the priority-list
priority-queue queue-limit global command:
Terry_3550(config)#priority-list 1 ?
default Set priority queue for unspecified datagrams
interface Establish priorities for packets from a named interface
protocol Priority queueing by protocol
queue-limit Set queue limits for priority queues
Terry_3550(config)#priority-list 1 queue-limit ?
<0-32767> High limit
Terry_3550(config)#priority-list 1 queue-limit 5000
Terry_3550(config)#^Z
Terry_3550#
Allocating the priority queue to a particular outgoing interface is achieved using the
priority-list priority-queue interface command:
Terry_3550(config)#int fastEthernet 0/1
Terry_3550(config-if)#priority-group 1
Terry_3550(config)#^Z
Terry_3550#
It is common to make the queue sizes increasingly larger as the priority
decreases. Naturally, packets in the lowest priority queue stand a statistically
greater chance of spending more time in the queue, and it makes sense to
allow the packets somewhere to wait
The following configuration uses access list 101 to place Telnet traffic between any two hosts
into the high-priority queue, uses access list 102 to place web traffic between any two hosts into
the medium-priority queue, and places all other IP traffic into the normal-priority queue, while
CDP traffic is placed into the low-priority queue. The list is applied to interface FastEthernet 0/24:
Terry_3550(config)#priority-list 1 prot ip high list 101
Terry_3550(config)#priority-list 1 prot ip medium list 102
Terry_3550(config)#priority-list 1 prot ip normal
Terry_3550(config)#priority-list 1 protocol cdp low
Terry_3550(config)#access-list 101 permit tcp any any eq telnet
Terry_3550(config)#access-list 102 permit tcp any any eq www
Terry_3550(config)#int fastEthernet 0/24
Terry_3550(config-if)#priority-group 1
Terry_3550(config)#^Z
Terry_3550#