summaryrefslogtreecommitdiff
path: root/doc/rfc/rfc3035.txt
diff options
context:
space:
mode:
Diffstat (limited to 'doc/rfc/rfc3035.txt')
-rw-r--r--doc/rfc/rfc3035.txt1123
1 files changed, 1123 insertions, 0 deletions
diff --git a/doc/rfc/rfc3035.txt b/doc/rfc/rfc3035.txt
new file mode 100644
index 0000000..2fabf24
--- /dev/null
+++ b/doc/rfc/rfc3035.txt
@@ -0,0 +1,1123 @@
+
+
+
+
+
+
+Network Working Group B. Davie
+Request for Comments: 3035 J. Lawrence
+Category: Standards Track K. McCloghrie
+ E. Rosen
+ G. Swallow
+ Cisco Systems, Inc.
+ Y. Rekhter
+ Juniper Networks
+ P. Doolan
+ Ennovate Networks, Inc.
+ January 2001
+
+
+ MPLS using LDP and ATM VC Switching
+
+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 (2001). All Rights Reserved.
+
+Abstract
+
+ The Multiprotocol Label Switching (MPLS) Architecture [1] discusses a
+ way in which Asynchronous Transfer Mode (ATM) switches may be used as
+ Label Switching Routers. The ATM switches run network layer routing
+ algorithms (such as Open Shortest Path First (OSPF), Intermediate
+ System to Intermediate System (IS-IS), etc.), and their data
+ forwarding is based on the results of these routing algorithms. No
+ ATM-specific routing or addressing is needed. ATM switches used in
+ this way are known as ATM-LSRs (Label Switching Routers).
+
+ This document extends and clarifies the relevant portions of [1] and
+ [2] by specifying in more detail the procedures which to be used when
+ distributing labels to or from ATM-LSRs, when those labels represent
+ Forwarding Equivalence Classes (FECs, see [1]) for which the routes
+ are determined on a hop-by-hop basis by network layer routing
+ algorithms.
+
+ This document also specifies the MPLS encapsulation to be used when
+ sending labeled packets to or from ATM-LSRs, and in that respect is a
+ companion document to [3].
+
+
+
+Davie Standards Track [Page 1]
+
+RFC 3035 MPLS using LDP and ATM VC Switching January 2001
+
+
+Table of Contents
+
+ 1 Introduction ........................................... 2
+ 2 Specification of Requirements .......................... 3
+ 3 Definitions ............................................ 3
+ 4 Special Characteristics of ATM Switches ................ 4
+ 5 Label Switching Control Component for ATM .............. 5
+ 6 Hybrid Switches (Ships in the Night) ................... 5
+ 7 Use of VPI/VCIs ....................................... 5
+ 7.1 Direct Connections ..................................... 6
+ 7.2 Connections via an ATM VP .............................. 7
+ 7.3 Connections via an ATM SVC ............................. 7
+ 8 Label Distribution and Maintenance Procedures .......... 7
+ 8.1 Edge LSR Behavior ...................................... 8
+ 8.2 Conventional ATM Switches (non-VC-merge) ............... 9
+ 8.3 VC-merge-capable ATM Switches .......................... 11
+ 9 Encapsulation .......................................... 12
+ 10 TTL Manipulation ....................................... 13
+ 11 Optional Loop Detection: Distributing Path Vectors ..... 15
+ 11.1 When to Send Path Vectors Downstream ................... 15
+ 11.2 When to Send Path Vectors Upstream ..................... 16
+ 12 Security Considerations ................................ 17
+ 13 Intellectual Property Considerations ................... 17
+ 14 References ............................................. 18
+ 15 Acknowledgments ........................................ 18
+ 16 Authors' Addresses ..................................... 18
+ 17 Full Copyright Statement ............................... 20
+
+1. Introduction
+
+ The MPLS Architecture [1] discusses the way in which ATM switches may
+ be used as Label Switching Routers. The ATM switches run network
+ layer routing algorithms (such as OSPF, IS-IS, etc.), and their data
+ forwarding is based on the results of these routing algorithms. No
+ ATM-specific routing or addressing is needed. ATM switches used in
+ this way are known as ATM-LSRs.
+
+ This document extends and clarifies the relevant portions of [1] and
+ [2] by specifying in more detail the procedures which are to be used
+ for distributing labels to or from ATM-LSRs, when those labels
+ represent Forwarding Equivalence Classes (FECs, see [1]) for which
+ the routes are determined on a hop-by-hop basis by network layer
+ routing algorithms. The label distribution technique described here
+ is referred to in [1] as "downstream-on-demand". This label
+ distribution technique MUST be used by ATM-LSRs that are not capable
+ of "VC merge" (defined in section 3), and is OPTIONAL for ATM-LSRs
+ that are capable of VC merge.
+
+
+
+
+Davie Standards Track [Page 2]
+
+RFC 3035 MPLS using LDP and ATM VC Switching January 2001
+
+
+ This document does NOT specify the label distribution techniques to
+ be used in the following cases:
+
+ - the routes are explicitly chosen before label distribution
+ begins, instead of being chosen on a hop-by-hop basis as label
+ distribution proceeds,
+
+ - the routes are intended to diverge in any way from the routes
+ chosen by the conventional hop-by-hop routing at any time,
+
+ - the labels represent FECs that consist of multicast packets,
+
+ - the LSRs use "VP merge".
+
+ Further statements made in this document about ATM-LSR label
+ distribution do not necessarily apply in these cases.
+
+ This document also specifies the MPLS encapsulation to be used when
+ sending labeled packets to or from ATM-LSRs, and in that respect is a
+ companion document to [3]. The specified encapsulation is to be used
+ for multicast or explicitly routed labeled packets as well.
+
+ This document uses terminology from [1].
+
+2. Specification of Requirements
+
+ 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.
+
+3. Definitions
+
+ A Label Switching Router (LSR) is a device which implements the label
+ switching control and forwarding components described in [1].
+
+ A label switching controlled ATM (LC-ATM) interface is an ATM
+ interface controlled by the label switching control component. When
+ a packet traversing such an interface is received, it is treated as a
+ labeled packet. The packet's top label is inferred either from the
+ contents of the VCI field or the combined contents of the VPI and VCI
+ fields. Any two LDP peers which are connected via an LC-ATM
+ interface will use LDP negotiations to determine which of these cases
+ is applicable to that interface.
+
+ An ATM-LSR is a LSR with a number of LC-ATM interfaces which forwards
+ cells between these interfaces, using labels carried in the VCI or
+ VPI/VCI field, without reassembling the cells into frames before
+ forwarding.
+
+
+
+Davie Standards Track [Page 3]
+
+RFC 3035 MPLS using LDP and ATM VC Switching January 2001
+
+
+ A frame-based LSR is a LSR which forwards complete frames between its
+ interfaces. Note that such a LSR may have zero, one or more LC-ATM
+ interfaces.
+
+ Sometimes a single box may behave as an ATM-LSR with respect to
+ certain pairs of interfaces, but may behave as a frame-based LSR with
+ respect to other pairs. For example, an ATM switch with an ethernet
+ interface may function as an ATM-LSR when forwarding cells between
+ its LC-ATM interfaces, but may function as a frame-based LSR when
+ forwarding frames from its ethernet to one of its LC-ATM interfaces.
+ In such cases, one can consider the two functions (ATM-LSR and
+ frame-based LSR) as being coresident in a single box.
+
+ It is intended that an LC-ATM interface be used to connect two ATM-
+ LSRs, or to connect an ATM-LSR to a frame-based LSR. The use of an
+ LC-ATM interface to connect two frame-based LSRs is not considered in
+ this document.
+
+ An ATM-LSR domain is a set of ATM-LSRs which are mutually
+ interconnected by LC-ATM interfaces.
+
+ The Edge Set of an ATM-LSR domain is the set of frame-based LSRs
+ which are connected to members of the domain by LC-ATM interfaces. A
+ frame-based LSR which is a member of an Edge Set of an ATM-LSR domain
+ may be called an Edge LSR.
+
+ VC-merge is the process by which a switch receives cells on several
+ incoming VCIs and transmits them on a single outgoing VCI without
+ causing the cells of different AAL5 PDUs to become interleaved.
+
+4. Special Characteristics of ATM Switches
+
+ While the MPLS architecture permits considerable flexibility in LSR
+ implementation, an ATM-LSR is constrained by the capabilities of the
+ (possibly pre-existing) hardware and the restrictions on such matters
+ as cell format imposed by ATM standards. Because of these
+ constraints, some special procedures are required for ATM-LSRs.
+
+ Some of the key features of ATM switches that affect their behavior
+ as LSRs are:
+
+ - the label swapping function is performed on fields (the VCI
+ and/or VPI) in the cell header; this dictates the size and
+ placement of the label(s) in a packet.
+
+ - multipoint-to-point and multipoint-to-multipoint VCs are
+ generally not supported. This means that most switches cannot
+ support 'VC-merge' as defined above.
+
+
+
+Davie Standards Track [Page 4]
+
+RFC 3035 MPLS using LDP and ATM VC Switching January 2001
+
+
+ - there is generally no capability to perform a 'TTL-decrement'
+ function as is performed on IP headers in routers.
+
+ This document describes ways of applying label switching to ATM
+ switches which work within these constraints.
+
+5. Label Switching Control Component for ATM
+
+ To support label switching an ATM switch MUST implement the control
+ component of label switching. This consists primarily of label
+ allocation, distribution, and maintenance procedures. Label binding
+ information is communicated by several mechanisms, notably the Label
+ Distribution Protocol (LDP) [2]. This document imposes certain
+ requirements on the LDP.
+
+ This document considers only the case where the label switching
+ control component uses information learned directly from network
+ layer routing protocols. It is presupposed that the switch
+ participates as a peer in these protocols (e.g., OSPF, IS-IS).
+
+ In some cases, LSRs make use of other protocols (e.g., RSVP, PIM,
+ BGP) to distribute label bindings. In these cases, an ATM-LSR would
+ need to participate in these protocols. However, these are not
+ explicitly considered in this document.
+
+ Support of label switching on an ATM switch does NOT require the
+ switch to support the ATM control component defined by the ITU and
+ ATM Forum (e.g., UNI, PNNI). An ATM-LSR may OPTIONALLY respond to
+ OAM cells.
+
+6. Hybrid Switches (Ships in the Night)
+
+ The existence of the label switching control component on an ATM
+ switch does not preclude the ability to support the ATM control
+ component defined by the ITU and ATM Forum on the same switch and the
+ same interfaces. The two control components, label switching and the
+ ITU/ATM Forum defined, would operate independently.
+
+ Definition of how such a device operates is beyond the scope of this
+ document. However, only a small amount of information needs to be
+ consistent between the two control components, such as the portions
+ of the VPI/VCI space which are available to each component.
+
+7. Use of VPI/VCIs
+
+ Label switching is accomplished by associating labels with Forwarding
+ Equivalence Classes, and using the label value to forward packets,
+ including determining the value of any replacement label. See [1]
+
+
+
+Davie Standards Track [Page 5]
+
+RFC 3035 MPLS using LDP and ATM VC Switching January 2001
+
+
+ for further details. In an ATM-LSR, the label is carried in the
+ VPI/VCI field, or, when two ATM-LSRs are connected via an ATM
+ "Virtual Path", in the VCI field.
+
+ Labeled packets MUST be transmitted using the null encapsulation, as
+ defined in Section 6.1 of RFC 2684 [5].
+
+ In addition, if two LDP peers are connected via an LC-ATM interface,
+ a non-MPLS connection, capable of carrying unlabelled IP packets,
+ MUST be available. This non-MPLS connection is used to carry LDP
+ packets between the two peers, and MAY also be used (but is not
+ required to be used) for other unlabeled packets (such as OSPF
+ packets, etc.). The LLC/SNAP encapsulation of RFC 2684 [5] MUST be
+ used on the non-MPLS connection.
+
+ It SHOULD be possible to configure an LC-ATM interface with
+ additional VPI/VCIs that are used to carry control information or
+ non-labelled packets. In that case, the VCI values MUST NOT be in
+ the 0-32 range. These may use either the null encapsulation, as
+ defined in Section 6.1 of RFC 2684 [5], or the LLC/SNAP
+ encapsulation, as defined in Section 5.1 of RFC 2684 [5].
+
+7.1. Direct Connections
+
+ We say that two LSRs are "directly connected" over an LC-ATM
+ interface if all cells transmitted out that interface by one LSR will
+ reach the other, and there are no ATM switches between the two LSRs.
+
+ When two LSRs are directly connected via an LC-ATM interface, they
+ jointly control the allocation of VPIs/VCIs on the interface
+ connecting them. They may agree to use the VPI/VCI field to encode a
+ single label.
+
+ The default VPI/VCI value for the non-MPLS connection is VPI 0, VCI
+ 32. Other values can be configured, as long as both parties are
+ aware of the configured value.
+
+ A VPI/VCI value whose VCI part is in the range 0-32 inclusive MUST
+ NOT be used as the encoding of a label.
+
+ With the exception of these reserved values, the VPI/VCI values used
+ in the two directions of the link MAY be treated as independent
+ spaces.
+
+ The allowable ranges of VCIs are communicated through LDP.
+
+
+
+
+
+
+Davie Standards Track [Page 6]
+
+RFC 3035 MPLS using LDP and ATM VC Switching January 2001
+
+
+7.2. Connections via an ATM VP
+
+ Sometimes it can be useful to treat two LSRs as adjacent (in some
+ LSP) across an LC-ATM interface, even though the connection between
+ them is made through an ATM "cloud" via an ATM Virtual Path. In this
+ case, the VPI field is not available to MPLS, and the label MUST be
+ encoded entirely within the VCI field.
+
+ In this case, the default VCI value of the non-MPLS connection
+ between the LSRs is 32. Other values can be configured, as long as
+ both parties are aware of the configured value. The VPI is set to
+ whatever is required to make use of the Virtual Path.
+
+ A VPI/VCI value whose VCI part is in the range 0-32 inclusive MUST
+ NOT be used as the encoding of a label.
+
+ With the exception of these reserved values, the VPI/VCI values used
+ in the two directions of the link MAY be treated as independent
+ spaces.
+
+ The allowable ranges of VPI/VCIs are communicated through LDP. If
+ more than one VPI is used for label switching, the allowable range of
+ VCIs may be different for each VPI, and each range is communicated
+ through LDP.
+
+7.3. Connections via an ATM SVC
+
+ Sometimes it may be useful to treat two LSRs as adjacent (in some
+ LSP) across an LC-ATM interface, even though the connection between
+ them is made through an ATM "cloud" via a set of ATM Switched Virtual
+ Circuits.
+
+ The current document does not specify the procedure for handling this
+ case. Such procedures can be found in [4]. The procedures described
+ in [4] allow a VCID to be assigned to each such VC, and specify how
+ LDP can be used used to bind a VCID to a FEC. The top label of a
+ received packet would then be inferred (via a one-to-one mapping)
+ from the virtual circuit on which the packet arrived. There would
+ not be a default VPI or VCI value for the non-MPLS connection.
+
+8. Label Distribution and Maintenance Procedures
+
+ This document discusses the use of "downstream-on-demand" label
+ distribution (see [1]) by ATM-LSRs. These label distribution
+ procedures MUST be used by ATM-LSRs that do not support VC-merge, and
+ MAY also be used by ATM-LSRs that do support VC-merge. The
+ procedures differ somewhat in the two cases, however. We therefore
+ describe the two scenarios in turn. We begin by describing the
+
+
+
+Davie Standards Track [Page 7]
+
+RFC 3035 MPLS using LDP and ATM VC Switching January 2001
+
+
+ behavior of members of the Edge Set of an ATM-LSR domain; these "Edge
+ LSRs" are not themselves ATM-LSRs, and their behavior is the same
+ whether the domain contains VC-merge capable LSRs or not.
+
+8.1. Edge LSR Behavior
+
+ Consider a member of the Edge Set of an ATM-LSR domain. Assume that,
+ as a result of its routing calculations, it selects an ATM-LSR as the
+ next hop of a certain FEC, and that the next hop is reachable via a
+ LC-ATM interface. The Edge LSR uses LDP to request a label binding
+ for that FEC from the next hop. The hop count field in the request
+ is set to 1 (but see the next paragraph). Once the Edge LSR receives
+ the label binding information, it may use MPLS forwarding procedures
+ to transmit packets in the specified FEC, using the specified label
+ as an outgoing label. (Or using the VPI/VCI that corresponds to the
+ specified VCID as the outgoing label, if the VCID technique of [4] is
+ being used.)
+
+ Note: if the Edge LSR's previous hop is using downstream-on-demand
+ label distribution to request a label from the Edge LSR for a
+ particular FEC, and if the Edge LSR is not merging the LSP from that
+ previous hop with any other LSP, and if the request from the previous
+ hop has a hop count of h, then the hop count in the request issued by
+ the Edge LSR should not be set to 1, but rather to h+1.
+
+ The binding received by the edge LSR may contain a hop count, which
+ represents the number of hops a packet will take to cross the ATM-LSR
+ domain when using this label. If there is a hop count associated
+ with the binding, the ATM-LSR SHOULD adjust a data packet's TTL by
+ this amount before transmitting the packet. In any event, it MUST
+ adjust a data packet's TTL by at least one before transmitting it.
+ The procedures for doing so (in the case of IP packets) are specified
+ in section 10. The procedures for encapsulating the packets are
+ specified in section 9.
+
+ When a member of the Edge Set of the ATM-LSR domain receives a label
+ binding request from an ATM-LSR, it allocates a label, and returns
+ (via LDP) a binding containing the allocated label back to the peer
+ that originated the request. It sets the hop count in the binding to
+ 1.
+
+ When a routing calculation causes an Edge LSR to change the next hop
+ for a particular FEC, and the former next hop was in the ATM-LSR
+ domain, the Edge LSR SHOULD notify the former next hop (via LDP) that
+ the label binding associated with the FEC is no longer needed.
+
+
+
+
+
+
+Davie Standards Track [Page 8]
+
+RFC 3035 MPLS using LDP and ATM VC Switching January 2001
+
+
+8.2. Conventional ATM Switches (non-VC-merge)
+
+ When an ATM-LSR receives (via LDP) a label binding request for a
+ certain FEC from a peer connected to the ATM-LSR over a LC-ATM
+ interface, the ATM-LSR takes the following actions:
+
+ - it allocates a label,
+
+ - it requests (via LDP) a label binding from the next hop for
+ that FEC;
+
+ - it returns (via LDP) a binding containing the allocated
+ incoming label back to the peer that originated the request.
+
+ For purposes of this procedure, we define a maximum hop count value
+ MAXHOP. MAXHOP has a default value of 255, but may be configured to
+ a different value.
+
+ The hop count field in the request that the ATM-LSR sends (to the
+ next hop LSR) MUST be set to one more than the hop count field in the
+ request that it received from the upstream LSR. If the resulting hop
+ count exceeds MAXHOP, the request MUST NOT be sent to the next hop,
+ and the ATM-LSR MUST notify the upstream neighbor that its binding
+ request cannot be satisfied.
+
+ Otherwise, once the ATM-LSR receives the binding from the next hop,
+ it begins using that label.
+
+ The ATM-LSR MAY choose to wait for the request to be satisfied from
+ downstream before returning the binding upstream. This is a form of
+ "ordered control" (as defined in [1] and [2]), in particular
+ "ingress-initiated ordered control". In this case, as long as the
+ ATM-LSR receives from downstream a hop count which is greater than 0
+ and less than MAXHOP, it MUST increment the hop count it receives
+ from downstream and MUST include the result in the binding it returns
+ upstream. However, if the hop count exceeds MAXHOP, a label binding
+ MUST NOT be passed upstream. Rather, the upstream LDP peer MUST be
+ informed that the requested label binding cannot be satisfied. If
+ the hop count received from downstream is 0, the hop count passed
+ upstream should also be 0; this indicates that the actual hop count
+ is unknown.
+
+ Alternatively, the ATM-LSR MAY return the binding upstream without
+ waiting for a binding from downstream ("independent" control, as
+ defined in [1] and [2]). In this case, it specifies a hop count of 0
+ in the binding, indicating that the true hop count is unknown. The
+ correct value for hop count will be returned later, as described
+ below.
+
+
+
+Davie Standards Track [Page 9]
+
+RFC 3035 MPLS using LDP and ATM VC Switching January 2001
+
+
+ Note that an ATM-LSR, or a member of the edge set of an ATM-LSR
+ domain, may receive multiple binding requests for the same FEC from
+ the same ATM-LSR. It MUST generate a new binding for each request
+ (assuming adequate resources to do so), and retain any existing
+ binding(s). For each request received, an ATM-LSR MUST also generate
+ a new binding request toward the next hop for the FEC.
+
+ When a routing calculation causes an ATM-LSR to change the next hop
+ for a FEC, the ATM-LSR MUST notify the former next hop (via LDP) that
+ the label binding associated with the FEC is no longer needed.
+
+ When a LSR receives a notification that a particular label binding is
+ no longer needed, the LSR MAY deallocate the label associated with
+ the binding, and destroy the binding. In the case where an ATM-LSR
+ receives such notification and destroys the binding, it MUST notify
+ the next hop for the FEC that the label binding is no longer needed.
+ If a LSR does not destroy the binding, it may re-use the binding only
+ if it receives a request for the same FEC with the same hop count as
+ the request that originally caused the binding to be created.
+
+ When a route changes, the label bindings are re-established from the
+ point where the route diverges from the previous route. LSRs
+ upstream of that point are (with one exception, noted below)
+ oblivious to the change.
+
+ Whenever a LSR changes its next hop for a particular FEC, if the new
+ next hop is reachable via an LC-ATM interface, then for each label
+ that it has bound to that FEC, and distributed upstream, it MUST
+ request a new label binding from the new next hop.
+
+ When an ATM-LSR receives a label binding for a particular FEC from a
+ downstream neighbor, it may already have provided a corresponding
+ label binding for this FEC to an upstream neighbor, either because it
+ is using independent control, or because the new binding from
+ downstream is the result of a routing change. In this case, unless
+ the hop count is 0, it MUST extract the hop count from the new
+ binding and increment it by one. If the new hop count is different
+ from that which was previously conveyed to the upstream neighbor
+ (including the case where the upstream neighbor was given the value
+ 'unknown') the ATM-LSR MUST notify the upstream neighbor of the
+ change. Each ATM-LSR in turn MUST increment the hop count and pass
+ it upstream until it reaches the ingress Edge LSR. If at any point
+ the value of the hop count equals MAXHOP, the ATM-LSR SHOULD withdraw
+ the binding from the upstream neighbor. A hop count of 0 MUST be
+ passed upstream unchanged.
+
+
+
+
+
+
+Davie Standards Track [Page 10]
+
+RFC 3035 MPLS using LDP and ATM VC Switching January 2001
+
+
+ Whenever an ATM-LSR originates a label binding request to its next
+ hop LSR as a result of receiving a label binding request from another
+ (upstream) LSR, and the request to the next hop LSR is not satisfied,
+ the ATM-LSR SHOULD destroy the binding created in response to the
+ received request, and notify the requester (via LDP).
+
+ If an ATM-LSR receives a binding request containing a hop count that
+ exceeds MAXHOP, it MUST not establish a binding, and it MUST return
+ an error to the requester.
+
+ When a LSR determines that it has lost its LDP session with another
+ LSR, the following actions are taken. Any binding information
+ learned via this connection MUST be discarded. For any label
+ bindings that were created as a result of receiving label binding
+ requests from the peer, the LSR MAY destroy these bindings (and
+ deallocate labels associated with these binding).
+
+ An ATM-LSR SHOULD use 'split-horizon' when it satisfies binding
+ requests from its neighbors. That is, if it receives a request for a
+ binding to a particular FEC and the LSR making that request is,
+ according to this ATM-LSR, the next hop for that FEC, it should not
+ return a binding for that route.
+
+ It is expected that non-merging ATM-LSRs would generally use
+ "conservative label retention mode" [1].
+
+8.3. VC-merge-capable ATM Switches
+
+ Relatively minor changes are needed to accommodate ATM-LSRs which
+ support VC-merge. The primary difference is that a VC-merge-capable
+ ATM-LSR needs only one outgoing label per FEC, even if multiple
+ requests for label bindings to that FEC are received from upstream
+ neighbors.
+
+ When a VC-merge-capable ATM-LSR receives a binding request from an
+ upstream LSR for a certain FEC, and it does not already have an
+ outgoing label binding for that FEC (or an outstanding request for
+ such a label binding), it MUST issue a bind request to its next hop
+ just as it would do if it were not merge-capable. If, however, it
+ already has an outgoing label binding for that FEC, it does not need
+ to issue a downstream binding request. Instead, it may simply
+ allocate an incoming label, and return that label in a binding to the
+ upstream requester. When packets with that label as top label are
+ received from the requester, the top label value will be replaced
+ with the existing outgoing label value that corresponds to the same
+ FEC.
+
+
+
+
+
+Davie Standards Track [Page 11]
+
+RFC 3035 MPLS using LDP and ATM VC Switching January 2001
+
+
+ If the ATM-LSR does not have an outgoing label binding for the FEC,
+ but does have an outstanding request for one, it need not issue
+ another request.
+
+ When sending a label binding upstream, the hop count associated with
+ the corresponding binding from downstream MUST be incremented by 1,
+ and the result transmitted upstream as the hop count associated with
+ the new binding. However, there are two exceptions: a hop count of 0
+ MUST be passed upstream unchanged, and if the hop count is already at
+ MAXHOP, the ATM-LSR MUST NOT pass a binding upstream, but instead
+ MUST send an error upstream.
+
+ Note that, just like conventional ATM-LSRs and members of the edge
+ set of the ATM-LSR domain, a VC-merge-capable ATM-LSR MUST issue a
+ new binding every time it receives a request from upstream, since
+ there may be switches upstream which do not support VC-merge.
+ However, it only needs to issue a corresponding binding request
+ downstream if it does not already have a label binding for the
+ appropriate route.
+
+ When a change in the routing table of a VC-merge-capable ATM-LSR
+ causes it to select a new next hop for one of its FECs, it MAY
+ optionally release the binding for that route from the former next
+ hop. If it doesn't already have a corresponding binding for the new
+ next hop, it must request one. (The choice between conservative and
+ liberal label retention mode [1] is an implementation option.)
+
+ If a new binding is obtained, which contains a hop count that differs
+ from that which was received in the old binding, then the ATM-LSR
+ must take the new hop count, increment it by one, and notify any
+ upstream neighbors who have label bindings for this FEC of the new
+ value. Just as with conventional ATM-LSRs, this enables the new hop
+ count to propagate back towards the ingress of the ATM-LSR domain.
+ If at any point the hop count exceeds MAXHOP, then the label bindings
+ for this route must be withdrawn from all upstream neighbors to whom
+ a binding was previously provided. This ensures that any loops
+ caused by routing transients will be detected and broken.
+
+9. Encapsulation
+
+ The procedures described in this section affect only the Edge LSRs of
+ the ATM-LSR domain. The ATM-LSRs themselves do not modify the
+ encapsulation in any way.
+
+ Labeled packets MUST be transmitted using the null encapsulation of
+ Section 6.1 of RFC 2684 [5].
+
+
+
+
+
+Davie Standards Track [Page 12]
+
+RFC 3035 MPLS using LDP and ATM VC Switching January 2001
+
+
+ Except in certain circumstances specified below, when a labeled
+ packet is transmitted on an LC-ATM interface, where the VPI/VCI (or
+ VCID) is interpreted as the top label in the label stack, the packet
+ MUST also contain a "shim header" [3].
+
+ If the packet has a label stack with n entries, it MUST carry a shim
+ with n entries. The actual value of the top label is encoded in the
+ VPI/VCI field. The label value of the top entry in the shim (which
+ is just a "placeholder" entry) MUST be set to 0 upon transmission,
+ and MUST be ignored upon reception. The packet's outgoing TTL, and
+ its CoS, are carried in the TTL and CoS fields respectively of the
+ top stack entry in the shim.
+
+ Note that if a packet has a label stack with only one entry, this
+ requires it to have a single-entry shim (4 bytes), even though the
+ actual label value is encoded into the VPI/VCI field. This is done
+ to ensure that the packet always has a shim. Otherwise, there would
+ be no way to determine whether it had one or not, i.e., no way to
+ determine whether there are additional label stack entries.
+
+ The only ways to eliminate this extra overhead are:
+
+ - through apriori knowledge that packets have only a single label
+ (e.g., perhaps the network only supports one level of label)
+
+ - by using two VCs per FEC, one for those packets which have only
+ a single label, and one for those packets which have more than
+ one label
+
+ The second technique would require that there be some way of
+ signalling via LDP that the VC is carrying only packets with a single
+ label, and is not carrying a shim. When supporting VC merge, one
+ would also have to take care not to merge a VC on which the shim is
+ not used into a VC on which it is used, or vice versa.
+
+ While either of these techniques is permitted, it is doubtful that
+ they have any practical utility. Note that if the shim header is not
+ present, the outgoing TTL is carried in the TTL field of the network
+ layer header.
+
+10. TTL Manipulation
+
+ The procedures described in this section affect only the Edge LSRs of
+ the ATM-LSR domain. The ATM-LSRs themselves do not modify the TTL in
+ any way.
+
+
+
+
+
+
+Davie Standards Track [Page 13]
+
+RFC 3035 MPLS using LDP and ATM VC Switching January 2001
+
+
+ The details of the TTL adjustment procedure are as follows. If a
+ packet was received by the Edge LSR as an unlabeled packet, the
+ "incoming TTL" comes from the IP header. (Procedures for other
+ network layer protocols are for further study.) If a packet was
+ received by the Edge LSR as a labeled packet, using the encapsulation
+ specified in [3], the "incoming TTL" comes from the entry at the top
+ of the label stack.
+
+ If a hop count has been associated with the label binding that is
+ used when the packet is forwarded, the "outgoing TTL" is set to the
+ larger of (a) 0 or (b) the difference between the incoming TTL and
+ the hop count. If a hop count has not been associated with the label
+ binding that is used when the packet is forwarded, the "outgoing TTL"
+ is set to the larger of (a) 0 or (b) one less than the incoming TTL.
+
+ If this causes the outgoing TTL to become zero, the packet MUST NOT
+ be transmitted as a labeled packet using the specified label. The
+ packet can be treated in one of two ways:
+
+ - it may be treated as having expired; this may cause an ICMP
+ message to be transmitted;
+
+ - the packet may be forwarded, as an unlabeled packet, with a TTL
+ that is 1 less than the incoming TTL; such forwarding would
+ need to be done over a non-MPLS connection.
+
+ Of course, if the incoming TTL is 1, only the first of these two
+ options is applicable.
+
+ If the packet is forwarded as a labeled packet, the outgoing TTL is
+ carried as specified in section 9.
+
+ When an Edge LSR receives a labeled packet over an LC-ATM interface,
+ it obtains the incoming TTL from the top label stack entry of the
+ generic encapsulation, or, if that encapsulation is not present, from
+ the IP header.
+
+ If the packet's next hop is an ATM-LSR, the outgoing TTL is formed
+ using the procedures described in this section. Otherwise the
+ outgoing TTL is formed using the procedures described in [3].
+
+ The procedures in this section are intended to apply only to unicast
+ packets.
+
+
+
+
+
+
+
+
+Davie Standards Track [Page 14]
+
+RFC 3035 MPLS using LDP and ATM VC Switching January 2001
+
+
+11. Optional Loop Detection: Distributing Path Vectors
+
+ Every ATM-LSR MUST implement, as a configurable option, the following
+ procedure for detecting forwarding loops. We refer to this as the
+ LDPV (Loop Detection via Path Vectors) procedure. This procedure
+ does not prevent the formation of forwarding loops, but does ensure
+ that any such loops are detected. If this option is not enabled,
+ loops are detected by the hop count mechanism previously described.
+ If this option is enabled, loops will be detected more quickly, but
+ at a higher cost in overhead.
+
+11.1. When to Send Path Vectors Downstream
+
+ Suppose an LSR R sends a request for a label binding, for a
+ particular LSP, to its next hop. Then if R does not support VC-
+ merging, and R is configured to use the LDPV procedure:
+
+ - If R is sending the request because it is an ingress node for
+ that LSP, or because it has acquired a new next hop, then R
+ MUST include a path vector object with the request, and the
+ path vector object MUST contain only R's own address.
+
+ - If R is sending the request as a result of having received a
+ request from an upstream LSR, then:
+
+ * if the received request has a path vector object, R MUST add
+ its own address to the received path vector object, and MUST
+ pass the resulting path vector object to its next hop along
+ with the label binding request;
+
+ * if the received request does not have a path vector object,
+ R MUST include a path vector object with the request it
+ sends, and the path vector object MUST contain only R's own
+ address.
+
+ An LSR which supports VC-merge SHOULD NOT include a path vector
+ object in the requests that it sends to its next hop.
+
+ If an LSR receives a label binding request whose path vector object
+ contains the address of the node itself, the LSR concludes that the
+ label binding requests have traveled in a loop. The LSR MUST act as
+ it would in the case where the hop count exceeds MAXHOP (see section
+ 8.2).
+
+ This procedure detects the case where the request messages loop
+ though a sequence of non-merging ATM-LSRs.
+
+
+
+
+
+Davie Standards Track [Page 15]
+
+RFC 3035 MPLS using LDP and ATM VC Switching January 2001
+
+
+11.2. When to Send Path Vectors Upstream
+
+ As specified in section 8, there are circumstances in which an LSR R
+ must inform its upstream neighbors, via a label binding response
+ message, of a change in hop count for a particular LSP. If the
+ following conditions all hold:
+
+ - R is configured for the LDPV procedure,
+
+ - R supports VC-merge,
+
+ - R is not the egress for that LSP, and
+
+ - R is not informing its neighbors of a decrease in the hop
+ count,
+
+ then R MUST include a path vector object in the response message.
+
+ If the change in hop count is a result of R's having been informed by
+ its next hop, S, of a change in hop count, and the message from S to
+ R included a path vector object, then if the above conditions hold, R
+ MUST add itself to this object and pass the result upstream.
+ Otherwise, if the above conditions hold, R MUST create a new object
+ with only its own address.
+
+ If R is configured for the LDPV procedure, and R supports VC merge,
+ then it MAY include a path vector object in any label binding
+ response message that it sends upstream. In particular, at any time
+ that R receives a label binding response from its next hop, if that
+ response contains a path vector, R MAY (if configured for the LDPV
+ procedure) send a response to its upstream neighbors, containing the
+ path vector object formed by adding its own address to the received
+ path vector.
+
+ If R does not support VC merge, it SHOULD NOT send a path vector
+ object upstream.
+
+ If an LSR receives a message from its next hop, with a path vector
+ object containing its own address, then LSR MUST act as it would if
+ it received a message with a hop count equal to MAXHOP.
+
+ LSRs which are configured for the LDPV procedure SHOULD NOT store a
+ path vector once the corresponding path vector object has been
+ transmitted.
+
+
+
+
+
+
+
+Davie Standards Track [Page 16]
+
+RFC 3035 MPLS using LDP and ATM VC Switching January 2001
+
+
+ Note that if the ATM-LSR domain consists entirely of non-merging
+ ATM-LSRs, path vectors need not ever be sent upstream, since any
+ loops will be detected by means of the path vectors traveling
+ downstream.
+
+ By not sending path vectors unless the hop count increases, one
+ avoids sending them in many situations when there is no loop. The
+ cost is that in some situations in which there is a loop, the time to
+ detect the loop may be lengthened.
+
+12. Security Considerations
+
+ The encapsulation and procedures specified in this document do not
+ interfere in any way with the application of authentication and/or
+ encryption to network layer packets (such as the application of IPSEC
+ to IP datagrams).
+
+ The procedures described in this document do not protect against the
+ alteration (either accidental or malicious) of MPLS labels. Such
+ alteration could cause misforwarding.
+
+ The procedures described in this document do not enable a receiving
+ LSR to authenticate the transmitting LSR.
+
+ A discussion of the security considerations applicable to the label
+ distribution mechanism can be found in [2].
+
+13. Intellectual Property Considerations
+
+ The IETF has been notified of intellectual property rights claimed in
+ regard to some or all of the specification contained in this
+ document. For more information consult the online list of claimed
+ rights.
+
+ The IETF takes no position regarding the validity or scope of any
+ intellectual property or other rights that might be claimed to
+ pertain to the implementation or use of the technology described in
+ this document or the extent to which any license under such rights
+ might or might not be available; neither does it represent that it
+ has made any effort to identify any such rights. Information on the
+ IETF's procedures with respect to rights in standards-track and
+ standards-related documentation can be found in BCP-11. Copies of
+ claims of rights made available for publication and any assurances of
+ licenses to be made available, or the result of an attempt made to
+ obtain a general license or permission for the use of such
+ proprietary rights by implementors or users of this specification can
+ be obtained from the IETF Secretariat.
+
+
+
+
+Davie Standards Track [Page 17]
+
+RFC 3035 MPLS using LDP and ATM VC Switching January 2001
+
+
+ The IETF invites any interested party to bring to its attention any
+ copyrights, patents or patent applications, or other proprietary
+ rights which may cover technology that may be required to practice
+ this standard. Please address the information to the IETF Executive
+ Director.
+
+14. References
+
+ [1] Rosen, E., Viswanathan, A. and R. Callon "Multi-Protocol Label
+ Switching Architecture", RFC 3031, January 2001.
+
+ [2] Andersson L., Doolan P., Feldman N., Fredette A. and R. Thomas,
+ "LDP Specification", RFC 3036, January 2001.
+
+ [3] Rosen, E., Rekhter, Y., Tappan, D., Farinacci, D., Fedorkow, G.,
+ Li, T. and A. Conta, "MPLS Label Stack Encoding", RFC 3032,
+ January 2001.
+
+ [4] Nagami, K., Demizu N., Esaki H. and P. Doolan, "VCID Notification
+ over ATM Link for LDP", RFC 3038, January 2001.
+
+ [5] Grossman, D., Heinanen, J., "Multiprotocol Encapsulation over ATM
+ Adaptation Layer 5", RFC 2684, September 1999.
+
+15. Acknowledgments
+
+ Significant contributions to this work have been made by Anthony
+ Alles, Fred Baker, Dino Farinacci, Guy Fedorkow, Arthur Lin, Morgan
+ Littlewood and Dan Tappan. We thank Alex Conta for his comments.
+
+16. Authors' Addresses
+
+ Bruce Davie
+ Cisco Systems, Inc.
+ 250 Apollo Drive
+ Chelmsford, MA, 01824
+
+ EMail: bsd@cisco.com
+
+
+ Paul Doolan
+ Ennovate Networks Inc.
+ 60 Codman Hill Rd
+ Boxborough, MA 01719
+
+ EMail: pdoolan@ennovatenetworks.com
+
+
+
+
+
+Davie Standards Track [Page 18]
+
+RFC 3035 MPLS using LDP and ATM VC Switching January 2001
+
+
+ Jeremy Lawrence
+ Cisco Systems, Inc.
+ 99 Walker St.
+ North Sydney, NSW, Australia
+
+ EMail: jlawrenc@cisco.com
+
+
+ Keith McCloghrie
+ Cisco Systems, Inc.
+ 170 Tasman Drive
+ San Jose, CA, 95134
+
+ EMail: kzm@cisco.com
+
+
+ Yakov Rekhter
+ Juniper Networks
+ 1194 N. Mathilda Avenue
+ Sunnyvale, CA 94089
+
+ EMail: yakov@juniper.net
+
+
+ Eric Rosen
+ Cisco Systems, Inc.
+ 250 Apollo Drive
+ Chelmsford, MA, 01824
+
+ EMail: erosen@cisco.com
+
+
+ George Swallow
+ Cisco Systems, Inc.
+ 250 Apollo Drive
+ Chelmsford, MA, 01824
+
+ EMail: swallow@cisco.com
+
+
+
+
+
+
+
+
+
+
+
+
+
+Davie Standards Track [Page 19]
+
+RFC 3035 MPLS using LDP and ATM VC Switching January 2001
+
+
+17. Full Copyright Statement
+
+ Copyright (C) The Internet Society (2001). 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.
+
+Acknowledgement
+
+ Funding for the RFC Editor function is currently provided by the
+ Internet Society.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Davie Standards Track [Page 20]
+