Hierarchal QoS policies


HQoS

A final element to consider about MQC-based QoS tools is that these can be combined in a hierarchical fashion, meaning, MQC policies can contain other “nested” QoS policies within them. Such policy combinations are commonly referred to as Hierarchal QoS policies or HQoS policies. HQoS policies are crucial in some TelePresence deployment scenarios, particularly with respect to subline rate services like Metro Ethernet or MPLS VPN services (with Ethernet handoffs).
Syntactically, HQoS policies can be constructed within MQC by attaching the service-policy command to a per-class action within a policy map, rather than to an interface. Incidentally, the output keyword is not required for such a policy because this is implied.
Consider a couple of examples where HQoS policies might be useful. First, look at an example of nested HQoS policies using the same QoS tool (such as a hierarchical policer), and then take a look at HQoS policies using a combination of different QoS tools (such as an HQoS shaping with queuing policy).
In the first case, you might encounter scenarios where some applications require policing at multiple levels. For example, it might be desirable to limit all TCP traffic to 5 Mbps, while, at the same time, limiting FTP traffic (which is a subset of TCP traffic) to no more than 1.5 Mbps. To achieve this nested policing requirement, Hierarchical Policing can be used.
The policer at the second level in the hierarchy acts on packets transmitted or marked by the policer at the first level. Therefore, any packets dropped by the first level are not seen by the second level. Up to three nested levels are supported by the Cisco IOS Hierarchical Policing feature.
Example 1 shows the configuration for the nested, two-level, hierarchical policing of TCP and FTP traffic.
Example 1: Hierarchical Policing Policy Example

Router(config)# policy-map FTP-POLICER
Router(config-pmap)# class FTP
Router(config-pmap-c)# police cir 1500000
Router(config-pmap-c-police)# conform-action transmit
Router(config-pmap-c-police)# exceed-action drop
Router(config-pmap-c-police)# violate-action drop
Router(config-pmap-c)# exit
Router(config-pmap)# exit
Router(config)# policy-map TCP-POLICER
Router(config-pmap)# class TCP
Router(config-pmap-c)# police cir 5000000
Router(config-pmap-c-police)# conform-action transmit
Router(config-pmap-c-police)# exceed-action drop
Router(config-pmap-c-police)# violate-action drop
Router(config-pmap-c-police)# service-policy FTP-POLICER

Figure1 illustrates the logic of this hierarchical policing example.

 
Figure 1: Hierarchical policing logic example
Additionally, it is often useful to combine shaping and queuing policies in a hierarchical manner, particularly over subline rate access scenarios.
As previously discussed, queuing policies only engage when the physical interface is congested (as is indicated to IOS Software by a full Tx-Ring). This means that queuing policies never engage on media that has a contracted subline rate of access, whether this media is Frame Relay, ATM, or Ethernet. In such a scenario, queuing can be achieved only at a subline rate by introducing a two-part HQoS policy wherein
  • Traffic is shaped to the subline rate.
  • Traffic is queued according to the LLQ/CBWFQ policies within the subline rate.
With such an HQoS policy, it is not the Tx-Ring that signals IOS Software to engage LLQ/CBWFQ policies, but rather it is the Class-Based Shaper that triggers software queuing when the shaped rate has been reached.
Consider a practical example: A service provider offers an enterprise subscriber a GigabitEthernet handoff, but with a (subline rate) contract for only 60 Mbps, over which he wants to deploy IP Telephony and TelePresence and data applications. Normally, queuing policies will engage only on this GE interface when the offered traffic rate exceeds 1000 Mbps. However, the enterprise administrator wants to ensure that traffic within the 60 Mbps contracted rate is properly prioritized prior to the handoff so that both VoIP and TelePresence are given the highest levels of service. Therefore, he configures an HQoS policy so that the software shapes all traffic to the contracted 60 Mbps rate and attaches a nested LLQ/CBWFQ queuing policy within the shaping policy so that traffic is properly prioritized within this 60 Mbps subline rate. Finally, the shaping policy (with the nested queuing policy) is attached to the GE interface, as shown in Example 2.
Example 2: Hierarchical Shaping and Queuing Policy Example

Router(config)# class-map match-all VOIP
Router(config-cmap)# match dscp ef
Router(config-cmap)# ! Matches VoIP on DSCP EF
Router(config-cmap)# exit
Router(config)# class-map match-all TELEPRESENCE
Router(config-cmap)# match dscp cs4
Router(config-cmap)# ! Matches TelePresence on DSCP CS4 (per RFC4594)
Router(config-cmap)# exit
Router(config)#
Router(config)# policy-map LLQ-CBWFQ
Router(config-pmap)# class VOIP
Router(config-pmap-c)# priority percent 10
Router(config-pmap-c)# ! Provisions 6 Mbps of LLQ for VoIP
Router(config-pmap-c)# class TELEPRESENCE
Router(config-pmap-c)# priority percent 25
Router(config-pmap-c)# ! Provisions 15 Mbps of LLQ for TelePresence
Router(config-pmap-c)# class CALL-SIGNALING
Router(config-pmap-c)# bandwidth percent 5
Router(config-pmap-c)# class TRANSACTIONAL-DATA
Router(config-pmap-c)# bandwidth percent 20
Router(config-pmap-c)# class BULK-DATA
Router(config-pmap-c)# bandwidth percent 10
Router(config-pmap-c)# class class-default
Router(config-pmap-c)# fair-queue
Router(config-pmap-c)# exit
Router(config-pmap)# exit
Router(config)# 
Router(config)# policy-map HQoS-60MBPS
Router(config-pmap)# ! HQoS Shaping policy
Router(config-pmap)# class class-default
Router(config-pmap-c)# shape average 60000000 1200000
Router(config-pmap-c)# ! Rate=650Mbps; Bc=1.2Mb, Tc=20ms
Router(config-pmap-c)# service-policy LLQ-CBWFQ
Router(config-pmap-c)# ! Forces queuing policy to engage at sub-line rate
Router(config-pmap-c)# exit
Router(config-pmap)# exit
Router(config)#
Router(config)# interface GigabitEthernet0/1
Router(config-if)# description Access Edge (60 Mbps CIR over GE)
Router(config-if)# service-policy output HQoS-60MBPS
Router(config-if)# ! Attaches HQoS policy to GE interface
Router(config-if)# exit

Figure 2 illustrates the underlying mechanisms for this HQoS policy.

 
Figure 2: HQoS Policy: Shaping to a Subline Rate with Queuing Within the Shaped Rate

1 comment:

Post a Comment