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 Training For The ONT Exam:

Configuring Priority Queuing

By Chris Bryant, CCIE #12933

In the first part of this Cisco CCNP training tutorial on priority queuing for the ONT exam, we talked about the basic theory of PQ and the danger of queue starvation. Today, we'll configure PQ on a Cisco router and use IOS Help to look at our options.

Remember how you wrote dialer lists in your CCNA studies to define interesting traffic?  Creating priority lists in PQ is a similar operation, but the priority list will actually do two things - define traffic, and define which queue that traffic named by the list should be placed into.  If traffic is not explicitly placed into a queue, it will be placed into the Normal queue.

Since we're studying Cisco, you just know we're going to have quite a few options!  Let's use IOS Help to view the options for priority lists:

R1(config)#priority-list ?
  <1-16>  Priority list number

This list number has the same purpose as the dialer list number in your CCNA studies - this is the number that must be used in the interface-level command in order to put this list into effect.

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

The first option, default, allows us to change the default queue priority from Normal.  We'll use this command to make the Low queue the default queue.

R1(config)#priority-list 1 default ?
  high
  medium
  normal
  low

R1(config)#priority-list 1 default low

Always trust your configs, but verify them as well.  We'll use show queueing priority throughout this section to perform that verification.  Here, we see that the Low queue is now the default queue for priority list 1.

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

List   Queue  Args
1      low    default

Let's take another look at the priority-list command.

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

The middle two options are key.  We can apply this queuing scheme on a per-interface level or a per-protocol level.  If we choose the per-interface approach, note that we can use physical or logical interfaces to do so.

R1(config)#priority-list 1 interface ?
  Async              Async interface
  BRI                ISDN Basic Rate Interface
  BVI                Bridge-Group Virtual Interface
  CTunnel            CTunnel interface
  Dialer             Dialer interface
  Ethernet           IEEE 802.3
  Group-Async        Async Group interface
  Lex                Lex interface
  Loopback           Loopback interface
  Multilink          Multilink-group interface
  Null               Null interface
  Serial             Serial
  Tunnel             Tunnel interface
  Vif                PGM Multicast Host interface
  Virtual-Template   Virtual Template interface
  Virtual-TokenRing  Virtual TokenRing

We'll configure all traffic coming in on this router's Serial0 interface to go into the Normal queue.  This does not affect traffic exiting the router via Serial0.

R1(config)#priority-list 1 interface serial 0 ?
  high
  medium
  normal
  low

R1(config)#priority-list 1 interface serial 0 normal ?
  <cr>

When IOS Help shows the only option is <CR>, that means we're out of options!  After entering this command, we'll verify with show queueing priority.

R1(config)#priority-list 1 interface serial 0 normal

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

List   Queue  Args
1      low    default
1      normal interface Serial0

When using the protocol option, the syntax of the command can be a little awkward at first.  To illustrate, we'll write a line placing all TCP traffic into the Medium queue. Let's use IOS Help to figure out how to do so.

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

Hmmm.  I've highlighted IP in this list, but that covers a lot of territory!  How can we define TCP traffic in this list, since it's not listed here?  Actually, TCP traffic is an option -- at the end of the command.

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

Like I always say, IOS Help is a lifesaver!   If we wanted to specify a certain TCP port for PQ, the port number can be named as well.

R1(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)

The router lists about 50 different port numbers at that point, so I'm only showing you a few.  We'll choose port 13 to place Daytime packets into the Medium queue - unless we have even more options.

R1(config)#priority-list 1 protocol ip medium tcp 13 ?
  <cr>

Nope!  Just hit <enter> and Daytime packets will then be placed into the Medium queue.  Verify with show queueing priority.

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

List   Queue  Args
1      low    default
1      normal interface Serial0
1      medium protocol ip          tcp port daytime

If you really want to be specific, you can use the gt and lt options to specify queuing for packets of certain size.  You can also define the queue that fragmented packets should be placed into.

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

That's probably going to be too specific for most queuing strategies, but you may well want to incorporate access lists when using PQ.  Say you wanted to place all traffic from the private network 10.0.0.0 /8 into the Normal queue.  An ACL is used to name that network - you could also specify the destination if you use an extended ACL - and the list is then named by the priority list.

R1(config)#access-list 10 permit 10.0.0.0 0.0.0.255

R1(config)#priority-list 1 protocol ip normal ?
  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>

R1(config)#priority-list 1 protocol ip normal list ?
  <1-199>      IP access list
  <1300-2699>  IP expanded access list

R1(config)#priority-list 1 protocol ip normal list 10

You know the drill from here on out....

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

List   Queue  Args
1      low    default
1      normal interface Serial0
1      medium protocol ip          tcp port daytime
1      normal protocol ip          list 10

After all of this work, we should apply the list to an interface!  We'll use the priority-group command to apply this list to interface serial0.  It may surprise you to find that there are no options with this command!

R1(config)#interface serial0
R1(config-if)#priority-group 1 ?
  <cr>

R1(config-if)#priority-group 1

The syntax of PQ, as well as the other queuing strategies available on Cisco routers, takes some getting used to. Once you get some hands-on practice with these queuing methods, though, you'll quickly master these vital skills and pass the CCNP ONT exam!

Get ready for the ultimate in CCNP ONT exam certification training - with The Ultimate ONT Study Package!

 

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