11-19-2008 08:32 AM - edited 03-04-2019 12:24 AM
Hey there,
Sorry. I've been reading and reading but I guess I'm doing an uncommon scenario.
I have a slow (256k) wan link. I need to push all WAN users aside when I dial in with my VPN client to do maint.
Can anyone give me some QoS options?
The other QoS needs I have are that I have a few vLAN's but I need to give one vlan all/most of the WAN bandwidth and push aside the other vlan traffic.
Have any tricks up your sleeve?
11-22-2008 06:50 AM
Hi Joe,
I started plugging it into my router.
I think I'm a little confused with the syntax for:
class-map match-access-list ownerdata
match access-group name ownerdata
That router didn't like that.
It ended up looking like:
class-map match-all match-ownderdata
When it says match ownerdata, is it mapped to my ownerdata ACL properly?
11-22-2008 09:59 AM
class-map syntax is:
class-map (match-all or match-any) classname
Match-all requires all match statements within the class to be true (an "and" condition), match-any is true if any match statement is true (an "or" condition) within the class match statements.
Classname, the last parameter, is the name of the class, it's used within the policy.
What might be confusing is you can use the same name for different objects, but the example that follows might be clearer.
ip access-list extended anACLname
permit . . .
.
.
class-map match-axx aClassname
match access-group name anACLname
policy-map aPolicyname
class aClassname
bandwidth . . .
11-22-2008 09:53 AM
Yes, there's an implicit deny all at the end of ACLs, but we're using an ACL to match interesting traffic for our QoS policy, not as a security ACL on the interface itself.
I.e., other VLANs will just not get special QoS treatment.
11-22-2008 10:09 AM
CBWFQ policies can be used for both in and out, at least on routers, but not all features are allowed based on usage. Since we're using "bandwidth" statements, we're restricted to outbound policies (and if you're working with a 3560/3750 you can't use an outbound CBWFQ policy at all (I believe).
We can do something similar, at least with up to 4 queues on a 3650, but the syntax is a lot different and I don't do QoS on those type of L3 switches very often. You might want to start a new post for help on how to do something similar on a L3 switch.
If we using a device that allows the full CBWFQ policy, you can define another class. We can't do exactly what you desire where A pushes B pushes C aside although we can set ratios such that A can obtain more bandwidth than B which can obtain more bandwith than C.
Something like:
service-policy x
class A
bandwidth remaining 25
class B
bandwidth remaining 5
class C
bandwidth remaing 1
(Actually there's another queuing method supported on Cisco routers called priority queuing, which would allow up to 4 classes, each with total priority over lower classes, but very easy to starve lower classes of all bandwidth.)
[edit]
It's important whether you're going to use a 3560 or 28xx.
11-22-2008 10:48 AM
Thanks for comming back, Joe!
I got it into the router. Here's what it looks like.
ip access-list extended ownerdata
remark match ownerdata source subnet addresses
permit ip 192.168.51.0 0.0.0.255 any
remark match ownderdata destination subnet addresses
permit ip any 192.168.51.0 0.0.0.255
ip access-list extended crewdata
remark match crewdata source subnet addresses
permit ip 192.168.54.0 0.0.0.255 any
remark match crewdata destination subnet addresses
permit ip any 192.168.54.0 0.0.0.255
Class-map match-all crewdata
match access-group name crewdata
Class-map match-all crewdata
match access-group mane ownerdata
!
!
policy-map QoS
class ownerdata
bandwidth remaining percent 99
class crewdata
bandwidth remaining percent 1
Int Fa0/1
service policy output QoS
I don't know how to test.. So i put a PC on each vlan and started doing download races. I didn't see the diff between the two. 99 vs. 1 percent should be pretty obvious I bet.
Do you know a standard test and a few handy IOS commands to verify it's all working?
11-22-2008 11:01 AM
Policy will only be active if there's congestion. One issue, don't recall if I touched upon it, your policy is on a Ethernet interface, but you note a WAN interface of 256 Kbps. (Ethernet connection to something like cable or DSL?) So, you'll also need to "shape" your outbound rate to match your WAN bandwidth (i.e. slow down the Ethernet interface).
Add/modify:
policy-map QoS_shape
class-map class-default
!might need to shape a bit slower to account for L2 overhead
!I forget whether shaper uses bps or Kbps, example assume bps
shape average 200000
service-policy QoS
int fa0/1
service-policy output QoS_shape
To see the difference, you'll would need to load the QoS policy; could be done with a traffic generator. If interface loaded with "crewdata", its pings should slow but "ownerdata" pings should not. (BTW: your one class-map needs to be renamed to "ownerdata".)
"show policy-map interface out" will show what the policy "sees". Change interface's load-interval to 30 to get stats closer to real-time.
11-22-2008 11:42 AM
Hi Joe,
I somehow slipped another post in before your last reply.
I'd rather use the 2801 to attack the problem at the internet facing interface.
You mentioned that I could use another style of QoS that would starve the "class C". That's ok if they starve because class A wouldn't be onboard and using the net very often.
Do you have any clever commands or testing methods I could use to verify that I've set it up and things are active?
11-22-2008 12:00 PM
The other method wouldn't have class A just starve class C, it would also starve class B. Also, class B would also starve class C.
Quickway to test, is with a traffic generator. I often use a little freebie, pcattcp, and tell it to generate UDP packets at a certain rate. If you ran it from you class C VLAN, and targeted anything outside on the WAN, it would easily fill the link with class C traffic.
11-22-2008 01:19 PM
I'm interested in the other style of QoS, too.
This one doesn't seem to be working at all. I woudn't be surprised if I haven't completely turned it on.
I made an ACL called ownerdata
then a then clas-map pointed at the ACL
then I made the service-policies
put in outbound on my WAN int.
Is it possible that nothing is happening because it's set to "output?" or do you think it's possible that the three processes just aren't seeing each other because I've named things wrong?
I think I did a
Show service-policy QoS
It showed me the 2 policies with the percent and some stats but it was all zeros. It didn't look like QoS had ever sprung to action.
service-policy
11-22-2008 04:40 PM
Try the command,
show policy-map interface
11-23-2008 12:07 AM
Cool!
I did that command and I see my policy listed under Fa0/1!
It shows my two bandwitdh remaining groups, one at 99 and one a 1. But they are both all zeros.
That's traffic generator is cool but I don't think I have time to learn how to use it...
This is my last day to get things working.
I wonder if I moved this policy-map to my router's internal interface and set the policy to input... Maybe if I put ownerdata at 100% and crewdata at 0 it would push it aside?
I know I'm attacking it at the wrong place but I'm ready to try anything.
I
11-23-2008 02:00 AM
I have now moved it to the inside int of my 2801 router but it didn't change anything.
I also thought I would try to change it to an input policy but it won't even let me do that.
It gives me the "CBWFQ is only allowed outbound" error.
11-23-2008 03:27 AM
It might help if you post what you're seeing from the show policy command.
Outbound on the WAN facing interface is where you want the policy.
If you also do a show access-list, we confirm the ACLs are matching traffic.
11-23-2008 04:47 AM
Here's what my sh access-list comes up with
Standard IP access list 1
10 permit 192.168.0.0 wildcard bits 0.0.255.255 (13449 matches)
Extended IP access list crewdata
10 permit ip 192.168.54.0 0.0.0.255 any
20 permit ip any 192.168.54.0 0.0.0.255 (217995 matches)
Extended IP access list crewdata
10 permit ip 192.168.54.0 0.0.0.255 any
20 permit ip any 192.168.54.0 0.0.0.255
I worry that my fist ACL is letting everything past.
Is there supposed to be matches on both ACL's?
11-23-2008 05:26 AM
There should be matches on both ACLs if there traffic from both subnets. However, you have "crewdata" listed twice, one showing matches and the other doesn't? Also, the matches that do show appear to be inbound?
Please post your whole config.
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