Resource Reservation Protocol
Encyclopedia
The Resource Reservation Protocol (RSVP) is a Transport Layer
protocol
designed to reserve resources across a network for an integrated services
Internet
. RSVP operates over an IPv4
or IPv6
Internet Layer
and provides receiver-initiated setup of resource reservations for multicast
or unicast
data flows with scaling and robustness. It does not transport application data but is similar to a control protocol, like ICMP
or IGMP. RSVP is described in RFC 2205.
RSVP can be used by either hosts
or routers to request or deliver specific levels of quality of service (QoS
) for application data streams or flows. RSVP defines how applications place reservations and how they can relinquish the reserved resources once the need for them has ended. RSVP operation will generally result in resources being reserved in each node along a path.
RSVP is not a routing protocol
and was designed to inter-operate with current and future routing protocols.
RSVP by itself is rarely deployed in telecommunications networks today but the traffic engineering
extension of RSVP, or RSVP-TE
, is becoming more widely accepted nowadays in many QoS-oriented networks. Next Steps in Signaling (NSIS) is a replacement for RSVP.
a flow is defined as a LSP
.
For each flow RSVP also identifies the particular quality of service required by the flow although it does not understand the specific information of the flow QoS.
This QoS specific information is called a flowspec and RSVP passes the flowspec from the application to the hosts and routers along the path. Those systems then analyse the flowspec to accept and reserve the resources.
A flowspec consists of:
A filterspec typically selects a subset of all the packets processed by a node. The selection can depend on any attribute of a packet (e.g. the sender IP address and port).
The currently defined RSVP reservation styles are:
An RSVP reservation request consists of a flowspec and a filterspec and the pair is called a flowdescriptor.
The effects at the node of each spec are that while the flowspec sets the parameters of the packet scheduler at a node, the filterspec sets the parameters at the packet classifier.
The data objects on RSVP messages can be transmitted in any order.
For the complete list of RSVP messages and date objects see RFC 2205.
Those who want to listen to them send a corresponding resv (short for "Reserve") message which then traces the path backwards to the sender. The resv message contains the flow specs. When a router receives the RSVP resv message it will:
The resv message also has FilterSpec object; it defines the packets that will receive the requested QoS defined in the flowspec. A simple filter spec could be just the sender’s IP address and optionally its UDP or TCP port.
Transport layer
In computer networking, the transport layer or layer 4 provides end-to-end communication services for applications within a layered architecture of network components and protocols...
protocol
Communications protocol
A communications protocol is a system of digital message formats and rules for exchanging those messages in or between computing systems and in telecommunications...
designed to reserve resources across a network for an integrated services
Integrated services
In computer networking, IntServ or integrated services is an architecture that specifies the elements to guarantee quality of service on networks...
Internet
Internet
The Internet is a global system of interconnected computer networks that use the standard Internet protocol suite to serve billions of users worldwide...
. RSVP operates over an IPv4
IPv4
Internet Protocol version 4 is the fourth revision in the development of the Internet Protocol and the first version of the protocol to be widely deployed. Together with IPv6, it is at the core of standards-based internetworking methods of the Internet...
or IPv6
IPv6
Internet Protocol version 6 is a version of the Internet Protocol . It is designed to succeed the Internet Protocol version 4...
Internet Layer
Internet layer
The internet layer or IP layer is a group of internetworking methods in the Internet protocol suite, commonly also called TCP/IP, which is the foundation of the Internet...
and provides receiver-initiated setup of resource reservations for multicast
IP Multicast
IP multicast is a method of sending Internet Protocol datagrams to a group of interested receivers in a single transmission. It is often employed for streaming media applications on the Internet and private networks. The method is the IP-specific version of the general concept of multicast...
or unicast
Unicast
right|200pxIn computer networking, unicast transmission is the sending of messages to a single network destination identified by a unique address.-Addressing methodologies:...
data flows with scaling and robustness. It does not transport application data but is similar to a control protocol, like ICMP
Internet Control Message Protocol
The Internet Control Message Protocol is one of the core protocols of the Internet Protocol Suite. It is chiefly used by the operating systems of networked computers to send error messages indicating, for example, that a requested service is not available or that a host or router could not be...
or IGMP. RSVP is described in RFC 2205.
RSVP can be used by either hosts
Node (networking)
In communication networks, a node is a connection point, either a redistribution point or a communication endpoint . The definition of a node depends on the network and protocol layer referred to...
or routers to request or deliver specific levels of quality of service (QoS
Quality of service
The quality of service refers to several related aspects of telephony and computer networks that allow the transport of traffic with special requirements...
) for application data streams or flows. RSVP defines how applications place reservations and how they can relinquish the reserved resources once the need for them has ended. RSVP operation will generally result in resources being reserved in each node along a path.
RSVP is not a routing protocol
Routing protocol
A routing protocol is a protocol that specifies how routers communicate with each other, disseminating information that enables them to select routes between any two nodes on a computer network, the choice of the route being done by routing algorithms. Each router has a priori knowledge only of...
and was designed to inter-operate with current and future routing protocols.
RSVP by itself is rarely deployed in telecommunications networks today but the traffic engineering
Teletraffic engineering
Telecommunications traffic engineering, teletraffic engineering, or traffic engineering is the application of traffic engineering theory to telecommunications...
extension of RSVP, or RSVP-TE
RSVP-TE
Resource Reservation Protocol - Traffic Engineering is an extension of the resource reservation protocol for traffic engineering. It 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 of the packet...
, is becoming more widely accepted nowadays in many QoS-oriented networks. Next Steps in Signaling (NSIS) is a replacement for RSVP.
Main attributes
- RSVP requests resources for simplexSimplex communicationSimplex communication refers to communication that occurs in one direction only. Two definitions have arisen over time: a common definition, which is used in ANSI standard and elsewhere, and an ITU-T definition...
flows: a traffic stream in only one direction from sender to one or more receivers. - RSVP is not a routing protocol but works with current and future routing protocols.
- RSVP is receiver oriented: in that the receiver of a data flow initiates and maintains the resource reservation for that flow.
- RSVP maintains soft state (the reservation at each node needs a periodic refresh) of the host and routers' resource reservations, hence supporting dynamic automatic adaptation to network changes.
- RSVP provides several reservation styles (a set of reservation options) and allows for future styles to be added to protocol revisions to fit varied applications.
- RSVP transports and maintains traffic and policy control parameters that are opaque to RSVP.
History and related standards
RSVP is described in a series of RFC documents from the IETF:- RFC 2205: The version 1 functional specification was described in RFC 2205 (Sept. 1997) by IETFInternet Engineering Task ForceThe Internet Engineering Task Force develops and promotes Internet standards, cooperating closely with the W3C and ISO/IEC standards bodies and dealing in particular with standards of the TCP/IP and Internet protocol suite...
. Version 1 describes the interface to admission (traffic) control that is based "only" on resource availability. Later RFC2750 extended the admission control support. - RFC 2210 defines the use of RSVP with controlled-load RFC 2211 and guaranteed RFC 2212 QoS control services. More details in Integrated ServicesIntegrated servicesIn computer networking, IntServ or integrated services is an architecture that specifies the elements to guarantee quality of service on networks...
. Also defines the usage and data format of the data objects (that carry resource reservation information) defined by RSVP in RFC 2205. - RFC 2211 specifies the network element behavior required to deliver Controlled-Load services.
- RFC 2212 specifies the network element behavior required to deliver guaranteed QoS services.
- RFC 2750 describes a proposed extension for supporting generic policy basedPolicyA policy is typically described as a principle or rule to guide decisions and achieve rational outcome. The term is not normally used to denote what is actually done, this is normally referred to as either procedure or protocol...
admission control in RSVP. The extension included a specification of policy objects and a description on handling policy events. (January 2000). - RFC 3209, "RSVP-TE: Extensions to RSVP for LSP Tunnels" (December 2001).
- RFC 3473, "Generalized Multi-Protocol Label Switching (GMPLS) Signaling Resource ReserVation Protocol-Traffic Engineering (RSVP-TE) Extensions" (January 2003).
- RFC 3936, "Procedures for Modifying the Resource reSerVation Protocol (RSVP)" (October 2004), describes current best practices and specifies procedures for modifying RSVP.
- RFC 4495, "A Resource Reservation Protocol (RSVP) Extension for the Reduction of Bandwidth of a Reservation Flow" (May 2006), extends RSVP to enable the bandwidth of an existing reservation to be reduced instead of tearing down the reservation.
- RFC 4558, "Node-ID Based Resource Reservation Protocol (RSVP) Hello: A Clarification Statement" (June 2006).
Flowspec
RSVP reserves resources for a flow. A flow is identified by the destination address, the protocol identifier, and, optionally, the destination port. In MPLSMultiprotocol Label Switching
Multiprotocol Label Switching is a mechanism in high-performance telecommunications networks that directs data from one network node to the next based on short path labels rather than long network addresses, avoiding complex lookups in a routing table. The labels identify virtual links between...
a flow is defined as a LSP
Label Switched Path
In MPLS networking, a Label Switched Path is a path through an MPLS network, set up by a signaling protocol such as LDP, RSVP-TE, BGP or CR-LDP. The path is set up based on criteria in the forwarding equivalence class ....
.
For each flow RSVP also identifies the particular quality of service required by the flow although it does not understand the specific information of the flow QoS.
This QoS specific information is called a flowspec and RSVP passes the flowspec from the application to the hosts and routers along the path. Those systems then analyse the flowspec to accept and reserve the resources.
A flowspec consists of:
- Service class
- Reservation spec - defines the QoS
- Traffic spec - describes the data flow
Filterspec
The filterspec defines the set of packets that shall be affected by a flowspec (i.e. the data packets to receive the QoS defined by the flowspec).A filterspec typically selects a subset of all the packets processed by a node. The selection can depend on any attribute of a packet (e.g. the sender IP address and port).
The currently defined RSVP reservation styles are:
- Fixed filter - reserves resources for a specific flow.
- Shared explicit - reserves resources for several flows and all share the resources
- Wildcard filter - reserves resources for a general type of flow without specifying the flow; all flows share the resources
An RSVP reservation request consists of a flowspec and a filterspec and the pair is called a flowdescriptor.
The effects at the node of each spec are that while the flowspec sets the parameters of the packet scheduler at a node, the filterspec sets the parameters at the packet classifier.
Messages
There are two primary types of messages:- Path messages (path)
- The path message is sent from the sender host along the data path and stores the path state in each node along the path.
- The path state includes the IP address of the previous node, and some data objects:
-
- sender template to describe the format of the sender data
- sender tspec to describe the traffic characteristics of the data flow
- adspec that carries advertising data (see RFC 2210 for more details).
- Reservation messages (resv)
-
- The resv message is sent from the receiver to the sender host along the reverse data path. At each node the IP destination address of the resv message will change to the address of the next node on the reverse path and the IP source address to the address of the previous node address on the reverse path.
- The resv message includes the flowspec data object that identifies the resources that the flow needs.
The data objects on RSVP messages can be transmitted in any order.
For the complete list of RSVP messages and date objects see RFC 2205.
Operation
An RSVP host that needs to send a data flow with specific QoS will transmit an RSVP path message every 30 seconds that will travel along the unicast or multicast routes pre-established by the working routing protocol. If the path message arrives at a router that does not understand RSVP, that router forwards the message without interpreting the contents of the message and will not reserve resources for the flow.Those who want to listen to them send a corresponding resv (short for "Reserve") message which then traces the path backwards to the sender. The resv message contains the flow specs. When a router receives the RSVP resv message it will:
- Make a reservation based on the request parameters. For this the admission controlCall Admission ControlCall Admission Control prevents oversubscription of VoIP networks. It is used in the call set-up phase and applies to real-time media traffic as opposed to data traffic...
and policy control process the request parameters and can either instruct the packet classifier to correctly handle the selected subset of data packets or negotiate with the upper layer how the packet handling should be performed. If they cannot support the reservation being requested, they send a reject message to let the listener know about it. - Forward the request upstream (in the direction of the sender). At each node the resv message flowspec can be modified by a forwarding node (e.g. in the case of a multicast flow reservation the reservations requests can be merged).
- The routers then store the nature of the flow, and also police it. This is all done in soft state, so if nothing is heard for a certain length of time, then the reader will time out and the reservation will be cancelled. This solves the problem if either the sender or the receiver crash or are shut down incorrectly without first cancelling the reservation. The individual routers may, at their option, police the traffic to check that it conforms to the flow specs.
The resv message also has FilterSpec object; it defines the packets that will receive the requested QoS defined in the flowspec. A simple filter spec could be just the sender’s IP address and optionally its UDP or TCP port.
Other features
- Integrity - RSVP messages are appended with a message digest created by combining the message contents and a shared key using a message digest algorithm (commonly MD5MD5The MD5 Message-Digest Algorithm is a widely used cryptographic hash function that produces a 128-bit hash value. Specified in RFC 1321, MD5 has been employed in a wide variety of security applications, and is also commonly used to check data integrity...
). The key can be distributed and confirmed using 2 message types: integrity challenge request and integrity challenge response. - Error reporting - when a node detects an error, an error message is generated with an error code and is propagated upstream on the reverse path to the sender.
- Information on RSVP flow - two types of diagnostic messages allow a network operator to request the RSVP state information on a specific flow.
- Diagnostic facility - An extension to the standard which allows a user to collect information about the RSVP state along a path. RFC2745 - RSVP Diagnostic Messages