draft-vasseur-mpls-nodeid-subobject-00.txt                February 2003
               
               
                                                                  Jean Philippe Vasseur
                                                                              Zafar Ali
                                                                         Siva Sivabalan
                                                                    Cisco Systems, Inc.
               
               IETF Internet Draft
               Expires: August, 2003
                                                                        February, 2003
               
               
               
                              draft-vasseur-mpls-nodeid-subobject-00.txt
               
               
                                Definition of an RRO node-id subobject
               
               
               
               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.
               
               
               
               
               
               
               
               
               
               
               
               
               
               
               
               
               
               Vasseur, Ali and Sivabalan                                           1
               
               
               
               draft-vasseur-mpls-nodeid-subobject-00.txt                February 2003
               
               
               Abstract
               
               In the context of MPLS TE Fast Reroute ([FAST-REROUTE]), the Merge
               Point (MP) address is required at the Point of Local Repair (PLR) in
               order to select a backup tunnel intersecting a protected Traffic
               Engineering LSP on a downstream LSR.  However, existing protocol
               mechanisms are not sufficient to find MP address multi-areas or multi-
               domain routing network. Hence, the current MPLS Fast Reroute mechanism
               cannot be used to protect inter-area or inter-AS TE LSPs from a failure
               of an ABR (Area Border Router) or ASBR (Autonomous System Border
               Router) respectively. This document specifies the use of existing RRO
               IPv4 and IPv6 subobjects (with a new flag defined) to define the node-
               id subobject in order to solve this issue.
               
               
               Conventions used in this document
               
               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 [i].
               
               
               1.      Terminology
               
               LSR - Label Switch Router
               
               LSP - An MPLS Label Switched Path
               
               PCS - Path Computation Server (may be any kind of LSR (ABR, ...)
                     or a centralized path computation server
               
               PCC - Path Computation Client (any head-end LSR) requesting a path
                     computation of the Path Computation Server.
               
               Local Repair - Techniques used to repair LSP tunnels quickly
                              when a node or link along the LSPs path fails.
               
               Protected LSP - An LSP is said to be protected at a given hop if
                               it has one or multiple associated backup tunnels
                               originating at that hop.
               
               Bypass Tunnel - An LSP that is used to protect a set of LSPs
                               passing over a common facility.
               
               Backup Tunnel - The LSP that is used to backup up one of the many
                               LSPs in many-to-one backup.
               
               PLR - Point of Local Repair. The head-end of a backup tunnel or
                     a detour LSP.
               
               MP - Merge Point. The LSR where detour or backup tunnels meet
               
               Vasseur, Ali and Sivabalan                                           2
               
               
               
               draft-vasseur-mpls-nodeid-subobject-00.txt                February 2003
               
               
                    the protected LSP. In case of one-to-one backup, this is where
                    multiple detours converge. A MP may also be a PLR.
               
               NHOP Bypass Tunnel - Next-Hop Bypass Tunnel.  A backup tunnel
                    which bypasses a single link of the protected LSP.
               
               NNHOP Bypass Tunnel - Next-Next-Hop Bypass Tunnel.  A backup
                     tunnel which bypasses a single node of the protected LSP.
               
               Reroutable LSP - Any LSP for with the "Local protection desired"
                                bit is set in the Flag field of the
                                SESSION_ATTRIBUTE object of its Path messages.
               
               CSPF - Constraint-based Shortest Path First.
               
               Inter-AS MPLS TE: TE LSP whose Head-end LSR and Tail-end LSR do
               not reside within the same Autonomous System (AS) or both Head-end
               LSR and Tail-end LSR are in the same AS but the TE tunnel
               transiting path may be across different ASes
               
               Interconnect or ASBR Routers:  Routers used to connect to another AS of
               a different or the same Service Provider via one or more Inter-AS
               links.
               
               
               2.      Introduction
               
               MPLS Fast Reroute (FRR) ([FAST-REROUTE]) is a fast recovery local
               protection technique used to protect Traffic Engineering LSPs from
               link/SRLG/node failure.  One or more TE LSPs (called backup LSPs) are
               pre-established to protect against the failure of a link/node/SRLG. In
               case of failure, every protected TE LSP traversing the failed resource
               is rerouted onto the appropriate backup tunnels in 10s of msecs.
               
               There are a couple of requirements on the backup tunnel path. At least,
               a backup tunnel should not pass through the element it protects.
               Additionally, a primary tunnel and a backup tunnel should intersect at
               least at two points (nodes): Point of Local Repair (PLR) and Merge
               Point (MP). The former should be the head-end LSR of the backup tunnel,
               and the latter should be the tail-end LSR of the backup tunnel. The PLR
               is where FRR is triggered when link/node/SRLG failure happens.
               Furthermore, the MP address is also required to send RSVP Refresh
               messages of the rerouted TE LSPs when the FRR is active.
               
               There are different methods for computing paths for backup tunnels.
               Specifically, a users can statically configures one or more backup
               tunnels at the PLR, with explicit path or the PLR can be configured to
               automatically compute a backup path or to send a path computation
               request to a PCS (which can be an LSR or an off-line tool).
               Consider the following scenario
               
               
               Vasseur, Ali and Sivabalan                                           3
               
               
               
               draft-vasseur-mpls-nodeid-subobject-00.txt                February 2003
               
               
               Asumptions:
               - a multi-area network made of three areas: 0, 1 and 2.
               - a protected TE LSP T1 (TE LSP signaled with the "local Protection
               desired" bit set in the SESSION-ATTRIBUTE object or the FRR object)
               from R0 to R3
               - a backup tunnel B1 from R1 to R2, not traversing ABR1, and following
               the R1-ABR3-R2 path. R1 reroutes any protected TE LSP traversing ABR1
               onto the backup tunnel B1 in case of ABR1's failure.
               
                          <--- area 1 --><---area 0---><---area 2--->
                             R0-----R1-ABR1--R2------ABR2--------R3
                                    \        /
                                     \ ABR3 /
               
               When T1 is first signaled, the PLR R1 needs to dynamically select an
               appropriate backup tunnel intersecting T1 on a downstream LSR. However,
               existing protocol mechanisms are not sufficient to unambiguously find
               MP address in a network with inter-area or inter-AS traffic engineering
               (although the example above was given in the context of multi-area
               networks, a similar reasoning applies to TE LSP spanning multiple
               ASes). This draft addresses these limitations.
               
               R1 needs to ensure the following:
               
                  1. Backup tunnel intersects with the primary tunnel at the MP (and
                     thus has a valid MP address), e.g., in Figure 1, R1 needs to
                     determine that T1 and B1 share the same MP node R2,
               
                  2. Backup tunnel satisfies the primary LSP's request with respect to
                     the bandwidth protection request (i.e., bandwidth guaranteed for
                     the primary tunnel during failure), and the type of protection
                     (preferably, protecting against a node failure versus a link
                     failure), as specified in [FAST-REROUTE].
               
               A PLR can make sure that condition (1) is met by examining the Record
               Route Object (RRO) of the primary tunnel to see if any of the addresses
               specified in the RRO is attached to the tail-end of the backup tunnel.
               As per [RSVP-TE], the addresses specified in the RRO IPv4 subobjects
               can be node-ids and/or interface addresses, with specific
               recommendation to use the interface address of the outgoing Path
               messages. Hence, in Figure 1, router R2 is more likely to specify
               interface addresses in the RROs for T1 and B1. Note that these
               interface addresses are different in this example.
               
               The problem of finding the MP using the interface addresses or node-ids
               can be easily solved in a single area TE. Specifically, in the case of
               single area TE, the PLR has the knowledge of all the interfaces
               attached to the tail-end of the backup tunnel. This information is
               available in PLR's IGP topology database. Thus, the PLR can determine
               whether a backup tunnel intersecting a protected TE LSP on a downstream
               node exists and can also find the MP address regardless of how the
               
               Vasseur, Ali and Sivabalan                                           4
               
               
               
               draft-vasseur-mpls-nodeid-subobject-00.txt                February 2003
               
               
               addresses contained in the RRO IPv4 or IPv6 subobjects are specified
               (i.e., whether using the interface addresses or the node IDs). However,
               such routing information is not available in a multi-area and inter-AS
               traffic-engineering environments. Hence, unambiguously making sure that
               condition (1) above is met with inter-area TE and inter-AS traffic-
               engineering TE LSPs is not possible with existing mechanisms.
               
               In this draft, we define extensions to and describe the use of RSVP
               [RSVP, RSVP-TE] to solve the above-mentioned problem.
               
               
               3.      Signaling node-ids in RROs
               
               As mentioned above, the limitation that we need to address is the
               generality of the contents of the RRO IPv4 and IPv6 subobjects, as
               defined in [RSVP-TE].
               
               The IPv4 and IPv6 RRO subobjects are currently defined in [RSVP-TE] and
               have the following flags defined:
               
               Local protection available:  0x01
               
                       Indicates that the link downstream of this node is protected
                       via a local repair mechanism, which can be either one-to-one
                       or facility backup.
               
               Local protection in use:  0x02
               
                       Indicates that a local repair mechanism is in use to maintain
                       this tunnel (usually in the face of an outage of the link it
                       was previously routed over, or an outage of the neighboring
                       node).
               
               Bandwidth protection:  0x04
               
                       The PLR will set this when the protected LSP has a backup path
                       which is guaranteed to provide the desired bandwidth specified
                       in the FAST_REROUTE object or the bandwidth of the protected
                       LSP, if no FAST_REROUTE object was included.  The PLR may set
                       this whenever the desired bandwidth is guaranteed; the PLR
                       MUST set this flag when the desired bandwidth is guaranteed
                       and the "bandwidth protection desired" flag was set in the
                       SESSION_ATTRIBUTE object.  If the requested bandwidth is not
                       guaranteed, the PLR MUST NOT set this flag.
               
               Node protection:  0x08
               
                       The PLR will set this when the protected LSP has a backup path
                       which provides protection against a failure of the next LSR
                       along the protected LSP.  The PLR may set this whenever node
                       protection is provided by the protected LSP's backup path; the
               
               Vasseur, Ali and Sivabalan                                           5
               
               
               
               draft-vasseur-mpls-nodeid-subobject-00.txt                February 2003
               
               
                       PLR MUST set this flag when the node protection is provided
                       and the "node protection desired" flag was set in the
                       SESSION_ATTRIBUTE object.  If node protection is not provided,
                       the PLR MUST NOT set this flag.  Thus, if a PLR could only
                       setup a link-protection backup path, the "Local protection
                       available" bit will be set but the "Node protection" bit will
                       be cleared.
               
               An additional flag is specified:
               
               Node-id: 0x10
               
                       When set, this indicates that the address specified in the RRO
                       IPv4 or IPv6 subobject is a node-id address, which refers to
                       the "Router Address" as defined in [OSPF-TE], or "Traffic
                       Engineering Router ID" as defined in [ISIS-TE]. A node MUST use
                       the same address consistently.
               
               An IPv4 or IPv6 RRO subobject with the node-is flag set is also called
               a node-id subobject.
               
               The problem of finding MP address in a network with inter-area or
               inter-AS traffic engineering is solved by adding a node-id subobject
               (an RRO "IPv4" and "IPv6" sub-object with the 0x10 flag set).
               
               Any Head-end LSR of a protected TE LSP MUST include an RRO object, as
               defined in [FAST-REROUTE]. In addition, any LSR compliant with this
               draft must systematically include a node-id IPv4 or IPv6 subobject in
               the RRO object for each protected TE LSP (in addition to the sub-
               objects required by MPLS TE Fast Reroute as defined in [FAST-REROUTE]).
               A node MAY decide to include its node-id subobject in the RRO object
               only for the TE LSP whose IPv4 or IPv6 address source address
               (specified in the SENDER-TEMPLATE object of the RSVP Path message) does
               not belong to its local area/AS.
               
               
               4.      Processing RRO with node-id subobjects
               
               The node-id subobject is added into the RECORD_ROUTE object after the
               Label Record subobject.  A node MUST not push a node-id subobject
               without also pushing an IPv4 or IPv6 subobjects, as defined in [FAST-
               REROUTE]. A node may push both IPv4 node-id and IPv6 node-id sub-
               objects, but that MUST be done on consistent basis.
               
               
               4.1.    Finding Merge Point
               
               A PLR can find the MP and suitable backup tunnel by simply comparing
               the node-id of the backup tunnel's tail-end with Node IDs included in
               the RRO of the primary tunnel. When both IPv4 node-id and IPv6 node-id
               
               
               Vasseur, Ali and Sivabalan                                           6
               
               
               
               draft-vasseur-mpls-nodeid-subobject-00.txt                February 2003
               
               
               sub-objects are present, a PLR may use any or both of them in finding
               the MP address.
               
               
               4.2.    Processing at the border nodes
               
               In a network with inter-AS traffic engineering, there may be some
               concerns about leaking the RRO information, including node-id
               subobjects, outside the autonomous system (see [INTER-AS-TE-REQS]). In
               such cases, before forwarding the RRO object outside of an AS, the ASBR
               may filter some/all node-id subobjects pertaining to the downstream
               nodes in the AS. The RRO node-id subobjects filtration can be based on
               a local policy configured on the ASBR.
               
               How an ASBR handles/filters the contents of the RRO objects is outside
               of the scope of this draft.
               
               
               5.      Backward Compatibility Note
               
               To remain compatible with the nodes that do not support the RRO IPv4 or
               IPv6 node-id subobjects, a node can safely ignore these objects. The
               implication of this limitation will be that these nodes could not be MP
               in a network with inter-area or inter-AS traffic engineering.
               
               
               6.      Security Considerations
               
               This document does not introduce new security issues. The security
               considerations pertaining to the original RSVP protocol [RSVP] remain
               relevant.
               
               
               7.      Intellectual Property Considerations
               
               Cisco Systems may have intellectual property rights claimed in regard
               to some of the specification contained in this document
               
               
               8.      Acknowledgments
               
               We would like to acknowledge input and helpful comments from Carol
               Iturralde, Anca Zamfir, and Reshad Rahman.
               
               
               References
               [RSVP] Braden, et al, " Resource ReSerVation Protocol (RSVP) - Version
               1, Functional Specification", RFC 2205, September 1997.
               
               [RSVP-TE] Awduche, et al, "Extensions to RSVP for LSP Tunnels", RFC
               3209, December 2001.
               
               Vasseur, Ali and Sivabalan                                           7
               
               
               
               draft-vasseur-mpls-nodeid-subobject-00.txt                February 2003
               
               
               
               [FAST-REROUTE] Ping Pan, et al, "Fast Reroute Extensions to RSVP-TE for
               LSP Tunnels", draft-ietf-mpls-rsvp-lsp-fastreroute-01.txt, May 2003.
               
               [OSPF-TE] Katz, D., Yeung, D., Kompella, K., "Traffic Engineering
               Extensions to OSPF Version 2", draft-katz-yeung-ospf-traffic-
               09.txt(work in progress).
               
               [ISIS-TE] Li, T., Smit, H., "IS-IS extensions for Traffic Engineering",
               draft-ietf-isis-traffic-04.txt (work in progress)
               
               [MULTI-AREA-TE] Kompella at all,"Multi-area MPLS Traffic Engineering",
               draft-kompella-mpls-multiarea-te-03.txt, June 2002.
               
               [LOOSE-PATH-REOPT] Vasseur and Ikejiri, "Reoptimization of an explicit
               loosely routed MPLS TE paths", draft-vasseur-mpls-loose-path-reopt-
               00.txt, February 2003, Work in Progress.
               
               [ABR-ASBR-FRR] Vasseur, Ali and Sivabalan, "Support of MPLS TE Fast
               Reroute protection of ABR/ASBR LSRs", draft-vasseur-mpls-abr-asbr-frr
               00.txt, February 2003, Work in progress.
               
               [INTER-AS-TE-REQS] Zhang et al, "MPLS Inter-AS Traffic Engineering
               requirements", draft-tewg-interas-te-req-01.txt (work in progress).
               
               [INTER-AS-TE] Vasseur and Zhang, "MPLS Inter-AS Traffic Engineering",
               draft-vasseur-mpls-inter-as-te-00.txt, February 2003, work in progress.
               
               Authors' Address:
               
               Jean Philippe Vasseur
               Cisco Systems, Inc.
               300 Apollo Drive
               Chelmsford, MA 01824
               USA
               Email: jpv@cisco.com
               
               Zafar Ali
               Cisco Systems, Inc.
               100 South Main St. #200
               Ann Arbor, MI 48104
               USA
               zali@cisco.com
               
               Siva Sivabalan
               Cisco Systems, Inc.
               2000 Innovation Drive
               Kanata, Ontario, K2K 3E8
               Canada
               msiva@cisco.com
               
               
               Vasseur, Ali and Sivabalan                                           8