Get My Exclusive FREE 7-Part Report,
"How To Pass The CCNA", Daily FREE
Cisco And CompTIA Exam Questions,
And All The Latest Certification News
In My Daily Newsletter!

Privacy Policy

Name:
Email:
  More Testimonials >
Visit my blog for free daily Cisco CCNA and CCNP certification questions, my latest free articles and tutorials, and more!


 

Cisco CCNP Certification Exam Training:

Priority Queueing (PQ)

By Chris Bryant, CCIE #12933

The "next level" of queueing is Priority Queueing (PQ), where four predefined queues exist:  High, Medium, Normal, and Low.  Traffic is placed into one of these four queues through the use of access lists and priority lists.  The High queue is also called the strict priority queue, making HQ and LLQ the queueing solutions to use when a priority queue is needed.

Priority Queues For CCNP Certification Exams

It won't surprise you to learn that these limits can be changed.  Before we configure PQ and change these limits, there's one very important concept that you must keep in mind when developing a PQ strategy.  PQ is not round-robin; when there are packets in the High queue, they're going to be sent before any packets in the lower queues.  If too many traffic types are configured to go into the High and Medium queues, packets in the Normal and Low queues may never be sent! 

This is sometimes referred to as traffic starvation or packet starvation. (I personally think it's more like queue starvation, but the last thing we need is a third name for it.)The moral of the story: When you're configuring PQ, be very discriminating about how much traffic you place into the upper queues.

Configuring PQ is simple.  The queues already exist, but we need to define what traffic should go into which queue.  We can use the incoming interface or the protocol to decide this, and we can also change the size of the queue with the priority-list command. 

R3(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

If we choose to use protocol to place packets into the priority queues, access lists can be used to further define queueing.

R3(config)#priority-list 1 protocol ?
  aarp              AppleTalk ARP
  appletalk         AppleTalk
  arp               IP ARP
  bridge            Bridging
  cdp               Cisco Discovery Protocol
  compressedtcp     Compressed TCP
  decnet            DECnet
  decnet_node       DECnet Node
  decnet_router-l1  DECnet Router L1
  decnet_router-l2  DECnet Router L2
  ip                IP
  ipx               Novell IPX
  llc2              llc2
  pad               PAD links
  snapshot          Snapshot routing support

R3(config)#priority-list 1 protocol ip ?
  high
  medium
  normal
  lowR3(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>

Let's say we want IP traffic sourced at 20.1.1.0 /24 and destined for 30.3.3.0 /27 to be placed into the High queue.  We'd need to write an ACL defining that traffic and call that ACL from the priority-list command.

R3(config)#access-list 174 permit ip 20.1.1.0 0.0.0.255 30.3.3.0 0.0.0.31
R3(config)#priority-list 1 protocol ip high list 174

To place all TCP DNS traffic into the Medium queue, use the protocol option with the priority-list command.  We'll use IOS Help to show us the options after the queue name. 

R3(config)#priority-list 1 protocol ip medium tcp 53R3(config)#priority-list 1 protocol ip medium ?
  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>

R3(config)#priority-list 1 protocol ip medium tcp ?
  <0-65535>    Port number
  bgp          Border Gateway Protocol (179)
  chargen      Character generator (19)
  cmd          Remote commands (rcmd, 514)
  daytime      Daytime (13)
  discard      Discard (9)   < output of command edited here >

R3(config)#priority-list 1 protocol ip medium tcp 53

As you can see, the router will list many of the more common TCP ports. To place packets coming in on the Ethernet0 interface into the Normal queue, use the interface option with the priority-list command.

R3(config)#priority-list 1 interface ethernet0 normal

Finally, the default queue sizes can be changed with the queue-limit command.  This is an odd little command in that if you just want to change one queue's packet limit, you still have to list the values for all four queues - and all four values must be entered in the order of high, medium, normal, and low.  In the following example, we'll double the capacity of the Normal queue while retaining all other default queue sizes.

R3(config)#priority-list 1 queue-limit ?
  <0-32767>  High limit

R3(config)#priority-list 1 queue-limit 20 ?
  <0-32767>  Medium limit

R3(config)#priority-list 1 queue-limit 20 40 ?
  <0-32767>  Normal limit

R3(config)#priority-list 1 queue-limit 20 40 120 ?
  <0-32767>  Lower limit

R3(config)#priority-list 1 queue-limit 20 40 120 80 ?
  <cr>R3(config)#priority-list 1 queue-limit 20 40 120 80

Priority queuing is applied to the interface with the priority-group command.

R3(config)#int serial0
R3(config-if)#priority-group 1

show queueing verifies that PQ is now in effect on this interface.

R3#show queueing inter serial0
Interface Serial0 queueing strategy: priority

Output queue utilization (queue/count)
        high/0 medium/0 normal/0 low/0

Show queueing priority displays the priority lists that have been created, along with the changes to each queue's defaults.  Note that the queue limit is only shown under Arguments ("Args") if it's been changed.   Also, ACLs and port numbers in use are shown on the right.

R3#show queueing priority
Current DLCI priority queue configuration:
Current priority queue configuration:

List   Queue       Args
1       high    protocol ip
1       high    protocol ip                  list 174
1       medium  protocol ip                  tcp port domain
1       normal  interface Ethernet0
1       normal  limit 120

As with many other CCNP certification topics, there are quite a few details when it comes to PQ! Master these details with plenty of quality study and practice, and you're on your way to the CCNP!

To your success,

Chris Bryant

CCIE #12933

chris@thebryantadvantage.com

 

 

The Ultimate CCNA Study Package | The Ultimate CCNA Study Guide

Binary Math And Subnetting Mastery

Cisco Rack Rentals

CCNP BSCI Exam Study Package

CCNP BCMSN Exam Study Package

CCNP BCRAN Exam Study Package

CCNP CIT Exam Study Package | CCNP BSCI Exam Study Guide

CCNA CBT Video Boot Camp | CCNP BSCI Video Boot Camp

Cisco Training Tutorials And Cisco Certification Articles

CCNP CBT BCMSN Video Boot Camp | CCNP CBT BCRAN Video Boot Camp

CompTIA Network+ Exam Study Package

CompTIA Security+ Exam Study Package

CompTIA A + Certification Exam Study Package

CCNA Training Store | CCNP Certification Training Store

CompTIA Certification Training Store

Cisco Lab Router And Switch Home Lab Help

Site Map | Home Page | Testimonials

Microsoft Windows Vista Certification Updates And News

The Bryant Advantage Blog | About Chris Bryant, CCIE #12933