next up previous contents index
Next: Internet Multicasting Up: Internet Integrated Services Previous: Traffic Control Module

Resource ReSerVation Protocol---RSVP

       

RSVP Overview

RSVP fulfills the role of a resource reservation setup protocol in an integrated services internetwork.

RSVP is designed with the following goals in mind [ZDESZ93]:

The introduction to the Internet draft specifying RSVP [BZBHJ96] suggests how and by whom RSVP is employed:

''The RSVP protocol is used by a host, on behalf of an application data stream, to request a specific quality of service (QoS) from the network for particular data streams or flows. The RSVP protocol is also used by routers to deliver QoS control requests to all nodes along the path(s) of the flows and to establish and maintain state to provide the requested service. RSVP requests will generally, although not necessarily, result in resources being reserved in each node along the data path.''

Figure gif on page gif visualises how RSVP is integrated into routers and hosts.

 
Figure:  RSVP integration in host and routers.

RSVP handles receiver-initiated resource requests for simplex flows.

In order to scale well for very large, dynamically changing multicast groups, RSVP incrementally builds and destroys  soft state in each network node along the paths of a flow. That is, RSVP periodically sends refresh messages to maintain reservation state along the paths. The absence of a certain number of refresh messages automatically times out and deletes reservation state. The soft-state approach has several consequences:

Although RSVP is located on top of IP in the protocol stack, it is not a transport protocol but operates rather similarly to control protocols such as ICMP. RSVP is also not a routing protocol but is intended to cooperate with unicast and multicast routing protocols. The cooperation between the routing module and the RSVP module of a node allows for  local repair, which means that the routing module in a network node notifies the RSVP module of route changes to RSVP-managed flows, so that the RSVP module can quickly adjust the resource reservations to the new routes.

RSVP Messages and Objects

RSVP is designed to be usable with many QoS control services, which in turn are intended to work with more than one reservation setup mechanism. The role of RSVP consists merely of distributing QoS-control data across the network and of passing these data to the traffic control module on each host along the path.

  Because of the logical separation between QoS control services and the distribution of QoS control information, the RSVP specifications define only the formatgif of RSVP QoS control objects, but the RSVP code treats the contents of these objects as opaque data.

RSVP objects are enclosed in RSVP messages, which are sent hop-by-hop between RSVP-capable routers as raw IP datagrams with protocol number 46. End systems can communicate with the first/last hop routers with UDP-encapsulated RSVP messages if they cannot do raw network I/O.

The direction from the source of a flow (thereafter called the sender) to the sinks of the flow (thereafter called receivers) is called downstream, correspondingly, the opposite direction is correspondingly called upstream.
Figure gif demonstrates the various directions and message paths.

 
Figure:  RSVP message paths and directions.

[Wro96a] describes how to use a certain subset of the RSVP objects with the Controlled-Load and Guaranteed QoS control services. In particular, the named draft defines the usage and contents of three RSVP object classes:gif

These objects are encapsulated in the two fundamental RSVP message typesgif, PATH and RESV, which deserve some consideration:

 
Table:  RSVP reservation attributes and styles.

   The basic model is a one-pass scheme: receivers send reservation requests upstream where they are either accepted or rejected by the nodes along the reverse data path. However, senders and network elements advertise their traffic characteristics and service capabilities downstream, such that receivers are provided with information about the behaviour of the upstream path elements. The receivers can use this information to parametrise their reservation requests according to the actual flow characteristics and network capacity.
This combined scheme is called One Pass With Advertising (OPWA).gif

RSVP Interfaces

  RSVP communicates with the various components inside a network node: on a router there must be interfaces for the routing and traffic control modules, whereas on hosts there must exist an interface for applications (an RSVP API) and also---if existing---for traffic control.

From the point of view of an application programmer, the client application programming interface is of major importance. Its main purpose is to pass the data contained in SENDER_TSPEC, ADSPEC, and FLOWSPEC objects between the local RSVP implementation and client applications. The following paragraphs describe the basic functions of an RSVP application interface, using the RSVP implementation developed by the Information Science Institute (ISI) of the University of Santa Cruz as an example.gif

The ISI implementation consists of an RSVP client library (RAPI), which is linked to application programs, and an RSVP daemon (rsvpd). Figure gif shows how the different components fit together.
The RAPI library is described in [BH96]; the C function prototypes of the RAPI functions described below are summarised in Appendix gif.

 
Figure:  ISI RSVP implementation components.

An application calls procedures from the RAPI library, which in turn interacts with the local RSVP daemon through a UNIX domain-socket. The RSVP daemon configures the host's packet filter and packet classifier, and communicates with other RSVP processes by means of normal RSVP messages.

The fundamental functions described in [BH96] are:

 



next up previous contents index
Next: Internet Multicasting Up: Internet Integrated Services Previous: Traffic Control Module



tspeuker@cip.informatik.uni-erlangen.de