Network Working Group Kireeti Kompella Internet Draft Juniper Networks Expiration Date:MarchJune 2002 Yakov Rekhter Juniper Networks Alan Kullberg NetPlane Systems Signalling Unnumbered Links in CR-LDPdraft-ietf-mpls-crldp-unnum-02.txtdraft-ietf-mpls-crldp-unnum-03.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. 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.InterfaceLink IdentifiersSinceAn unnumberedlinks are not identified by an IP address, then for the purpose of MPLS TE they need some other identifier. We assume thatlink has to be a point-to-point link. An LSR at each end of an unnumbered linkon a Label Switched Router (LSR)assigns an identifier to that link. This identifier isgivenauniquenon-zero 32-bitidentifier. Thenumber that is unique within the scope ofthis identifier isthe LSRto which the link belongs; moreover, thethat assigns it. The IS-IS and/or OSPF andCR-LDPRSVP modules on an LSR must agree oninterfacethe identifiers.NoteThere is no a priori relationship between the identifiers assigned to a link by the LSRs at each end of thatlinks are directed, i.e.,link. LSRs at the two end points of an unnumbered link exchange with each other the identifiers they assign to the link. Exchanging the identifiers may be accomplished by configuration, by means of a protocol such as LMP ([LMP]), by means of RSVP/CR-LDP (especially in the case where a linklisfrom some LSRa Forwarding Adjacency, see below), or by means of IS-IS or OSPF extensions ([ISIS-GMPLS], [OSPF-GMPLS]). Consider an (unnumbered) link between LSRs Ato some other LSRand B. LSR A choosesthe interface identifieran idenfitier forlink l. To be completely clear, we call this the "outgoing interface identifier from LSR A's point of view". If therethat link. So isa reverse link fromLSRBB. From A's perspective we refer toLSR A (for example, a point-to-point SONET interface connecting LSRsthe identifier that A assigned to the link as the "link local identifier" (or just "local identifier"), and to the identifier that Bwould be represented as two links, one from Aassigned toB, and anotherthe link as the "link remote identifier" (or just "remote identifier"). Likewise, from B's perspective the identifier that B assigned toA), B choosestheoutgoing interface identifier forlink is thereverse link; we call thislocal identifier, and thelink's "incoming interfaceidentifierfrom A's point of view". Therethat A assigned to the link isno a priori relationship betweenthetwo interface identifiers.remote identifier. This section is equally applicable to the case of unnumbered component links (see [LINK-BUNDLE]). 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]),[LINK-BUNDLE]), the LSR MUST allocate aninterfaceidentifier to that Forwarding Adjacency (just like for any other unnumbered link). Moreover, theRequestREQUEST message used for establishing the LSP that forms the Forwarding Adjacency MUST contain an LSP_TUNNEL_INTERFACE_IDobjectTLV (described below), with the LSR's Router ID set to the head end's Router ID, and the Interface ID set to theinterfaceidentifier that the LSR allocated to the Forwarding Adjacency. If theLSP is bidirectional, and the tail-end LSR (of the forward LSP) advertisesREQUEST message contains thereverse LSP as an unnumbered Forwarding Adjacency,LSP_TUNNEL_INTERFACE_ID TLV, then the tail-end LSR MUST allocate aninterfaceidentifier tothe reversethat ForwardingAdjacency.Adjacency (just like for any other unnumbered link). Furthermore, the MAPPING message for the LSP MUST contain an LSP_TUNNEL_INTERFACE_IDobject,TLV, with the LSR's Router ID set to thetail end's routertail-end's Router ID, and the Interface ID set to theinterfaceidentifier allocated by the tail-end LSR. For the purpose of processing the ERO and the Interface ID TLV, an unnumbered Forwarding Adjacency is treated as an unnumbered (TE) link or an unnumbered component link as follows. The LSR that originates the Adjacency sets the link local identifier for that link to the value that the LSR allocates to that Forwarding Adjacency, and the link remote identifier to the value carried in the Interface ID field of the Reverse Interface ID TLV (for the definition of Reverse Interface ID TLV see below). The LSR that is a tail-end of that Forwarding Adjacency sets the link local identifier for that link to the value that the LSR allocates to that Forwarding Adjacency, and the link remote identifier to the value carried in the Interface ID field of the Forward Interface ID TLV (for the definition of Forward Interface ID see below). 5.1. LSP_TUNNEL_INTERFACE_IDObjectTLV The LSP_TUNNEL_INTERFACE IDobjectTLV has Type to be determined by IETF consensus and length 8. The format is given below. This TLV 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. Figure 1:Interface IDLSP_TUNNEL_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.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 theoutgoing interfaceidentifierwith respectassigned to the link by the LSR specified by the router ID. 6.1. Processing theUnnumbered Interface ID Subobject First of all, the receivingIF_ID TLV When an LSRmust validate that it received the Requestreceives a REQUEST messagecorrectly. Ifcontaining thefirst 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. IfIF_ID TLVis present, and it carrieswith the IF_INDEX TLV, thereceivingLSRSHOULD check that the value carried inprocesses this TLVis the sameascarried 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 <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 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, thefollows. 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).between the neighbors and the LSR. The LSR uses this information to find a link with tuple <Router ID,incoming interfacelocal identifier> matching the tuple<Router ID,<IP Address, Interface ID>fromcarried in theUnnumbered Interface subobject.IF_INDEX TLV. 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,Otherwise, the LSRfollows the procedures for label allocation as described in [LINK-BUNDLE]. 6.2. Selecting the Next Hop OnceSHOULD return anLSR determines the link for which the LSR has to perform label allocation, the LSR removes the initial subobject in the ERO, and computeserror. 6.2. Processing thenext hop.ERO object Thenext hop for anUnnumbered Interface ID subobject isdetermined as follows. The Interface ID MUST referdefined toan outgoing interface identifier that thisbe a part of a particular abstract nodeallocated;ifnot, thethat nodeSHOULD return a "Bad Strict Node" error. The next hophas the Router ID that is equal to theLSR atRouter ID field in theother end ofsubobject, and if the node has an (unnumbered) link or an (unnumbered) Forwarding Adjacency whose local identifier (from that node's point of view) is equal to the value carried in the Interface IDrefers to. Iffield of the subobject. With thisisin mind, theLSR itself,ERO processing in thesubobject is removed, andpresence of theprocess repeated. IfUnnumbered Interface ID subobject follows thenext node is some other LSR, this isrules specified in section 4.8.1 of [CR-LDP]. As part of thenext hopERO processing, or towhich a Request message mustbesent. When sending a Request message tomore precise, as part of the nexthop,hop selection, if the outgoing link is unnumbered, the REQUEST messagecarriesthat theIF_ID object, then this objectnode sends to the next hop MUSTcontaininclude theIF_INDEXIF_ID TLV, with the IPAddress inaddress field of that TLV set to theLSR'sRouterID,ID of the node, and the Interface ID field of that TLV set to theInterface ID carried inidentifier assigned to thefirst subobject oflink by theERO.node. 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][LINK-BUNDLE] Kompella, K., Rekhter, Y., and Berger, L., "Link Bundling in MPLS Traffic Engineering",draft-kompella-mpls-bundle-05.txtdraft-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) 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