01-19-2014 09:33 AM - edited 03-07-2019 05:39 PM
Hi every body
CBWFQ uses both custom based ( with a little enhancement i.e we used percentage of interface bandwidth rather than byte counts) and weighted fair queuing using class map and policy maps
Here is my confusion.
In Custom based queuing we have queues with bytes counts and scheduler uses round robin method to empty them, for example :
http traffic assigns to q1 byte count 2000
ftp traffic assigns to 2 byte count 200
q1 will be serviced first until byte count reaches zero then scheduler moves to q2 and services it until q 2 byte count reaches zero.
Here we have control as to which traffic goes toq 1 and thereby we can control which traffic get serviced first before others.
Now if we compare this with CBWFQ,specifically custom-based portion of CBWQ we do not have this control.
for example.
Class HTTP
match http
Class FTP
match ftp
policy-map NEE
class Http
bandwidth 10
class-map Ftp
bandwidth 20
int s0/0
service-policy Nee output
Above , we are saying http traffic will get upto 10 percent bandwidth of s0/0 ,ftp will get 20 percent.
But which queue will be served first? http queue? or ftp? queue? ( because my understanding is in CBWFQ, we still follow round robin algorithm to empty our queues, that means the q1 will be service first than q2. When we use CBWFQ we do not know which queue will be mapped to http or ftp in my example)
thanks.
have a great weekend
Solved! Go to Solution.
01-19-2014 10:38 AM
Hi Sarah,
Hope all is well with the new job!!
According to the CBWFQ document (link below) the traffic is forwarded based on FIFO and not Round Robin. So, in this case if http packet comes in first, it will be served first and so on....
CBWFQ extends the standard WFQ functionality to provide support for user-defined traffic classes. For CBWFQ, you define traffic classes based on match criteria including protocols, access control lists (ACLs), and input interfaces. Packets satisfying the match criteria for a class constitute the traffic for that class. A FIFO queue is reserved for each class, and traffic belonging to a class is directed to the queue for that class.
link:
http://www.cisco.com/en/US/docs/ios/12_2/qos/configuration/guide/qcfconmg.html#wp1001203
HTH
01-19-2014 04:21 PM
Disclaimer
The Author of this posting offers the information contained within this posting without consideration and with the reader's understanding that there's no implied or expressed suitability or fitness for any purpose. Information provided is for informational purposes only and should not be construed as rendering professional advice of any kind. Usage of this posting's information is solely at reader's own risk.
Liability Disclaimer
In no event shall Author be liable for any damages whatsoever (including, without limitation, damages for loss of use, data or profit) arising out of the use or inability to use the posting's information even if Author has been advised of the possibility of such damage.
Posting
Above , we are saying http traffic will get upto 10 percent bandwidth of s0/0 ,ftp will get 20 percent.
Yea, the policy says that, but that's only true if CBWFQ is active, all the classes are active, all the class allocations add to 100%, and all the classes are trying to exceed their allocations.
But which queue will be served first? http queue? or ftp? queue? ( because my understanding is in CBWFQ, we still follow round robin algorithm to empty our queues, that means the q1 will be service first than q2. When we use CBWFQ we do not know which queue will be mapped to http or ftp in my example)
Actually, CBWFQ for non-LLQs is very similar to custom-queuing. Queues are serviced to try to maintain the ratios between them. In your example, FTP will be dequeued such that it transmits twice as much data as HTTP; because of the 20 and 10 percentages or 2:1 ratio between the two classes.
If you wanted to know, from an "even start", which class would transmit first, I don't know, and as it isn't documented, I wouldn't count on it always being the same between platforms and/or IOS versions.
As it's packets that are transmitted, during short time intevals, if there a large size difference between the packet sizes for HTTP vs. FTP, the 2:1 ratio won't be exact, but it should average out over a longer time interval.
01-19-2014 10:38 AM
Hi Sarah,
Hope all is well with the new job!!
According to the CBWFQ document (link below) the traffic is forwarded based on FIFO and not Round Robin. So, in this case if http packet comes in first, it will be served first and so on....
CBWFQ extends the standard WFQ functionality to provide support for user-defined traffic classes. For CBWFQ, you define traffic classes based on match criteria including protocols, access control lists (ACLs), and input interfaces. Packets satisfying the match criteria for a class constitute the traffic for that class. A FIFO queue is reserved for each class, and traffic belonging to a class is directed to the queue for that class.
link:
http://www.cisco.com/en/US/docs/ios/12_2/qos/configuration/guide/qcfconmg.html#wp1001203
HTH
01-19-2014 04:21 PM
Disclaimer
The Author of this posting offers the information contained within this posting without consideration and with the reader's understanding that there's no implied or expressed suitability or fitness for any purpose. Information provided is for informational purposes only and should not be construed as rendering professional advice of any kind. Usage of this posting's information is solely at reader's own risk.
Liability Disclaimer
In no event shall Author be liable for any damages whatsoever (including, without limitation, damages for loss of use, data or profit) arising out of the use or inability to use the posting's information even if Author has been advised of the possibility of such damage.
Posting
Above , we are saying http traffic will get upto 10 percent bandwidth of s0/0 ,ftp will get 20 percent.
Yea, the policy says that, but that's only true if CBWFQ is active, all the classes are active, all the class allocations add to 100%, and all the classes are trying to exceed their allocations.
But which queue will be served first? http queue? or ftp? queue? ( because my understanding is in CBWFQ, we still follow round robin algorithm to empty our queues, that means the q1 will be service first than q2. When we use CBWFQ we do not know which queue will be mapped to http or ftp in my example)
Actually, CBWFQ for non-LLQs is very similar to custom-queuing. Queues are serviced to try to maintain the ratios between them. In your example, FTP will be dequeued such that it transmits twice as much data as HTTP; because of the 20 and 10 percentages or 2:1 ratio between the two classes.
If you wanted to know, from an "even start", which class would transmit first, I don't know, and as it isn't documented, I wouldn't count on it always being the same between platforms and/or IOS versions.
As it's packets that are transmitted, during short time intevals, if there a large size difference between the packet sizes for HTTP vs. FTP, the 2:1 ratio won't be exact, but it should average out over a longer time interval.
01-19-2014 08:16 PM
Thanks Joseph and Reza
If you wanted to know, from an "even start", which class would transmit first, I don't know, and as it isn't documented
This is exactly what I found in CCIE R/S guide by Wendel
Discover and save your favorite ideas. Come back to expert answers, step-by-step guides, recent topics, and more.
New here? Get started with these tips. How to use Community New member guide