08-23-2011 02:35 PM - edited 03-07-2019 01:50 AM
Hi Folks,
I have a simple topology but I'm having some problems with my QoS configuration. My situation is the following:
- 3 class
- EXPRESS: 25% - match all traffic TCP in 211 port
- OFFICE: 25% - match all traffic TCP in 5950 port
- default: without limits at this time
- Link of 1Mb
The intetion is:
a) If only class EXPRESS in use, It can use all the link;
b) If class EXPRESS in use and a FTP transfer (that will be marked in default class) in progress, the class EXPRESS should use the 256k (25%) and the class default should use the remaing traffic (75%);
What's happening:
a) When I start a FTP transfer and a TCP transfer on 211 port (EXPRESS), the EXPRESS class and the default class split the bandwidth of the link;
b) At this time, EXPRESS transfer reaches ~480k and default ~480k.
In the first configuration, my intention was that all traffic that exceeded the 25%, should be remarked and used in default class. I used the following configuration (the ACL's exists, omitted to optimize):
class-map match-any EXPRESS
match access-group name EXPRESS
class-map match-any OFFICE
match access-group name OFFICE
policy-map OUT
class EXPRESS
police cir percent 25
conform-action set-dscp-transmit ef
exceed-action set-dscp-transmit default
priority
class OFFICE
bandwidth percent 25
set ip dscp af31
policy-map SHAPE_1M_OUT
class class-default
shape average 1024000
service-policy OUT
NOTE: In this case, the traffic in EXPRESS class become very unstable, ranging between 80k and 230k.
In the second configuration, I discard the idea of remark the exceeded packets into default class and set the following configuration:
class-map match-any EXPRESS
match access-group name EXPRESS
class-map match-any OFFICE
match access-group name OFFICE
policy-map OUT
class EXPRESS
shape peak percent 100
shape adaptive 256000
set ip dscp ef
class OFFICE
bandwidth percent 25
set ip dscp af31
policy-map SHAPE_1M_OUT
class class-default
shape average 1024000
service-policy OUT
NOTE: In this case, the EXPRESS class uses all link when it's free, but when a FTP traffic starts, they split the band.
Where am I wrong? Is it possible to do what I want?
Thank you very much. Any suggestion is welcome.
08-23-2011 03:06 PM
Do you want priority or bandwidth guaranteed for the EXPRESS class?
If you want priority, the following should work:
policy-map OUT
class EXPRESS
priority percent 25
set ip dscp ef
class OFFICE
bandwidth percent 25
set ip dscp af31
policy-map SHAPE_1M_OUT
class class-default
shape average 1024000
service-policy OUT
If you want bandwidth guaranteed, the following should work:
policy-map OUT
class EXPRESS
bandwidth percent 25
set ip dscp ef
class OFFICE
bandwidth percent 25
set ip dscp af31
policy-map SHAPE_1M_OUT
class class-default
shape average 1024000
service-policy OUT
You need to keep in mind, QoS will kick during congestion and if the FTP has throttle
back to less than 750kbps, then the EXPRESS class can potentially use more than 250kbps.
Regards,
Edison
08-23-2011 03:43 PM
Hi Edison,
My intention is reserve 25% for EXPRESS and if believe available bandwidth, use it. But if default class wants to use 700k, for example, be able to do it.
I tried you suggestion, please take a look at the attached file. The Red line are 7 ftp connections been marked in best-effort.
Thank you again.
08-24-2011 06:26 AM
Plinio,
You are guaranteeing at least 25% of your traffic to EXPRESS. Anything above that will be best effort.
EXPRESS will not stop at 25%, but any flow over 25% will contend with your default traffic and that's exactly what is doing.
Per your original question on the 480kbps/480kbps load split, 250kbps were guaranteed traffic and 130kbps were best effort traffic.
If you want your FTP to use 700kbps, you need to create a class for FTP and assign the remaining % of your link.
08-24-2011 01:35 PM
Edison,
Thank you again for the information. Just one more question for check if I understood.
I set this configuration, conform your suggestion:
policy-map OUT
class EXPRESS
bandwidth percent 25
set ip dscp ef
class OFFICE
bandwidth percent 25
set ip dscp af31
policy-map SHAPE_1M_OUT
class class-default
shape average 1024000
service-policy OUT
In this configuration, we'll have the following behavior:
1- 25% of the EXPRESS traffic will be guaranteed; (checked)
2- If just EXPRESS traffic still running, it will be able to use all available bandwidth; (checked)
3- If 500k of the EXPRESS traffic be generated, 250k will be guaranteed and 250k will be best-effort; (checked conform your information)
4- If 500k of the EXPRESS traffic be generated together 700k of best-effort traffic (FTP, ANY), I'll have this situation:
- 250k will be guaranteed (yes)
- 250k of exceeded EXPRESS will be best-effort (yes or no?)
- 500k of BE will be best-effort and 200k will be dropped (yes or no?)
- 700k of BE will be best-effort and ONLY 50k of exceeded EXPRESS will be best-effort (yes or no?)
- or the available 750k of the 1mb link will be disputed and will auto adjust (yes or no?)
Sorry for so many questions, but I think that with these information, all will be clear.
Thank you Edison.
08-24-2011 01:40 PM
1) yes
2) yes
3) yes
4a) yes
4b) yes
4c) No, you will have 750kbps combined best effort traffic, this traffic will include the EXPRESS traffic. All traffic under this class has potential to be dropped equally.
4d) correct.
08-24-2011 04:20 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
My understanding of CBWFQ is a little different.
1) depends, prior to HQF type CBWFQ, no; w/ HQF not sure, might be 1/3
2) yes
3) no
4a) depends, prior to HQF depends on # flows in class-default; w/HQF not sure, might be 1/2
4b) no
4c) depends, prior to HQF depends on # flows in class-default; w/HQF not sure, might be 1/2
4d) no and depends
Prior to HQF CBWFQ, I believe implicit class-default uses FQ which distorts bandwidth for defined classes. Same would be true with explict class-default using FQ, again prior to HQF. HQF class-default can holds FQ to class bandwidth setting.
For bandwidth % to make sense, you need to allocate 100%, when you don't you get effective percentages you get the ratios (which would normally be more than the percentage).
e.g. (and disregarding class-default)
class a
bandwidth percent 10
class b
bandwidth percent 10
effectively same as
class a
bandwidth remaining percent 5
class b
bandwidth remaining percent 5
effectively same as
class a
bandwidth 8
class b
bandwidth 8
Weights for these two classes would be the same and they would split bandwidth 50/50 or 1:1
Prior to HQF you can, by default (it can be changed), only allocate to classes other than class-default a total of 75%.
Once a traffic is a class queue, it's treated as that class. For instance in poster's original post:
policy-map OUT
class EXPRESS
police cir percent 25
conform-action set-dscp-transmit ef
exceed-action set-dscp-transmit default
priority
You can do that, i.e. change markings, but traffic remains in this policy's EXPRESS class, even with the changed marking. Next hop, though, can split the flow because of the different markings.
08-24-2011 04:23 PM
Hi Joseph,
Thank you for your information. I'll do some tests and I'll post the results.
08-24-2011 04:30 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
When testing, you need to be aware of the "flavor" of CBWFQ you're using, since they all don't operate exactly alike with the same configuration.
Also, don't forget CBWFW only engages when the TX-ring fills which can impact observed performance.
Lastly, performance can be impacted by the nature of the traffic. For example if both TCP and UDP fight over bandwidth, and both are seeing some drops, TCP will reduce its send window (reducing its transmission rate) but UDP normally doesn't. I.e. UDP will grab more bandwidth because its being yielded by TCP, not because the policy isn't working correctly.
08-23-2011 04:44 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
Try something like what Edison suggested but additionally with:
policy-map OUT
.
.
class class-default
bandwidth percent 50
NB: with only Express and default traffic, with LLQ Express should only get 25% of bandwidth, but w/o LLQ Express will get 1/3 bandwidth (because it and class-default will split unused OFFICE).
Find answers to your questions by entering keywords or phrases in the Search bar above. New here? Use these resources to familiarize yourself with the community: