RSVP over ATM Reqs: RSVP over ATM Implementation Requirements
The must-follow rules that let different vendors' RSVP routers set up QoS circuits over ATM and still interoperate.
Berger, L., "RSVP over ATM Implementation Requirements", RFC 2380, DOI 10.17487/RFC2380, August 1998, <https://www.rfc-editor.org/info/rfc2380>.
@misc{rfc2380,
series = {Request for Comments},
number = 2380,
howpublished = {RFC 2380},
publisher = {RFC Editor},
doi = {10.17487/RFC2380},
url = {https://www.rfc-editor.org/info/rfc2380},
author = {L. Berger},
title = {{RSVP over ATM Implementation Requirements}},
pagetotal = 14,
year = 1998,
month = aug,
} RFC text
Contents
Network Working Group L. Berger
Request for Comments: 2380 FORE Systems
Category: Standards Track August 1998
RSVP over ATM Implementation Requirements
Status of this Memo
This document specifies an Internet standards track protocol for the
Internet community, and requests discussion and suggestions for
improvements. Please refer to the current edition of the "Internet
Official Protocol Standards" (STD 1) for the standardization state
and status of this protocol. Distribution of this memo is unlimited.
Copyright Notice
Copyright (C) The Internet Society (1998). All Rights Reserved.
Abstract
This memo 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 [5] provides specific guidelines
for running over today's ATM networks. The general problem is
discussed in [9]. Integrated Services to ATM service mappings are
covered in [6]. The full set of documents present the background and
information needed to implement Integrated Services and RSVP over
ATM.
Table of Contents
1. Introduction ................................................. 2
1.1 Terms .................................................... 2
1.2 Assumptions .............................................. 3
2. General RSVP Session Support ................................. 4
2.1 RSVP Message VC Usage .................................... 4
2.2 VC Initiation ............................................ 4
2.3 VC Teardown .............................................. 5
2.4 Dynamic QoS .............................................. 6
2.5 Encapsulation ............................................ 6
3. Multicast RSVP Session Support ............................... 7
3.1 Data VC Management for Heterogeneous Sessions ............ 7
3.2 Multicast End-Point Identification ....................... 8
3.3 Multicast Data Distribution .............................. 9
3.4 Receiver Transitions ..................................... 11
4. Security Considerations ...................................... 11
5. Acknowledgments .............................................. 11
6. Author's Address ............................................. 12
REFERENCES ...................................................... 13
FULL COPYRIGHT STATEMENT ........................................ 14
1. Introduction
This memo 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 [8] over ATM have been covered in several
papers including [9] and other earlier work. This document is
intended as a companion to [9,5]. The reader should be familiar with
both documents.
This document defines the 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 [5].
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 [8] 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).
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
"SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this
document are to be interpreted as described in RFC 2119 [7].
1.2 Assumptions
The following assumptions are made:
o RSVP
We assume RSVP as the internet signaling protocol which is
described in [8]. The reader is assumed to be familiar with
[8].
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 are defined, best effort service must continue to be
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 memo 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 RSVP Message VC Usage
There are several RSVP Message VC Usage options available to
implementers. Implementers must select which VC to use for RSVP
messages and how to aggregate RSVP sessions over QoS VCs. These
options have been covered in [9] and some specific implementation
guidelines are stated in [5]. In order to ensure interoperability
between implementations that follow different options, RSVP over ATM
implementations MUST NOT send RSVP (control) messages on the same QoS
VC as RSVP associated data packets. RSVP over ATM implementations
MAY send RSVP messages on either the best effort data path or on a
separate control VC.
Since RSVP (control) messages and RSVP associated data packets are
not sent on the same VCs, it is possible for a VC supporting one type
of traffic to fail while the other remains in place. When the VC
associated with data packets fails and cannot be reestablished, RSVP
SHOULD treat this as an allocation failure. When the VC used to
forward RSVP control messages is abnormally released and cannot be
reestablished, the RSVP associated QoS VCs MUST also be released.
The release of the associated data VCs is required to maintain the
synchronization between forwarding and reservation states for the
associated data flows.
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 subnet sender.
For data flows, this means that subnet senders MUST establish all QoS
VCs and the RSVP enabled subnet 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 subnet 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 an 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. It should be noted that 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 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 are not needed. Additionally, under
normal operations RSVP implementations expect to be able to allocate
resources and have those resources remain allocated until released at
the direction of RSVP. Therefore, 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 [11], 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 [12] states that inactivity
timers must not be used at the VC receiver.
In RSVP over ATM implementations, the configurable inactivity timer
mentioned in [11] 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 [12], RSVP over ATM implementations
MUST not use an inactivity timer to clear any received connections.
2.4 Dynamic QoS
As stated in [9], 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 post VC setup. See [9] 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 required in
order to conform to RSVP error handling as defined in sections 2.5,
3.1.8 and 3.11.2 of [8]. Implementations SHOULD retry replacing a
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 SHOULD BE released and the whole VC replacement
process is restarted. Implementations MAY also limit number of
changes processed in a time period per [9].
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 [10] on such QoS VCs.
Implementations MAY negotiate alternative encapsulations using the
B-LLI negotiation procedures defined in ATM Signalling, see [11] 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 unique to
multicast sessions. 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
issue, but needs to be addressed by any RSVP over ATM implementation
in order to maintain expected best effort 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 [9]. 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.
+----+
+------> | 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
[9] 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 duplicate 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 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 signaling 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-points. This occurs when a 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 via a different route than
used by the PATH message. The source will get the RESV message, but
will not know which ATM end-point should be associated with the
reservation. For unicast sessions, there is no problem since the ATM
end-point will be the IP next-hop router. There is a problem with
multicast, since multicast routing may not be able to uniquely
identify the IP next-hop router. It is therefore possible for a
multicast end-point to not be properly identified.
In certain cases it is also possible to identify the list of all best
effort end-points. Some multicast over ATM control mechanisms, such
as MARS in mesh mode, can be used to identify all end-points of a
multicast group. Also, some multicast routing protocols can provide
all next-hops for a particular multicast group. In both cases, RSVP
over ATM implementations can obtain a full list of end-points, both
QoS and non-QoS, using the appropriate mechanisms. The full list can
then be compared against the RSVP identified end-points to determine
the list of best effort receivers.
While there are cases where QoS and best effort end-points can be
identified, 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 control
mechanisms and routing protocols that support unique end-point
identification. In cases where such mechanisms and 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 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 basic models exist 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.
_________
/ \
/ Multicast \
\ Server /
\_________/
^ | |
| | +--------+
+-----+ | | |
| | -------+ | | Data Flow:
| Src | ...+......|....+ V ----> Server
| | : | : +----+ ....> Mesh
+-----+ : | +...>| R1 |
: | +----+
: V
: +----+
+..> | R2 |
+----+
Figure 3: IP Multicast Data Distribution Over ATM
The goal of RSVP over ATM solutions is to ensure that IP multicast
data is distributed with appropriate QoS. 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.
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 LANE Broadcast and Unknown
Server which means that the break bit MUST always be set. For
LANE2.0 [3] there are provisions that allow for non-server 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. 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. Additionally, 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 miss data.
So, the issue comes down to whether to send to both the old and new
VCs, or to just send to one of the VCs. In one case duplicate data
will be received, in the other some data 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. In both,
there is the option of duplicate or lost data. 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.
The last case differs from the others and 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 data. If the drop is requested first,
then the end-point may miss data. In order to avoid loss of data,
the add MUST be completed first and then followed by the drop. This
behavior requires receivers to be prepared to receive some duplicate
packets at times of QoS setup.
4. Security Considerations
The same considerations stated in [8] and [11] apply to this
document. There are no additional security issues raised in this
document.
5. Acknowledgments
This work is based on earlier drafts and comments from the ISSLL
working group. The author would like to acknowledge their
contribution, most notably Steve Berson who coauthored one of the
drafts.
6. Author's Address
Lou Berger
FORE Systems
1595 Spring Hill Road
5th Floor
Vienna, VA 22182
Phone: +1 703-245-4527
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 Implementation Guidelines", BCP 24,
RFC 2379, August 1998.
[6] Borden, M., and M. Garrett, "Interoperation of Controlled-Load
and Guaranteed-Service with ATM", RFC 2381, August 1998.
[7] Bradner, S., "Key words for use in RFCs to Indicate Requirement
Levels", BCP 14, RFC 2119, March 1997.
[8] Braden, R., Zhang, L., Berson, S., Herzog, S., and S. Jamin,
"Resource ReSerVation Protocol (RSVP) -- Version 1 Functional
Specification", RFC 2205, September 1997.
[9] Crawley, E., Berger, L., Berson, S., Baker, F., Borden, M., and
J. Krawczyk, "A Framework for Integrated Services and RSVP over
ATM", RFC 2382, August 1998.
[10] Heinanen, J., "Multiprotocol Encapsulation over ATM Adaptation
Layer 5", RFC 1483, July 1993.
[11] Perez, M., Liaw, F., Grossman, D., Mankin, A., Hoffman, E., and
A. Malis, "ATM Signalling Support for IP over ATM", RFC 1755,
February 1995.
[12] Maher, M., "ATM Signalling Support for IP over ATM - UNI 4.0
Update", RFC 2331, April 1998.
Full Copyright Statement
Copyright (C) The Internet Society (1998). All Rights Reserved.
This document and translations of it may be copied and furnished to
others, and derivative works that comment on or otherwise explain it
or assist in its implementation may be prepared, copied, published
and distributed, in whole or in part, without restriction of any
kind, provided that the above copyright notice and this paragraph are
included on all such copies and derivative works. However, this
document itself may not be modified in any way, such as by removing
the copyright notice or references to the Internet Society or other
Internet organizations, except as needed for the purpose of
developing Internet standards in which case the procedures for
copyrights defined in the Internet Standards process must be
followed, or as required to translate it into languages other than
English.
The limited permissions granted above are perpetual and will not be
revoked by the Internet Society or its successors or assigns.
This document and the information contained herein is provided on an
"AS IS" basis and THE INTERNET SOCIETY AND THE INTERNET ENGINEERING
TASK FORCE DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING
BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION
HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF
MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
AI ELI5
On this page
§1Scope and Assumptions
RFC 2380 covers running IP over ATM where switched virtual circuits (SVCs) carry QoS flows and RSVP is the internet-level QoS signaling protocol. It applies to the CLIP/ION, LANE 2.0 and MPOA methods of supporting IP over ATM, and it defines requirements for implementations using ATM UNI 3.x and 4.0. Every RSVP over ATM implementation must follow them to interoperate.
It is a companion to RFC 2379 (implementation guidelines) and RFC 2382 (the general framework), and the reader is expected to know both. The RFC also assumes RSVP as described in RFC 2205, either IPv4 or IPv6, and that best effort service keeps working. Permanent virtual circuits are treated like point-to-point links, so the memo assumes SVCs.
Two terms are pinned down. A reservation is an RSVP-initiated request for resources, triggered by RESV message processing (refresh-only RESV messages do not count). A flow is the data traffic for one reservation: one flow per session for shared styles, one per sender for distinct styles.
Before the rules start, the RFC says what it is talking about: reserving a guaranteed lane on an ATM network. It also defines two words, so everyone means the same thing by them.
§2.1Control Messages and VC Initiation
RSVP over ATM implementations MUST NOT send RSVP control messages on the same QoS VC as the RSVP-associated data packets. They MAY send them on the best effort data path or on a separate control VC. If the data VC fails and cannot be reestablished, RSVP SHOULD treat it as an allocation failure. If the VC carrying control messages is abnormally released and cannot be reestablished, the associated QoS VCs MUST also be released, to keep forwarding state and reservation state in sync.
RSVP is receiver oriented and ATM is sender oriented, but the RFC argues this is not a real problem: RESV requests come from the receiver, but resources are actually allocated at the subnet sender. So subnet senders MUST establish all QoS VCs, and RSVP-enabled subnet receivers MUST be able to accept incoming QoS VCs. This lets senders use different flow-to-VC mappings and renegotiation techniques without breaking interoperability.
Implementations MAY send data backwards on an RSVP-initiated point-to-point QoS VC, but it must conform to the backward traffic parameters. Since the initiator sets those, resources are quite likely not requested for the backward direction. Backward data is not available on point-to-multipoint VCs.
The person who asks for the lane (the receiver) is not the one who builds it. The sender builds every reserved lane, and the receiver must be ready to accept it. Messages about the lanes travel on a different road than the cars.
§2.3VC Teardown and Dynamic QoS
Ordinary IP-over-ATM VCs are torn down by inactivity timers because IP is connectionless. RSVP has its own explicit messages and timeouts, so data VCs set up for RSVP flows should be released only at RSVP's direction. This conflicts with RFC 1755, which recommends tearing down an inactive VC and suggests twenty minutes. The configurable inactivity timer MUST be set to infinite for RSVP-initiated VCs, and implementations MUST NOT use an inactivity timer to clear any received connection, which also matches the update to RFC 1755 in RFC 2331.
RSVP lets QoS change at any time, but ATM UNI 3.x and 4.0 allow no change after VC setup. The method is to replace the VC. While the replacement is being set up, the old VC MUST be left in place unmodified. Once the new one is up, data moves to it and only then is the old one closed.
If the replacement fails, the old VC keeps being used. If the new reservation is larger than the old one, the request MUST be answered with an error. If it is smaller, it MUST be treated as successful, leaving the larger allocation in place. Implementations SHOULD retry replacing a too-large VC after some time. Only one QoS change per reservation is processed at a time: if the request changes again mid-setup, the replacement SHOULD be released and the process restarted.
An ATM lane cannot be made wider once it is built. So to change the size, you build a new lane first, move the traffic over, and only then close the old one. Nobody has to stop in the meantime.
- Set up replacementThe old VC MUST be left in place unmodified.
- Shift dataOnly once the replacement is established.
- Close old VCOnly after data has moved.
§2.5Encapsulation
All RSVP over ATM implementations MUST be able to support LLC encapsulation per RFC 1483 on RSVP-triggered QoS VCs. They MAY negotiate alternative encapsulations using the B-LLI negotiation procedures of ATM signalling. When a QoS VC carries only IP packets, implementations SHOULD negotiate VC-based multiplexing, which avoids the overhead of the LLC header.
Every parcel can travel in a standard labeled box that everyone understands. If the lane only carries one kind of parcel, you can skip the label and save space.
§3.1Multicast Heterogeneity and Best Effort Receivers
In a multicast session, heterogeneity means receivers ask for different QoS levels, and some ask for none. RFC 2382 offers four models for dealing with it: full heterogeneity, limited heterogeneity, homogeneous, and modified homogeneous. Whichever model is used, implementations MUST NOT normally send more than one copy of a data packet to a given next-hop (ATM end-point). Brief duplicates during VC setup and transition are acceptable.
Implementations MUST also make sure data reaches best effort receivers, via best effort or QoS VCs as the model allows. They must not create VCs in a way that data cannot be sent to a best effort receiver, including not being able to add one to a QoS VC. Failure to set up best effort VCs is a general IP over ATM failure and out of scope.
When a RESV arrives from a new next-hop asking for more than any existing reservation, the dynamic QoS process SHOULD start first, and the new next-hop SHOULD be the first end-point of the new VC, which minimizes signaling if setup to that next-hop fails.
If a group of friends wants the same video, some pay for the express lane and some do not. Everyone must still get the video, and nobody should get two copies, except briefly while the lanes are being built.
§3.2Multicast End-Point Identification
Implementations must be able to identify the ATM end-points in an IP multicast group, both QoS and best effort ones. RSVP next-hop information usually provides the QoS end-points but not the best effort ones. A full list may be available from multicast over ATM control mechanisms such as MARS in mesh mode, or from multicast routing protocols. Comparing that list against the RSVP-identified end-points yields the best effort receivers.
A special case arises when a next-hop is not RSVP capable and RSVP is tunneled automatically. The RESV may reach the source by a different route than the PATH message, so the source does not know which ATM end-point goes with the reservation. This is harmless for unicast, where the end-point is the IP next-hop router, but multicast routing may not identify the next-hop router uniquely.
The preferred fix is multicast control mechanisms and routing protocols that identify end-points uniquely. Failing that, all IP routers used to support RSVP over ATM should support RSVP. To ensure proper behavior, baseline implementations MUST only establish RSVP-initiated VCs to RSVP capable end-points, though a user may be allowed to override this.
To deliver to everyone in a group, you first need the guest list. Sometimes the list is incomplete, so the safe rule is to only build reserved lanes to guests who understand reservations.
§3.3Multicast Distribution and Receiver Transitions
There are two models for multicast data over ATM. In mesh (VC mesh) mode, senders open point-to-multipoint VCs straight to all destinations. In server mode, senders use point-to-point VCs to a central multicast server, which relays onto point-to-multipoint VCs. Current multicast servers cannot be told about QoS requirements, so implementations SHOULD support mesh mode for RSVP-controlled multicast flows. If a server that cannot take QoS requests is used, the sender MUST set the service-specific break bit (not the global one), telling receivers the router supports RSVP and Integrated Services but the service cannot be delivered over this ATM network.
For MARS, distribution mode is set by administrators, who MUST configure mesh mode for groups used in RSVP sessions. For LANE 1.0 the only option is the Broadcast and Unknown Server, so the break bit MUST always be set. LANE 2.0 allows non-server solutions that may deliver proper QoS.
While a point-to-multipoint VC is being built, some receivers are on it and some are not. For a first QoS VC or a replacement VC, data MUST NOT be sent on the new VC until all parties have been added, so everyone receives each packet once. When adding an end-point to an existing QoS VC, the add MUST complete first and the drop from the best effort VC follows. This avoids data loss but means receivers must tolerate some duplicate packets during QoS setup.
Either each sender delivers to everyone directly, or sends to a middleman who passes it on. The middleman cannot handle special lanes, so direct delivery is preferred. When changing lanes, make sure everyone is on the new one before you start, and join the new lane before leaving the old.
| Mode | How data flows | QoS support |
|---|---|---|
| Mesh (VC mesh) THIS RFC | Sender opens point-to-multipoint VCs to all destinations | SHOULD be supported for RSVP flows |
| Server | Point-to-point VCs to a central server, which relays onto point-to-multipoint VCs | Current servers cannot take QoS requests |
§4Security Considerations
The RFC says that the same considerations stated in RFC 2205 and RFC 1755 apply, and that it raises no additional security issues.
The RFC says it adds no new dangers beyond those already known for the two things it connects.