11-25-2014 03:58 AM - edited 03-03-2019 07:40 AM
Friends,
I would like to request your insight on the following.
Scenario:
Two 1921 routers interconnecting 2 sites (site A and site B) via 10 Mbps line.
I would like to implement QoS on the link so that some specific groups of servers on site A communicate with servers in site B and vice versa.
These servers will then be grouped or "categorized" so that each category takes a limited and specific amount of bandwidth in case they are all communicating.
If some servers are not communicating, reallocate the remaining bandwidth to other categories.
Till now I have only been able to restrict to a certain fixed bandwidth without reallocating.
Here is what I have done till now for one category (sanitized config)
ip access-list extended TRAFFIC_CAT_1
permit ip host x.x.x.x any
class-map match-all TRAFFIC_CAT_1
match access-group name TRAFFIC_CAT_1
policy-map XYZ
class TRAFFIC_CAT_1
bandwidth percent 5 ------------allocating 0.5Mbps here
police 500000 conform-action transmit exceed-action drop
policy-map AAAA
class class-default
shape average percent 100
service-policy XYZ
On the outgoing interface of the router:
service-policy output AAAA
I am new to QoS, so please be descriptive as much as you can with your suggestions.
Thanks lots.
Vijen
11-25-2014 05:33 AM
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
CBWFQ classes don't reserve unused bandwidth. I.e. whatever your servers don't use will be available to other classes.
You can restrict a classes from using more than its configured bandwidth using either a shaper or policer in the class. (NB: unless you have a reason to restrict a class from using too much bandwidth, I would advise against shaping or policing it. Remember, the point of your QoS CBWFQ policy is how bandwidth is allocated when there's congestion. I.e. why not allow your servers to utilize otherwise unused bandwidth? If it's being utilized, your policy will control your servers' bandwidth.)
BTW, your AAAA policy shouldn't need to shape at 100%. For 100%, just use a your XYZ policy.
11-25-2014 09:44 PM
Hello Joseph,
Thank you for your answer.
The way it is configured now (my understanding of course) is that it is strictly limiting the bandwidth of that class to a specific amount without the possibility of having additional bandwidth if unused by other classes.
I would like to have something dynamic (so that the link is used efficiently)
Would you have a sample configuration of your suggestion so that it would help me better understand how to achieve this?
Thanks
Vijen
11-26-2014 04:37 AM
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
Oh, if you're asking for the policed class to obtain unused bandwidth, policers and shaper don't work that way, they always limit the maximum.
If you wanted your TRAFFIC_CAT_1 to have a minimum share of bandwidth, but allow it to have more, then just remove your policer.
Again, if physical port is running at maximum logically allowed too, remove the parent shaper.
e.g.
policy-map AAAA
class TRAFFIC_CAT_1
bandwidth percent 5
That's all you need. There's always a class-default, but you can add it explicitly, if like, i.e. you could add to the above:
class class-default
bandwidth percent 95
The advantage of adding the class-default explicitly, you can define non-default parameters. It also, often, makes clearer, your intended QoS policy.
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