Traffic Shaping

Answered Question
Oct 11th, 2007

i would like to implement a traffic shaping policy that keeps our email traffic from consuming all of our bandwidth on our t-1's. we have a voip phone system in place along with Qos but i still have a few complaints about choppy voice mail and i know email is our number 1 bandwidth consumer so i would like to limit the bandwidth email can use. I don't have any experience with shaping and i am starting with this document - http://www.cisco.com/en/US/products/sw/iosswrel/ps1835/products_configuration_guide_chapter09186a00800c75d1.html

any other suggestions and or good white papers?

how will i define email traffic?

thanks in advance.

Correct Answer by Pavel Bykov about 9 years 4 months ago

Yeah, you need to remove the old commands first. Forgot to mention that.

Does it work? What is the output of "show policy-map interface" command now?

  • 1
  • 2
  • 3
  • 4
  • 5
Overall Rating: 5 (1 ratings)
Loading.
Pavel Bykov Thu, 10/11/2007 - 13:38

1. Your QoS policy is BAD. No voice should be choppy under good Voice policy. Maybe you forgot something. Is QoS applied two way? Is there another bottleneck?

2. What is your current QoS policy? Can you post config? You can just add shaper to the class, that has email. After "bandwidth xxx" command just enter "shape average zzz" where zzz is a speed you want to shape it to

3. It really depends on what system you are running for email. Normally it's SMTP, and port number 25. Or you can define IP of your email server as packet SRC/DESTINATION

jerry.mcrae Thu, 10/11/2007 - 14:16

i dont think the QoS is bad b/c TAC looked at it twice i do however have a bottleneck and this is where i want to limit email.

one end:

class-map match-all voice-signaling

match ip dscp af31

class-map match-any voice-traffic

match ip dscp ef

match ip rtp 16384 16383

policy-map EWT_SP

class voice-traffic

priority 1042

class voice-signaling

bandwidth 8

class class-default

fair-queue

the other end:

class-map match-all voice-signaling

match ip dscp af31

class-map match-any voice-traffic

match ip dscp ef

match ip rtp 16384 16383

policy-map EWT_SP

class voice-traffic

priority 1042

class voice-signaling

bandwidth 8

class class-default

fair-queue

this cmd is configd on each t-1 int - service-policy output EWT_SP

i did notice the class-map config is missing on one end.

NOC#sh policy-map interface Serial4/2:0

Serial4/2:0

Service-policy output: EWT_SP

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

22262925 packets, 8376985095 bytes

5 minute offered rate 7000 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/954/0

i think i lost part of my config. i just readded the class-map and i still dont see the class-map config.

EWT_NOC#sh policy-map interface Serial4/2:0

Serial4/2:0

Service-policy output: EWT_SP

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

22265315 packets, 8377482618 bytes

5 minute offered rate 13000 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/954/0

what's up with that?

Pavel Bykov Thu, 10/11/2007 - 14:34

Ok, see, that's what I meant by "BAD config". This is not right. I can't believe TAC thinks it's OK.

I have more questions then:

1. What is your IOS version? I know this seems silly, but i've experienced a lot of QoS misbehaviour with 12.2 on software platforms.

2. Can you post "show run int Serial4/2:0"?

command "sh policy-map interface Serial4/2:0" is the command that shows the actual performance of your policy. So if it shows what you posted, there is QoS misbehaviour. How many Voice channels are you expecting to run simultaneously? You are allocating an awful lot for a T1...

Ok, here is something to try (it's non-destructive). During my QoS Hi-times, I figured out actual CBWFQ algorithm. Because of that i would suggest a bit different class-default confing. Please try the following:

!

interface Serial4/2:0

max-reserved-bandwidth 100

!

policy-map EWT_SP

class voice-traffic

priority percent 60

class voice-signaling

bandwidth percent 1

class class-default

bandwidth percent 39

jerry.mcrae Thu, 10/11/2007 - 15:08

1)i ve opened two TAC cases on this. Anyway here is part of the sh ver

c3745-ipvoice-mz.124-3f.bin

2)EWT_NOC#show run int Serial4/2:0

Building configuration...

Current configuration : 305 bytes

!

interface Serial4/2:0

description Connected to Cord

bandwidth 1544

ip unnumbered FastEthernet0/0.10

no ip redirects

no ip unreachables

no ip proxy-arp

ip route-cache flow

no cdp enable

service-policy output EWT_SP

ip rtp header-compression

ip rtp compression-connections 64

end

