Using Cisco AutoQoS

Deploying QoS can be complex (which is why there's a difficult CCVP exam dedicated just to the topic). To help ease the learning curve for QoS, Cisco created a mechanism called AutoQoS, which allows you to enable a variety of QoS mechanisms with very little QoS knowledge. AutoQoS ended up working so well out of the box that many network administrators who have full knowledge of the QoS capabilities and configuration on Cisco devices use it. AutoQoS has moved to this acclaimed status because it deploys a template QoS configuration in line with Cisco QoS best practices based on the bandwidth and encapsulation you have configured under each of your router or switch interfaces. This template-based QoS deployment offers multiple advantages to manual QoS configuration:

■ Reduces the time of deployment: Entering a single command on a device is much less time consuming than the potentially complex QoS configurations.

■ Provides configuration consistency: Using a single-command QoS template on each device ensures that all the devices use a similar QoS configuration that is not as prone to forgotten commands or mistypes.

■ Reduces deployment cost: It takes quite a bit of time and training to get fully up to speed on everything QoS has to offer.

■ Allows manual tuning: You can manually adjust and tune the template-based configuration deployed by AutoQoS to fit your specific network QoS requirements.

Before you can deploy AutoQoS on your network, you must first establish the trust boundary for your voice traffic. However, to understand the concept of a trust boundary, you must first have a basic understanding of QoS markings. As a device sends traffic, that traffic may or may not have QoS markings attached to it. These markings may or may not be trustworthy. For example, a Cisco IP phone marks all of its traffic with an extremely high priority. In this case, the markings are trustworthy because the audio traffic from the phone does indeed need high-priority service. However, a technology-savvy user might configure a computer to mark traffic from it with the same high-priority marking as the voice traffic. In this case, the marking is not trustworthy.

Now we can jump back to the concept of a trust boundary. The trust boundary is the point of the network where you begin trusting that the network traffic is accurately identified with the correct QoS marking. Depending on the capabilities of the devices on your network, you can you can begin applying QoS markings close to the user devices, as shown in Figure 8.17.

Endpoints s !

Figure 8.17 Possible QoS Trust Boundaries

Cisco IP phones have the ability to mark their own traffic as high priority and strip any high-priority markings from traffic sent by the attached PC. If you are using the Cisco IP phone to mark traffic, you have extended the trust boundary to point 1 shown in Figure 8.17. This is the ideal trust point because it distributes the QoS marking process to many Cisco IP phones rather than forcing the switches to apply QoS markings to a higher volume of traffic. If you have PCs attached to the network and you have access layer switches with QoS capabilities, you can begin marking at these devices (this is point 2 in Figure 8.17). If your access layer switches do not have QoS capabilities, then the first possible place you can apply QoS markings is at the distribution layer switches (shown as point 3 in Figure 8.17). This will work just fine; however, it adds an extra load to the distribution layer switches. Likewise, you will have network traffic passing through access layer switches without any QoS treatment. Although this is usually a safe bet—because access layer switches typically have higher-speed connections, on which congestion is rare—it is always best to apply QoS in as many places as possible where there is a potential bottleneck.

Note AutoQoS uses CDP to detect Cisco IP phones on Cisco switches and properly configure the QoS settings. This ensures that a user cannot disconnect their IP phone and attach another device to receive high-priority network treatment. Be sure you do not disable CDP on switches supporting Cisco IP phones.

Now we have come to the point of configuring AutoQoS. Amazingly, by Cisco's design, enabling AutoQoS is accomplished through a single command applied under interface configuration mode. To enable AutoQoS in your network, you must first identify the interfaces to which applying AutoQoS makes sense. AutoQoS does not need to be applied under every switch and router interface in your network (although it probably won't hurt anything if you did this). It primarily should be applied to interfaces on which the devices or applications need special or preferred treatment over others. Figure 8.18 shows a typical network. The interfaces labeled A represent areas of the network where you would use AutoQoS.

Access

Distribution

Core

WAN Agg.

Access

Distribution

Core

WAN Agg.

Trust Boundary
Figure 8.18 AutoQoS Configuration Points

