Qos questions

Unanswered Question
Sep 1st, 2007
User Badges:
  • Gold, 750 points or more

Hi Guys,


I have some doubts abour qos.


What do we mean by queueing,is it the way router forwards the traffic from the interface i m right in thinking this.


By defaut how many queques are there in the router.


Thanks

Mahmood

  • 1
  • 2
  • 3
  • 4
  • 5
Overall Rating: 5 (5 ratings)
Loading.
mohammedmahmoud Sat, 09/01/2007 - 02:30
User Badges:
  • Green, 3000 points or more

Hi Mahmood,


The Output queue is a software buffer (portion of the RAM) before the hardware queue (or the Tx Ring) and before exiting the interface. All the queuing tools control the Software queuing, while the hardware queuing is always FIFO and we can only change its length. We can control how the traffic is processes (scheduled, or dequeued) and this is what is meant be queuing (control how the traffic exits the router).


There can be as many queues as the queuing tool you are using requires, ex: FIFO has got 1 queue, PQ has got 4 queues, CQ has got 16 queues, WFQ upto 4096 and finally CBWFQ up to 64.


One last thing, IOS defaults to use WFQ (fair-queue) on interfaces with bandwidths of E1 speeds (2.048 Mbps) or less, while links with speed over E1 speed have FIFO as the default queuing.


HTH,

Mohammed Mahmoud.



mahmoodmkl Sat, 09/01/2007 - 03:12
User Badges:
  • Gold, 750 points or more

Hi Mahmmoud,


thanks for your reply.


As u said that the queuing means the method how the traffic exixts the router, and the queing methods are used to control this behaviour i m i right in saying this.


As the different queing methods have different number of queues does this mean that the traffic is divided in number of queques dependnig upon the queueing method used.


And as the traffic is divided in the number of queues how can we say that from which queqe the traffic is going to exit first.


Thanks

Mahmood



mohammedmahmoud Sat, 09/01/2007 - 03:18
User Badges:
  • Green, 3000 points or more

Hi Mahmood,


You are right in all your understanding, the queuing tool itself has a built in controller called a scheduler, this scheduler controls how the traffic exits which queue, for example PQ scheduler states that no packet can exit the normal queue unless the high queue is empty.


HTH,

Mohammed Mahmoud.

mahmoodmkl Sat, 09/01/2007 - 04:08
User Badges:
  • Gold, 750 points or more

Hi Mahmoud,


Thanks for u r reply,i m might be sounding silly but how do the schduler know,i mean whats the basis on which the scheduler decides which queue to forward.


Thanks

Mahmood



mohammedmahmoud Sat, 09/01/2007 - 04:47
User Badges:
  • Green, 3000 points or more

Hi Mahmood,


You are very welcomed :) there is never a silly question, and by the way your questions are valuable questions that i've asked my self many times back when i had my QoS exam.


Each queuing tool has its schedule programmed to do what is intended from the queuing tool, as i said in my last example, a PQ schedule never exits a packet from the normal queue unless there are no packets in the high queue, and similarly each queuing tool has its scheduler programmed to control the queues in a way that helps the queuing tool to achieve its job.


The configuration you do to operate any queuing tool just helps the scheduler to do its programmed logic, for example if you are configuring LLQ, you are telling the scheduler to move the high priority packets to the head of the queue and police them to the configured value (when there is congestion) in order not to starve other traffic.


I hope that i've been informative :)


HTH,

Mohammed Mahmoud.


mahmoodmkl Sat, 09/01/2007 - 05:01
User Badges:
  • Gold, 750 points or more

Hi Mahmoud,


Thanks for the reply,i think i m getting more familiar as we r discussing,for eg if we are using the PQ it is going to have 4 queques,my question is now how we are going to define which traffic is going to be placed in which queque.i.e high,medium,etc.


Thanks

Mahmood

mohammedmahmoud Sat, 09/01/2007 - 05:09
User Badges:
  • Green, 3000 points or more

Hi Mahmood,


I am really glade that you are finding your way through, as for your question, each queuing tool has its own commands, atleast this was the way with legacy QoS tools like PQ and CQ, but MQC came to solve all this using the 3 steps QoS configuration model (classify using class-map, configure the QoS tools using the policy-map and finally apply the service policy under the interface).


But to answer you question about PQ:


PQ has 4 queues, high, medium, normal and low, by default all the traffic is in the normal queue.


!

interface serial 0/0

priority-queue-list 1

!

priority-list 1 protocol ip 1 high list 101

!


and match the desired traffic via ACL 101.



HTH,

Mohammed Mahmoud.

mahmoodmkl Sat, 09/01/2007 - 22:38
User Badges:
  • Gold, 750 points or more

Hi Mahmoud,


Thanks for u r valuable responses.Suppose we are using MQC,how can we define a particualr traffic in the high priority,medium etc.Can u please explain.


One more question,can we use more than one quequing method for the a particular interface.


Thanks

Mahmood



mohammedmahmoud Sat, 09/01/2007 - 23:18
User Badges:
  • Green, 3000 points or more

Hi Mahmood,


You are very welcomed :) With MQC you can do LLQ to do priority queuing, MQC mainly do CB (Class Based) QoS, meaning that you define the class first using class-map, then apply the appropriate QoS tool per class(CBWFQ, LLQ, Shaping, Policing, ...), and finally apply the policy-map to the appropriate interface.


With legacy QoS tools (CQ, PQ, ...) you couldn't have more than one queuing method for a particular interface, while with MQC you can do this by applying the multiple queuing tools under the same policy-map that is applied under the interface, for example you can have LLQ for your voice and CBWFQ for other classes of traffic transiting a specific interface.


