The Resource Reservation Protocol (RSVP) is a transport layer protocol designed to reserve resources across a network using the integrated services model. RSVP operates over an IPv4 or IPv6 and provides receiver-initiated setup of resource reservations for multicast or unicast data flows. It does not transport application data but is similar to a control protocol, like Internet Control Message Protocol (ICMP) or Internet Group Management Protocol (IGMP). RSVP is described in RFC 2205. It is assigned the IP protocol number 46. RSVP can be used by hosts and routers to request or deliver specific levels of quality of service (QoS) for application data streams. RSVP defines how applications place reservations and how they can relinquish the reserved resources once no longer required. RSVP operations will generally result in resources being reserved in each node along a path. RSVP is not a routing protocol but was designed to interoperate with current and future routing protocols. In 2003, development effort was shifted from RSVP to RSVP-TE for teletraffic engineering. Next Steps in Signaling (NSIS) was a proposed replacement for RSVP.
Main attributes
RSVP requests resources for simplex 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 in protocol revisions to fit varied applications. RSVP transports and maintains traffic and policy control parameters that are opaque to RSVP.
History and related standards The basic concepts of RSVP were originally proposed in 1993. 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 IETF. 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 Services. 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 based 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).
Key concepts The two key concepts of RSVP reservation model are flowspec and filterspec.
Flowspec RSVP reserves resources for a flow. A flow is identified by the destination address, the protocol identifier, and, optionally, the destination port. In Multiprotocol Label Switching (MPLS) a flow is defined as a label-switched path (LSP). For each flow, RSVP also identifies the particular quality of service (QoS) required by the flow. This QoS 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 flowspec sets the parameters of the packet scheduler at a node and the filterspec sets the parameters at the packet classifier.
Messages There are two primary types of messages:
… excerpt ends here. Continue reading the full article.
