I m not able to understand the functionality of Qos and the queueing methods.
I have read a lot of times but still couldnt get the concept of it.
Please can someone help me understand how the router behaves for particular qos mechanisim.
The concept of QoS is traffic management beyond "best effort". This allows us to provide some level of "quality of service" (i.e. predictable performance) for traffic.
Queuing methods is one of the primary methods of QoS traffic management since it often allows us to prioritize some traffic (which of course deprioritizes other traffic) or otherwise manage congestion.
Your question is extremely broad. Could you narrow the issues that you have you don't understand?
Thanks for the reply as i was expecting it from you.
1.I understand Qos is a mechanisim to provide better treatment for selected traffic over other.
2.In order for Qos to implement u need to classify the traffic i.e identify the traffic am i right in saying this..?
3.After the identification of the selected traffic u need to define the action should be taken for that traffic.
4.After the action u apply to the specific interface.
If we take the example of LLQ u r defining a specific amount of bandwidth to a particular traffic lets take VOIP. so for example a router is transmitting the traffic and it recieves VOIP traffic my question is does the router gives preference to the VOIP traffic than the other traffic which it is already forwarding.
And i need some expalnation how does the router maintains different queues i mean how deoes it know that this traffic should go in this queue and so on.
The router gives preference to VoIP traffic only if you configure it to do so.
E.g. it can examine the DSCP or precedence value in the TOS byte of the packet that is arriving to the output interface.
Based on this information it will decide which particular queue to use, how to forward the packet in terms of priority, and what else has to be done before transmitting (like setting some field values, policing or shaping, doing header compression, applying WRED).
A more detailed explanation on the construction of queues you can find in the "Inside Cisco IOS Softwate Architecture" book.
i believe your questions 1-4 refers to cisco's modular qos cli or mqc. it's a framework on how to implement or configure qos.
the rest of your questions, the last 2 ones, that would be based on layer 2 (CoS) or layer 3 (ToS) markings configured on your devices, as per Istvan, and if it's an end-to-end qos implementation
ref: #2, usually but one might argue improving "goodput" w/o little or no regard for traffic classification might also be considered QoS. For instance, using WRED and/or WFQ alone.
". . . my question is does the router gives preference to the VOIP traffic than the other traffic which it is already forwarding." Yes, if VoIP is in LLQ. LLQ get absolute priority over all other class traffic (although it doesn't care what's actually in the LLQ).
"And i need some expalnation how does the router maintains different queues i mean how deoes it know that this traffic should go in this queue and so on."
The router's decision concerning mapping traffic to difference queues depends both on the actual queuing being used and/or configuration.
For instance, interface fair-queue maps individual IP traffic flows into separate queues. CBWFQ allows you to define criteria for queue mapping.
class-map match-any WebTraffic
match protocol http
class-map match-any bulkTraffic
match protocol ftp
class-map match-any interactiveTraffic
match protocol citrix
match protocol telnet
bandwidth percent 50
bandwidth percent 10
bandwidth percent 1
In the above I've defined 3 explicit class queues and the criteria for what traffic should be placed into those queues using NBAR. The bandwidth statements will also determine the proportion of bandwidth each queue should obtain when there's congestion. For instance, interactiveTraffic should be able to obtain 50x bulkTraffic's share of bandwidth (which is controlled by keeping track of how much data is dequeued from each class queue).
Thanks for the reply.
As per u r example when u say that u r defining 3 class queues u mean that the queues are defined as per the traffic classified..?i mean u have classified 3 types of traffic.
Does the commands under the policy-map i.e
bandwidth percent or priority bandwitdh relate to queueing method...?
I mean how does the router know that this queuing method is in place as u said its CBWFQ.
Hope its stupid but i m confused.
Usually an explictly defined class, within CBWFQ, has one FIFO queue. There are a couple of Cisco platforms that will permit FQ, which can assign multiple queues to one class.
The special class-default class, often uses FQ, so it too can define multiple queues for traffic in its class. However, it can be configured as FIFO, then there's only one queue for the class (like other explicitly defined classes).
There's only one queue for all LLQ defined classes.
The above would have one LLQ for classes LLQ1 and LLQ2; two FIFO queues, one for Class1 and one for Class2; and zero to N number of individual flow FIFO queues, one per flow, for class-default (NB: FQ within a class supports only a maximum number of individual flow queues, believe it defaults the maximum possible based on bandwidth, also recall you might be able to adjust the maximum on some IOSs [unless I'm confusing such adjustment with interface FQ - i.e. not CBWFQ FQ]).
Thanks for u r reply.
Can u please explain me how each queuing method works with a example as i find it complex in the books.
And the commands which are related to each queuing method.
Hope i m not annoying u.
Explain how each queuing method works with example. eh? Well that would probably also be a book's worth of information.
Besides books, Cisco's web site has excellant documentation. Besides their general documentation, they often have whitepapers or tech notes that will further explain a concept. All of which, I believe, would better generally explain than I could. I encourage you to search their site and read much of what you find.
However, if there's a particular specific point of confustion, if I'm able, I'll try to help you understand it (as would so many others also will do reading these forums).
On your point of queuing methods seeming complex, I believe they're really not, but it may be one of those subjects that requires a lot of knowledge for it to make sense.
Perhaps some starting points might be: