QoS to limit bandwith to a particular app?

QoS to limit bandwith to a particular app?

Post by trbods » Sat, 25 Feb 2006 04:47:13


We run Lotus Notes that replicates to another server at another
location over a T1. I'm tyring to set up a policy that will say any
traffic destined for this server will be given "Lower" priority. I
don't care if this maxes out the link all day, as long as other data
will be able to flow freely over the link and the replication data will
take the back seat.

We are already using CBWFQ on our network, so I belive I have to stick
with that

I made an access list:

access-list 102 permit tcp any 10.90.3.91 0.0.0.0 range 1350 1352

Then I defined a class-map:

class-map NotesRepData
match access-group 102


Now I was going to put the class-map statement into our existing policy
which looks similar to this:

Poilcy-Map Voice
Class VoicePayload
Priority 880
Class VoiceSignaling
Priority 128
Class class-default
fair-queue

Here's where my problem comes in.. I don't know what I should put in
for my class here..

Poilcy-Map Voice
Class VoicePayload
Priority 880
Class VoiceSignaling
Priority 128
Class class-default
fair-queue

specific application, but what I really want to do is is just make this
data take a back seat. Do I need to define a traffic class that
encompases all traffic BUT this traffic?

Something like this:
(i.e. access-list 102 deny tcp any host 10.90.3.91 range 1350 1352
access-list 102 permit ip any any)

Then define a policy map:

Poilcy-Map Voice
Class VoicePayload
Priority 880
Class VoiceSignaling
Priority 128
Class NotesRepData
Bandwidth percent 100
Class class-default
fair-queue


This looks to me like Voice Traffic would still get priority, then
other data would get 100 percent of the remaining bandwidth, then
replication data would get whatever is left over.

I tried setting up priority-lists and priority-groups, but it told me
that CBWFQ is in use.

Any input is appreciated!

Thanks,
-DZ
 
 
 

QoS to limit bandwith to a particular app?

Post by ghsu200 » Mon, 27 Feb 2006 23:37:02

You could use Instead priority-list i found it easier

for example:
priority-list 1 protocol ip low tcp 1350
priority-list 1 protocol ip low tcp 1352

interface serial0/0 (or whatever is your T1)
priority-group 1

I hope that's help.

 
 
 

QoS to limit bandwith to a particular app?

Post by collins » Wed, 01 Mar 2006 13:37:41

How about doing this:

Create a class map such as:

class map not_Lotus
match not access-group 102


With CBWFQ you should not reserve more than 75% of the bandwidth.
Therefore 880 Kbps + 128 Kbps = 65% of the T1


Poilcy-Map Voice
Class VoicePayload
Priority 880
Class VoiceSignaling
Priority 128
Class Not_Lotus
Bandwidth percent 10
Class class-default
fair-queue
 
 
 

QoS to limit bandwith to a particular app?

Post by Charlie Ro » Thu, 02 Mar 2006 19:09:15


while you can configure several classes for priority queue, they will
actually all end-up in the same queue:

CE8#sh policy-map in se1/0 ou
Serial1/0

Service-policy output: LAB-WAN-OUT-01

Class-map: VOICE (match-any)
[...]
Queueing
Strict Priority
Output Queue: Conversation 264
[...]

Class-map: VOICE_CLASSIFY (match-all)
[...]
Queueing
Strict Priority
Output Queue: Conversation 264


Notice conversation ID. So it's just the same as you'd have assigned both
voicepayload and signalling to the same class. Besides, having 65% of the
line speed for priority queue will most likely leave other traffic no chance
to pass through because router will unconditionally serve priority queue as
long as there is traffic. Normally you shouldn't allocate above 20-30% for
priority queue.

Back to your original question, with CBWFQ 'priority queue' (LLQ, strict
priority) always get absolute service priority, that is this queue is served
as long as there are packets. When priority queue becomes empty all other
queues are served in round-robin fashion and in each round number of bytes
served from a queue (class) depends on configured 'bandwidth' parameter, but
there is no priority difference between non-LLQ classes, i.e. they're equal.
What you can do with your Lotus replication is to set upper limit allowed
for this traffic. For this you need dedicated class (as you have described),
then used WRED and 'police' or 'shape' for this class within policy-map, for
example:

Poilcy-Map Voice
...
Class NotesRepData
police rate percent 10 conform-action transmit exceed-action drop
violate-action drop
! or comment out above line and uncomment following:
! shape average percent 10
random-detect

Also, remember that QoS is activated only when interface TX-ring becomes
full, i.e. only if there is congestion.

Kind regards,
iLya