[Docs] [txt|pdf] [Tracker] [WG] [Email] [Diff1] [Diff2] [Nits]
Versions: (draft-kompella-mpls-rsvp-unnum) 00
01 02 03 04 05 06 07 RFC 3477
Network Working Group Kireeti Kompella
Internet Draft Juniper Networks
Expiration Date: February 2002 Yakov Rekhter
Juniper Networks
Signalling Unnumbered Links in RSVP-TE
draft-ietf-mpls-rsvp-unnum-02.txt
1. Status of this Memo
This document is an Internet-Draft and is in full conformance with
all provisions of Section 10 of RFC2026.
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.''
The list of current Internet-Drafts can be accessed at
http://www.ietf.org/ietf/1id-abstracts.txt
The list of Internet-Draft Shadow Directories can be accessed at
http://www.ietf.org/shadow.html.
2. Abstract
Current signalling used by MPLS TE doesn't provide support for
unnumbered links. This document defines procedures and extensions to
RSVP-TE, one of the MPLS TE signalling protocols, that are needed in
order to support unnumbered links.
draft-ietf-mpls-rsvp-unnum-02.txt [Page 1]
Internet Draft draft-ietf-mpls-rsvp-unnum-02.txt August 2001
3. Overview
Supporting MPLS TE over unnumbered links (i.e., links that do not
have IP addresses) involves two components: (a) the ability to carry
(TE) information about unnumbered links in IGP TE extensions (ISIS or
OSPF), and (b) the ability to specify unnumbered links in MPLS TE
signalling. The former is covered in [GMPLS-ISIS, GMPLS-OSPF]. The
focus of this document is on the latter.
Current signalling used by MPLS TE doesn't provide support for
unnumbered links because the current signalling doesn't provide a way
to indicate an unnumbered link in its Explicit Route and Record Route
Objects. This document proposes simple procedures and extensions that
allow RSVP-TE signalling [RSVP-TE] to be used with unnumbered links.
4. Interface Identifiers
Since unnumbered links are not identified by an IP address, then for
the purpose of MPLS TE they need some other identifier. We assume
that each unnumbered link on a Label Switched Router (LSR) is given a
unique 32-bit identifier. The scope of this identifier is the LSR to
which the link belongs; moreover, the IS-IS and/or OSPF and RSVP
modules on an LSR must agree on interface identifiers.
Note that links are directed, i.e., a link l is from some LSR A to
some other LSR B. LSR A chooses the interface identifier for link l.
To be completely clear, we call this the "outgoing interface
identifier from LSR A's point of view". If there is a reverse link
from LSR B to LSR A (for example, a point-to-point SONET interface
connecting LSRs A and B would be represented as two links, one from A
to B, and another from B to A), B chooses the outgoing interface
identifier for the reverse link; we call this the link's "incoming
interface identifier from A's point of view". There is no a priori
relationship between the two interface identifiers.
draft-ietf-mpls-rsvp-unnum-02.txt [Page 2]
Internet Draft draft-ietf-mpls-rsvp-unnum-02.txt August 2001
5. Unnumbered Forwarding Adjacencies
If an LSR that originates an LSP advertises this LSP as an unnumbered
Forwarding Adjacency in IS-IS or OSPF (see [LSP-HIER]), or the LSR
uses the Forwarding Adjacency formed by this LSP as an unnumbered
component link of a bundled link (see [BUNDLE]), the LSR MUST
allocate an interface identifier to that Forwarding Adjacency (just
like for any other unnumbered link). Moreover, the Path message used
for establishing the LSP that forms the Forwarding Adjacency MUST
contain an LSP_TUNNEL_INTERFACE_ID object (described below), with the
LSR's Router ID set to the head end's Router ID, and the Interface ID
set to the interface identifier that the LSR allocated to the
Forwarding Adjacency.
If the LSP is bidirectional, and the tail-end LSR (of the forward
LSP) advertises the reverse LSP as an unnumbered Forwarding
Adjacency, the tail-end LSR MUST allocate an interface identifier to
the reverse Forwarding Adjacency. Furthermore, the Resv message for
the LSP MUST contain an LSP_TUNNEL_INTERFACE_ID object, with the
LSR's Router ID set to the tail-end's Router ID, and the Interface ID
set to the interface identifier allocated by the tail-end LSR.
5.1. LSP_TUNNEL_INTERFACE_ID Object
The LSP_TUNNEL_INTERFACE_ID object has a class number of type
11bbbbbb (to be assigned by IANA), C-Type of 1 and length of 12. The
format is given below.
Figure 1: LSP_TUNNEL_INTERFACE_ID Object
0 1 2 3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| LSR's Router ID |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Interface ID (32 bits) |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
This object can optionally appear in either a Path message or a Resv
message. In the former case, we call it the "Forward Interface ID"
for that LSP; in the latter case, we call it the "Reverse Interface
ID" for the LSP.
draft-ietf-mpls-rsvp-unnum-02.txt [Page 3]
Internet Draft draft-ietf-mpls-rsvp-unnum-02.txt August 2001
6. Signalling Unnumbered Links in EROs
A new subobject of the Explicit Route Object (ERO) is used to specify
unnumbered links. This subobject has the following format:
Figure 2: Unnumbered Interface ID Subobject
0 1 2 3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|L| Type | Length | Reserved (MUST be zero) |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Router ID |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Interface ID (32 bits) |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
This subobject MUST be strict (i.e., the L bit MUST be 0). The Type
is 4 (Unnumbered Interface ID). The Length is 12.
The Interface ID is the outgoing interface identifier with respect to
the LSR specified by the router ID.
6.1. Processing the Unnumbered Interface ID Subobject
First of all, the receiving LSR must validate that it received the
Path message correctly. If the first subobject in the ERO is an
Unnumbered Interface subobject, the check is done as follows (for
other types of ERO subobjects, the rules in [RSVP-TE] apply).
The PHOP or IF_ID RSVP_HOP object in the message MUST contain the
same Router ID (IP Address) as the Router ID carried in the
subobject. If not, the receiving LSR MUST return a PathErr. If
IF_ID RSVP_HOP object is present, and it carries the IF_INDEX TLV,
the receiving LSR SHOULD check that the value carried in this TLV is
the same as carried in the subobject. If the value is different, the
receiving LSR MUST return a PathErr.
If the above checks are passes, the LSR checks whether the tuple
<Router ID, Interface ID> from the Unnumbered Interface subobject
matches the tuple <Router ID, Forward Interface ID> of any of the
LSPs for which the LSR is a tail-end. If a match is found, the match
identifies the Forwarding Adjacency for which the LSR has to perform
label allocation.
Otherwise, the LSR MUST check whether the tuple <Router ID, Interface
draft-ietf-mpls-rsvp-unnum-02.txt [Page 4]
Internet Draft draft-ietf-mpls-rsvp-unnum-02.txt August 2001
ID> from the Unnumbered Interface subobject matches the tuple <Router
ID, Reverse Interface ID> of any of the bidirectional LSPs for which
the LSR is the head-end. If a match is found, the match identifies
the Forwarding Adjacency for which the LSR has to perform label
allocation, namely, the reverse Forwarding Adjacency for the LSP
identified by the match.
Otherwise, the LSR must have information about the identifiers
assigned by its neighbors to the unnumbered links (i.e., incoming
interface identifiers from LSR's point of view). The LSR uses this
information to find a link with tuple <Router ID, incoming interface
identifier> matching the tuple <Router ID, Interface ID> from the
Unnumbered Interface subobject. If the matching tuple is found, and
the link is not a bundled link, the match identifies the link for
which the LSR has to perform label allocation. If the matching tuple
is found, and the link is a bundled link, the LSR follows the
procedures for label allocation as described in [LINK-BUNDLE].
Otherwise, the LSR SHOULD return a "Bad initial subobject" error.
6.2. Selecting the Next Hop
Once an LSR determines the link for which the LSR has to perform
label allocation, the LSR removes the initial subobject in the ERO,
and computes the next hop. The next hop for an Unnumbered Interface
subobject is computed as follows. The Interface ID in the subobject
MUST refer to an outgoing interface identifier that this node
allocated; if not, the LSR SHOULD return a "Bad EXPLICIT_ROUTE
object" error. The next hop is the LSR at the other end of the link
that the Interface ID refers to. If this is the LSR itself, the
subobject is removed, and the process repeated. If the next hop is
some other LSR, then this is the next hop to which a Path message
must be sent.
When sending a Path message to the next hop, if the Path message
carries the PHOP object, then this object MUST contain the LSR's
Router ID. If the Path message carries the IF_ID object, then this
object MUST contain the IF_INDEX TLV, with IP Address in that TLV set
to the LSR's Router ID, and Interface ID set to the Interface ID
carried in the first subobject of the ERO.
draft-ietf-mpls-rsvp-unnum-02.txt [Page 5]
Internet Draft draft-ietf-mpls-rsvp-unnum-02.txt August 2001
7. Record Route Object
A new subobject of the Record Route Object (RRO) is used to record
that the LSP path traversed an unnumbered link. This subobject has
the following format:
0 1 2 3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Type | Length | Flags | Reserved (MBZ)|
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Router ID |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Interface ID (32 bits) |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
The Type is 4 (Unnumbered Interface ID); the Length is 12. Flags are
defined below.
0x01 Local protection available
Indicates that the link downstream of this node is protected
via a local repair mechanism. This flag can only be set if
the Local protection flag was set in the SESSION_ATTRIBUITE
object of the cooresponding Path message.
0x02 Local protection in use
Indicates that a local repair mechanism is in use to
maintain this tunnel (usually in the face a an outage of the
link it was previously routed over).
7.1. Handling RRO
If at an intermediate node (or at the head-end), the ERO subobject
that was used to determine the next hop is of type Unnumbered
Interface ID, and a RRO object was received in the Path message (or
is desired in the original Path message), an RRO subobject of type
Unnumbered Interface ID MUST be appended to the received RRO when
sending a Path message downstream.
If the ERO subobject that was used to determine the next hop is of
any other type, the handling procedures of [RSVP-TE] apply. Also, if
Label Recording is desired, the procedures of [RSVP-TE] apply.
draft-ietf-mpls-rsvp-unnum-02.txt [Page 6]
Internet Draft draft-ietf-mpls-rsvp-unnum-02.txt August 2001
8. Security Considerations
This document raises no new security concerns for RSVP.
9. IANA Considerations
The responsible Internet authority (presently called the IANA)
assigns values to RSVP protocol parameters. The current document
defines a new subobject for the EXPLICIT_ROUTE object and for the
ROUTE_RECORD object. The rules for the assignment of subobject
numbers have been defined in [RSVP-TE], using the terminology of BCP
26 "Guidelines for Writing an IANA Considerations Section in RFCs".
Those rules apply to the assignment of subobject numbers for the new
subobject of the EXPLICIT_ROUTE and ROUTE_RECORD objects.
Furthermore, the same Internet authority needs to assign a class
number to the LSP_TUNNEL_INTERFACE_ID object. This must be of the
form 11bbbbbb (i.e., this is an 8-bit number whose two most
significant bits are 1).
10. Acknowledgments
Thanks to Lou Berger and Markus Jork for pointing out that the RRO
should be extended in like fashion to the ERO. Thanks also to Rahul
Aggarwal and Alan Kullberg for their comments on the text. Finally,
thanks to Bora Akyol and Vach Kompella.
11. References
[BUNDLE] Kompella, K., Rekhter, Y., and Berger, L., "Link Bundling in
MPLS Traffic Engineering", draft-kompella-mpls-bundle-05.txt (work in
progress)
[ISIS-TE] Smit, H., and Li, T., "IS-IS extensions for Traffic
Engineering", draft-ietf-isis-traffic-02.txt (work in progress)
[LSP-HIER] Kompella, K., and Rekhter, Y., "LSP Hierarchy with MPLS
TE", draft-ietf-mpls-lsp-hierarchy-02.txt (work in progress)
[OSPF-TE] Katz, D., and Yeung, D., "Traffic Engineering Extensions to
OSPF", draft-katz-yeung-ospf-traffic-04.txt (work in progress)
[RSVP-TE] Awduche, D., Berger, L., Gan, D. H., Li, T., Srinivasan,
V., and Swallow, G., "RSVP-TE: Extensions to RSVP for LSP Tunnels",
draft-ietf-mpls-rsvp-lsp-tunnel-08.txt (work in progress)
draft-ietf-mpls-rsvp-unnum-02.txt [Page 7]
Internet Draft draft-ietf-mpls-rsvp-unnum-02.txt August 2001
12. Author Information
Kireeti Kompella
Juniper Networks, Inc.
1194 N. Mathilda Ave.
Sunnyvale, CA 94089
e-mail: kireeti@juniper.net
Yakov Rekhter
Juniper Networks, Inc.
1194 N. Mathilda Ave.
Sunnyvale, CA 94089
e-mail: yakov@juniper.net
draft-ietf-mpls-rsvp-unnum-02.txt [Page 8]
Html markup produced by rfcmarkup 1.129b, available from
https://tools.ietf.org/tools/rfcmarkup/