MPLS Working Group                                            Z. Ali
                                                             G. Swallow
   Internet Draft                                   Cisco Systems, Inc.
                                                             R. Aggarwal
                                                        Juniper Networks
   Intended status: Standard Track                       August 17, 2011
   Expires: February 16, 2012
   
   
       Non Penultimate Hop Popping Behavior and out-of-band mapping for
                         RSVP-TE Label Switched Paths
               draft-ietf-mpls-rsvp-te-no-php-oob-mapping-09.txt
   
   
   
   Status of this Memo
   
   
   This Internet-Draft is submitted in full conformance with the
   provisions of BCP 78 and BCP 79.
   
   Internet-Drafts are working documents of the Internet Engineering
   Task Force (IETF).  Note that other groups may also distribute
   working documents as Internet-Drafts.  The list of current Internet-
   Drafts is at http://datatracker.ietf.org/drafts/current/.
   
   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."
   
   This Internet-Draft will expire on February 16, 2012.
   
   
   Copyright Notice
   
   
   Copyright (c) 2011 IETF Trust and the persons identified as the
   document authors.  All rights reserved.
   
   This document is subject to BCP 78 and the IETF Trust's Legal
   Provisions Relating to IETF Documents
   (http://trustee.ietf.org/license-info) in effect on the date of
   publication of this document.  Please review these documents
   carefully, as they describe your rights and restrictions with respect
   to this document.  Code Components extracted from this document must
   include Simplified BSD License text as described in Section 4.e of
   the Trust Legal Provisions and are provided without warranty as
   described in the Simplified BSD License.
   
                         Expires February 2012               [Page 1]


   Internet-Draft     draft-ietf-mpls-rsvp-te-no-php-oob-mapping-09.txt
   
   
   This document may contain material from IETF Documents or IETF
   Contributions published or made publicly available before November
   10, 2008.  The person(s) controlling the copyright in some of this
   material may not have granted the IETF Trust the right to allow
   modifications of such material outside the IETF Standards Process.
   Without obtaining an adequate license from the person(s) controlling
   the copyright in such materials, this document may not be modified
   outside the IETF Standards Process, and derivative works of it may
   not be created outside the IETF Standards Process, except to format
   it for publication as an RFC or to translate it into languages other
   than English.
   
   
   Abstract
   
   There are many deployment scenarios which require Egress Label
   Switching Router (LSR) to receive binding of the Resource
   ReserVation Protocol Traffic Engineered (RSVP-TE) Label Switched
   Path (LSP) to an application, and payload identification, using
   some "out-of-band" (OOB) mechanism. This document defines
   protocol mechanisms to address this requirement. The procedures
   described in this document are equally applicable for point-to-
   point (P2P) and point-to-multipoint (P2MP) LSPs.
   
   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 [RFC2119].
   
   Table of Contents
   
   
      Copyright Notice ..............................................1
      1. Introduction ...............................................3
      2. RSVP-TE signaling extensions ...............................4
         2.1. Signaling non-PHP behavior ............................4
         2.2. Signaling OOB Mapping Indication ......................5
         2.3. Relationship between OOB and non-PHP flags ............7
         2.4. Egress Procedure for label binding ....................7
      3. Security Considerations ....................................8
      4. IANA Considerations ........................................8
         4.1. Attribute Flags for LSP_ATTRIBUTES object .............8
         4.2. New RSVP error sub-code ...............................9
   
                       Expires February 2012                  [Page 2]


   Internet-Draft     draft-ietf-mpls-rsvp-te-no-php-oob-mapping-09.txt
   
      5. Acknowledgments ............................................9
      6. References .................................................9
         6.1. Normative References ..................................9
         6.2. Informative References ...............................10
   
   1. Introduction
   
   When Resource ReserVation Protocol Traffic Engineered (RSVP-TE)
   is used for applications like Multicast Virtual Private Network
   (MVPN) [MVPN] and Virtual Private LAN Service (VPLS) [RFC4761],
   an Egress Label Switching Router (LSR) receives the binding of
   the RSVP-TE Label Switched Path (LSP) to an application, and
   payload identification, using an "out-of-band" (OOB) mechanism
   (e.g., using Border Gateway Protocol (BGP)). In such cases, the
   Egress LSR cannot make correct forwarding decision until such OOB
   mapping information is received. Furthermore, in order to apply
   the binding information, the Egress LSR needs to identify the
   incoming LSP on which traffic is coming. Therefore, non
   Penultimate Hop Popping (non-PHP) behavior is required to apply
   OOB mapping. Non-PHP behavior requires the egress LSRs to assign
   a non-NULL label for the LSP being signaled.
   
   There are other applications that require non-PHP behavior. When
   RSVP-TE point-to-multipoint (P2MP) LSPs are used to carry IP
   multicast traffic non-PHP behavior enables a leaf LSR to identify
   the P2MP TE LSP, on which traffic is received. Hence the egress
   LSR can determine whether traffic is received on the expected P2MP
   LSP and discard traffic that is not received on the expected P2MP
   LSP. Non-PHP behavior is also required to determine the context of
   upstream assigned labels when the context is a MPLS LSP. Non-PHP
   behavior may also be required for MPLS-TP LSPs [RFC5921].
   
   This document defines two new flags in the Attributes Flags TLV
   of the LSP_ATTRIBUTES object defined in [RFC5420]: one flag for
   communication of non-PHP behavior, and one flag to indicate that
   the binding of the LSP to an application and payload identifier
   (payload-Id) needs to be learned via an out-of-band mapping
   mechanism. As there is one-to-one correspondence between bits in
   the Attribute Flags TLV and the RRO Attributes subobject,
   corresponding flags to be carried in RRO Attributes subobject are
   also defined.
   
   The procedures described in this document are equally applicable
   for P2P and P2MP LSPs. Specification of the OOB communication
   mechanism(s) is beyond the scope of this document.
   
   
   
                       Expires February 2012                  [Page 3]


   Internet-Draft     draft-ietf-mpls-rsvp-te-no-php-oob-mapping-09.txt
   
   
   2. RSVP-TE signaling extensions
   
   This section describes the signaling extensions required to
   address the above-mentioned requirements.
   
   2.1. Signaling non-PHP behavior
   
   In order to request non-PHP behavior for an RSVP-TE LSP, this
   document defines a new flag in the Attributes Flags TLV of the
   LSP_ATTRIBUTES object defined in [RFC5420]:
   
   
   Bit Number (to be assigned by IANA): non-PHP behavior requested flag.
   
   In order to indicate to the Ingress LSR that the Egress LSR
   recognizes the "non-PHP behavior requested flag", the following
   new bit is defined in the Flags field of the Record Route object
   (RRO) Attributes subobject:
   
   Bit Number (same as bit number assigned for non-PHP behavior
   requested flag): Non-PHP behavior acknowledgement flag.
   
   An Ingress LSR sets the "non-PHP behavior requested flag" to
   signal the egress LSRs SHOULD assign non-NULL label for the LSP
   being signaled.  This flag MUST NOT be modified by any other LSRs
   in the network. LSRs other than the Egress LSRs SHOULD ignore
   this flag.
   
   If an egress LSR receiving the Path message, supports the
   LSP_ATTRIBUTES object and the Attributes Flags TLV, and also
   recognizes the "non-PHP behavior requested flag", it MUST
   allocate a non-NULL local label. The egress LSR MUST also set the
   "Non-PHP behavior acknowledgement flag" in the Flags field of the
   RRO Attribute subobject.
   
   If the egress LSR
   
   - supports the LSP_ATTRIBUTES object but does not recognize the
     Attributes Flags TLV; or
   
   - supports the LSP_ATTRIBUTES object and recognize the Attributes
     Flags TLV, but does not recognize the "non-PHP behavior requested
     flag";
   
   
   
                       Expires February 2012                  [Page 4]


   Internet-Draft     draft-ietf-mpls-rsvp-te-no-php-oob-mapping-09.txt
   
   
   then it silently ignores this request according to the processing
   rules of [RFC5420].
   
   
   An ingress LSR requesting non-PHP behavior SHOULD examine "Non-
   PHP behavior acknowledgement flag" in the Flags field of the RRO
   Attribute subobject and MAY send a Path Tear to the Egress which
   has not set the "Non-PHP behavior acknowledgement flag". An
   ingress LSR requesting non-PHP behavior MAY also examine the
   label value corresponding to the Egress LSR(s) in the RRO, and
   MAY send a Path Tear to the Egress which assigns a Null label
   value.
   
   When signaling a P2MP LSP, a source node may wish to solicit
   individual response to the "non-PHP behavior requested flag" from
   the leaf nodes. Given the constraints on how the LSP_ATTRIBUTES may
   be carried in Path and Resv Messages according to RFC5420, in
   this situation the source node MUST use a separate Path message for
   each leaf in networks where [ATTRIBUTE-BNF] is not supported.  In
   networks with [ATTRIBUTE-BNF] deployed either separate Path
   message for each leaf or multiple leafs per Path message MAY be
   used by the source node.
   
   2.2. Signaling OOB Mapping Indication
   
   This document defines a single flag to indicate that the normal
   binding mechanism of an RSVP session is overridden.  The actual
   out-of-band mappings are beyond the scope of this document.  The
   flag is carried in the Attributes Flags TLV of the LSP_ATTRIBUTES
   object defined in [RFC5420] and is defined as follows:
   
   Bit Number (to be assigned by IANA): OOB mapping indication flag.
   
   In order to indicate to the Ingress LSR that the Egress LSR
   recognizes the "OOB mapping indication flag", the following new
   bit is defined in the Flags field of the Record Route object
   (RRO) Attributes subobject:
   
   Bit Number (same as bit number assigned for OOB mapping
   indication flag): OOB mapping acknowledgement flag.
   
   
                       Expires February 2012                  [Page 5]


   Internet-Draft     draft-ietf-mpls-rsvp-te-no-php-oob-mapping-09.txt
   
   
   An Ingress LSR sets the OOB mapping indication flag to signal the
   Egress LSR that binding of RSVP-TE LSP to an application and
   payload identification is being signaled out-of-band. This flag
   MUST NOT be modified by any other LSRs in the network. LSRs
   other than the Egress LSRs SHOULD ignore this flag.
   
   When an Egress LSR which supports the "OOB mapping indication
   flag", receives a Path message with that flag set, the Egress LSR
   MUST set the "OOB mapping acknowledgement flag" in the Flags
   field of the RRO Attribute subobject. The rest of the RSVP
   signaling proceeds as normal.  However, the LSR MUST have
   received the OOB mapping before accepting traffic on the LSP.
   This implies that the Egress LSR MUST NOT setup forwarding state
   for the LSP before it receives the OOB mapping.
   
   Note that the payload information SHOULD be supplied by the OOB
   mapping. If the egress LSR receives the payload information from
   OOB mapping then the LSR MUST ignore L3PID in the Label Request
   Object [RFC3209].
   
   
   If the egress LSR
   
   - supports the LSP_ATTRIBUTES object but does not recognize the
     Attributes Flags TLV; or
   
   - supports the LSP_ATTRIBUTES object and recognizes the
     Attributes Flags TLV, but does not recognize the "OOB mapping
     indication flag";
   
   then it silently ignores this request according to the processing
   rules of [RFC5420].
   
   
   An ingress LSR requesting OOB mapping SHOULD examine "OOB mapping
   acknowledgement flag" in the Flags field of the RRO Attribute
   subobject and MAY send a Path Tear to the Egress which has not
   set the "OOB mapping acknowledgement flag".
   
   When signaling a P2MP LSP, a source node may wish to solicit
   individual response to the "OOB mapping indication flag" from the
   the leaf nodes. Given the constraints on how the LSP_ATTRIBUTES
   may be carried in Path and Resv Messages according to RFC5420, in
   this situation the source node MUST use a separate Path message for
   each leaf in networks where [ATTRIBUTE-BNF] is not supported.  In
   
                       Expires February 2012                  [Page 6]


   Internet-Draft     draft-ietf-mpls-rsvp-te-no-php-oob-mapping-09.txt
   
   
   networks with [ATTRIBUTE-BNF] deployed either separate Path
   message for each leaf or multiple leafs per Path message MAY be
   used by the source node.
   
   In deploying applications where Egress LSR receives the binding
   of the RSVP-TE LSP to an application, and payload identification,
   using OOB mechanism, it is important to recognize that the OOB
   mapping is sent asynchronously with respect to the signaling of
   RSVP-TE LSP. Egress LSR only installs forwarding state for the LSP
   after it receives the OOB mapping. In deploying applications using
   OOB mechanism, an Ingress LSR may need to know when the Egress is
   properly setup for forwarding (i.e., has received the OOB mapping).
   How the Ingress LSR determines that the LSR is properly setup for
   forwarding at the Egress LSR is beyond the scope of this document.
   Nonetheless, if the OOB mapping is not received by the Egress LSR
   within a reasonable time, the procedure defined in section 2.4 to
   tear down the LSP is followed.
   
   
   2.3. Relationship between OOB and non-PHP flags
   
   "Non-PHP behavior desired" and "OOB mapping indication" flags can
   appear and be processed independently of each other. However, as
   mentioned earlier, in the context of the applications discussed in
   this document, OOB mapping requires non-PHP behavior. An Ingress
   LSR requesting the OOB mapping MAY also set the "non-PHP behavior
   requested flag" in the LSP_ATTRIBUTES object in the Path message.
   
   2.4. Egress Procedure for label binding
   
   RSVP-TE signaling completion and the OOB mapping information
   reception happen asynchronously at the Egress. As mentioned in
   Section 2.2, Egress waits for the OOB mapping before accepting
   traffic on the LSP. Nonetheless, MPLS OAM mechanisms, e.g., LSP
   Ping and Trace route as defined in [RFC4379], [P2MP-OAM], are
   expected to work independent of OOB mapping learning process.
   
   In order to avoid unnecessary use of the resources and possible
   black-holing of traffic, an Egress LSR MAY send a Path Error
   message if the OOB mapping information is not received within a
   reasonable time. This Path Error message SHOULD include the error
   code/sub-code "Notify Error/ no OOB mapping received" for all
   affected LSPs. If notify request was included when the LSP was
   initially setup, Notify message (as defined in [RFC3473]) MAY
   also be used for delivery of this information to the Ingress LSR.
   An Egress LSR MAY implement a cleanup timer for this purpose. The
   
                       Expires February 2012                  [Page 7]


   Internet-Draft     draft-ietf-mpls-rsvp-te-no-php-oob-mapping-09.txt
   
   time-out value is a local decision at the Egress, with a
   RECOMMENDED default value of 60 seconds.
   
   3. Security Considerations
   
   Addition of "non-PHP behavior" adds a variable of attacks on the
   label assigned by the Egress node. As change in the value of the
   egress label reported in the RRO can cause the LSP to be torn
   down, additional security considerations for protecting label
   assigned by the Egress node are required. Security mechanisms as
   identified in [RFC5920], [RFC2205], [RFC3209], [RFC3473],
   [RFC5420] and [RFC4875] can be used for this purpose. This
   document does not introduce any additional security issues above
   those identified in [RFC5920], [RFC2205], [RFC3209], [RFC3473],
   [RFC5420] and [RFC4875].
   
   4. IANA Considerations
   
   
   The following changes to the Resource Reservation Protocol-Traffic
   Engineering (RSVP-TE) Parameters registry are required.
   
   4.1. Attribute Flags for LSP_ATTRIBUTES object
   
   The following new flags are defined for the Attributes Flags TLV
   in the LSP_ATTRIBUTES object.  The numeric values are to be
   assigned by IANA.
   o  Non-PHP behavior flag:
   This flags is used in the Attributes Flags TLV in a Path message.
   The flags have corresponding new flag to be used in the RRO
   Attributes subobject. As per [RFC5420], the bit numbering in the
   Attribute Flags TLV and the RRO Attributes subobject is
   identical. That is, the same attribute is indicated by the same
   bit in both places. This flag is not allowed in the Attributes
   Flags TLV in a Resv message. Specifically, Attributes of this
   flag are as follows:
   
         - Bit Number: To be assigned by IANA.
   
         - Attribute flag carried in Path message: Yes
   
         - Attribute flag carried in Resv message: No
   
         - Attribute flag carried in RRO message: Yes
   
   
                       Expires February 2012                  [Page 8]


   Internet-Draft     draft-ietf-mpls-rsvp-te-no-php-oob-mapping-09.txt
   
   
   
   
   o  OOB mapping flag:
   
   This flags is used in the Attributes Flags TLV in a Path message.
   The flags have corresponding new flag to be used in the RRO
   Attributes subobject. As per [RFC5420], the bit numbering in the
   Attribute Flags TLV and the RRO Attributes subobject is
   identical. That is, the same attribute is indicated by the same
   bit in both places. This flag is not allowed in the Attributes
   Flags TLV in a Resv message. Specifically, Attributes of this
   flag are as follows:
   
         - Bit Number: To be assigned by IANA.
   
         - Attribute flag carried in Path message: Yes
   
         - Attribute flag carried in Resv message: No
   
         - Attribute flag carried in RRO message: Yes
   
   4.2. New RSVP error sub-code
   
   For Error Code = 25 "Notify Error" (see [RFC3209]) the following
   sub-code is defined.
   
            Sub-code                    Value
            --------                    -----
   
            No OOB mapping received     to be assigned by IANA.
   
   
   5. Acknowledgments
   
   The authors would like to thank Yakov Rekhter for his suggestions
   on the draft.
   
   
   6. References
   
   6.1. Normative References
   
   [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate
             Requirement Levels", BCP 14, RFC 2119, March 1997.
   
                       Expires February 2012                  [Page 9]


   Internet-Draft     draft-ietf-mpls-rsvp-te-no-php-oob-mapping-09.txt
   
   
   [RFC5420] A. Farrel, D. Papadimitriou, J. P. Vasseur and A.
             Ayyangar, "Encoding of Attributes for Multiprotocol
             Label Switching (MPLS) Label Switched Path (LSP)
             Establishment Using RSVP-TE", RFC 5420, February 2006.
   
   [RFC3209] D. Awduche, L. Berger, D. Gan, T. Li, V. Srinivasan,
             and G. Swallow, "RSVP-TE: Extensions to RSVP for LSP
             Tunnels", RFC 3209, December 2001.
   
   [RFC4875] R. Aggarwal, D. Papadimitriou, S. Yasukawa, et al,
             "Extensions to RSVP-TE for Point-to-Multipoint TE
             LSPs", RFC 4875.
   
   [RFC3473] Berger, L., Ed., "Generalized Multi-Protocol Label
             Switching (GMPLS) Signaling Resource ReserVation
             Protocol-Traffic Engineering (RSVP-TE) Extensions", RFC
             3473, January 2003..
   
   [RFC2205] R. Braden, Ed., "Resource ReSerVation Protocol (RSVP) -
             - Version 1 Functional Specification", RFC 2205,
             September 1997.
   
   [ATTRIBUTE-BNF] Berger, L. and Swallow, G., "LSP Attributes Related
             Routing Backus-Naur Form", draft-ietf-ccamp-attribute-
             bnf, work in progress.
   
   6.2. Informative References
   
   [MVPN] E. Rosen, R. Aggarwal et al, "Multicast in MPLS/BGP IP
          VPNs", draft-ietf-l3vpn-2547bis-mcast-10.txt, work in
          progress.
   
   [RFC4761] Kompella, K., Ed., and Y. Rekhter, Ed., "Virtual
             Private LAN Service (VPLS) Using BGP for Auto-Discovery
             and Signaling", RFC 4761, January 2007.
   
   [RFC5921] M. Bocci, S. Bryant, et al, "A Framework for
             MPLS in Transport Networks", RFC 5921, January 2007.
   
   [RFC5920] L. Fang, Ed., "Security Framework for MPLS and GMPLS
             Networks", RFC 5920, July 2010.
   
   
   
                       Expires February 2012                  [Page 10]


   Internet-Draft     draft-ietf-mpls-rsvp-te-no-php-oob-mapping-09.txt
   
   
   [RFC4379] K. Kompella, and G. Swallow, "Detecting Multi-Protocol
             Label Switched (MPLS) Data Plane Failures", RFC 4379,
             February 2006.
   [P2MP-OAM] S. Saxena, Ed., G. Swallow, Z. Ali, A. Farrel, S.
             Yasukawa, T. Nadeau, "Detecting Data Plane Failures in
             Point-to-Multipoint Multiprotocol Label Switching
             (MPLS) - Extensions to LSP Ping", draft-ietf-mpls-p2mp-
             lsp-ping-17.txt, work in progress.
   
   
   Author's Addresses
   
   
      Zafar Ali
      Cisco Systems, Inc.
      Email: zali@cisco.com
   
      George Swallow
      Cisco Systems, Inc.
      Email: swallow@cisco.com
   
      Rahul Aggarwal
      Juniper Networks
      rahul@juniper.net
                       Expires February 2012                  [Page 11]