Resource reservation protocol

From Wikipedia, the free encyclopedia

Internet protocol suite
5. Application layer

DHCPDNSFTPHTTPIMAP4IRCMIMEPOP3SIPSMTPSNMPSSHTELNETTLS/SSLRPCRTPSDPSOAP

4. Transport layer

TCPUDPRSVPDCCPSCTP

3. Network layer

IP (IPv4IPv6) • ARPBGPICMPIGMPIGPRARP

2. Data link layer

ATMBluetooth (PAN-Profile)EthernetFDDIFrame RelayGPRSModemsPPPWi-Fi

1. Physical layer

Bluetooth RFEthernet physical layerISDNModemsRS232SONET/SDHUSBWi-Fi

This box: view  talk  edit

The Resource ReSerVation Protocol (RSVP), described in RFC 2205, is a transport layer protocol designed to reserve resources across a network for an integrated services Internet. RSVP provides receiver-initiated setup of resource reservations for multicast or unicast data flows with scaling and robustness.

RSVP can be used by either hosts or routers to request or deliver specific qualities of services (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 itself a routing protocol and was designed to interoperate with current and future routing protocols.

It is worth noting that RSVP by itself is rarely deployed in telecommunications network today. However, traffic engineering extension of RSVP, or RSVP-TE is becoming more widely accepted nowadays in many QoS and bandwidth guaranteed sensitive networks.

Contents

[edit] Main attributes

  1. RSVP requests resources for simplex flows: a traffic stream in only one direction from sender to one or more receivers.
  2. RSVP is not a routing protocol but works with current and future routing protocols.
  3. RSVP is receiver oriented: in that the receiver of a data flow initiates and maintains the resource reservation for that flow.
  4. 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.
  5. 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.
  6. RSVP transports and maintains traffic and policy control parameters that are opaque to RSVP.

[edit] History and related standards

RSVP is described in a series of RFC documents from the IETF:

[edit] 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.

[edit] RFC 2210

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.

[edit] RFC 2211

RFC 2211 specifies the network element behavior required to deliver Controlled-Load services.

[edit] RFC 2212

RFC 2212 specifies the network element behavior required to deliver guaranteed QoS services.

[edit] RFC 2750

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).

[edit] RFC 3936

RFC 3936 describes current best practices, and specifies procedures for modifying the Resource reSerVation Protocol (October 2004).

[edit] Key concepts

The two key concepts of RSVP reservation model are flowspec and filterspec:

[edit] Flowspec

RSVP reserves resources for a flow. A flow is identified by the destination address, the protocol Id and optionally the destination port. In MPLS 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:

  1. Service class
  2. Reservation spec - defines the QoS
  3. Traffic spec - describes the data flow

[edit] 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:

  1. Fixed filter - reserves resources for a specific flow.
  2. Shared explicit - reserves resources for several flows and all share the resources
  3. Wildcard filter - reserves resources for a general type of flow without specifying the flow; all flows share the resources

A RSVP reservation request consists in 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.

[edit] 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:
  1. sender template to describe the format of the sender data
  2. sender tspec to describe the traffic characteristics of the data flow
  3. 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.

[edit] Operation

A RSVP host that needs to send a data flow with specific QoS will transmit a RSVP path message 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.

When the destination router receives the path message it will:

  1. Make a reservation based on the request parameters. For this the admission control 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.
  2. 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).

Each node in the path can either accept or reject the request.

[edit] Other features

  • Encryption - RSVP messages are appended with a message digest created by combining the message contents and a shared key using a message digest algorithm (commonly MD5). 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

[edit] External links

[edit] RFCs