QoS quesiton !!!

Unanswered Question
Apr 28th, 2009
User Badges:
  • Gold, 750 points or more

I am trying to understand the below configuration and your help will be much appreciated


class-map match-any COSQ_VOIPI_NMC

match access-group 180

match access-group 178


class-map match-any COSP_VOIPV_NMC_NM

match access-group 180


class-map match-any COSP_VOIPV_NMC_RP

match access-group 178


policy-map PI_NMC

class COSP_VOIPV_NMC_NM

police 8000 8000 8000 conform-action set-dscp-transmit 18 exceed-action set-dscp-transmit 18

class COSP_VOIPV_NMC_RP

police 8000 8000 8000 conform-action set-dscp-transmit 48 exceed-action set-dscp-transmit 48


policy-map QI_ARNO_F928K_00001

class COSQ_VOIPI_NMC

bandwidth remaining percent 2

random-detect dscp-based

random-detect exponential-weighting-constant 1

random-detect dscp 18 100 200 10

random-detect dscp 48 200 300 10

service-policy PI_NMC


interface Serial0/0/0:0.100 point-to-point

description PVC to RPM <MLBRAUD1P03-0052> VPI/VCI 0/<1901>

bandwidth 528

ip address 32.29.54.230 255.255.255.252

ip access-group CISCO-SECURITY in

no cdp enable

frame-relay class MapClass_0

frame-relay interface-dlci 100


map-class frame-relay MapClass_0

frame-relay cir 928000

frame-relay bc 9280

frame-relay mincir 528000

frame-relay adaptive-shaping becn

service-policy output QI_ARNO_F928K_00001




My question is .. I was under the impresion that service-policy needs to be binded to an interface but why is the command 'service-policy PI_NMC' command being configured under the class COSQ_VOIPI_NMC ? what is it doing ?


Your help is much appreciated !!!



  • 1
  • 2
  • 3
  • 4
  • 5
Overall Rating: 5 (3 ratings)
Loading.
Pavel Bykov Wed, 04/29/2009 - 03:01
User Badges:
  • Silver, 250 points or more

This is an example of hierarchical QoS, or hQoS for short.

You have a class that applies main or "parent" rule, in you case it's 2% of the remaining bandwidth. But you also want to apply more granular parameter for the traffic inside that class (inside class COSQ_VOIPI_NMC). So what you do is create a secondary, or "shild" policy-map and apply it to the class. This way, everything that falls into COSQ_VOIPI_NMC class will receive 2% reservation from remaining bandwidth, and from that traffic what falls in COSP_VOIPV_NMC_NM class will be policed to 8k, same goes for COSP_VOIPV_NMC_RP class.


Jon Marshall Wed, 04/29/2009 - 03:02
User Badges:
  • Super Blue, 32500 points or more
  • Hall of Fame,

    Founding Member

  • Cisco Designated VIP,

    2017 LAN, WAN

Fernando


It is because you have a hierarchical QOS Policy configured.


Basically "policy-map QI_ARNO_F928K_00001" is bound to interface and this policy map applies to both sets of traffic ie. the policy map references class COSQ_VOIPI_NMC which matches on both acl's. So this policy map determines how much bandwidth etc. is allocated to the class, in this case 2% of remaining bandwidth.


But within that class you want to be more specific and treat each type of traffic slightly differently ie. if traffic is exceeded on the policer for class COSP_VOIPV_NMC_NM then the DSCP value should be set to 18. If traffic for the class COSP_VOIPV_NMC_RP is exceeded then set it to DSCP 48.


To do this type of QOS you have the overall policy map ie. QI_ARNO_F928K_00001 reference a service policy with then calls another policy map.


Hope this makes sense.


Jon


Fernando_Meza Wed, 04/29/2009 - 16:37
User Badges:
  • Gold, 750 points or more

Thanks to all of you guys,


Your explanations made things heaps clearer now.


As always .. I appreciate your help !!!


Joseph W. Doherty Wed, 04/29/2009 - 03:26
User Badges:
  • Super Bronze, 10000 points or more

". . . I was under the impresion that service-policy needs to be binded to an interface . . ."


No, often CBWFQ supports child policies. This is also known as hierarchical queuing.


"what is it doing ? "


It's marking traffic based on two different ACLs with two different DSCP markings. Although policers are being used, since the same marking is being used regardless of actual bandwidth usage of the traffic being matched, just setting the DSCP markings would provide the same functional results. The policers, however, might be used to provide additional stats for bandwidth usage of the two matched traffic classes.


PS:

Several things that are odd are: not using LLQ for VoIP traffic, using WRED against VoIP, using a minimum WRED exponential-weighting-constant, and allowing VoIP to queue so deeply (although overall queue depth not configured?).

Actions

This Discussion