Network Working Group Kireeti Kompella Internet Draft Juniper Networks Expiration Date: March 2002 Yakov Rekhter Juniper Networks Alan Kullberg NetPlane Systems Signalling Unnumbered Links in CR-LDP draft-ietf-mpls-crldp-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 CR-LDP, one of the MPLS TE signalling protocols, that are needed in order to support unnumbered links. draft-ietf-mpls-crldp-unnum-01.txt [Page 1] Internet Draft draft-ietf-mpls-crldp-unnum-02.txt September 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 [ISIS-TE, OSPF-TE]. 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 Objects. This document proposes simple procedures and extensions that allow CR-LDP signalling [CR-LDP] 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 CR-LDP 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-crldp-unnum-01.txt [Page 2] Internet Draft draft-ietf-mpls-crldp-unnum-02.txt September 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 Request 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 MAPPING 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 Type to be determined by IETF consensus and length 8. The format is given below. Figure 1: Interface ID TLV 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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |0|0| Type | Length | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | LSR's Router ID | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Interface ID (32 bits) | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ This object can optionally appear in either a REQUEST message or a MAPPING 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-crldp-unnum-01.txt [Page 3] Internet Draft draft-ietf-mpls-crldp-unnum-02.txt September 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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |0|0| Type | Length | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Router ID | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Interface ID (32 bits) | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ This subobject is strict. The Type is 0x0805 (Unnumbered Interface ID) and the Length is 8. 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 Request 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 [CR-LDP] apply). The IF_ID TLV ([GMPLS-SIG], [GMPLS-CRLDP]), if present in the message, MUST contain the same Router ID (IP Address) as the Router ID carried in the Unnumbered Interface ID subobject. If not, the receiving LSR MUST return a "Bad Initial ER-Hop" error. If IF_ID TLV 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 Interface ID field of the Unnumbered Interface ID subobject. If the value is different, the receiving LSR MUST return a "Bad Initial ER-Hop" error. If the above checks are passes, the LSR checks whether the tuple from the Unnumbered Interface subobject matches the tuple 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. draft-ietf-mpls-crldp-unnum-01.txt [Page 4] Internet Draft draft-ietf-mpls-crldp-unnum-02.txt September 2001 Otherwise, the LSR MUST check whether the tuple from the Unnumbered Interface subobject matches the tuple 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 matching the tuple 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]. 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 ID subobject is determined as follows. The Interface ID MUST refer to an outgoing interface identifier that this node allocated; if not, the node SHOULD return a "Bad Strict Node" 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 node is some other LSR, this is the next hop to which a Request message must be sent. When sending a Request message to the next hop, if the 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-crldp-unnum-01.txt [Page 5] Internet Draft draft-ietf-mpls-crldp-unnum-02.txt September 2001 7. Security Considerations This document raises no new security concerns for CR-LDP. 8. Acknowledgments Thanks to Rahul Aggarwal for his comments on the text. Thanks too to Bora Akyol and Vach Kompella. 9. References [BUNDLE] Kompella, K., Rekhter, Y., and Berger, L., "Link Bundling in MPLS Traffic Engineering", draft-kompella-mpls-bundle-05.txt (work in progress) [CR-LDP] Jamoussi, B., editor, "Constraint-Based LSP Setup using LDP", draft-ietf-mpls-cr-ldp-04.txt (work in progress) [GMPLS-SIG] Ashwood, P., et al., "Generalized MPLS - Signalling Functional Description", draft-ietf-generalized-mpls- signalling-05.txt [GMPLS-CRLDP] Ashwood, P., et al., "Generalized MPLS Signaling - CR- LDP Extensions", draft-ietf-mpls-generalized-cr-ldp-04.txt [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) draft-ietf-mpls-crldp-unnum-01.txt [Page 6] Internet Draft draft-ietf-mpls-crldp-unnum-02.txt September 2001 10. 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 Alan Kullberg NetPlane Systems, Inc. Westwood Executive Center 200 Lowder Brook Drive Westwood, MA 02090 e-mail: akullber@netplane.com draft-ietf-mpls-crldp-unnum-01.txt [Page 7]