10-18-2019 11:18 AM
I am doing a QOS config in the following scenario.
I have a 250mbps MPLS circuit, where voice and data will both be passing. I know there are multiple ways to do this, just wanting some peer review on the plan below and see if I may be missing anything. I setup three different classes. One for voice, where I assigned level 1 priority and am restricting it to 15% of BW given congestion (though I do not expect the voice would consume that much, I want to be safe). The data class is for VDI traffic (which will be essentially the remaining usage, and will most likely be the cause of any spikes given multiple agents logging in at one time. Then the third class is for IT mgmt and NMS, so that we may have a small reservation of bandwidth for SSH / SNMP, etc.
ip access-list extended voip
permit ip VOIP-NET any
ip access-list extended data
permit ip DATA-NET any
ip access-list extended IT
permit ip host IT-IP any
permit ip host IT-IP any
permit ip host IT-IP any
class-map match-any voip
match access-group name voip
class-map match-any data
match access-group name data
class-map match-any IT
match access-group name IT
policy-map QOS
class voip
priority level 1
police cir percent 15
class data
priority level 2
class IT
police cir percent 2
Solved! Go to Solution.
10-18-2019 12:14 PM
Hello
instead of policing and dropping or Re-classifying/marking down out of policy packets suggest you shape your traffic instead using LLq for the priority class.and add another class for you routing process
policy-map wan-child
class voip
priority percent 15
class data
bandwidth percent xx
class IT
bandwidth percent xx
class routing
Bandwidth xxx
class class-default
bandwidth percent remaining 100
fair queue
policy-map wan-parent
class class-default
shape-average 250000000
service-policy wan-child
10-18-2019 02:18 PM
10-18-2019 12:14 PM
Hello
instead of policing and dropping or Re-classifying/marking down out of policy packets suggest you shape your traffic instead using LLq for the priority class.and add another class for you routing process
policy-map wan-child
class voip
priority percent 15
class data
bandwidth percent xx
class IT
bandwidth percent xx
class routing
Bandwidth xxx
class class-default
bandwidth percent remaining 100
fair queue
policy-map wan-parent
class class-default
shape-average 250000000
service-policy wan-child
10-18-2019 01:00 PM
Thank you for your reply Paul.
For the routing class, we are doing BGP, I assume I could just mark the class for cs6?
class-map match-any routing
match dscp cs6
Also, in regards to the bandwidth xx, do you know what would be the recommended allocation for a BGP session?
Last one, the bandwidth percent command, that only applies during congestion correct?
10-18-2019 01:30 PM - edited 10-18-2019 01:31 PM
This may be an extremely stupid question but if you were simply doing static routing over such a circuit, it is fair to say no class allocation would be needed for "routing".
10-18-2019 02:20 PM
10-18-2019 02:20 PM
10-18-2019 02:18 PM
10-18-2019 04:05 PM - edited 10-18-2019 04:06 PM
isn't wfq applicable to only for packets dropped into the class-default queue and not for the specific define classes?
10-18-2019 04:38 PM - edited 10-18-2019 04:42 PM
"isn't wfq applicable to only for packets dropped into the class-default queue and not for the specific define classes?"
Technically, not since HQF QoS.
Logically, if the class can congest, and if flows in the class are VBR, and if the two prior criteria are detrimental to the network applications using that class, FQ is often a benefit. (Basically same criteria applies to any class, class-default included.)
As an example, notice I suggested placing BGP into the same class as VDI. If there were a large BGP update, it might impact concurrent VDI flows, but with FQ, it probably won't. The alternative would be to place BGP into its own defined class, but then we need to juggle bandwidth allocation of it relative to other classes, and that allocation would de-prioritize VDI relative to other traffic.
FQ, in a class, often is one queue per flow (NB: not always though), and when than happens, you generally don't need tiered priority, but when you do, you can do it for a whole class in CBWFQ.
Sometimes to show how well FQ works, I'll have a telnet session going and then start a bandwidth test in the same class. W/o FQ, telnet performance becomes almost impossible to use. Activate FQ in the class, telnet again operates much like it does w/o the bandwidth test running concurrently. Again, the alternative would be to place the telnet and bandwidth test traffic into different defined classes, which works, but with FQ, you often don't need too.
Since FQ is dynamic, it also avoids nasty surprises, such as (true story), the day we had our "interactive traffic" class, w/o FQ and which had both telnet and SSH mapped into it, crushed by someone doing SCP.
10-18-2019 07:54 PM - edited 10-18-2019 07:57 PM
Thank you, I appreciate the discussion.
It makes me a bit paranoid to place BGP within the same class as the VDI traffic. I am not worried about BGP affecting VDI (small tables), but worried about VDI affecting BGP. I understand your point with FQ, and it probably would never be an issue, just something that would make me paranoid.
How would I know if my device counts L2 overhead (to adjust the shape appropriately)? I'm using 4331 ISR's.
Would IP SLA's configured on the ISR fall into any QOS class?
Thank you,
10-19-2019 06:35 AM
10-19-2019 12:59 PM - edited 10-19-2019 03:53 PM
I made a class for icmp, sure enough it would hit that class every time the SLA initiated it's ping.
QOS has always been a subject I've never had to dive into much, but this has been good for me. I appreciate the help from you Joseph and Paul.
I slept on it, and then read up a little more on FQ. I am going to take your suggestion and run with it. I did have around 5 classes yesterday (voice, data, IT (SNMP, SSH, etc), routing, class-default). I took data, IT and routing and bundled them and set the class with FQ.
I think this will be my last question - On a policy-map, if you do not define the class-default at the end, is it still there no matter what? Like, look below where I have it at the end, with the remaining 5 % of BW defined. If I did not put that there, what setting would assume the default?
policy-map QOS
class voip
priority level 1
police cir percent 15
class data
bandwidth remaining percent 80
fair-queue
class class-default
bandwidth remaining percent 5
fair-queue
10-19-2019 03:33 PM
10-19-2019 08:15 AM - edited 10-19-2019 08:16 AM
i did have Hqos in mind when I queried it with you but I couldn’t remember ever reading any different behaviour for it regards FQ so I was quite certain in my thinking I was correct.
After your very informative reply I did manage to find a HQF doc from 2008 which obviously supports what you have said -
Concerning part is I have a couple of Cisco press books on qos later than 2008 that either don’t cover hqos or even come close explaining what you have stated here.
I am fully aware as engineers we need to keep abreast of the latest feature sets enhancements etc regards any new software/ hardware Cisco bring out and I am also aware how dynamic networking g is but sometimes this kind of thing not only p@@@ me off it makes me think some of these authors are just in it to make a few quid and plagiarise Cisco documentation to meet their own ends and not provide a full picture of the topic
Anyway rant over and thanks once again for the clarification - very much appreciated
10-19-2019 09:44 AM
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