cancel
Showing results for 
Search instead for 
Did you mean: 
cancel
673
Views
0
Helpful
1
Replies

QOS on WAN: to use shape average or fair-queue

Ralphy006
Level 1
Level 1

Hi all,

I have a 300Mbps private circuit between 2 sites with 2921's on each side. There is a particular service (ie udp 1200) that HAS to work at all times on this circuit.

So even when the circuit is congested (ie via replication traffic), the udp 1200 has to be prioritized.

I have found 2 decent examples that I am having a hard time differentiating.

!EXAMPLE 1:

ip access-list extended EXAMPLE-ACL
permit udp any any eq 1200

class-map match-any EXAMPLE-CLASS-MAP
match access-group name EXAMPLE-ACL

policy-map QOS-POLICY-MAP
class EXAMPLE-CLASS-MAP
  priority percent 10
  set dscp ef
class class-default
 fair-queue

interface Gi0/2
bandwidth 300000
 description QMOE interface
 service-policy output QOS-POLICY-MAP

!In example 1, are these statements true?

-10% of 300Mbps will always be reserved for udp 1200, even during times of congestion

-If no udp 1200 is being used, the 300Mbps can be fully used by any other service

-Does the "fair-queue" shape or police the traffic? Or is it literally fifo?

-Can traffic go beyond 300Mbps if the link allows it to?

!EXAMPLE 2:

ip access-list extended EXAMPLE-SERVICES
permit udp any any eq 1200

class-map match-any EXAMPLE-CLASS-MAP
match access-group name EXAMPLE-ACL

policy-map QOS-POLICY-MAP
 class EXAMPLE-CLASS-MAP
  priority 30000
  set dscp ef
class class-default
 fair-queue

class-map match-all SHAPING
 match any

policy-map ALL
 class SHAPING
  shape average 300000
  service-policy QOS-POLICY-MAP


interface Gi0/2
 bandwidth 300000
 service-policy output ALL

!In example 2, are these statements true?

-30Mbps will always be reserved for udp 1200, even during times of congestion

-If no udp 1200 is being used, the 300Mbps can be fully used by any other service

-Any bandwidth that goes beyond 300Mbps will be shaped

Thanks in advance!!!

1 Accepted Solution

Accepted Solutions

Joseph W. Doherty
Hall of Fame
Hall of Fame

In example 1, are these statements true?

-10% of 300Mbps will always be reserved for udp 1200, even during times of congestion

No, but it works differently then you're thinking because you're using the priority statement.

-If no udp 1200 is being used, the 300Mbps can be fully used by any other service

Yes.

-Does the "fair-queue" shape or police the traffic? Or is it literally fifo?

Neither and no.  (FQ defines a set of queues that flows use, they are dequeued round-robin, unless WFQ is being used.)

-Can traffic go beyond 300Mbps if the link allows it to?

Yes.

!In example 2, are these statements true?

-30Mbps will always be reserved for udp 1200, even during times of congestion

No, and again, a priority bandwidth works differently.

-If no udp 1200 is being used, the 300Mbps can be fully used by any other service

Yes.

-Any bandwidth that goes beyond 300Mbps will be shaped

Yes.

The priority statement uses LLQ, which uses one FIFO queue for any/all classes so defined, and that one queue is dequeued before any other traffic.  Each class that's defined with priority also has an implicit policer that will drop traffic above the configured rate, if that traffic is queued.

For what you explained, you could do something like set your special traffic class to whatever bandwidth you know it should never exceed, your 30 Mbps (or 10% of your 300).  This would insure this traffic always goes first when there's congestion.  Do note, often traffic rates are averages, and short term intervals might go much higher, but a policer usually measures on a short term.  So, what happens, policers will often "unexpectively" drop traffic.

As an alternative, you could use an ordinary bandwidth statement, and configure it to provide the average needed bandwidth.  Short term bandwidth bursts would be queued rather than policed.

Additionally, LLQ should be reserved for traffic that really needs it, such as VoIP bearer traffic.

Also from what you explained, if you have a 300 Mbps CIR, with a gig hand-off, you'll want to shape like you do in your second example.  Otherwise, QoS won't engage until the physical interface congests.

Lastly, when using a shaper, most appear to only measure L3 throughput, but CIR are generally set as a L2 throughput, so I've found setting a shaper at about 15% slower than CIR allows for average L2 overhead.

View solution in original post

1 Reply 1

Joseph W. Doherty
Hall of Fame
Hall of Fame

In example 1, are these statements true?

-10% of 300Mbps will always be reserved for udp 1200, even during times of congestion

No, but it works differently then you're thinking because you're using the priority statement.

-If no udp 1200 is being used, the 300Mbps can be fully used by any other service

Yes.

-Does the "fair-queue" shape or police the traffic? Or is it literally fifo?

Neither and no.  (FQ defines a set of queues that flows use, they are dequeued round-robin, unless WFQ is being used.)

-Can traffic go beyond 300Mbps if the link allows it to?

Yes.

!In example 2, are these statements true?

-30Mbps will always be reserved for udp 1200, even during times of congestion

No, and again, a priority bandwidth works differently.

-If no udp 1200 is being used, the 300Mbps can be fully used by any other service

Yes.

-Any bandwidth that goes beyond 300Mbps will be shaped

Yes.

The priority statement uses LLQ, which uses one FIFO queue for any/all classes so defined, and that one queue is dequeued before any other traffic.  Each class that's defined with priority also has an implicit policer that will drop traffic above the configured rate, if that traffic is queued.

For what you explained, you could do something like set your special traffic class to whatever bandwidth you know it should never exceed, your 30 Mbps (or 10% of your 300).  This would insure this traffic always goes first when there's congestion.  Do note, often traffic rates are averages, and short term intervals might go much higher, but a policer usually measures on a short term.  So, what happens, policers will often "unexpectively" drop traffic.

As an alternative, you could use an ordinary bandwidth statement, and configure it to provide the average needed bandwidth.  Short term bandwidth bursts would be queued rather than policed.

Additionally, LLQ should be reserved for traffic that really needs it, such as VoIP bearer traffic.

Also from what you explained, if you have a 300 Mbps CIR, with a gig hand-off, you'll want to shape like you do in your second example.  Otherwise, QoS won't engage until the physical interface congests.

Lastly, when using a shaper, most appear to only measure L3 throughput, but CIR are generally set as a L2 throughput, so I've found setting a shaper at about 15% slower than CIR allows for average L2 overhead.