Prerequisites for RSVP Application ID Support
You must configure Resource Reservation Protocol (RSVP) on one or more interfaces on at least two neighboring routers that share a link within the network.
The documentation set for this product strives to use bias-free language. For the purposes of this documentation set, bias-free is defined as language that does not imply discrimination based on age, disability, gender, racial identity, ethnic identity, sexual orientation, socioeconomic status, and intersectionality. Exceptions may be present in the documentation due to language that is hardcoded in the user interfaces of the product software, language used based on RFP documentation, or language that is used by a referenced third-party product. Learn more about how Cisco is using Inclusive Language.
The RSVP Application ID Support feature introduces application-specific reservations, which enhance the granularity for local policy match criteria so that you can manage quality of service (QoS) on the basis of application type.
You must configure Resource Reservation Protocol (RSVP) on one or more interfaces on at least two neighboring routers that share a link within the network.
RSVP policies apply only to PATH, RESV, PATHERROR, and RESVERROR messages.
Merging of global and interface-based local policies is not supported; therefore, you cannot match on multiple policies.
Multiple applications such as voice and video need RSVP support. RSVP admits requests until the bandwidth limit is reached. RSVP does not differentiate between the requests and is not aware of the type of application for which the bandwidth is requested.
As a result, RSVP can exhaust the allowed bandwidth by admitting requests that represent just one type of application, causing all subsequent requests to be rejected because of unavailable bandwidth. For example, a few video calls could prevent all or most of the voice calls from being admitted because the video calls require a large amount of bandwidth and not enough bandwidth remains to accommodate the voice calls. With this limitation, you would probably not deploy RSVP for multiple applications especially if voice happens to be one of the applications for which RSVP is required.
The solution is to allow configuration of separate bandwidth limits for individual applications or classes of traffic. Limiting bandwidth per application requires configuring a bandwidth limit per application and having each reservation flag the application to which the reservation belongs so that it can be admitted against the appropriate bandwidth limit.
Application and Sub Application Identity Policy Element for Use with RSVP (Internet Engineering Task Force (IETF) RFC 2872) allows for creation of separate bandwidth reservation pools. For example, an RSVP reservation pool can be created for voice traffic, and a separate RSVP reservation pool can be created for video traffic. This prevents video traffic from overwhelming voice traffic.
Note |
Before the introduction of the RSVP Application ID Support feature, provision was made to create Access Control Lists (ACLs) that matched on the differentiated services code points (DSCPs) of the IP header in an RSVP message. However, multiple applications could use the same DSCP; therefore, you could not uniquely identify applications in order to define separate policies for them. |
The figure below shows a sample solution in which application ID support is used. In this example, bandwidth is allocated between the voice and video sessions that are being created by Cisco Unified Communications Manager (CUCM). Video requires much more bandwidth than voice, and if you do not separate the reservations, the video traffic could overwhelm the voice traffic.
CUCM uses the RSVP Application ID Support feature. In this example, when CUCM makes the RSVP reservation, CUCM can specify whether the reservation should be made against a video RSVP bandwidth pool or a voice RSVP bandwidth pool. If not enough bandwidth remains in the requested pool, even though there is enough bandwidth in the total RSVP allocation, RSVP signals CUCM that there is a problem with the reservation. The figure below shows some of the signaling and data traffic that is sent during the session setup.
IMAGE MISSING; embedded not referenced
In this scenario, the IP phones and IP video devices do not directly support RSVP. In order to allow RSVP to reserve the bandwidth for these devices, the RSVP agent component in the Cisco IOS router creates the reservation. While setting up the voice or video session, CUCM communicates with the RSVP agent and sends the parameters to reserve the necessary bandwidth.
When you want to make a voice or video call, the device signals CUCM. CUCM signals the RSVP agent, specifying the RSVP application ID that corresponds to the type of call, which is voice or video in this example. The RSVP agents establish the RSVP reservation across the network and communicate to CUCM that the reservation has been made. CUCM then completes the session establishment, and the Real-Time Transport Protocol (RTP) traffic streams flow between the phones (or video devices). If the RSVP agents are unable to create the bandwidth reservations for the requested application ID, they communicate that information back to CUCM, which signals this information back to you.
You can configure RSVP policies globally and on a per-interface basis. You can also configure multiple global policies and multiple policies per interface.
Global RSVP policies restrict how much RSVP bandwidth a router uses regardless of the number of interfaces. You should configure a global policy if your router has CPU restrictions, one interface, or multiple interfaces that do not require different bandwidth limits.
Per-interface RSVP policies allow you to configure separate bandwidth pools with varying limits so that no one application, such as video, can consume all the RSVP bandwidth on a specified interface at the expense of other applications, such as voice, which would be dropped. You should configure a per-interface policy when you need greater control of the available bandwidth.
RSVP searches for policies whenever an RSVP message is processed. The policy informs RSVP if any special handling is required for that message.
If your network configuration has global and per-interface RSVP policies, the per-interface policies are applied first; that is, the RSVP looks for policy-match criteria in the order in which the policies were configured. RSVP searches for policy-match criteria in the following order:
Nondefault interface policies
Default interface policy
Nondefault global policies
Global default policy
If RSVP finds no policy-match criteria, it accepts all incoming messages. To change this decision from accept to reject, use the ip rsvp policy default-reject command.
Preemption happens when one reservation receives priority over another because there is insufficient bandwidth in an RSVP pool. There are two types of RSVP bandwidth pools: local policy pools and interface pools. Local policies can be global or interface-specific. RSVP performs admission control against these pools when a RESV message arrives.
If an incoming reservation request matches an RSVP local policy that has an RSVP bandwidth limit (as configured with the maximum bandwidth group submode command) and that limit has been reached, RSVP tries to preempt other lower-priority reservations admitted by that policy. When there are too few of these lower-priority reservations, RSVP rejects the incoming reservation request. Then RSVP looks at the interface bandwidth pool that you configured by using the ip rsvp bandwidth command. If that bandwidth limit has been reached, RSVP tries to preempt other lower-priority reservations on that interface to accommodate the new reservation request. At this point, RSVP does not consider which local policies admitted the reservations. When not enough bandwidth on that interface pool can be preempted, RSVP rejects the new reservation even though the new reservation was able to obtain bandwidth from the local policy pool.
Preemption can also happen when you manually reconfigure an RSVP bandwidth pool of any type to a lower value such that the existing reservations using that pool no longer fit in the pool.
If a received RSVP PATH or RESV message contains preemption priorities (signaled with an IETF RFC 3181 preemption priority policy element inside an IETF RFC 2750 POLICY_DATA object) and the priorities are higher than those contained in the matching local policy (if any), the offending message is rejected and a PATHERROR or RESVERROR message is sent in response. If the priorities are approved by the local policy, they are stored with the RSVP state in the device and forwarded to its neighbors.
If a received RSVP PATH or RESV message does not contain preemption priorities (as previously described) and you issued a global ip rsvp policy preempt command, and the message matches a local policy that contains a preempt-priority command, a POLICY_DATA object with a preemption priority element that contains the local policy’s priorities is added to the message as part of the policy decision. These priorities are then stored with the RSVP state in the device and forwarded to neighbors.
The ip rsvp policy preempt command controls whether a router preempts any reservations when required. When you issue this command, a RESV message that subsequently arrives on an interface can preempt the bandwidth of one or more reservations on that interface if the assigned setup priority of the new reservation is higher than the assigned hold priorities of the installed reservations.
The RSVP Application ID Support feature provides the following benefits:
Allows RSVP to identify applications uniquely and to separate bandwidth pools to be created for different applications so that one application cannot consume all the available bandwidth, thereby forcing others to be dropped.
Integrates with the RSVP agent and CUCM to provide a solution for call admission control (CAC) and QoS for VoIP and video conferencing applications in networks with multitiered, meshed topologies using signaling protocols such as Signaling Connection Control Part (SCCP) to ensure that a single application does not overwhelm the available reserved bandwidth.
Functions with any endpoint that complies with RFC 2872 or RFC 2205.
You can configure application IDs and local policies to use with RSVP-aware software programs such as CUCM or to use with non-RSVP-aware applications such as static PATH and RESV messages.
Command or Action | Purpose | |||
---|---|---|---|---|
Step 1 |
enable Example:
|
Enables privileged EXEC mode.
|
||
Step 2 |
configure terminal Example:
|
Enters global configuration mode. |
||
Step 3 |
ip rsvp policy identity alias policy-locator locator Example:
|
Defines RSVP application IDs to use as match criteria for local policies.
|
||
Step 4 |
Repeat Step 3 as needed to configure additional application IDs. |
Defines additional application IDs. |
||
Step 5 |
end Example:
|
Exits global configuration mode and returns to privileged EXEC mode. |
Configure a local policy globally, or on an interface, or both.
Command or Action | Purpose | |||
---|---|---|---|---|
Step 1 |
enable Example:
|
Enables privileged EXEC mode.
|
||
Step 2 |
configure terminal Example:
|
Enters global configuration mode. |
||
Step 3 |
ip rsvp policy local {acl acl1 [acl2...acl8 ] | dscp-ip value1 [value2 ...value8 ] | default | identity alias1 [alias2 ...alias4 ] | origin-as as1 [as2...as8 ]} Example:
|
Creates a local policy to determine how RSVP resources are used in a network and enters local policy configuration mode.
|
||
Step 4 |
Repeat Step 3 as needed to configure additional local policies. |
(Optional) Configures additional local policies. |
||
Step 5 |
Enter the submode commands as required. |
(Optional) Defines the properties of the local policy that you are creating.
|
||
Step 6 |
end Example:
|
Exits local policy configuration mode and returns to privileged EXEC mode. |
Command or Action | Purpose | |||
---|---|---|---|---|
Step 1 |
enable Example:
|
Enables privileged EXEC mode.
|
||
Step 2 |
configure terminal Example:
|
Enters global configuration mode. |
||
Step 3 |
interface type slot / subslot / port Example:
|
Configures the interface type and number and enters interface configuration mode. |
||
Step 4 |
Repeat Step 3 as needed to configure a local policy on additional interfaces. |
(Optional) Configures additional interfaces. |
||
Step 5 |
ip rsvp bandwidth [interface-kbps [single-flow-kbps [bc1 kbps | sub-pool kbps ]] | percent percent-bandwidth [single-flow-kbps ]] Example:
|
Enables RSVP on an interface.
|
||
Step 6 |
Repeat Step 5 as needed to configure bandwidth for additional interfaces. |
(Optional) Configures bandwidth for additional interfaces. |
||
Step 7 |
ip rsvp policy local {acl acl1 [acl2...acl8 ] | dscp-ip value1 [value2 ...value8 ] | default | identity alias1 [alias2 ...alias4 ] | origin-as as1 [as2...as8 ]} Example:
|
Creates a local policy to determine how RSVP resources are used in a network.
|
||
Step 8 |
Repeat Step 7 as needed to configure additional local policies. |
(Optional) Configures additional local policies. |
||
Step 9 |
Enter the submode commands as required. |
(Optional) Defines the properties of the local policy that you are creating and enters local policy configuration mode.
|
||
Step 10 |
end Example:
|
Exits local policy configuration mode and returns to privileged EXEC mode. |
Refer to the Configuring an RSVP Application ID.
Perform this task to configure a static RSVP sender with an application ID to make the router proxy an RSVP PATH message containing an application ID on behalf of an RSVP-unaware sender application.
Command or Action | Purpose | |||
---|---|---|---|---|
Step 1 |
enable Example:
|
Enables privileged EXEC mode.
|
||
Step 2 |
configure terminal Example:
|
Enters global configuration mode. |
||
Step 3 |
ip rsvp sende r-host session-ip-address sender-ip-address {ip-protocol |tcp | udp } session-dest-port sender-source-port bandwidth burst-size [identity alias ] Example:
|
Enables a router to simulate a host generating RSVP PATH messages.
|
||
Step 4 |
end Example:
|
Exits global configuration mode and returns to privileged EXEC mode. |
Perform this task to configure a static RSVP receiver with an application ID to make the router proxy an RSVP RESV message containing an application ID on behalf of an RSVP-unaware receiver application.
Note |
You can also configure a static listener to use with an application ID. If an incoming PATH message contains an application ID and/or a preemption priority value, the listener includes them in the RESV message sent in reply. See the Feature Information for RSVP Application ID Support for more information. |
Note |
Use the ip rsvp reservation-host command if the router is the destination, or the ip rsvp reservation command to have the router proxy on behalf of a downstream host. |
Command or Action | Purpose | |||||
---|---|---|---|---|---|---|
Step 1 |
enable Example:
|
Enables privileged EXEC mode.
|
||||
Step 2 |
configure terminal Example:
|
Enters global configuration mode. |
||||
Step 3 |
Do one of the following:
Example:
Example:
Example:
|
Enables a router to simulate a host generating RSVP RESV messages.
|
||||
Step 4 |
end Example:
|
Exits global configuration mode and returns to privileged EXEC mode. |
Note |
You can use the following commands in user EXEC or privileged EXEC mode, in any order. |
Command or Action | Purpose | |||
---|---|---|---|---|
Step 1 |
enable Example:
|
(Optional) Enables privileged EXEC mode.
|
||
Step 2 |
show ip rsvp host {receivers | senders }[hostname | group-address ] Example:
|
Displays specific information for an RSVP host.
|
||
Step 3 |
show ip rsvp policy identity [regular-expression ] Example:
|
Displays selected RSVP identities in a router configuration.
|
||
Step 4 |
show ip rsvp policy local [detail ] [interface type slot / subslot / port ] [acl acl-number | dscp-ip value | default | identity alias | origin-as as ] Example:
|
Displays the local policies currently configured.
|
||
Step 5 |
show ip rsvp reservation [detail ] [filter [destination address ] [dst-port port-number ] [source address ] [src-port port-number ]] Example:
|
Displays RSVP-related receiver information currently in the database.
|
||
Step 6 |
show ip rsvp sender [detail ] [filter [destination address ] [dst-port port-number ] [source address ] [src-port port-number ]] Example:
|
Displays RSVP PATH-related sender information currently in the database.
|
||
Step 7 |
end Example:
|
Exits privileged EXEC mode and returns to user EXEC mode. |
The configurations for four-router network shown in the figure below are in the following sections:
The following example configures R4 with a proxy receiver to create an RESV message to match the PATH message for the destination 10.0.0.7:
Device# configure terminal
Enter configuration commands, one per line. End with CNTL/Z.
Device(config)# ip rsvp listener 10.0.0.7 any any reply
Device(config)# end
The following example configures R3 with an application ID called video and a global local policy in which all RSVP messages are being accepted and forwarded:
Device# configure terminal
Enter configuration commands, one per line. End with CNTL/Z.
Device(config)# ip rsvp policy identity video policy-locator video
Device(config)# ip rsvp policy local identity video
Device(config-rsvp-policy-local)# forward all
Device(config-rsvp-policy-local)# end
The following example configures R2 with an application ID called video, which is a wildcard regular expression to match any application ID that contains the substring video:
Router# configure terminal
Enter configuration commands, one per line. End with CNTL/Z.
Router(config)# ip rsvp policy identity video policy-locator .*Video.*
Router(config-rsvp-id)# end
The following example configures R2 with a local policy on ingress Gigabit Ethernet interface 0/0/0:
Router# configure terminal
Enter configuration commands, one per line. End with CNTL/Z.
Router(config)# interface gigabitEthernet 0/0/0
Router(config-if)# ip address 10.0.0.2 255.0.0.0
Router(config-if)# no cdp enable
Router(config-if)# ip rsvp bandwidth 200
Router(config-if)# ip rsvp policy local identity video
Router(config-rsvp-policy-local)# maximum senders 10
Router(config-rsvp-policy-local)# maximum bandwidth group 100
Router(config-rsvp-policy-local)# maximum bandwidth single 10
Router(config-rsvp-policy-local)# forward all
Router(config-rsvp-policy-local)# end
The following example configures R2 with a local policy on egress Gigabit Ethernet interface 3/0/0:
Router# configure terminal
Enter configuration commands, one per line. End with CNTL/Z.
Router(config)# interface gigabitEthernet 3/0/0
Router(config-if)# ip address 10.0.0.3 255.0.0.0
Router(config-if)# no cdp enable
Router(config-if)# ip rsvp bandwidth 200
Router(config-if)# ip rsvp policy local identity video
Router(config-rsvp-policy-local)# maximum senders 10
Router(config-rsvp-policy-local)# maximum bandwidth group 100
Router(config-rsvp-policy-local)# maximum bandwidth single 10
Router(config-rsvp-policy-local)# forward all
Router(config-rsvp-policy-local)# end
Note |
PATH messages arrive on ingress Gigabit Ethernet interface 0/0/0 and RESV messages arrive on egress Gigabit Ethernet interface 3/0/0. |
The following example configures R1 with an application ID called video and initiates a host generating a PATH message with that application ID:
Device# configure terminal
Enter configuration commands, one per line. End with CNTL/Z.
Device(config)# ip rsvp policy identity video policy-locator "GUID=www.cisco.com, APP=Video, VER=1.0"
Device(config)# ip rsvp sender-host 10.0.0.7 10.0.0.1 udp 1 1 10 10 identity video
Device(config)# end
The following example verifies that a global local policy has been configured on R3 with an application ID called Video:
Router# show ip rsvp policy local detail
Global:
Policy for ID(s): Video
Preemption Scope: Unrestricted.
Local Override: Disabled.
Fast ReRoute: Accept.
Handle: 23000404.
Accept Forward
Path: Yes Yes
Resv: Yes Yes
PathError: Yes Yes
ResvError: Yes Yes
Setup Priority Hold Priority
TE: N/A N/A
Non-TE: N/A N/A
Current Limit
Senders: 1 N/A
Receivers: 1 N/A
Conversations: 1 N/A
Group bandwidth (bps): 10K N/A
Per-flow b/w (bps): N/A N/A
Generic policy settings:
Default policy: Accept all
Preemption: Disabled
The following example verifies that an application ID called Video has been created on R2:
Router# show ip rsvp policy identity
Alias: Video
Type: Application ID
Locator: .*Video.*
The following example verifies that per-interface local policies have been created on Gigabit Ethernet interface 0/0/0 and Gigabit Ethernet interface 3/0/0 on R2:
Router# show ip rsvp policy local detail
gigabitEthernet 0/0/0:
Policy for ID(s): Video
Preemption Scope: Unrestricted.
Local Override: Disabled.
Fast ReRoute: Accept.
Handle: 26000404.
Accept Forward
Path: Yes Yes
Resv: Yes Yes
PathError: Yes Yes
ResvError: Yes Yes
Setup Priority Hold Priority
TE: N/A N/A
Non-TE: N/A N/A
Current Limit
Senders: 1 10
Receivers: 0 N/A
Conversations: 0 N/A
Group bandwidth (bps): 0 100K
Per-flow b/w (bps): N/A 10K
giabitEthernet 3/0/0:
Policy for ID(s): Video
Preemption Scope: Unrestricted.
Local Override: Disabled.
Fast ReRoute: Accept.
Handle: 5A00040A.
Accept Forward
Path: Yes Yes
Resv: Yes Yes
PathError: Yes Yes
ResvError: Yes Yes
Setup Priority Hold Priority
TE: N/A N/A
Non-TE: N/A N/A
Current Limit
Senders: 0 10
Receivers: 1 N/A
Conversations: 1 N/A
Group bandwidth (bps): 10K 100K
Per-flow b/w (bps): N/A 10K
Generic policy settings:
Default policy: Accept all
Preemption: Disabled
Note |
Notice in the display that the ingress interface has only its senders counter incremented because the PATH message is checked there. However, the egress interface has its receivers, conversations, and group bandwidth counters incremented because the reservation is checked on the incoming interface, which is the egress interface on R2. |
The following example verifies that a PATH message containing the application ID called Video has been created on R1:
Router# show ip rsvp sender detail
PATH Session address: 10.0.0.7, port: 1. Protocol: UDP
Sender address: 10.0.0.1, port: 1
Inbound from: 10.0.0.1 on interface:
Traffic params - Rate: 10K bits/sec, Max. burst: 10K bytes
Min Policed Unit: 0 bytes, Max Pkt Size 4294967295 bytes
Path ID handle: 02000402.
Incoming policy: Accepted. Policy source(s): Default
Application ID: 'GUID=www.cisco.com, APP=Video, VER=1.0'
Status: Proxied
Output on gigabitEthernet 0/0/0. Policy status: Forwarding. Handle: 01000403
Policy source(s): Default
Note |
You can use the debug ip rsvp dump path and the debug ip rsvp dump resv commands to get more information about a sender and the application ID that it is using. |
The following example verifies that a reservation with the application ID called Video has been created on R1:
Router# show ip rsvp reservation detail
RSVP Reservation. Destination is 10.0.0.7, Source is 10.0.0.1,
Protocol is UDP, Destination port is 1, Source port is 1
Next Hop is 10.0.0.2, Interface is gigabitEthernet 0/0/0
Reservation Style is Fixed-Filter, QoS Service is Guaranteed-Rate
Resv ID handle: 01000405.
Created: 10:07:35 EST Thu Jan 12 2006
Average Bitrate is 10K bits/sec, Maximum Burst is 10K bytes
Min Policed Unit: 0 bytes, Max Pkt Size: 0 bytes
Status:
Policy: Forwarding. Policy source(s): Default
Application ID: 'GUID=www.cisco.com, APP=Video, VER=1.0'
The following sections provide references related to the RSVP Application ID Support feature.
Related Topic |
Document Title |
---|---|
Cisco IOS commands |
|
QoS commands: complete command syntax, command modes, command history, defaults, usage guidelines, and examples |
Cisco IOS Quality of Service Solutions Command Reference |
QoS configuration tasks related to RSVP |
"Configuring RSVP" module |
Cisco United Communications Manager (CallManager) and related features |
"Overview of Cisco Unified Communications Manager and Cisco IOS Interoperability" module |
Regular expressions |
"Using the Cisco IOS Command-Line Interface" module |
Standard |
Title |
---|---|
No new or modified standards are supported by this feature, and support for existing standards has not been modified by this feature. |
-- |
MIB |
MIBs Link |
---|---|
No new or modified MIBs are supported by this feature, and support for existing MIBs has not been modified by this feature. |
To locate and download MIBs for selected platforms, Cisco IOS XE software releases, and feature sets, use Cisco MIB Locator found at the following URL: |
RFC |
Title |
---|---|
RFC 2205 |
Resource ReSerVation Protocol (RSVP) |
RFC 2872 |
Application and Sub Application Identity Policy Element for Use with RSVP |
RFC 3181 |
Signaled Preemption Priority Policy Element |
RFC 3182 |
Identity Representation for RSVP |
Description |
Link |
---|---|
The Cisco Support and Documentation website provides online resources to download documentation, software, and tools. Use these resources to install and configure the software and to troubleshoot and resolve technical issues with Cisco products and technologies. Access to most tools on the Cisco Support and Documentation website requires a Cisco.com user ID and password. |
The following table provides release information about the feature or features described in this module. This table lists only the software release that introduced support for a given feature in a given software release train. Unless noted otherwise, subsequent releases of that software release train also support that feature.
Use Cisco Feature Navigator to find information about platform support and Cisco software image support. To access Cisco Feature Navigator, go to www.cisco.com/go/cfn. An account on Cisco.com is not required.
Feature Name |
Releases |
Feature Information |
---|---|---|
RSVP Application ID Support |
Cisco IOS XE Release 2.6 Cisco IOS XE Release 3.8S |
The RSVP Application ID Support feature introduces application-specific reservations, which enhance the granularity for local policy-match criteria so that you can manage QoS on the basis of application type. The following commands were introduced or modified: ip rsvp listener , ip rsvp policy identity , ip rsvp policy local , ip rsvp reservation , ip rsvp reservation-host , ip rsvp sender , ip rsvp sender-host , maximum (local policy), show ip rsvp host , show ip rsvp policy identity , show ip rsvp policy local . In Cisco IOS XE Release 3.8S, support was added for the Cisco ASR 903 Router. |
QoS --quality of service. A measure of performance for a transmission system that reflects its transmission quality and service availability.
RSVP --Resource Reservation Protocol. A protocol that supports the reservation of resources across an IP network. Applications running on IP end systems can use RSVP to indicate to other nodes the nature (bandwidth, jitter, maximum burst, and so on) of the packet streams that they want to receive.
RSVP Agent --Implements a Resource Reservation Protocol (RSVP) agent on Cisco IOS voice gateways that support Unified CM.
Unified Communcations Manager (CM)--The software-based, call-processing component of the Cisco IP telephony solution. The software extends enterprise telephony features and functions to packet telephony network devices such as IP phones, media processing devices, voice-over-IP (VoIP) gateways, and multimedia applications.