INTERNET-DRAFT                                            L. Berger
   Expiration: December 11, 1996                          FORE Systems
   File: draft-berger-rsvp-over-atm-00.txt


                              RSVP Over ATM:
                     Framework and UNI 3.0/3.1 Method

                               June 11, 1996


   Status of this Memo

   This document is an Internet-Draft. Internet-Drafts are working
   documents of the Internet Engineering Task Force (IETF), its areas,
   and its working groups. Note that other groups may also distribute
   working documents as Internet-Drafts.

   Internet-Drafts are draft documents valid for a maximum of six months
   and may be updated, replaced, or obsoleted by other documents at any
   time. It is inappropriate to use Internet-Drafts as reference
   material or to cite them other than as ``work in progress.''

   To learn the current status of any Internet-Draft, please check the
   ``1id-abstracts.txt'' listing contained in the Internet-Drafts Shadow
   Directories on ftp.is.co.za (Africa), nic.nordu.net (Europe),
   munnari.oz.au (Pacific Rim), ds.internic.net (US East Coast), or
   ftp.isi.edu (US West Coast).

   Abstract

   This note presents a method for running RSVP over ATM switched
   virtual circuits (SVCs). It presents an overall approach to the
   problem, as well as a specific method for running over today's ATM
   networks. The note includes a review of major related issues, an
   overview of the proposed approach, and a specific method usable with
   UNI 3.0 and 3.1. This note is intended to be used as a basis for
   discussion in the IETF ISSLL working group.

   Author's Note

   This note is an initial (rough) draft and is expected to be changed
   and extended based on discussions in the ISSLL working group. All
   comments and contributions are welcomed.

   The postscript version of this document contains figures that are not
   included in the text version, so it is best to use the postscript
   version.  Figures will be converted to ASCII in the next version.



Berger                 Expires December 11, 1996                [Page 1]


Internet Draft               RSVP Over ATM                 June 11, 1996


   1. Introduction

   This note discusses running IP over ATM in an environment where SVCs
   are used to support QoS flows and RSVP is used as the internet level
   QoS signaling protocol. It begins with a general discussion on issues
   that are key to running RSVP over ATM. Some of these issues have been
   discussed in related material, others have not been widely discussed.
   All of the discussed issues must be addressed by any RSVP over ATM
   solution.

   In Section 4, this note presents a specific RSVP over ATM solution.
   It specifies a method for running RSVP over ATM UNI 3.x (3.0 and
   3.1). This note covers key aspects to running RSVP over UNI 3.x and
   includes an explicit set of processing rules and required RSVP
   related changes. (Changes are in the message processing and RSVP
   interface areas.) The defined method conforms to a framework that
   permits interoperability between simple, or baseline, implementations
   and more sophisticate, full-featured, implementations. The framework
   is described in Section 3 of this note.

   The described framework is a general approach to running RSVP over
   ATM. The framework is intended to provide a structure to multiple
   specific RSVP over ATM specifications. Each specification will match
   technology or standardization evolution, e.g UNI 3.x and 4.x. The
   framework is also intended to allow interoperability between
   implementations that use different approaches in mapping RSVP to ATM.
   This allows for evolution without requiring uniform deployment. It
   also permits the specification of basic functionality, while allowing
   for more sophisticated options.


   2. Issues

   The general issues related to running RSVP [1] over ATM have been
   covered in numerous papers including [2], [3], and [4]. This section
   will review, and introduce two new key issues that must be addressed
   by any RSVP over ATM solution. The issues that will be covered are:

      * VC Usage
      * Heterogeneity
      * Routing
      * QoS Renegotiation
      * Encapsulation
      * Best-Effort Receivers

   Additionally, there are several longer-term issues related to
   emerging technologies and scaling that will be important to future
   RSVP over ATM solutions. Lastly, the mapping of INT-SERV QoS classes



Berger                 Expires December 11, 1996                [Page 2]


Internet Draft               RSVP Over ATM                 June 11, 1996


   and parameters is considered to be outside the scope of issues
   related to running RSVP, the protocol, over ATM and is therefore not
   addressed in this section or this note. It is expected that this last
   area will be covered in other drafts.

   2.1 Issue: VC Usage

   There is a basic need to map from IP and RSVP to ATM virtual circuits
   (VCs).  In the permanent virtual circuit (PVC) environment, this is
   really a non-issue since PVCs are typically used as point-to-point
   link replacements.  LAN Emulation [5], Classical IP [6] and, more
   recently, NHRP [7] discuss mapping IP traffic onto ATM SVCs, but they
   only cover a single QoS class, i.e., best effort traffic. When QoS is
   introduced, VC mapping must be revisited. For RSVP controlled QoS
   flows, there are two main issues: VCs to be used for RSVP (control)
   traffic, and VCs to use for QoS data flows.

   RSVP control traffic is used to install state and request allocation
   of resources, it is not used to deliver any user data. As a control
   protocol, it is important for RSVP traffic to be delivered with some
   assurance of reliability. To that end, RSVP includes a soft-state,
   retry mechanism. This mechanism allows state to be maintained even
   when some RSVP messages are not delivered. When running RSVP over ATM
   it is critical for RSVP traffic to receive adequate service so that
   QoS state is installed and maintained.

   The second VC usage issue is data flow to VCs mapping. In the Classic
   IP over ATM and current NHRP models a single VC is used for all
   traffic between two ATM attached hosts (routers and end-stations). It
   is likely that such a single VC will not be adequate or optimal when
   supporting data flows with multiple QoS types. RSVP's basic purpose
   is to install support for flows with multiple QoS types, so it is
   essential for any RSVP over ATM solution to address VC usage for QoS
   data flows. RSVP reservation styles will also need to be taken into
   account in any VC usage strategy.

   There is also the lesser VC usage issue of reuse of VC reverse paths.
   ATM point-to-point VCs allow for bi-directional data flow. The
   reverse path could be used for best effort or QoS traffic. Bi-
   directional VCs could even be used to provide true receiver initiated
   reservations (reverse path of VC would be forward path for IP data.)
   Use of VC reverse paths will need to be addressed as part of a VC
   usage strategy.

   2.2 Issue: Heterogeneity

   There are several types of related heterogeneity. One type is that
   multiple receivers may request different Rspecs within a single