"How many Voice channels are you expecting to run simultaneously?" not sure how many this was designed to support - we use g729 b/t branch offices.

"You are allocating an awful lot for a T1..." i knew this but i thought it was necessary b/c of our vm issues. we were trying to allocate as much bandwidth as possible for voice.

it just happens tonight is maint night so i can give this a go.

thanks.

Pavel Bykov Thu, 10/11/2007 - 15:34

Config is good. Try it and see if the output of the "show policy-map" changes, so it shows up three classes. If it does, than you might expect improvement. You can test it by putting a load in class-default (like ping flood using hping or other load generating utility) and initiate a call.

Also, about the compression - please check the output of "show proc cpu history" command, just in case router experiences a high CPU load. This compression is very gentle on CPU, so just making sure CPU performance is good.

Be sure to post an update after config change.

jerry.mcrae Fri, 10/12/2007 - 07:52

this is what happens when i enter the new config.

EWT_NOC#conf t

Enter configuration commands, one per line. End with CNTL/Z.

EWT_NOC(config)#policy-map EWT_SP

EWT_NOC(config-pmap)#class voice-traffic

EWT_NOC(config-pmap-c)#priority percent 60

EWT_NOC(config-pmap-c)#class voice-signaling

EWT_NOC(config-pmap-c)#bandwidth percent 1

All classes with bandwidth should have consistent units

EWT_NOC(config-pmap-c)#class class-default

EWT_NOC(config-pmap-c)#bandwidth percent 39

deconfigure flow based fair queueing before issuing this command in this class

EWT_NOC(config-pmap-c)#end

and this is the result.

policy-map EWT_SP

class voice-traffic

priority percent 60

class voice-signaling

bandwidth 8

class class-default

fair-queue

i entered my old config for the moment and it shows in the sh policy-map.

where would i enter the traffic shaping config in the policy-map?

i have a test enviroment to work on your config and see if i can get the router to take the percent cmd's.

thanks again.

jerry

jerry.mcrae Fri, 10/12/2007 - 08:00

i got it - i have to remove the priority cmd's then enter the percent - i was thinking i can overwrite the old config.

Correct Answer
Pavel Bykov Fri, 10/12/2007 - 11:28

Yeah, you need to remove the old commands first. Forgot to mention that.

Does it work? What is the output of "show policy-map interface" command now?

jerry.mcrae Thu, 10/18/2007 - 09:49

it appears to be working - i made the config changes this past tuesday night and havent anything from the users which is a good sign. i'll attached the sh policy below. One question since i am giving default traffic 39% do i need to add the traffic shaping policy to kill email above 600K?

sh policy-map interface

Serial0/0

Service-policy output: EWT_SP

Class-map: voice-traffic (match-any)

411552 packets, 26520411 bytes

30 second offered rate 0 bps, drop rate 0 bps

Match: ip dscp ef (46)

194054 packets, 12405888 bytes

30 second rate 0 bps

Match: ip rtp 16384 16383

217498 packets, 14114523 bytes

30 second rate 0 bps

Queueing

Strict Priority

Output Queue: Conversation 264

Bandwidth 60 (%)

Bandwidth 926 (kbps) Burst 23150 (Bytes)

(pkts matched/bytes matched) 48043/1266560

(total drops/bytes drops) 0/0

Class-map: voice-signaling (match-all)

598 packets, 68652 bytes

30 second offered rate 0 bps, drop rate 0 bps

Match: ip dscp af31 (26)

Queueing

Output Queue: Conversation 265

Bandwidth 1 (%)

Bandwidth 15 (kbps) Max Threshold 64 (packets)

(pkts matched/bytes matched) 598/68652

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

4886217 packets, 1815368447 bytes

30 second offered rate 63000 bps, drop rate 0 bps

Match: any

Queueing

Output Queue: Conversation 266

Bandwidth 39 (%)

Bandwidth 602 (kbps) Max Threshold 64 (packets)

(pkts matched/bytes matched) 1344169/1260962606

(depth/total drops/no-buffer drops) 0/360/0

jerry.mcrae Thu, 10/18/2007 - 10:10

i noticed some "total drops" in the class default class-map. i would guess it's a good thing.

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

5393828 packets, 2101973968 bytes

30 second offered rate 143000 bps, drop rate 0 bps

Match: any

Queueing

Output Queue: Conversation 266

Bandwidth 39 (%)

Bandwidth 602 (kbps) Max Threshold 64 (packets)

(pkts matched/bytes matched) 1688270/1533551526

(depth/total drops/no-buffer drops) 0/3723/0

Actions

This Discussion