As you can see from Figure 8.18, you'll be typing this one command quite a few times. Before you enter the AutoQoS command, always ensure that you have entered the correct bandwidth statement under the Serial interfaces of your routers, because a router cannot auto-detect the actual speed of a WAN connection. A router can detect all other interfaces without requiring the bandwidth command.

Note AutoQoS uses a sophisticated queuing method known as Low Latency Queuing (LLQ). This queuing method provisions a specific amount of bandwidth for the various types of network traffic, including voice. Using AutoQoS features with incorrectly configured bandwidth commands may cause substandard network service.

The AutoQoS command syntax may be slightly different depending on where you enter it. The syntax in Example 8.24 enables AutoQoS for the interfaces shown in Figure 8.18 that are connected to the Cisco IP phones.

Example 8.24 Enabling AutoQoS on the Access Layer Switchports

Voice_Switch# show run interface FastEthernet 0/3

Building configuration...

Current configuration : 169 bytes interface FastEthernet0/3 description CONNECTION TO IP PHONE switchport access vlan 10 switchport mode access switchport voice vlan 5 spanning-tree portfast end

Voice_Switch# config term

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

Voice_Switch(config)# interface fa0/3

Voice_Switch(config-if)# auto qos ? voip Configure AutoQoS for VoIP

Voice_Switch(config-if)# auto qos voip ?

cisco-phone Trust the QoS marking of Cisco IP Phone cisco-softphone Trust the QoS marking of Cisco IP SoftPhone trust Trust the DSCP/CoS marking

Voice_Switch(config-if)# auto qos voip cisco-phone

Voice_Switch(config-if)#

Voice_Switch# show run interface FastEthernet 0/3

Building configuration...

Current configuration : 510 bytes interface FastEthernet0/3 description CONNECTION TO IP PHONE switchport access vlan 10 switchport mode access switchport voice vlan 5 mls qos trust device cisco-phone mls qos trust cos auto qos voip cisco-phone wrr-queue bandwidth 10 20 70 1 wrr-queue min-reserve 1 5 wrr-queue min-reserve 2 6 wrr-queue min-reserve 3 7 wrr-queue min-reserve 4 8 wrr-queue cos-map 1 0 1 wrr-queue cos-map 2 2 4 wrr-queue cos-map 3 3 6 7 wrr-queue cos-map 4 5 priority-queue out spanning-tree portfast end

Notice the options given by the context-sensitive help when the auto qos voip ? command was entered. Entering the command auto qos voip cisco-phone or auto qos voip cisco-softphone will only enable the trust boundary if CDP detects a Cisco IP phone or Cisco IP Communicator (or equivalent Cisco IP SoftPhone device) attached to the port. If a user removes this device, the trust boundary is broken and will not be restored until the device is reattached. If you enter the command auto qos voip trust, the switch trusts the markings from the attached device regardless of what it is. You will need to use this command if you purchase non-Cisco IP phones. Keep in mind that using this command is susceptible to users removing the non-Cisco IP phone and attaching rogue devices.

Note Before the auto qos voip command was entered under the FastEthernet 0/3 interface in Example 8.24, a show run command was performed so that you could see the current syntax entered under the interface. Notice how many commands were generated after entering the auto qos voip command. It is very beneficial that the Cisco switch (and router) shows you all the individual commands so that you can optionally tune the settings to fit your environment exactly.

If the configuration generated by the auto qos voip command is not desired, you can remove this configuration simply by entering no auto qos voip.

Example 8.25 shows the AutoQoS syntax to use on the switch for the interface connecting to the router.

Example 8.25 Enabling AutoQoS on the Switch-Router Uplink Voice_Switch# show run interface FastEthernet 0/1 Building configuration... Current configuration : 169 bytes interface FastEthernet0/3

Example 8.25 Enabling AutoQoS on the Switch-Router Uplink continued description CONNECTION TO ROUTER switchport access vlan 10 switchport mode access spanning-tree portfast end

Voice_Switch# config term

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

Voice_Switch(config)# interface fa0/1

Voice_Switch(config-if)# auto qos voip trust

Voice_Switch(config-if)#

Voice_Switch# show run int fa0/1

Building configuration...