Berger                 Expires December 11, 1996                [Page 3]


Internet Draft               RSVP Over ATM                 June 11, 1996


   session. This means that the amount of requested resources may differ
   on a per next hop basis, see figure 1. Optimally, only the resources
   requested will be allocated.  This is not possible with current ATM
   UNI since both UNI 3.x and UNI 4.0 require the same QoS allocations
   on all leafs of a point-to-mulitpoint VC.  It is possible that a
   future version of UNI will support multiple QoS parameters within a
   single VC, but this is not yet the case. A RSVP over ATM solution
   will need to support heterogeneous receivers within a single service
   class even though ATM does not currently provide such support
   directly.

                                      [Image]

                      Figure 1: Heterogeneous RSVP Receivers

   There is also the possibility that there will be RSVP requests for
   different service classes within a single RSVP session. This case is
   not permitted in RSVP version one, so this issue does not need to be
   addressed by RSVP over ATM solutions. Similarly, there is the
   possibility that there will be requests for multiple reservation
   styles within a single session. This case is also not allowed by RSVP
   version one. While RSVP based requests for multiple service classes
   are not allowed, there remains a requirement to be able to support a
   single RSVP requested QoS class along with non-QoS traffic. This
   means that any RSVP over ATM solution must always support the
   default, best-effort, service class along with a requested QoS
   service class.

   2.3 Issue: Routing

   This section will discuss two routing related issues. The first
   routing related issue is dealing with ATM short-cuts. As shown in
   figure 2, short-cuts [7] allow ATM attached routers and hosts to
   directly establish VCs across LIS boundaries, i.e., the VC end-points
   are on different IP sub-nets. This model of VC establishment poses
   several issues when running with RSVP. The key issues are dealing
   with established best-effort short-cuts, when to establish short-
   cuts, and QoS only short-cuts. These issues will need to be addressed
   by all RSVP implementations, furthermore it may be desirable to
   permit different interoperable strategies for dealing with short-
   cuts.

                                      [Image]

                             Figure 2: ATM Short-Cuts

   The second routing related issue is dealing with multicast servers.
   Two models are planned for IP multicast data distribution over ATM,



Berger                 Expires December 11, 1996                [Page 4]


Internet Draft               RSVP Over ATM                 June 11, 1996


   see [8]. In one model data, senders establish point-to-multipoint VCs
   to all ATM attached destinations, and data is then sent over these
   VCs. This model is often called "multicast mesh" mode distribution.
   In the second model, senders send data over point-to-point VCs to a
   central point and the central point relays the data onto point-to-
   mulitpoint VCs that have been established to all receivers of the IP
   multicast group. This model is often refereed to as "multicast
   server" mode distribution. Figure 3 shows data flow for both modes of
   IP multicast data distribution. Both modes of data distribution will
   need to be addressed for a complete RSVP over ATM solution.

                                      [Image]

                Figure 3: IP Multicast Data Distribution Over ATM

   2.4 Issue: QoS Renegotiation

   QoS renegotiation when using ATM UNI 3.x and UNI 4.0 is problematic.
   The basic issue is that RSVP allows for changes in a flow's QoS
   parameters and QoS is fixed at VC setup time for both ATM UNI 3.x and
   UNI 4.0. There are several options for dealing with this mismatch in
   service. A specific approach will need to be specified by any RSVP
   over ATM solution.

   2.5 Issue: Encapsulation

   One issue that has not been generally discussed is encapsulation.
   There are two encapsulation options for running IP over ATM, and it
   may even be desirable to support RSVP over both options. The first
   option is described in RFC 1483 [9] and is the option that has been
   generally assumed to be the one that will be used with RSVP.

   The second option is LAN Emulation, as described in [5]. While RSVP
   over LANE has not been generally discussed, LANE is commonly used in
   the ATM LAN environment. It is likely that initial RSVP over ATM
   solutions will only support RFC 1483 encapsulation. While this is the
   case, it may be desirable to also define RSVP over ATM over LANE.
   LANE encapsulation has the added issue that LANE does not include a
   QoS signaling interface. If LANE encapsulation is needed, LANE QoS
   signaling would first need to be defined.

   2.6 Issue: Best-Effort Receivers

                                      [Image]

                      Figure 4: Types of Multicast Receivers

   Another issue that has not been generally discussed is dealing with



Berger                 Expires December 11, 1996                [Page 5]


Internet Draft               RSVP Over ATM                 June 11, 1996


   best-effort receivers. In any IP multicast group, it is possible that
   some receivers will request QoS (via RSVP) and some receivers will
   not, see figure 4. In shared media, like Ethernet, receivers that
   have not requested resources can be given a free ride without almost
   any effort or complications. This is not the case with ATM. In ATM
   networks, the end-points of each VC must be explicitly added. There
   may be costs associated with adding the best-effort receiver, and
   there might not be adequate resources to add the non-QoS receiver.
   While this issue is not strictly an RSVP issue, it is an issue that
   must be addressed by any RSVP over ATM solution.

   2.7 Future Issues

   There are several issues that will become increasingly important to
   solve as time passes. These issues are not likely to be critical for
   initial RSVP over ATM solutions. The first issue is dealing with QoS
   based routing protocols. Standard versions of QoS routing protocols
   do not yet exist, but there have been private versions as well as
   discussions related to standardization efforts. So, in the not too
   distant future it will be likely that RSVP over ATM solutions will
   need to operate in an enhanced routing environment. There may or may
   not be additional issues related to running in such an environment.
   Identification of specific issues will need to wait until such
   protocols are brought into the IETF.

   Another issue will be running RSVP over ATM UNI 4.0. Initial RSVP
   over ATM solutions are likely to be aimed at UNI 3.x. This will be
   sufficient for today's ATM networks, but support of UNI 4.0 will also
   be needed. The key change that may impact an RSVP over ATM solution
   is the introduction of multipoint-to-multipoint VCs. UNI 4.0 will
   also allow different service class mappings, but this is more of an
   INT-SERV issue.

   The last issue that will need to be solved is scaling. There are two
   dimensions of scaling. The first dimension is number of receivers in
   a single session. Scaling number of receivers may trigger RSVP
   message implosion as well as ATM signaling limitations (e.g., limits
   on rate of add parties). The second dimension of scaling is number of
   sessions. The key ATM related implication of large number of sessions
   is the number of VCs and associated (buffer and queue) memory. The
   numbers of flows and sessions supported by an RSVP over ATM solutions
   is likely to change over time, so a solution that is adequate for
   initial RSVP over ATM may not be adequate in the longer term. It will
   be increasingly important to address both of these dimensions of
   scaling as use of deployment and use of RSVP over ATM increases.

   2.8 Non-Issue: Receiver Vs Sender Initiation




Berger                 Expires December 11, 1996                [Page 6]


Internet Draft               RSVP Over ATM                 June 11, 1996


   There is an apparent mismatch between RSVP and ATM. Specifically,
   RSVP control is receiver oriented and ATM control is sender oriented.
   (This is critical in ATM point-to-multipoint VCs, less so for bi-
   directional point-to-point VCs.) This initially may seem like a major
   issue, but slightly deeper analyses shows this to be a non-issue.
   While RSVP reservation (RESV) requests are generated at the receiver,
   actual allocation of resources takes place at the sub-net sender.
   This is true for all sub-net technologies. As is shown in figure 5,
   VCs are always initiated by the ATM "sender". Note that the ATM
   sender may be a router or an end-station.

                                      [Image]

                        Figure 5: RSVP Resource Allocation


   3. Solution Overview

   This section describes a framework that allows for evolution of RSVP
   over ATM solutions as well as variability in implementation. The
   framework supports multiple specific solutions that may be used to
   integrate with evolving IETF and ATM forum standards. It also
   minimizes interoperability interdependencies and allows for
   interoperability between somewhat different approaches to running
   RSVP over ATM. This framework addresses VC usage and routing
   interactions

   The rest of this section describes the framework and also covers
   possible issues that need to be addressed in the short, medium, and
   long terms.  Section 4 provides a framework compliant method for
   running RSVP over ATM UNI3.x.

   3.1 Framework

   3.1.1 VC Usage

   The most significant aspect of the solution framework is VC usage by
   RSVP and associated (QoS) data flows. Figure 6 represents the
   proposed model for data flow VC initiation. For data flows, sub-net
   senders establish all QoS VCs and that the sub-net receiver always
   accept incoming VCs. This means that receivers will never initiate
   reservations via the reverse path mechanism provided by point-to-
   point VCs. This model is consistent with RSVP version one processing
   rules and allows senders to use different flow to VC mappings and
   even QoS renegotiation techniques without necessitating any change in
   receivers. Additionally, receivers are restricted from using the
   reverse path provided by point-to-point VCs, since this is a special
   case that cannot be used to support multicast flows.



Berger                 Expires December 11, 1996                [Page 7]


Internet Draft               RSVP Over ATM                 June 11, 1996


                                      [Image]

                        Figure 6: Data Flow VC Initiation

   Figure 7 shows the proposed model for VC usage by RSVP control. RSVP
   control (messages) will always be sent over the best effort data
   path. This approach is the most efficient and satisfies RSVP
   reliability requirements. This approach minimizes VC requirements
   since the best effort data path will need to exist in order for RSVP
   sessions to be established and in order for RSVP reservations to be
   initiated. Best effort paths will also be used for data distribution
   while RSVP reservations are not in place. The reliability of the best
   effort data path will also be adequate since RSVP allows for a
   certain amount of packet loss without any loss of state
   synchronization.

                                      [Image]

                     Figure 7: RSVP Control Message VC Usage

   3.1.2 Routing

   The second critical aspect of the solution framework is dealing with
   IP routing issues. The proposed solution is for both RSVP control and
   QoS data flows to just follow IP routing. This means that there is no
   route pinning (per [1].) It also means that short-cut paths are
   supported. Initial RSVP over ATM solutions may only follow existing
   short-cuts, but the framework supports QoS triggered short-cuts or
   even per flow short-cuts.

   The handling of short cuts has been raised as an issue. The area of
   concern is that a down-stream short-cut may not have a matching up-
   stream short-cut, and that this would result in PATH and RESV
   messages following different paths. This asymmetric RSVP control
   scenario is shown in figure 8. More detailed examination shows this
   to be a non-issue. RSVP includes mechanisms to detect and handle RESV
   messages arriving at the wrong router and the wrong interface. For
   messages arriving at the wrong router, [1] states: "...  IP
   destination address does not match any of the interfaces of the local
   interfaces, then forward the message to IP destination address ..."
   For RESV messages arriving at the wrong interface, [1] states: "The
   logical outgoing interface OI is taken from the LIH in the NHOP
   object .... [or] it can be learned from the interface matching the IP
   destination address." Since incoming interface is not used in RESV
   processing there is no issue. So, both cases are covered by RSVP
   processing rules and there is no RSVP issue with supporting ATM
   short-cuts.




Berger                 Expires December 11, 1996                [Page 8]


Internet Draft               RSVP Over ATM                 June 11, 1996


                                      [Image]

      Figure 8: Asymmetric RSVP Message Forwarding With ATM Short-Cuts

   3.2 Non-RSVP Protocol Issues

   As IETF and ATM Forum protocols evolve it will be necessary to update
   specific approaches taken to support RSVP over ATM. The framework
   described above permits an interoperable evolution of RSVP over ATM
   specifications and implementations. This section presents a view of
   how some protocol aspects will change and how those changes may
   impact RSVP over ATM solutions. The relevant IP over ATM and ATM
   protocol aspects that are highlighted are encapsulation, multicast,
   QoS renegotiation, heterogeneous flows/VCs, and short-cuts. Protocol
   evolution is broken down into short-term (now), medium-term, and
   long-term. The short term is focused on current and soon to be issued
   standards and will be the basis for the RSVP over ATM solution
   specified in section 4. The medium term is focused on emerging
   standards such as UNI4.x. The long term is focused on new QoS related
   requirements for standards.

                      Issue          Short-Term     Medium-Term

                 Encapsulation    RFC 1483

                 Multicast
                     Signaling    UNI 3.x          UNI 4.0
                     Data         Mesh
                 Distribution

                 QoS
                 Renegotiation

                 Heterogeneous
                 VCs

                 Short-cut VCs    NHRP             QoS NHRP

                 Table 1: Possible Related Protocol Developments

   Table 1 presents today's RSVP over ATM relevant protocols and some
   related future protocol developments. For the foreseeable future
   encapsulation will be based on RFC 1483. This is really the only
   option since LANE does not support any QoS signaling or control. For
   multicast, there are two relevant issues: signaling and distribution
   mode. Today's ATM networks support UNI 3.0 and 3.1 signaling, UNI 4.0
   signaling will soon be complete and it's support will be required.
   For multicast data distribution, only point-to-multipoint VCs can be



Berger                 Expires December 11, 1996                [Page 9]


Internet Draft               RSVP Over ATM                 June 11, 1996


   used to allocate resources for RSVP controlled QoS flows until the
   time when MARS is extended to provide some form of QoS control for
   multicast servers (MCS). Neither QoS renegotiation nor heterogeneous
   point-to-multipoint VCs are supported by either UNI 3.x or 4.0.
   Lastly, for short-cuts, until use of the NHRP QoS options is
   specified it is likely that all short-cuts will be done solely on a
   per destination basis.

   3.2.1 Long-Term Issues

   The long-term will be driven by future non-RSVP protocol
   developments. These developments are likely to be somewhat driven by
   internet QoS signaling (i.e., RSVP) over ATM requirements. This
   section discusses areas in today's IP over ATM and ATM Forum
   protocols that if extended would benefit RSVP over ATM. Issues
   related to NHRP, MARS, UNI, and LANE are covered. The discussion only
   covers the (RSVP) protocol related issues. INT-SERV related issues
   are outside the scope of this document.

   3.2.1.1 NHRP

   The Next-Hop Resolution Protocol, or NHRP, is being developed to
   support short-cut VC establishment. When using RSVP it may be
   desirable to establish multiple short-cut VCs, to use these VCs for
   specific QoS flows, and to use the hop-by-hop path for other QoS and
   non-QoS flows. The current NHRP specification [7] does not preclude
   such an approach, but nor does it explicitly support it. We believe
   that explicit support of flow based short-cuts would improve RSVP
   over ATM solutions. We also believe that such support may require the
   ability to include flow information in the NHRP request, but this is
   an area for further study.

   3.2.1.2 MARS

   In the MARS model, data distribution may be handled either by point-
   to-multipoint VCs or via a multicast server (MCS). When using RSVP,
   it is desirable to establish VCs with specific QoS. Establishing such
   VCs is readily done when using point-to-multipoint VCs, but is more
   complicated when using multicast servers. When using a multicast
   server, the sub-network sender could establish a point-to-point VC
   with a specific QoS to the server, but there is not current mechanism
   for the MCS to establish anything other than an UBR VC. In order to
   support RSVP over a MARS-MCS it will be necessary to provide QoS
   extensions to MARS.

   3.2.1.3 ATM UNI

   As discussed in [3], there are two issues related to current ATM UNI



Berger                 Expires December 11, 1996               [Page 10]


Internet Draft               RSVP Over ATM                 June 11, 1996


   specifications. Neither UNI3.x nor UNI 4.0 support QoS renegotiation
   or heterogeneous point-to-multipoint VCs. Support of either of these
   features would benefit running RSVP over ATM. QoS renegotiation would
   be particularly beneficial since the only option available today for
   changing VC QoS parameters is replacing the VC.

   3.2.1.4 LANE

   Although running RSVP over LANE is not considered to be critical at
   this time, it may become desirable at some point in the future. If
   LANE was used to support RSVP controlled flows, it would be desirable
   for VCs to be establish with specific QoS for those flows. LANE
   currently does not include any ability to signal QoS requirements or
   to control QoS used for established VCs. So, if RSVP was to be run
   over LANE, LANE would need to be extend to provide a QoS signaling
   interface. Such extensions would also need to ensure proper QoS
   allocation for multicast traffic.


   4. RSVP Over ATM UNI 3.x

   This section describes a method for running RSVP over ATM UNI 3.x.
   The presented method is consistent with the framework described in
   the previous section. This method is targeted at today's ATM
   technology and networks. The key areas of the approach are
   encapsulation, VC management, and multicasting. The approach also
   requires changes to RSVP's interfaces and processing rules.

   4.1 Encapsulation

   Since RSVP is a signaling protocol used to control flows of IP data
   packets, encapsulation for both RSVP packets and associated IP data
   packets must be defined. While it is possible to use different
   encapsulations for each, this does not seem to make sense. So, the
   same encapsulation will be used for RSVP and the flows of IP data
   packets controlled by RSVP. As previously mentioned, RFC1483 and LANE
   are two defined encapsulation options for IP over ATM. Currently LANE
   doesn't have a QoS control interface. So, since QoS control is needed
   to make RSVP over ATM useful, RFC 1483 encapsulation must be used by
   RSVP over ATM. This is the same encapsulation used by Classical IP
   and NHRP.

   4.2 VC Management

   This section specifies a baseline solution for management of VCs
   associated with QoS data flows. The described solution will
   interoperate with other framework compliant solutions. The general
   approach taken in developing this method was to use mechanisms that



Berger                 Expires December 11, 1996               [Page 11]


Internet Draft               RSVP Over ATM                 June 11, 1996


   matched today's standards and technology.  As described in Section 3,
   VCs will always be initiated and controlled by the sub-net sender.
   When establishing and maintaining VCs, the sub-net sender will need
   to deal with several complicating factors including multiple QoS
   flows, requests for QoS changes, ATM short-cuts, and several
   multicast issues.

   4.2.1 Flow to VC Mapping

   There are multiple options for mapping flows onto VCs, see [2] for a
   more general discussion. The key issue to be addressed is providing
   requested QoS downstream. While it is possible to send multiple flows
   and multiple distinct reservations (FF) over single VCs,
   implementation of such approaches is still a matter for research. So,
   baseline RSVP over ATM implementations must allow for the use of a
   single VC to support each RSVP reservation. By using independent VCs
   per reservation, delivery of requested resources to the associated
   QoS data flow can be assured. This approach does not preclude, but
   does not specify, support for multiple flows per VC.

   An RSVP reservation is characterized in [1] by the Traffic Control
   State Block, or TCSB. In the approach where each reservation maps to
   its own VC, the RSVP traffic control function "TC_AddFlowspec" will
   translate into an ATM call setup. The "TC_DelFlowspec" control
   function will translate into an ATM call release. The traffic control
   interface will need to be extended to include end-point
   identification.

   4.2.2 QoS Renegotiation

   UNI 3.x does not support any modifications to QoS parameters after VC
   setup.  During normal RSVP processing it is possible for the
   requested resources to be increased or decreased. The RSVP traffic
   control function "TC_ModFlowspec" is used to request a change in
   allocated resources. Since UNI 3.x does not support such changes
   directly, RSVP nodes must compensate.

   The proposed approach for supporting changes in RSVP reservations is
   to attempt to replace an existing VC with a new appropriately sized
   VC. During setup of the replacement VC, the old VC is left in place
   and unmodified. The old VC is left unmodified to minimize
   interruption of QoS data delivery.  Once the replacement VC is
   established, data transmission is shifted to the new VC, and the old
   VC is then closed.

   If setup of the replacement VC fails, then the old QoS VC should
   continue to be used. When the new reservation is larger than the old
   reservation, the reservation request should be answered with an



Berger                 Expires December 11, 1996               [Page 12]


Internet Draft               RSVP Over ATM                 June 11, 1996


   error. When the new reservation is smaller than the old reservation,
   the request should treated as if the modification was successful.
   While leaving the larger allocation in place is suboptimal, it
   maximizes delivery of service to the user.  Implementations should
   retry replacing the too large VC after some appropriate elapsed time.

   One additional issue is that only one QoS change can be processed at
   one time per reservation. If the (RSVP) requested QoS is changed
   while the first replacement VC is still being setup, then the
   replacement VC is closed and the whole VC replacement process is
   restarted.

   4.2.3 Short-Cuts

   As previously discussed ATM short-cuts do not pose any problem for
   RSVP. The only issue that needs to be addressed by the baseline RSVP
   over ATM solution is when to establish a short-cut for a QoS data
   flow. The proposed approach is to simply follow best-effort traffic.
   When a short-cut has been established for best-effort traffic to a
   destination or next-hop, that same end-point should be used when
   setting up RSVP triggered VCs for QoS traffic to the same destination
   or next-hop. This will happen naturally when PATH messages are
   forwarded over the best-effort short-cut.

   4.3 Multicast

   There are several aspects to running RSVP over ATM that are
   particular to multicast sessions. These issues result from the nature
   of ATM point-to-multipoint connections. The baseline RSVP over ATM
   solution addresses next-hops requesting different QoS values, and
   handling of best-effort receivers. The last issue is not strictly
   RSVP issues, but needs to be addressed in a complete RSVP over ATM
   solution.

   4.3.1 Heterogeneous Flows

   As discussed in Section 2.2, multiple next-hops (or receivers) may
   request different resources within a single session. The current RSVP
   specification does address this case, but not within an ATM specific
   context. The current processing rules and traffic control interface
   describe a model where the largest requested reservation is used in
   resource allocation, and traffic is delivered at the higher rate to
   all next-hops. The simplest approach for RSVP over ATM will be to
   emulate this approach even though this approach may be undesirable in
   certain circumstances. So, baseline RSVP over ATM implementations
   must be able to support heterogeneity in QoS requests by providing
   the largest requested QoS to all next hops. Baseline implementations,
   may also support heterogeneity through some other mechanism, e.g.,



Berger                 Expires December 11, 1996               [Page 13]


Internet Draft               RSVP Over ATM                 June 11, 1996


   using multiple appropriately sized VCs.

   There is an interesting interaction between heterogeneous flows and
   QoS renegotiation that is worth mentioning. In the case where a RESV
   message is received from a new next-hop and the requested resources
   are larger than any existing reservation, both QoS renegotiation and
   heterogeneity will need to be addressed. The question is whether to
   first add the new next-hop or to change to the new QoS. This is a
   fairly straight forward special case. Since the older, smaller
   reservation does not support the new next-hop, the QoS renegotiation
   process should be initiated. Since the new QoS is only needed by the
   new next-hop, it should be the first end-point of the new VC.

   4.3.2 Best-Effort Receivers

   In any IP multicast group, some end-points will issues RSVP
   reservation requests and some will not. Those who don't, are best-
   effort receivers and there is no requirement to provide them improved
   service delivery. In ATM, providing them better than best-effort
   service may actually be the opposite of what the user desires since
   in providing ATM QoS, there may be charges incurred or resources that
   are wrongfully allocated.

   Two possible approaches to this problem are using a single QoS VC or
   using multiple VCs. In the single VC approach even the best-effort
   receivers use the RSVP triggered QoS VC. This case optimizes host and
   network resources.  While this approach is simple to implement, it
   may incur extra charges or may cause the best-effort receiver to not
   receiver some traffic because the QoS VC setup failed. The multiple
   VC approach ensures proper QoS delivery of data. It uses a QoS VC and
   a best-effort VC. The QoS VC is used solely for RSVP controlled end-
   points. The best-effort VC is used for all other end-points. The
   best-effort VC does not include the RSVP controlled end-points in
   order to avoid data duplication. The sender must duplicate packets
   destined to the IP multicast group, placing one copy on each VC.
   This approach uses more VCs, and sender processing and link
   resources, but it assures proper handling of the traffic on the ATM
   network.

   Unfortunately, neither of these approaches is the right answer for
   all cases. For some networks, e.g. LANs, it is likely that the single
   VC approach will be desired. In other networks, e.g. public WANs, it
   is likely that the multiple approach will be desired. The framework
   discussed in section 3 permits each sub-network sender (router, or
   host) to choose how traffic is mapped onto VCs. For this reason,
   baseline RSVP over UNI3.x implementations must support best-effort
   multicast receivers either using the single QoS VC or the multiple VC
   approach. Implementations should support both approaches and provide



Berger                 Expires December 11, 1996               [Page 14]


Internet Draft               RSVP Over ATM                 June 11, 1996


   the ability to select which method is actually used, but are not
   required to do so.

   4.4 RSVP Changes

   To support ATM there are several changes required to the RSVP
   specification, [1]. These changes do not alter any protocol formats
   or behavior. The same RSVP messages are sent and processed over ATM
   as with any other sub-network technology. The changes required to run
   over ATM are only internal and are required to ensure proper ATM VC
   management. The traffic control and routing interfaces need to be
   extended to include end-point identification, and message processing
   rules need to be changed to trigger VC initiation.

   4.4.1 Traffic Control Interface

   The RSVP specification contains a description of a generic traffic
   control interface. The specified interface is adequate when running
   over point-to-point (e.g., PPP) or broadcast (e.g., Ethernet) sub-
   networks, but not when running over ATM. Specifically, the interface
   does not include the ability to identify next-hops when establishing
   or modifying reservations.  Two calls need to be extended to include
   next-hop identification. Since described extensions can be used with
   point-to-point and broadcast network technologies, a single traffic
   control interface can be used for all network types.

   * Make a Reservation

              Call: TC_AddFlowspec( Interface, TC_Flowspec,
                               TC_Tspec, Police_Flags, Next_Hop_List )
                              -> RHandle [, Fwd_Flowspec]

     The new parameter, Next_Hop_List, contains one or more IP addresses
     each of which are be associated with the requested reservation. The
     traffic control module should establish a new reservation with the
     specified flowspec to all listed next-hop addresses. Typically all
     next-hops will be on the same sub-net as the sender. The one
     exception to this case is when (NHRP) short-cuts are being used.

     When Interface is an ATM interface, each TC_AddFlowspec call will
     trigger setup of a new VC. The end-points of the VC will be
     identified by Next_Hop_List. When there are more than one next-hops
     listed, next-hops not include in initial VC setup must be added via
     the "add party" request. The QoS service class and traffic
     parameters will be set according to (the to be defined) INT-SERV to
     ATM mappings. All return (reverse path) traffic parameters will be
     set to zero (0), even for point-to-point calls.




Berger                 Expires December 11, 1996               [Page 15]


