cancel
Showing results for 
Search instead for 
Did you mean: 
cancel
2794
Views
9
Helpful
11
Replies

MPLS VPN QoS - 100Mbps Ethernet Handoffs

Jasonch518_2
Level 1
Level 1

Hello,

I am working on setting up QoS in a MPLS VPN environment.

I have set up my class maps to match specific traffic types and I plan on using the priority perfect commands.

The problem I am trying to work around is that the provider of the MPLS cloud uses an ethernet service and is giving 10Mbps and 100Mbps handoff's, but the WAN circuit is only 1.5Mbps or 3.0Mpbs.

When I connect this ethernet connection to my router, it will look like a 100Mbps link, and my priority percents will not work correctly, or is there a way to set "true" bandwidth on an ethernet link?

Thanks for any help.

11 Replies 11

Laurent Aubert
Cisco Employee
Cisco Employee

HI Jason,

You should use Hierarchical QoS. This will allow you to manage your congestion point.

To do that you create a parent service policy which will shape all the traffic to the desired value (1.5 or 3Mpbs in your case). Then you apply another service-policy (child policy) which will allocate your Bw per class in case of congestion. But now the congestion will start at 3Mpbs:

policy-map PARENT

class class-default

shape average 1500000

service-policy child

!

int eth0/0

service-policy PARENT out

!

More info on this link:

http://www.cisco.com/en/US/docs/ios/qos/configuration/guide/qos_frhqf_support_ps6441_TSD_Products_Configuration_Guide_Chapter.html

HTH

Laurent.

Thanks,

That link is very helpful.

stanleyb
Level 1
Level 1

Your QoS policies will look at the bandwidth statement under your interface. You can safely specify "bandwidth 3072" under your Ethernet and that will work just fine. QoS works, based of that logical number, when policy is applied.

Hope that helped,

Stanley B

So if my understanding is correct, there is no need to do Heirarchical QoS with a parent shaper for this. You can just apply the bandwidth command and apply the QoS policies to it.

Which way is preferred? The bandwidth command on the interface or Heirarchical QoS with a parent shaper?

Thanks.

Andy

stanleyb
Level 1
Level 1

Bellow, you can see 55% is 1650kbps on a Fast Ethernet Interfaces. It was based on the bandwidth statement under the interface. It looks like this:

*********config*********

class-map match-all 1

match ip dscp af42

policy-map 1

class 1

priority percent 55

class class-default

fair-queue

interface FastEthernet0/0

bandwidth 3000

ip address 20.20.6.6 255.255.255.0 secondary

ip address 150.1.5.1 255.255.255.0

no ip split-horizon

ip summary-address rip 20.20.0.0 255.255.0.0

service-policy output 1

********end result*******

R1(config)#do sh policy-map int

FastEthernet0/0

Service-policy output: 1

Class-map: 1 (match-all)

32 packets, 94520 bytes

5 minute offered rate 0 bps, drop rate 0 bps

Match: ip dscp af42 (36)

Queueing

Strict Priority

Output Queue: Conversation 264

Bandwidth 55 (%)

Bandwidth 1650 (kbps) Burst 41250 (Bytes)

(pkts matched/bytes matched) 32/94520

(total drops/bytes drops) 0/0

Class-map: class-default (match-any)

164 packets, 28582 bytes

5 minute offered rate 0 bps, drop rate 0 bps

Match: any

Queueing

Flow Based Fair Queueing

Maximum Number of Hashed Queues 256

(total queued/total drops/no-buffer drops) 0/0/0

I was not aware that the QoS policies would look at the bandwidth statements put onto an interface, that helps a lot.

Thank you for that information.

BTW, QoS policies can "pick up" bandwidth, but in your case your policy won't work as desired. You'll want/need the shaper similar to what Laurent provided in his post. The reason for this, you need actual congestion to push traffic into the CBWFQ queues. I.e. without a shaper, your policy would only engage when there's congestion on the Ethernet interface.

So what Stanley says is incorrect then?

"Your QoS policies will look at the bandwidth statement under your interface. You can safely specify "bandwidth 3072" under your Ethernet and that will work just fine. QoS works, based of that logical number, when policy is applied."

Cause I've seen the maths add up when you do a according to what "bandwidth" has been set. Is the bandwidth command there purely for informational purposes and ignored by the QoS scheduler until it notices that the Ethernet interface (Tx Ring) is congested.

"So what Stanley says is incorrect then? "

Perhaps, it's not fully clear what he intended.

Again he's correct about CBWFQ using the interface bandwidth to set its class percent bandwidths, but he's not real clear about all the implications.

When he wrote "You can safely specify "bandwidth 3072" under your Ethernet and that will work just fine.", the implication is that's all you need. You then asked for clafication in your follow up post "Which way is preferred? The bandwidth command on the interface or Heirarchical QoS with a parent shaper?", but his response just showed an example CBWFQ policy using the interface bandwidth. This didn't really answer your question, although the implication is that you don't need a parent shaper.

BTW, rereading my prior answer, I may have left you still confused whether you need a shaper. In the situation you described, I believe you do.

As to your question about whether Stanley's response was incorrect, I'm not 100% what he meant to convey.

In his example he used a LLQ class. When congestion forms on the Ethernet interace, and the implicit LLQ policer activates, it would enforce the correct policing bandwidth for that class. Problem is, other non-LLQ classes would still generate traffic beyond your downstream bottleneck capacity. Another problem, since the LLQ implicit policer normally only activates with congestion (unlike an explict policer), you could also see more LLQ traffic than the downstream bottleneck can pass.

Also you asked whether "bandwidth" is just information; it's not since it can impact actual functioning. Changing it alone won't provide the results you want.

you asked about the best way

the answer the best is based on your exact requirment

all of the above posts right 100%

but depends what you want to acieve

if you have custome rlets say and you want to provide classes of traffic and limit each class you could use the following example

lets say you will have a link of 10M

you want to give priority to traffic marked as EF with max traffic in this class as 1M

and you give traffic with class CS4 garnteed abndwisth as 2M and max at all times 3M

and the other traffic for best effort

first lets clasify

class-map EF

match ip dscp Ef

class-map CS4

match ip dscp CS$

now i think you need in your case to use policer instead of shape as you will provide the exact amount no need to buffer ( this is for this example not awlays)

policy-map clasees

class EF

priority 1000

police cir 1000000

class CS4

bandwisth 2000

police cir 3000000

policy-map parant

class class-default

shap avvrage 10000000

fair-queue

service-policy classes

int fa0/0

service-policy output parant

this will limit each class to spcific amount and will do prioritization and traffic garnteed accordngly

remember here if you do not use the bandwidth command on the interface advised above there will be no issue

BUT if use percent in you class undr the policy map then you must use the right bandwith under the interface as mntioned above

good luck

hope this helps

Getting Started

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: