Internet Draft Internet Draft L. Berger Expires: January 1998 FORE Systems File: draft-ietf-issll-atm-imp-req-00.txt RSVP over ATM Implementation Requirements July 11, 1997 Status of 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 ds.internic.net (US East Coast), nic.nordu.net (Europe), ftp.isi.edu (US West Coast), or munnari.oz.au (Pacific Rim). Abstract This note presents specific implementation requirements for running RSVP over ATM switched virtual circuits (SVCs). It presents requirements that ensure interoperability between multiple implementations and conformance to the RSVP and Integrated Services specifications. A separate document [6] provides specific guidelines for running over today's ATM networks. The general problem is discussed in [11]. Integrated Services to ATM service mappings are covered in [9]. The full set of documents present the background and information needed to implement Integrated Services and RSVP over ATM. Berger Expires: January 1998 [Page 1] Internet Draft RSVP over ATM Requirements July 1997 Table of Contents 1. Introduction ........................................................3 1.1 Terms ...........................................................3 1.2 Assumptions .....................................................4 2. General RSVP Session Support ........................................4 2.1 VC Usage ........................................................4 2.2 VC Initiation ...................................................5 2.3 VC Teardown .....................................................5 2.4 Dynamic QoS .....................................................6 2.5 Encapsulation ...................................................7 3. Multicast RSVP Session Support ......................................7 3.1 Data VC Management for Heterogeneous Sessions ...................7 3.2 Multicast End-Point Identification ..............................9 3.3 Multicast Data Distribution .....................................10 3.4 Receiver Transitions ............................................11 4. Security ............................................................12 5. Acknowledgments .....................................................12 6. Author's Address ....................................................12 Berger Expires: January 1998 [Page 2] Internet Draft RSVP over ATM Requirements July 1997 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 applies when using CLIP/ION, LANE2.0 and MPOA[4] methods for supporting IP over ATM. The general issues related to running RSVP[10] over ATM have been covered in several papers including [11,7,5,8]. This document is intended as a companion to [11,6]. The reader should be familiar with both documents. This document will define specific requirements for implementations using ATM UNI3.x and 4.0. These requirements must be adhered to by all RSVP over ATM implementations to ensure interoperability. Further recommendations to guide implementers of RSVP over ATM are provided in [6]. The rest of this section will define terms and assumptions. Section 2 will cover implementation guidelines common to all RSVP session. Section 3 will cover implementation guidelines specific to multicast sessions. 1.1 Terms The terms "reservation" and "flow" are used in many contexts, often with different meaning. These terms are used in this document with the following meaning: o Reservation is used in this document to refer to an RSVP initiated request for resources. RSVP initiates requests for resources based on RESV message processing. RESV messages that simply refresh state do not trigger resource requests. Resource requests may be made based on RSVP sessions and RSVP reservation styles. RSVP styles dictate whether the reserved resources are used by one sender or shared by multiple senders. See [10] for details of each. Each new request is referred to in this document as an RSVP reservation, or simply reservation. o Flow is used to refer to the data traffic associated with a particular reservation. The specific meaning of flow is RSVP style dependent. For shared style reservations, there is one flow per session. For distinct style reservations, there is one flow per sender (per session). Berger Expires: January 1998 [Page 3] Internet Draft RSVP over ATM Requirements July 1997 1.2 Assumptions The following assumptions are made: o RSVP We assume RSVP as the internet signalling protocol which is described in [10]. The reader is assumed to be familiar with [10]. o IPv4 and IPv6 RSVP support has been defined for both IPv4 and IPv6. The guidelines in this document are intended to be used to support RSVP with either IPv4 or IPv6. This document does not require one version over the other. o Best effort service model The current Internet only supports best effort service. We assume that as additional components of the Integrated Services model that best effort service will continue to be a supported. o ATM UNI 3.x and 4.0 We assume ATM service as defined by UNI 3.x and 4.0. ATM provides both point-to-point and point-to- multipoint Virtual Circuits (VCs) with a specified Quality of Service (QoS). ATM provides both Permanent Virtual Circuits (PVCs) and Switched Virtual Circuits (SVCs). In the Permanent Virtual Circuit (PVC) environment, PVCs are typically used as point-to-point link replacements. So the support issues are similar to point-to-point links. This draft assumes that SVCs are used to support RSVP over ATM. 2. General RSVP Session Support This section provides implementation requirements that are common for all (both unicast and multicast) RSVP sessions. The section covers VC usage, QoS VC initiation, VC teardown, handling requested changes in QoS, and encapsulation. 2.1 VC Usage There are several options open to implementations on which VC to use for RSVP messages and how to aggregate RSVP sessions over QoS VCs. These options have been covered in [11] and some specific implementation guidelines are stated in [6]. In order to ensure interoperability between implementations that follow different options, RSVP over ATM implementations MUST be able to receive RSVP (control) messages on both QoS and best-effort VCs, and MUST be able to receive multiple RSVP sessions per QoS VC. Berger Expires: January 1998 [Page 4] Internet Draft RSVP over ATM Requirements July 1997 2.2 VC Initiation There is an apparent mismatch between RSVP and ATM. Specifically, RSVP control is receiver oriented and ATM control is sender oriented. This initially may seem like a major issue but really is not. While RSVP reservation (RESV) requests are generated at the receiver, actual allocation of resources takes place at the sub-net sender. For data flows, this means that sub-net senders MUST establish all QoS VCs and the RSVP enabled sub-net receiver MUST be able to accept incoming QoS VCs. These restrictions are consistent with RSVP version 1 processing rules and allow senders to use different flow to VC mappings and even different QoS renegotiation techniques without interoperability problems. All RSVP over ATM approaches that have VCs initiated and controlled by the sub-net senders will interoperate. Figure 1 shows this model of data flow VC initiation. Data Flow ==========> +-----+ | | --------------> +----+ | Src | --------------> | R1 | | *| --------------> +----+ +-----+ QoS VCs /\ || VC || Initiator Figure 1: Data Flow VC Initiation RSVP over ATM implementations MAY send data in the backwards direction on a RSVP initiated QoS point-to-point VC. When sending in the backwards data path, the sender MUST ensure that the data conforms to the backwards direction traffic parameters. Since the traffic parameters are set by the VC initiator, it is quite likely that no resources will be requested for traffic originating at the called party. Of course, the backwards data path is not available with point-to-multipoint VCs. 2.3 VC Teardown VCs supporting IP over ATM data are typically torndown based on inactivity timers. This mechanism is used since IP is connectionless and there is therefore no way to know when a VC is Berger Expires: January 1998 [Page 5] Internet Draft RSVP over ATM Requirements July 1997 no longer needed. Since RSVP provides explicit mechanisms (messages and timeouts) to determine when an associated data VC is no longer needed, the traditional VC timeout mechanisms is not needed. Data VCs set up to support RSVP controlled flows should only be released at the direction of RSVP. Such VCs must not be timed out due to inactivity by either the VC initiator or the VC receiver. This conflicts with VCs timing out as described in RFC 1755[14], section 3.4 on VC Teardown. RFC 1755 recommends tearing down a VC that is inactive for a certain length of time. Twenty minutes is recommended. This timeout is typically implemented at both the VC initiator and the VC receiver. Although, section 3.1 of the update to RFC 1755[15] states that inactivity timers must not be used at the VC receiver. In RSVP over ATM implementations, the configurable inactivity timer mentioned in [14] MUST be set to "infinite" for VCs initiated at the request of RSVP. Setting the inactivity timer value at the VC initiator should not be problematic since the proper value can be relayed internally at the originator. Setting the inactivity timer at the VC receiver is more difficult, and would require some mechanism to signal that an incoming VC was RSVP initiated. To avoid this complexity and to conform to [15], RSVP over ATM implementations MUST not use an inactivity timer to clear any received connection. 2.4 Dynamic QoS As stated in [11], there is a mismatch in the service provided by RSVP and that provided by ATM UNI3.x and 4.0. RSVP allows modifications to QoS parameters at any time, while ATM does not support any modifications to QoS parameters after VC setup. See [11] for more detail. The method 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 MUST be left in place 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 only then is the old VC closed. If setup of the replacement VC fails, then the old QoS VC MUST continue to be used. When the new reservation is greater than the old reservation, the reservation request MUST be answered with an error. When the new reservation is less than the old reservation, the request MUST be treated as if the modification was successful. While leaving the larger allocation in place is suboptimal, it maximizes delivery of service to the user. The behavior is also Berger Expires: January 1998 [Page 6] Internet Draft RSVP over ATM Requirements July 1997 required in order to conform to RSVP error handling as defined in sections 2.5, 3.1.8 and 3.11.2 of [10]. 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 released and the whole VC replacement process is restarted. Implementations MAY also limit number of changes processed in a time period per [11]. 2.5 Encapsulation There are multiple encapsulation options for data sent over RSVP triggered QoS VCs. All RSVP over ATM implementations MUST be able to support LLC encapsulation per RFC 1483[12] on such QoS VCs. Implementations MAY negotiate alternative encapsulations using the B-LLI negotiation procedures defined in ATM Signalling, see [14] for details. When a QoS VC is only being used to carry IP packets, implementations SHOULD negotiate VC based multiplexing to avoid incurring the overhead of the LLC header. 3. Multicast RSVP Session Support 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. This section addresses multicast end-point identification, multicast data distribution, multicast receiver transitions and next-hops requesting different QoS values (heterogeneity) which includes the handling of multicast best-effort receivers. Handling of best-effort receivers is not strictly an RSVP issues, but needs to be addressed in any RSVP over ATM implementation in order to maintain expected Internet service. 3.1 Data VC Management for Heterogeneous Sessions The issues relating to data VC management of heterogeneous sessions are covered in detail in [11] and not repeated. In summary, heterogeneity occurs when receivers request different levels of QoS within a single session, and also when some receivers do not request any QoS. Both types of heterogeneity are shown in figure 2. Berger Expires: January 1998 [Page 7] Internet Draft RSVP over ATM Requirements July 1997 +----+ +------> | R1 | | +----+ | | +----+ +-----+ -----+ +--> | R2 | | | ---------+ +----+ Receiver Request Types: | Src | ----> QoS 1 and QoS 2 | | .........+ +----+ ....> Best-Effort +-----+ .....+ +..> | R3 | : +----+ /\ : || : +----+ || +......> | R4 | || +----+ Single IP Mulicast Group Figure 2: Types of Multicast Receivers [11] provides four models for dealing with heterogeneity: full heterogeneity, limited heterogeneity, homogeneous, and modified homogeneous models. No matter which model or combination of models is used by an implementation, implementations MUST NOT normally send more than one copy of a particular data packet to a particular next-hop (ATM end-point). Some transient over transmission is acceptable, but only during VC setup and transition. Implementations MUST also ensure that data traffic is sent to best-effort receivers. Data traffic MAY be sent to best-effort receivers via best-effort or QoS VCs as is appropriate for the implemented model. In all cases, implementations MUST NOT create VCs in such a way that data cannot be sent to best-effort receivers. This includes the case of not being able to add a best-effort receiver to a QoS VC, but does not include the case where best-effort VCs cannot be setup. The failure to establish best-effort VCs is considered to be a general IP over ATM failure and is therefore beyond the scope of this document. There is an interesting interaction between dynamic QoS and heterogeneous requests when using the limited heterogeneity, homogeneous, or modified homogeneous models. 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 dynamic QoS and heterogeneity need to be addressed. A key issue is Berger Expires: January 1998 [Page 8] Internet Draft RSVP over ATM Requirements July 1997 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 dynamic QoS process SHOULD be initiated first. Since the new QoS is only needed by the new next-hop, it SHOULD be the first end-point of the new VC. This way signalling is minimized when the setup to the new next-hop fails. 3.2 Multicast End-Point Identification Implementations must be able to identify ATM end-points participating in an IP multicast group. The ATM end-points will be IP multicast receivers and/or next-hops. Both QoS and best- effort end-points must be identified. RSVP next-hop information will usually provide QoS end-points, but not best-effort end- points. There is a special case where RSVP next-hop information will not provide the appropriate end-point. This occurs when the next-hop is not RSVP capable, and RSVP is being automatically tunneled. In this case a PATH message travels through a non-RSVP egress router on the way to the next hop RSVP node. When the next hop RSVP node sends a RESV message it may arrive at the source over a different route than what the data is using. The source will get the RESV message, but will not know which egress router needs the QoS. For unicast sessions, there is no problem since the ATM end-point will be the IP next-hop router. Unfortunately, multicast routing may not be able to uniquely identify the IP next-hop router. It is therefore possible that a multicast end-point can not be properly identified. In the host case, some multicast over ATM control mechanisms, such as MARS, can be used to identify all end-points of a multicast group. In the router to router case, a multicast routing protocol may provide all next-hops for a particular multicast group. In either case, RSVP over ATM implementations must obtain a full list of end-points, both QoS and non-QoS, using the appropriate mechanisms. The full list can be compared against the RSVP identified end-points to determine the list of best-effort receivers. There is no straightforward solution to uniquely identifying end- points of multicast traffic handled by non-RSVP next hops. The preferred solution is to use multicast routing protocols that support unique end-point identification. In cases where such routing protocols are unavailable, all IP routers that will be used to support RSVP over ATM should support RSVP. To ensure proper behavior, baseline RSVP over ATM implementations MUST only Berger Expires: January 1998 [Page 9] Internet Draft RSVP over ATM Requirements July 1997 establish RSVP-initiated VCs to RSVP capable end-points. It is permissible to allow a user to override this behavior. 3.3 Multicast Data Distribution Two models are planned for IP multicast data distribution over ATM. In one model, 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" or "VC 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-multipoint VCs that have been established to all receivers of the IP multicast group. This model is often referred to as "multicast server" mode distribution. Figure 3 shows data flow for both modes of IP multicast data distribution. The goal of RSVP over ATM solutions is to ensure that IP multicast data is distributed with appropriate QoS. _________ / \ / Multicast \ \ Server / \_________/ ^ | | | | +--------+ +-----+ | | | | | -------+ | | Data Flow: | Src | ...+......|....+ V ----> Server | | : | : +----+ ....> Mesh +-----+ : | +...>| R1 | : | +----+ : V : +----+ +..> | R2 | +----+ Figure 3: IP Multicast Data Distribution Over ATM Current multicast servers [1,2] do not support any mechanisms for communicating QoS requirements to a multicast server. For this reason, RSVP over ATM implementations SHOULD support "mesh-mode" distribution for RSVP controlled multicast flows. When using multicast servers that do not support QoS requests, a sender MUST set the service, not global, break bit(s). Use of the service- specific break bit tells the receiver(s) that RSVP and Integrated Services are supported by the router but that the service cannot be delivered over the ATM network for the specific request. Berger Expires: January 1998 [Page 10] Internet Draft RSVP over ATM Requirements July 1997 In the case of MARS[1], the selection of distribution modes is administratively controlled. Therefore network administrators that desire proper RSVP over ATM operation MUST appropriately configure their network to support mesh mode distribution for multicast groups that will be used in RSVP sessions. For LANE1.0 networks the only multicast distribution option is over the BUS, which means that the break bit MUST always be set. For LANE2.0 [3] there are provisions that allow for non-BUS solutions with which it may be possible to ensure proper QoS delivery. 3.4 Receiver Transitions When setting up a point-to-multipoint VCs there will be a time when some receivers have been added to a QoS VC and some have not. During such transition times it is possible to start sending data on the newly established VC. The issue is when to start send data on the new VC. If data is sent both on the new VC and the old VC, then data will be delivered with proper QoS to some receivers and with the old QoS to all receivers. This means the QoS receivers would get duplicate data. If data is sent just on the new QoS VC, the receivers that have not yet been added will lose information. So, the issue comes down to whether to send to both the old and new VCs, or to send to just one of the VCs. In one case duplicate information will be received, in the other some information may not be received. This issue needs to be considered for three cases: when establishing the first QoS VC, when establishing a VC to support a QoS change, and when adding a new end-point to an already established QoS VC. The first two cases are essentially the same. In both, it is possible to send data on the partially completed new VC, and the issue of duplicate versus lost information is similar. The last case occurs when an end-point must be added to an existing QoS VC. In this case the end-point must be both added to the QoS VC and dropped from a best-effort VC. The issue is which to do first. If the add is first requested, then the end-point may get duplicate information. If the drop is requested first, then the end-point may loose information. In order to ensure predictable behavior and to conform to the requirement to deliver data to all receivers, data MUST NOT be sent on new VCs until all parties have been added. This will ensure that all data is only delivered once to all receivers. This approach does not quite apply for the last case. In the last case, the add MUST be completed first, then the drop. This last behavior requires receivers to be prepared to receive some duplicate packets at times of QoS setup. Berger Expires: January 1998 [Page 11] Internet Draft RSVP over ATM Requirements July 1997 4. Security The same considerations stated in [10] and [14] apply to this document. There are no additional security issues raised in this document. 5. Acknowledgments This work is based on earlier drafts [5,7] and comments from the ISSLL working group. The author would like to acknowledge their contribution, most notably Steve Berson who coauthored [7]. 6. Author's Address Lou Berger FORE Systems 6905 Rockledge Drive Suite 800 Bethesda, MD 20817 Phone: +1 301 571 2534 EMail: lberger@fore.com REFERENCES [1] Armitage, G., "Support for Multicast over UNI 3.0/3.1 based ATM Networks," RFC 2022, November 1996. [2] The ATM Forum, "LAN Emulation Over ATM Specification", Version 1.0. [3] The ATM Forum, "LAN Emulation over ATM Version 2 - LUNI Specification ", April 1997. [4] The ATM Forum, "MPOA Baseline Version 1", May 1997. [5] Berger, L., "RSVP over ATM: Framework and UNI3.0/3.1 Method", Internet Draft, June 1996. [6] Berger, L., "RSVP over ATM Implementation Guidelines", Internet Draft, July 1997. [7] Berson, S., Berger, L., "IP Integrated Services with RSVP over ATM," Internet Draft, draft-ietf-issll-atm-support-02.txt, November 1996. [8] Borden, M., Crawley, E., Krawczyk, J, Baker, F., and Berson, S., "Issues for RSVP and Integrated Services over ATM," Internet Draft, February 1996. Berger Expires: January 1998 [Page 12] Internet Draft RSVP over ATM Requirements July 1997 [9] Borden, M., and Garrett, M., "Interoperation of Controlled-Load and Guaranteed-Service with ATM," Internet Draft, March 1997. [10] Braden, R., Zhang, L., Berson, S., Herzog, S., and Jamin, S., "Resource ReSerVation Protocol (RSVP) -- Version 1 Functional Specification," Internet Draft, June 1997. [11] Crawley, E., Berger, L., Berson, S., Baker, F., Borden, M., and Krawczyk, J, "Issues for Integrated Services and RSVP over ATM," Internet Draft, July 1997. [12] Heinanen, J., "Multiprotocol Encapsulation over ATM Adaptation Layer 5," RFC 1483. [13] Onvural, R., Srinivasan, V., "A Framework for Supporting RSVP Flows Over ATM Networks," Internet Draft, March 1996. [14] Perez, M., Liaw, F., Grossman, D., Mankin, A., Hoffman, E., and Malis, A., "ATM Signalling Support for IP over ATM," RFC 1755. [15] Maher, M., "ATM Signalling Support for IP over ATM - UNI 4.0 Update" Internet Draft, May 1997. Berger Expires: January 1998 [Page 13]