Internet Draft               RSVP Over ATM                 June 11, 1996


   * Modify Reservation

              Call: TC_ModFlowspec( Interface, RHandle, TC_Flowspec,
                                    Sender_Tspec, Police_flags,
                                    Next_Hop_List )
                                        [ -> Fwd_Flowspec ]

        Next_Hop_List contains the full list of next-hop addresses.
        Omission of a previously listed addresses indicates that those
        next-hops should be dropped from the reservation. Addition
        addresses should be added to the reservation. It is valid for
        both TC_FlowSpec and Next_Hop_List to indicate reservation
        modifications.

        When Interface is an ATM interface, the TC_ModFlowspec call will
        need to check for two types of change, change in next-hops and
        change in QoS.  To check for change in next-hops, the list of
        existing VC end-points should be compared with Next_Hop_List.
        Any end-points not listed in Next_Hop_List should be dropped
        from the VC via the "drop party" request.  Any next-hops that
        are not already end-points of the VC should be add via the "add
        party" request.

        When a QoS change is requested, a new VC should be established
        to all listed entries in Next_Hop_List.  Once all next-hops have
        been added to the new VC, data forwarding should be set to use
        the new VC, and the old VC should be released (closed).  If all
        next-hops cannot be added, then the new VC should be closed, and
        failure should be returned.

        It is valid for both QoS and Next_Hop_List to be changed in a
        single call. In this case, any end-points of the existing VC not
        listed in Next_Hop_List should be dropped from the old VC before
        starting setup of the new VC. This ensures proper next-hop
        handling even when setup of the new VC fails.

   4.4.2 Routing Interface

   As with Traffic Control, the routing interface needs to be extended
   to include next-hop identification. Again the described extensions
   can be used with point-to-point and broadcast network technologies.

      * Route Query

                 Ucast_Route_Query( [ SrcAddress, ] DestAddress,
                                     Notify_flag )
                                 -> OutInterface, Next_Hop




Berger                 Expires December 11, 1996               [Page 16]


Internet Draft               RSVP Over ATM                 June 11, 1996


                 Mcast_Route_Query( [ SrcAddress, ] DestAddress,
                                     Notify_flag )
                                 -> [ IncInterface, ] OutInterface_list,
                                     Next_Hop_List

        The Next_Hop return value contains the IP address of the
        next-hop to be used on OutInterface. Next_Hop_List contains a
        per OutInterface list of next-hop IP addresses. In the case of
        ATM, it is expected that unicast information will be obtained
        from standard routing or NHRP [7], and that multicast
        information will be obtained either via MARS [8] or directly
        from a multicast routing protocol, e.g., MOSPF.

      * Route Change Notification

                 Ucast_Route_Change( ) -> [ SrcAddress, ] DestAddress,
                                                OutInterface,
                                                Next_Hop

                 Mcast_Route_Change( ) -> [ SrcAddress, ] DestAddress,
                               [ IncInterface, ] OutInterface_list,
                               Next_Hop_List

        The new parameters are used to indicated changes in next-hop
        information.

   4.4.3 Processing Rules

   This section lists changes to the processing rules contained in [1].
   The changes are limited to traffic control processing, and are fairly
   minor.  While the processing rules are being changed to support RSVP
   over ATM, the same rules can be used to run RSVP over any network
   technology.

   4.4.3.1 TCSB - Traffic Control State Block

   There is only one parameter that needs to be added to the TCSB and
   this mirrors the changes made to the traffic control interface. The
   addition to the TCSB is:

      * Next_Hop_List, the list of next hops associated with the current
        reservation.

   4.4.3.2 Update Traffic Control Processing

   The traffic control processing needs to be extended to support
   changes in next-hops. This is a fairly minor change. The following is
   the complete traffic control processing, most of which is directly



Berger                 Expires December 11, 1996               [Page 17]


