Table Of Contents
Prerequisites for Per Tunnel QoS
Information About Per Tunnel QoS
How to Configure Per Tunnel QoS
Configuring an NHRP Group on a Spoke
Mapping an NHRP Group to a QoS Policy on a Hub
Configuration Examples for Per Tunnel QoS
Configuring an NHRP Group on a Spoke: Example
Mapping an NHRP Group to a QoS Policy on a Hub: Example
Verifying Per Tunnel QoS: Examples
Feature Information for Per Tunnel QoS
Per Tunnel QoS
First Published: October 10, 2008Last Updated: October 10, 2008The Per Tunnel QoS feature provides per-tunnel quality of service (QoS) support for Dynamic Multipoint VPNs (DMVPNs) and IP Security (IPSec) Virtual Tunnel Interfaces (VTIs). This feature is independent of IPSec (meaning that you can use it with DMVPNs with or without IPSec).
For DMVPNs, this feature lets you dynamically apply a unique QoS policy on the hub for each spoke. The QoS policy for each spoke is applied to hub-to-spoke tunnels in the egress direction.
For IPSec VTIs, this release improves performance of the existing per-tunnel QoS feature by changing , the type of queuing to HQF (where queuing happens at the egress physical interface instead of in the switching path).
Finding Feature Information
Your software release may not support all the features documented in this module. For the latest feature information and caveats, see the release notes for your platform and software release. To find information about the features documented in this module, and to see a list of the releases in which each feature is supported, see the "Feature Information for Per Tunnel QoS" section.
Use Cisco Feature Navigator to find information about platform support and Cisco IOS, Catalyst OS, and Cisco IOS XE software image support. To access Cisco Feature Navigator, go to http://www.cisco.com/go/cfn. An account on Cisco.com is not required.
Contents
•
"Prerequisites for Per Tunnel QoS" section
•
"Information About Per Tunnel QoS" section
•
"How to Configure Per Tunnel QoS" section
•
"Configuration Examples for Per Tunnel QoS" section
•
"Additional References" section
•
"Feature Information for Per Tunnel QoS" section
Prerequisites for Per Tunnel QoS
Before you can configure per tunnel QoS, you must configure Cisco Express Forwarding (CEF) switching.
Information About Per Tunnel QoS
In a Cisco DMVPN network, a hub is typically a high-end router, while spokes can be low-end to high-end routers (which vary greatly in link speed and data processing capability). Without the Per Tunnel QoS feature, you cannot regulate traffic from the hub to spokes on a per-spoke basis (meaning that you cannot apply a unique QoS policy on the hub on a per-spoke basis). This means that a small spoke can be overrun by the hub, and a "greedy" spoke can place great demands on the hub's resources and "starve" other spokes. The Per-tunnel-QoS feature solves this problem.
Without the Per Tunnel QoS feature, the Cisco IOS pre-encryption QoS implementation (called LLQ before encryption) increases jitter when packets are queued before encryption. The implementation also reorders packets in the QoS queues after the IPSec sequence numbers are issued (which increases the effect of anti-replay packet drops). Per Tunnel QoS improves the interworking of QoS and IPSec by applying QoS (including complete QoS classification and traffic shaping) per security association (SA) before encryption.
To configure the Per Tunnel QoS feature, you should understand the following concept:
Benefits of Per Tunnel QoS
Per Tunnel QoS provides the following benefits:
•
Increases DMVPN cloud sizes beyond 300 spokes per multipoint GRE (MGRE) interface (which lowers the number of hubs needed to deploy a DMVPN network)
•
Improves QoS policies at a hub to shape hub traffic destined to spokes (which decreases the likelihood of overwhelming smaller spokes that have slower CPUs)
•
Improves anti-replay checks to inhibit anti-replay windowing attacks
•
Prioritizes multicast over nonmulticast traffic on a per hub-spoke or spoke-to-spoke tunnel basis
How to Configure Per Tunnel QoS
To configure the Per Tunnel QoS feature, you define a Next Hop Resolution Protocol (NHRP) group on a spoke and then map the NHRP group to a QoS policy on a hub.
This section contains the following procedures:
•
Configuring an NHRP Group on a Spoke (required)
•
Mapping an NHRP Group to a QoS Policy on a Hub (required)
•
Verifying Per Tunnel QoS (optional)
Configuring an NHRP Group on a Spoke
To configure an NHRP group on a spoke, perform the steps in this section.
SUMMARY STEPS
1.
enable
2.
configure terminal
3.
hostname name
4.
interface type number
5.
ip address address mask
6.
ip nhrp authentication string-name
7.
ip nhrp group group-name
8.
ip nhrp map multicast address
9.
ip nhrp map ip-address ip-address
10.
ip nhrp network-id number
11.
ip nhrp nhs address
12.
tunnel source interface-type interface-number
13.
tunnel mode gre multipoint
14.
tunnel key key-number
15.
interface type number
16.
ip address address mask
17.
router eigrp block-name
18.
network ip-address wildcard-mask
19.
no auto-summary
20.
router ospf process-id
21.
router-id ip-address
22.
log-adjacency-changes
23.
network ip-address wildcard-mask area area-id
24.
end
DETAILED STEPS
Mapping an NHRP Group to a QoS Policy on a Hub
To map an NHRP group to a QoS policy on a hub, perform the steps in this section.
SUMMARY STEPS
1.
enable
2.
configure terminal
3.
interface type number
4.
ip nhrp map group group-name service-policy output qos-policy-map-name
5.
end
DETAILED STEPS
Verifying Per Tunnel QoS
To verify Per Tunnel QoS, perform the steps in this section.
SUMMARY STEPS
1.
enable
2.
show dmvpn
3.
show ip nhrp
4.
show ip nhrp group-map
5.
show policy-map multipoint tunnel tunnel-interface-number
DETAILED STEPS
Configuration Examples for Per Tunnel QoS
This section provides the following configuration examples:
•
Configuring an NHRP Group on a Spoke: Example
•
Mapping an NHRP Group to a QoS Policy on a Hub: Example
•
Verifying Per Tunnel QoS: Examples
Configuring an NHRP Group on a Spoke: Example
The following example shows how to configure an NHRP group on a spoke:
hostname 504Spokeinterface Tunnel0ip address 172.16.200.4 255.255.255.0ip mtu 1400ip nhrp authentication ciscoip nhrp group golmip nhrp map multicast 206.1.0.2ip nhrp map 172.16.200.2 206.1.0.2ip nhrp network-id 99ip nhrp holdtime 300ip nhrp nhs 172.16.200.2ip tcp adjust-mss 1360delay 1000tunnel source Ethernet0/0tunnel mode gre multipointtunnel key 1000interface Ethernet0/0ip address 206.2.0.4 255.255.255.0router eigrp 1network 172.16.200.0 0.0.0.255no auto-summaryrouter ospf 1router-id 4.4.4.4log-adjacency-changesnetwork 206.2.0.0 0.0.0.255 area 0endMapping an NHRP Group to a QoS Policy on a Hub: Example
The following example shows how to map an NHRP group to a QoS policy on a hub:
hostname hubclass-map match-all childmatch ip dscp efpolicy-map childclass childpriority percent 10policy-map parentclass class-defaultshape average 10000000service-policy childinterface Tunnel0ip address 172.16.200.2 255.255.255.0ip mtu 1400no ip next-hop-self eigrp 1ip nhrp authentication ciscoip nhrp map multicast dynamicip nhrp map group golm service-policy output parentip nhrp network-id 99ip nhrp holdtime 300no ip split-horizon eigrp 1delay 1000tunnel source Ethernet0/1tunnel mode gre multipointtunnel key 1000interface Ethernet0/1ip address 206.1.0.2 255.255.255.0router eigrp 1network 172.16.200.0 0.0.0.255no auto-summaryrouter ospf 1router-id 2.2.2.2log-adjacency-changesnetwork 206.1.0.0 0.0.0.255 area 0endVerifying Per Tunnel QoS: Examples
The following example shows how to display the information about NHRP group received from the spoke and the QoS policy applied to the spoke tunnel:
Router# show dmvpn detailLegend: Attrb --> S - Static, D - Dynamic, I - IncompleteaN - NATed, L - Local, X - No Socket# Ent --> Number of NHRP entries with same NBMA peer-------------- Interface Tunnel0 info: --------------Intf. is up, Line Protocol is up, Addr. is 10.0.0.1Source addr: 172.17.0.1, Dest addr: MGREProtocol/Transport: "multi-GRE/IP", Protect "dmvpn-profile",Tunnel VRF "", ip vrf forwarding ""NHRP Details:Type:Hub, NBMA Peers:2# Ent Peer NBMA Addr Peer Tunnel Add State UpDn Tm Attrb Target Network----- --------------- --------------- ----- -------- ----- -----------------1 172.17.0.2 10.0.0.2 UP 00:19:57 D 10.0.0.2/32NHRP group: test-group-0Output QoS service-policy applied: queueingIKE SA: local 172.17.0.1/500 remote 172.17.0.2/500 ActiveCrypto Session Status: UP-ACTIVEfvrf: (none), Phase1_id: 172.17.0.2IPSEC FLOW: permit 47 host 172.17.0.1 host 172.17.0.2Active SAs: 2, origin: crypto mapOutbound SPI : 0x44E4E634, transform : esp-des esp-sha-hmacSocket State: OpenIKE SA: local 172.17.0.1/500 remote 172.17.0.2/500 ActiveIPSEC FLOW: permit 47 host 172.17.0.1 host 172.17.0.2Active SAs: 2, origin: crypto mapOutbound SPI : 0x44E4E634, transform : esp-des esp-sha-hmacSocket State: Open# Ent Peer NBMA Addr Peer Tunnel Add State UpDn Tm Attrb Target Network----- --------------- --------------- ----- -------- ----- -----------------1 172.17.0.3 10.0.0.3 UP 00:02:21 D 10.0.0.3/32NHRP group: test-group-0Output QoS service-policy applied: queueingIKE SA: local 172.17.0.1/500 remote 172.17.0.3/500 ActiveCrypto Session Status: UP-ACTIVEfvrf: (none), Phase1_id: 172.17.0.3IPSEC FLOW: permit 47 host 172.17.0.1 host 172.17.0.3Active SAs: 2, origin: crypto mapOutbound SPI : 0xBF13C9CC, transform : esp-des esp-sha-hmacSocket State: OpenIKE SA: local 172.17.0.1/500 remote 172.17.0.3/500 ActiveIPSEC FLOW: permit 47 host 172.17.0.1 host 172.17.0.3Active SAs: 2, origin: crypto mapOutbound SPI : 0xBF13C9CC, transform : esp-des esp-sha-hmacSocket State: Open-------------- Interface Tunnel1 info: --------------Intf. is up, Line Protocol is up, Addr. is 11.0.0.1Source addr: 172.17.0.1, Dest addr: MGREProtocol/Transport: "multi-GRE/IP", Protect "dmvpn-profile",Tunnel VRF "", ip vrf forwarding ""NHRP Details:Type:Hub, NBMA Peers:1# Ent Peer NBMA Addr Peer Tunnel Add State UpDn Tm Attrb Target Network----- --------------- --------------- ----- -------- ----- -----------------1 172.17.0.2 11.0.0.2 UP 00:20:01 D 11.0.0.2/32NHRP group: test-group-1Output QoS service-policy applied: queueingPending DMVPN Sessions:The following example shows how to display information about the NHRP group that is being received from the spoke. You enter this command on the hub:
Router# show ip nhrp10.0.0.11/32 via 10.0.0.11Tunnel0 created 21:24:03, expire 00:04:01Type: dynamic, Flags: unique registeredNBMA address: 172.16.1.1Group: typeA10.0.0.12/32 via 10.0.0.12Tunnel0 created 21:22:33, expire 00:05:30Type: dynamic, Flags: unique registeredNBMA address: 172.16.2.1Group: typeB10.0.0.13/32 via 10.0.0.13Tunnel0 created 00:09:04, expire 00:04:05Type: dynamic, Flags: unique registeredNBMA address: 172.16.3.1Group: typeAThe following example shows how to display the details of NHRP group mappings on a hub and the list of tunnels using each of the NHRP groups defined in the mappings. You enter this command on the hub:
Router# show ip nhrp group-mapInterface: Tunnel0NHRP group: typeAQoS policy: typeA_parentTunnels using the QoS policy:Tunnel destination overlay/transport address10.0.0.11/172.16.1.110.0.0.13/172.16.3.1NHRP group: typeBQoS policy: typeB_parentTunnels using the QoS policy:Tunnel destination overlay/transport address10.0.0.12/172.16.2.1The following example shows how to display the details of the mapping for a group named test-group-0 on a hub and the list of tunnels using the NHRP group defined in the mapping. You enter this command on the hub:
Router# show ip nhrp group-map test-group-0Interface: Tunnel0NHRP group: test-group-0QoS policy: queueingTunnels using the QoS policy:Tunnel destination overlay/transport address10.0.0.2/172.17.0.210.0.0.3/172.17.0.3The following example shows how to display statistics about a specific QoS policy as it is applied to a tunnel endpoint. You enter this command on the hub:
Router# show policy-map multipoint tunnel 0Interface Tunnel0 <--> 206.2.0.4Service-policy output: parentClass-map: class-default (match-any)235535 packets, 21541047 bytes5 minute offered rate 0 bps, drop rate 0 bpsMatch: anyQueueingqueue limit 2500 packets(queue depth/total drops/no-buffer drops) 0/0/0(pkts output/bytes output) 0/0shape (average) cir 10000000, bc 40000, be 40000target shape rate 10000000Service-policy : childqueue stats for all priority classes:queue limit 250 packets(queue depth/total drops/no-buffer drops) 0/0/0(pkts output/bytes output) 0/0Class-map: child (match-all)0 packets, 0 bytes5 minute offered rate 0 bps, drop rate 0 bpsMatch: ip dscp ef (46)Priority: 10% (1000 kbps), burst bytes 25000, b/w exceed drops: 0Class-map: class-default (match-any)235535 packets, 21541047 bytes5 minute offered rate 0 bps, drop rate 0 bpsMatch: anyqueue limit 2250 packets(queue depth/total drops/no-buffer drops) 0/0/0(pkts output/bytes output) 0/0Additional References
The following sections provide references related to the Per Tunnel QoS feature.
Related Documents
Related Topic Document TitleGeneral information about QoS
"IP Access List Overview" module in the Cisco IOS Security Configuration Guide, Release 12.4T
Configuring hierarchical queuing
"QoS—Hierarchical Queueing Framework (HQF)" module in the Cisco IOS Quality of Service Solutions Configuration Guide, Release 12.4T
Security commands
Standards
MIBs
MIB MIBs LinkNone
To locate and download MIBs for selected platforms, Cisco IOS releases, and feature sets, use Cisco MIB Locator found at the following URL:
RFCs
RFC TitleNo new or modified RFCs are supported by this feature, and support for existing RFCs has not been modified by this feature.
—
Technical Assistance
Feature Information for Per Tunnel QoS
Table 1 lists the features in this module and provides links to specific configuration information. Only features that were introduced or modified in Cisco IOS Releases 12.2(1), 12.0(3)S, 12.2(33)SRA, 12.2(33)SXH, or later releases appear in the table.
Not all commands may be available in your Cisco IOS software release. For release information about a specific command, see the command reference documentation.
Use Cisco Feature Navigator to find information about platform support and software image support. Cisco Feature Navigator enables you to determine which Cisco IOS, Catalyst OS, and Cisco IOS XE software images support a specific software release, feature set, or platform. To access Cisco Feature Navigator, go to http://www.cisco.com/go/cfn. An account on Cisco.com is not required.
Note
Table 1 lists only the Cisco IOS software release that introduced support for a given feature in a given Cisco IOS software release train. Unless noted otherwise, subsequent releases of that Cisco IOS software release train also support that feature.
Table 1 Feature Information for Per Tunnel QoS
Feature Name Releases Feature InformationPer Tunnel QoS
12.4(22)T
The Per Tunnel QoS feature provides per-tunnel quality of service (QoS) support for Dynamic Multipoint VPNs (DMVPNs) and IP Security (IPSec) Virtual Tunnel Interfaces (VTIs). This feature is independent of IPSec (meaning that you can use it with DMVPNs with or without IPSec).
For DMVPNs, this feature lets you dynamically apply a unique QoS policy on the hub for each spoke. The QoS policy for each spoke is applied to hub-to-spoke tunnels in the egress direction.
For IPSec VTIs, per-tunnel QoS support existed prior to 12.4(22)T, but with this release, the type of queuing is now HQF (where queuing happens at the egress physical interface instead of in the switching path). This modification improves performance.
The following sections provide information about this feature:
•
Configuring an NHRP Group on a Spoke
•
Mapping an NHRP Group to a QoS Policy on a Hub
The following commands were introduced or modified: ip nhrp group, ip nhrp map, ip nhrp map group, show dmvpn, show ip nhrp, show ip nhrp group-map, show policy-map multipoint tunnel.
CCDE, CCENT, Cisco Eos, Cisco Lumin, Cisco Nexus, Cisco StadiumVision, Cisco TelePresence, Cisco WebEx, the Cisco logo, DCE, and Welcome to the Human Network are trademarks; Changing the Way We Work, Live, Play, and Learn and Cisco Store are service marks; and Access Registrar, Aironet, AsyncOS, Bringing the Meeting To You, Catalyst, CCDA, CCDP, CCIE, CCIP, CCNA, CCNP, CCSP, CCVP, Cisco, the Cisco Certified Internetwork Expert logo, Cisco IOS, Cisco Press, Cisco Systems, Cisco Systems Capital, the Cisco Systems logo, Cisco Unity, Collaboration Without Limitation, EtherFast, EtherSwitch, Event Center, Fast Step, Follow Me Browsing, FormShare, GigaDrive, HomeLink, Internet Quotient, IOS, iPhone, iQuick Study, IronPort, the IronPort logo, LightStream, Linksys, MediaTone, MeetingPlace, MeetingPlace Chime Sound, MGX, Networkers, Networking Academy, Network Registrar, PCNow, PIX, PowerPanels, ProConnect, ScriptShare, SenderBase, SMARTnet, Spectrum Expert, StackWise, The Fastest Way to Increase Your Internet Quotient, TransPath, WebEx, and the WebEx logo are registered trademarks of Cisco Systems, Inc. and/or its affiliates in the United States and certain other countries.
All other trademarks mentioned in this document or website are the property of their respective owners. The use of the word partner does not imply a partnership relationship between Cisco and any other company. (0809R)
Any Internet Protocol (IP) addresses used in this document are not intended to be actual addresses. Any examples, command display output, and figures included in the document are shown for illustrative purposes only. Any use of actual IP addresses in illustrative content is unintentional and coincidental.
© 2008 Cisco Systems, Inc. All rights reserved.