I hope that i've been informative.


HTH,

Mohammed Mahmoud.

mahmoodmkl Sun, 09/02/2007 - 01:27
User Badges:
  • Gold, 750 points or more

Hi Mahmoud,


Thanks for the reply.I want to ask one more question.Suppose if we are using CBWFQ and defined the various classess and their treatment for eg..we have allocated some bandwidth levels for various classess,so as it correct to say the the number of classess we have that much number of queues will be there.


As we defined the different classess and the traffic will be placed in different queue,from this set of queues traafic from which queue will exit first.Please explain.


Thanks

Mahmood





mohammedmahmoud Sun, 09/02/2007 - 02:13
User Badges:
  • Green, 3000 points or more

Hi Mahmood,


Your understanding is right, each class corresponds to a queue, and the scheduler is responsible to choose which packet should get out of which queue (and as we agreed before, the scheduler is a built in logic in the tool itself, you tell it how to treat each queue via the commands you configure each queue with).


HTH,

Mohammed Mahmoud.

mahmoodmkl Sun, 09/02/2007 - 02:23
User Badges:
  • Gold, 750 points or more

Hi Brother Mahmoud,


Thanks for u r reply.I think there is some confusion.My question is that suppose if we are using CBWFQ and we have identifed different classess,now traffic will be divided in to different queues.If we take the example for priority queue it will send the traffic class specifed.


But as in CBWFQ there is no quesiton of priority i m right,so how will the router forward the traffic i mean from which queue the traffic will exit first.Can we figure out the method how the traffic will be forwarded in CWBFQ.


Thanks

Mahmood


Thanks

Mahmood

mohammedmahmoud Sun, 09/02/2007 - 03:11
User Badges:
  • Green, 3000 points or more

Hi Mahmood,


You are very welcomed and i am really enjoying this discussion, so lets organize the subject in order for every aspect to be clear.


CBWFQ uses "class" and "queue" to refer to the single queue that is associated with a single class that is defined with CBWFQ class-map. The terms "class" and "queue" are often used interchangeably.


The scheduler is the logic that defines how queuing chooses the queue from which to take the next packet and place it in the hardware TX Queue (Inside each queue, the queuing methods use FIFO Queuing).


With CBWFQ, the scheduler gives a percentage of the bandwidth to each class, based on the configured values. For instance, four classes, including class-default, may be configured with bandwidth percentages that total 100 percent. The scheduler ensures that each queue receives that percentage of bandwidth. If some queues do not need their bandwidth for a short period, the bandwidth is spread across the other classes (but the bandwidth is guaranteed under congestion). The scheduler algorithm is not published by Cisco (Cisco must also protect their intellectual assets:)). The result of the scheduler provides a percentage guaranteed bandwidth to each queue.


I encourage you to read the IP Telephony Self-Study Cisco QOS, Exam Certification Guide, Second Edition by Wendell Odom, i really got everything straight when i read this book.


I hope that i've cleared it out for you :)


HTH,

Mohammed Mahmoud.

mahmoodmkl Sun, 09/02/2007 - 04:52
User Badges:
  • Gold, 750 points or more

Hi Mahmoud,


Thanks for u r replies,Alhamdulillah,i m almost clear about the Qos now.


Just one more question,what is the differnece between the statement bandwidth which we used in LLQ,and CBWFQ.It is like if we use it in the LLQ the interface gives that class the priority bandwidth and if we use it in the CBWFQ it guarrentess the amount of bandwidth.


So just confusion is about priority bandwidth statement,i was going through some theory so i came accorss this pharse,is it like the scheduler is going to farward this queue first and it will allow it to use the specifed amount of interface bandwith and police it.


Thanks

Mahmood


mohammedmahmoud Sun, 09/02/2007 - 05:04
User Badges:
  • Green, 3000 points or more

Hi Mahmood,


Al hamd lelah my brother :)


Your last statement is completely right.


LLQ uses the priority command, while CBWFQ uses the bandwidth command.


With CBWFQ - Bandwidth is the minimum guaranteed bandwidth (if there is available more bandwidth when there is no congestion this class can take), which can be entered as a value or as a percentage of the interface bandwidth.


With LLQ - priority is the maximum priority guaranteed queued bandwidth (implicitly policed to the configured rate to prevent starvation as opposed to the PQ - extra packets are left at the tail of the queue). The action of policing with LLQ depends upon if there is congestion > Policing will only be done if congestion occurs - with no congestion if the bandwidth required is more than the priority it won't be policed (but the excess bandwidth is also not guaranteed and will be dropped as congestion occurs - and also the extra bandwidth will not be moved from the tail to the head of the queue like the conforming bandwidth, meaning the only the conforming bandwidth is prioritized and moved from the tail to the head of queue regardless there is congestion or not).



HTH,

Mohammed Mahmoud.

Joseph W. Doherty Sat, 09/01/2007 - 05:00
User Badges:
  • Super Bronze, 10000 points or more

Besides Mohammed's excellent summaries, the Cisco site much information on QoS. This information ranges from overviews to all the details on how to use a QoS feature on specific hardware/software. Some links you could start with:


http://www.cisco.com/application/pdf/en/us/guest/netsol/ns432/c649/ccmigration_09186a008049b062.pdf


http://www.cisco.com/en/US/tech/tk543/tsd_technology_support_category_home.html


http://www.cisco.com/en/US/products/ps6558/products_ios_technology_home.html

Actions

This Discussion