Internet Draft               RSVP Over ATM                 June 11, 1996


   copied from [1]. All changes/additions are noted with a horizontal
   bar (|) in the left column.


   UPDATE TRAFFIC CONTROL

        The sequence is invoked by many of the message arrival sequences
        to set or adjust the local traffic control state in accordance
        with the current reservation and path state.  An implicit
        parameter of this sequence is the `active' RSB.

        If the result is to modify the traffic control state, this
        sequence notifies any matching local applications with a
        RESV_EVENT upcall.  If the state change is such that it should
        trigger immediate Resv refresh messages, it also turns on the
        Resv_Refresh_Needed flag.

    |   Initially the Next_Hop_List is empty.

        o    Compute the traffic control parameters using the following
             steps.

             1.   Consider the set of RSB's matching SESSION,
                  Filter_spec_list, and OI from the active RSB.
                  Initially the local flag Is_Biggest is off.

                  -    Compute the effective kernel flowspec,
                       TC_Flowspec, as the LUB of the FLOWSPEC values in
                       these RSB's.

                  -    Compute the effective traffic control filter spec
                       (list) TC_Filter_Spec* as the union of the
                       Filter_spec_lists from these RSB's.

                  -    If the active RSB has a FLOWSPEC larger than all
                       the others, turn on the Is_Biggest flag.

    |             -    Add each RSB's next hop IP address to
    |                  Next_Hop_List.

             2.   Scan all RSB's matching session and Filtss, for all
                  OI.  Set TC_B_Police_flag on if TC_Flowspec is smaller
                  than, or incomparable to, any FLOWSPEC in those RSB's.

             3.   Locate the set of PSBs (senders) whose
                  SENDER_TEMPLATEs match Filter_spec_list in the active
                  RSB and whose OutInterface_list includes OI.




Berger                 Expires December 11, 1996               [Page 18]


Internet Draft               RSVP Over ATM                 June 11, 1996


             4.   Set TC_E_Police_flag on if any of these PSBs have
                  their E_Police flag on.  Set TC_M_Police_flag on if it
                  is a shared style and there is more than one PSB in
                  the set.

             5.   Compute Path_Te as the sum of the SENDER_TSPEC objects
                  in this set of PSBs.

        o    Search for a TCSB matching SESSION and OI; for distinct
             style (FF), it must also match Filter_spec_list.

             If none is found, create a new TCSB.

        o    If TCSB is new:

             1.   Store TC_Flowspec, TC_Filter_Spec*, Path_Te,
    |             Next_Hop_List, and the police flags into TCSB.

             2.   Turn the Resv_Refresh_Needed flag on and make the
                  traffic control call:


                 TC_AddFlowspec( OI, TC_Flowspec,
    |                             Path_Te, police_flags, Next_Hop_List)
                                   -> Rhandle, Fwd_Flowspec


             3.   If this call fails, build and send a ResvErr message
                  specifying "Admission control failed" and with the
                  InPlace flag off.  Delete the TCSB, delete any
                  RESV_CONFIRM object from the active RSB, and return.

             4.   Otherwise (call succeeds), record Rhandle and
                  Fwd_Flowspec in the TCSB.  For each filter_spec F in
                  TC_Filter_Spec*, call:


                 TC_AddFilter( OI, Rhandle, Session, F)
                                         -> Fhandle

                  and record the returned Fhandle in the TCSB.

        o    Otherwise, if TCSB is not new but no effective kernel
             flowspec TC_Flowspec was computed earlier, then:

             1.   Turn on the Resv_Refresh_Needed flag.

             2.   Call traffic control to delete the reservation:



Berger                 Expires December 11, 1996               [Page 19]


Internet Draft               RSVP Over ATM                 June 11, 1996


                 TC_DelFlowspec( OI, Rhandle )


             3.   Delete the TCSB and return.

        o    Otherwise, if TCSB is not new but the TC_Flowspec, Path_Te,
    |        police flags and/or Next_Hop_List just computed differ from
             corresponding values in the TCSB, then:

             1.   If the TC_Flowspec and/or Path_Te values differ, turn
                  the Resv_Refresh_Needed flag on.

             2.   Call traffic control to modify the reservation:


                 TC_ModFlowspec( OI, Rhandle, TC_Flowspec,
    |                            Path_Te, police_flags, Next_Hop_List )
                                 -> Fwd_Flowspec


             3.   If this call fails, build and send a ResvErr message
                  specifying "Admission control failed" and with the
                  InPlace bit on.  Delete any RESV_CONFIRM object from
                  the active RSB and return.

             4.   Otherwise (the call succeeds), update the TCSB with
                  the new values and save Fwd_Flowspec in the TCSB.

        o    If the TCSB is not new but the TC_Filter_Spec* just
             computed differs from the FILTER_SPEC* in the TCSB, then:

             1.   Make an appropriate set of TC_DelFilter and
                  TC_AddFilter calls to transform the Filter_spec_list
                  in the TCSB into the new TC_Filter_Spec*.

        o    If the active RSB contains a RESV_CONFIRM object, then:

             1.   If the Is_Biggest flag is on, move the RESV_CONFIRM
                  object into the TCSB and turn on the
                  Resv_Refresh_Needed flag. (This will later cause the
                  Resv REFRESH sequence to be invoked, which will either
                  forward or return the RESV_CONFIRM object, deleting it
                  from the TCSB in either case).

             2.   Otherwise, create and send a ResvConf message to the
                  address in the RESV_CONFIRM object.  Include the
                  RESV_CONFIRM object in the ResvConf message.  The
                  ResvConf message should also include an ERROR_SPEC



Berger                 Expires December 11, 1996               [Page 20]


Internet Draft               RSVP Over ATM                 June 11, 1996


                  object whose Error_Node parameter is IP address of OI
                  from the TCSB and that specifies "No Error".

        o    If the Resv_Refresh_Needed flag is on and the RSB is not
             from the API, make a RESV_EVENT upcall to any matching
             application:

                 Call: <Upcall_Proc>( session-id, RESV_EVENT,
                            style, Flowspec, Filter_spec_list
                            [ , POLICY_DATA] )


             where Flowspec and Filter_spec_list come from the TCSB and
             the style comes from the active RSB.

        o    Return to the event sequence that invoked this one.


   5. Security Considerations

   Security issues are not addressed in this memo.


   6. References

   [1] Braden, R., Zhang, L., Estrin, D., Herzog, S., and S. Jamin,
   "Resource ReSerVation Protocol (RSVP) - Version 1 Functional
   Specification", Internet Draft.

   [2] Berson, S., "Classical RSVP and IP over ATM", Proceedings INET96.

   [3] Borden, M., Crawley , E., Krawczyk, J, Baker, F., and Berson, S.,
   "Issues for RSVP and Integrated Services over ATM", Internet Draft.

   [4] Onvural, R., Srinivasan, V., "A Framework for Supporting RSVP
   Flows Over ATM Networks", Internet Draft.

   [5] The ATM Forum, "LAN Emulation Over ATM Specification", Version
   1.0

   [6] Laubach, M., "Classical IP and ARP over ATM", RFC 1577, December,
   1993.

   [7] Katz, D., Piscitello, D., Cole, B., Luciani, J., "NBMA Next Hop
   Resolution Protocol (NHRP)", Internet Draft.

   [8] G. Armitage, "Support for Multicast over UNI 3.0/3.1 based ATM
   Networks", Internet Draft.



Berger                 Expires December 11, 1996               [Page 21]


Internet Draft               RSVP Over ATM                 June 11, 1996


   [9] Heinanen, J., "Multiprotocol Encapsulation over ATM Adaptation
   Layer 5", RFC 1483, July 1993.


   7. Author's Address

       Lou Berger
       FORE Systems
       6905 Rockledge Drive
       Suite 800
       Bethesda, MD 20817

       Phone: 301-571-2534
       EMail: lberger@fore.com





































Berger                 Expires December 11, 1996               [Page 22]