Current configuration : 369 bytes interface FastEthernet0/1 description CONNECTION TO ROUTER switchport access vlan 10 switchport mode access mls qos trust cos auto qos voip trust wrr-queue bandwidth 10 20 70 1 wrr-queue min-reserve 1 5 wrr-queue min-reserve 2 6 wrr-queue min-reserve 3 7 wrr-queue min-reserve 4 8 wrr-queue cos-map 1 0 1 wrr-queue cos-map 2 2 4 wrr-queue cos-map 3 3 6 7 wrr-queue cos-map 4 5 priority-queue out end

You can configure the interface between the switch and router with the auto qos voip trust command, because you would consider the QoS markings from the router as trusted.

Finally, you can enable AutoQoS on the router's FastEthernet and Serial interfaces with the syntax in Example 8.26.

Example 8.26 Enabling AutoQoS on Router Interfaces CME_Voice# show run int fa0/0 Building configuration...

interface FastEthernet0/0

ip address 172.30.4.3 255.255.255.0 ip nat inside ip virtual-reassembly duplex auto speed auto end

CME_Voice# show run int s0/1/0

Building configuration...

interface Serial0/1/0 bandwidth 512

ip address 10.1.1.1 255.255.255.0 encapsulation ppp no fair-queue clock rate 2000000 end

CME_Voice# configure terminal

Enter configuration commands, one per line. End with CNTL/Z. CME_Voice(config)# interface FastEthernet 0/0 CME_Voice(config-if)# auto ?

discovery Configure Auto Discovery qos Configure AutoQoS

CME_Voice(config-if)# auto qos voip trust CME_Voice(config-if)# exit CME_Voice(config)# interface Serial 0/1/0 CME_Voice(config-if)# auto qos voip trust CME_Voice(config-if)# 'Z CME_Voice# show run int fa0/0 Building configuration...

interface FastEthernet0/0 ip address 172.30.4.3 255.255.255.0 ip nat inside ip virtual-reassembly duplex auto speed auto auto qos voip trust service-policy output AutoQoS-Policy-Trust end

CME_Voice# show run int s0/1/0

Building configuration...

interface Serial0/1/0 bandwidth 512

Example 8.26 Enabling AutoQoS on Router Interfaces continued no ip address encapsulation ppp auto qos voip trust no fair-queue clock rate 2000000 ppp multilink ppp multilink group 2001100116 end

The changes to the router interfaces look relatively tame compared to the amount of syntax entered under the switch interfaces; however, what you are not seeing are the billion other commands (or perhaps slightly less than a billion) that were entered in other configuration modes of the router to create class maps, policy maps, multilink interfaces, and so on. The full explanation of those commands will be saved for the CCVP QoS material.

Note In Example 8.26, after entering the auto ? command under the FastEthernet interface, notice one of the options you are given is auto discovery. This enables a newer, ultra-incredible version of AutoQoS that allows the router to monitor your network for an extended time to discover known types of data, voice, and video traffic that are considered higher priority based on common high-priority application types. After the router has captured enough traffic, it will generate QoS policy recommendations that you can choose to apply or ignore.

Table 8.7 summarizes the different variations of AutoQoS commands you can enter on Cisco switch and router platforms.

Table 8.7 AutoQoS Syntax Variations

Command

Platform

Description auto qos volp

Router or Layer 3 switch auto qos voip trust

Router or switch auto qos volp clsco-phone Switch auto qos volp clsco-softphone Switch

Enables AutoQoS without trusting any existing markings on packets. The router will remark all traffic types using access lists or Network-Based Application Recognition (NBAR) to identify traffic (higher processor-utilization tasks).

Enables AutoQoS, trusting any existing QoS markings that enter the interface.

Enables AutoQoS, trusting any existing QoS markings that enter the interface only if the switch detects a Cisco IP phone attached through CDP.

Enables AutoQoS, trusting any existing QoS markings that enter the interface only if the switch detects a Cisco IP SoftPhone (such as Cisco IP Communicator) attached through CDP.

Note QoS engineers identify what have been called QoS markings in the previous section as Class of Service (CoS) and Type of Service (ToS) markings. CoS is a marking that exists in the Layer 2 header of a frame, which a switch can identify. ToS is a marking that exists in the Layer 3 header of a packet, which a router can identify. This topic is explored in depth in the material for the QoS CCVP certification exam.

Was this article helpful?

+1 0

Post a comment