TEAS Working Group D. Dhody
Internet-Draft U. Palle
Intended status: Experimental V. Kondreddy
Expires: May 22, 2016 Huawei Technologies
R. Casellas
CTTC
November 19, 2015

Domain Subobjects for Resource ReserVation Protocol - Traffic Engineering (RSVP-TE)
draft-ietf-teas-rsvp-te-domain-subobjects-05

Abstract

The Resource ReserVation Protocol - Traffic Engineering (RSVP-TE) specification and the Generalized Multiprotocol Label Switching (GMPLS) extensions to RSVP-TE allow abstract nodes and resources to be explicitly included in a path setup. Further Exclude Routes extensions to RSVP-TE allow abstract nodes and resources to be explicitly excluded in a path setup.

This document specifies new subobjects to include or exclude 4-Byte Autonomous System (AS) and Interior Gateway Protocol (IGP) area during path setup.

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 May 22, 2016.

Copyright Notice

Copyright (c) 2015 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.


Table of Contents

1. Introduction

The RSVP-TE specification [RFC3209] and the GMPLS extensions to RSVP-TE [RFC3473] allow abstract nodes and resources to be explicitly included in a path setup using the Explicit Route Object (ERO).

Further Exclude Routes extensions [RFC4874] allow abstract nodes or resources to be excluded from the whole path using the Exclude Route object (XRO). To exclude certain abstract nodes or resources between a specific pair of abstract nodes present in an ERO, a Explicit Exclusion Route Subobject (EXRS) is used.

[RFC3209] already describes the notion of abstract nodes, where an abstract node is a group of nodes whose internal topology is opaque to the ingress node of the Label Switched Path (LSP). It further defines a subobject for AS, but with a 2-Byte AS number only.

This document extends the notion of abstract nodes by adding new subobjects for IGP Areas and 4-byte AS numbers (as per [RFC6793]). These subobjects can be included in Explicit Route Object (ERO), Exclude Route Object (XRO) or Explicit Exclusion Route Subobject (EXRS).

In case of per-domain path computation [RFC5152], where the full path of an inter-domain TE LSP cannot be or is not determined at the ingress node, and signaling message could use domain identifiers. The use of these new subobjects is illustrated in Appendix A.

Further, the domain identifier could simply act as delimiter to specify where the domain boundary starts and ends.

This is a companion document to Path Computation Element Protocol (PCEP) extensions for the domain sequence [PCE-DOMAIN].

1.1. Scope

The procedures described in this document are experimental. The experiment is intended to enable research for the usage of Domain subobjects for inter-domain path setup. For this purpose this document specify new domain subobjects as well as how they incorporate with existing subobjects.

The experiment will end two years after the RFC is published. At that point, the RFC authors will attempt to determine how widely this has been implemented and deployed.

This document does not change the procedures for handling subobjects in RSVP-TE.

The new subobjects introduced by this document will not be understood by legacy implementations. If a legacy implementation receives one of the subobjects that it does not understand in an RSVP-TE object, the legacy implementation will behave as described in [RFC3209] and [RFC4874]. Therefore, it is assumed that this experiment will be conducted only when all nodes processing the new subobject form part of the experiment.

When the result of implementation and deployment are available, this document will be updated and refined, and then be moved from Experimental to Standard Track.

It should be noted that there are other ways such as use of boundary node to identify the domain (instead of domain identifier), the mechanism defined in this document is just another tool in the toolkit for the operator.

1.2. Requirements Language

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 [RFC2119].

2. Terminology

The following terminology is used in this document.

AS:
Autonomous System.
Domain:
As per [RFC4655], any collection of network elements within a common sphere of address management or path computational responsibility. Examples of domains include Interior Gateway Protocol (IGP) areas and Autonomous Systems (ASs).
ERO:
Explicit Route Object
EXRS:
Explicit Exclusion Route Subobject
IGP:
Interior Gateway Protocol. Either of the two routing protocols, Open Shortest Path First (OSPF) or Intermediate System to Intermediate System (IS-IS).
IS-IS:
Intermediate System to Intermediate System.
OSPF:
Open Shortest Path First.
PCE:
Path Computation Element. An entity (component, application, or network node) that is capable of computing a network path or route based on a network graph and applying computational constraints.
PCEP:
Path Computation Element Protocol.
RSVP:
Resource Reservation Protocol
TE LSP:
Traffic Engineering Label Switched Path.
XRO:
Exclude Route Object

3. Subobjects for Domains

3.1. Domains

[RFC4726] and [RFC4655] define domain as a separate administrative or geographic environment within the network. A domain could be further defined as a zone of routing or computational ability. Under these definitions a domain might be categorized as an AS or an IGP area.

As per [RFC3209], an abstract node is a group of nodes whose internal topology is opaque to the ingress node of the LSP. Using this concept of abstraction, an explicitly routed LSP can be specified as a sequence of IP prefixes or a sequence of Autonomous Systems. In this document we extend the notion to include IGP area and 4-Byte AS number.

These sub-objects appear in RSVP-TE, notably in -

3.2. Explicit Route Object (ERO)'s Subobjects

As stated in [RFC3209], an explicit route is a particular path in the network topology. In addition to the ability to identify specific nodes along the path, an explicit route can identify a group of nodes (abstract nodes) to be traversed along the path.

Some subobjects are defined in [RFC3209], [RFC3473], [RFC3477], [RFC4874] and [RFC5553] but new subobjects related to domains are needed.

This document extends the support for 4-Byte AS numbers and IGP Areas.

             Type    Subobject
              TBD1   Autonomous system number (4 Byte)
              TBD2   OSPF Area id
              TBD3   ISIS Area id

3.2.1. Autonomous system

[RFC3209] already defines 2-Byte AS number.

To support 4-Byte AS numbers as per [RFC6793], the following subobject is defined:

   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              |
  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  |                          AS-ID (4 bytes)                      |
  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

L:
The L bit is an attribute of the subobject as defined in [RFC3209], i.e., set if the subobject represents a loose hop in the explicit route. If the bit is not set, the subobject represents a strict hop in the explicit route.
Type:
(TBD1 by IANA) indicating a 4-Byte AS Number.
Length:
8 (Total length of the subobject in bytes).
Reserved:
Zero at transmission, ignored at receipt.
AS-ID:
The 4-Byte AS Number. Note that if 2-Byte AS numbers are in use, the low order bits (16 through 31) MUST be used and the high order bits (0 through 15) MUST be set to zero. For the purpose of this experiment, it is advised to use 4-Byte AS number subobject as default.

3.2.2. IGP Area

Since the length and format of Area-id is different for OSPF and ISIS, the following two subobjects are defined:

For OSPF, the area-id is a 32 bit number. The subobject is encoded as follows:

   
   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              |
  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  |                    OSPF Area Id (4 bytes)                     |
  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
 

L:
The L bit is an attribute of the subobject as defined in [RFC3209].
Type:
(TBD2 by IANA) indicating a 4-Byte OSPF Area ID.
Length:
8 (Total length of the subobject in bytes).
Reserved:
Zero at transmission, ignored at receipt.
OSPF Area Id:
The 4-Byte OSPF Area ID.

For IS-IS, the area-id is of variable length and thus the length of the subobject is variable. The Area-id is as described in IS-IS by ISO standard [ISO10589]. The subobject is encoded as follows:

   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    |  Area-Len     |  Reserved     |
  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  |                                                               |
  //                        IS-IS Area ID                        //
  |                                                               |
  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

L:
The L bit is an attribute of the subobject as defined in [RFC3209].
Type:
(TBD3 by IANA) indicating IS-IS Area ID.
Length:
Variable. The Length MUST be at least 8, and MUST be a multiple of 4.
Area-Len:
Variable (Length of the actual (non-padded) IS-IS Area Identifier in octets; Valid values are from 1 to 13 inclusive).
Reserved:
Zero at transmission, ignored at receipt.
IS-IS Area Id:
The variable-length IS-IS area identifier. Padded with trailing zeroes to a four-byte boundary.

3.2.3. Mode of Operation

The new subobjects to support 4-Byte AS and IGP (OSPF / ISIS) Area could be used in the ERO to specify an abstract node (a group of nodes whose internal topology is opaque to the ingress node of the LSP).

All the rules of processing (for example Next Hop Selection, L bit processing, unrecognized subobjects etc) are as per the [RFC3209]. Note that if a node is called upon to process subobject defined in this document, and it does not recognize, it will behave as described in [RFC3209] when an unrecognized ERO subobject is encountered. This means that this node will return a PathErr with error code "Routing Error" and error value "Bad EXPLICIT_ROUTE object" with the EXPLICIT_ROUTE object included, truncated (on the left) to the offending subobject.

3.3. Exclude Route Object (XRO)'s Subobjects

As stated in [RFC4874], the exclude route identifies a list of abstract nodes that to exclude (not be traversed) along the path of the LSP being established.

Some subobjects are defined in [RFC3209], [RFC3477], [RFC4874] and [RFC6001] but new subobjects related to domains are needed.

This document extends the support for 4-Byte AS numbers and IGP Areas.

             Type    Subobject
              TBD1   Autonomous system number (4 Byte)
              TBD2   OSPF Area id
              TBD3   ISIS Area id

3.3.1. Autonomous system

[RFC3209] and [RFC4874] already define a 2-Byte AS number.

To support 4-Byte AS numbers as per [RFC6793], a subobject is with the same format as defined in Section 3.2.1 with following difference:

The meaning of the L bit is as per [RFC4874], where.

0:
indicates that the abstract node specified MUST be excluded.
1:
indicates that the abstract node specified SHOULD be avoided.

3.3.2. IGP Area

Since the length and format of Area-id is different for OSPF and ISIS, the following two subobjects are defined:

For OSPF, the area-id is a 32 bit number. Subobjects for OSPF and IS-IS are of the same format as defined in Section 3.2.2 with following difference:

The meaning of the L bit is as per [RFC4874].

3.3.3. Mode of Operation

The new subobjects to support 4-Byte AS and IGP (OSPF / ISIS) Area could also be used in the XRO to specify exclusion of an abstract node (a group of nodes whose internal topology is opaque to the ingress node of the LSP).

All the rules of processing are as per the [RFC4874].

Note that if a node is called upon to process a subobject defined in this document, and it does not recognize, it will behave as described in [RFC4874] when an unrecognized XRO subobject is encountered, i.e. to ignore it. In this case the desired exclusion will not be carried out.

IGP Area subobjects in the XRO are local to the current AS. In case of multi-AS path computation to exclude an IGP area in a different AS, IGP Area subobject should be part of Explicit Exclusion Route Subobject (EXRS) in the ERO to specify the AS in which the IGP area is to be excluded. Further policy may be applied to prune/ignore Area subobjects in XRO at AS boundary.

3.4. Explicit Exclusion Route Subobject

As per [RFC4874], the Explicit Exclusion Route is used to specify exclusion of certain abstract nodes between a specific pair of nodes or resources in the explicit route. EXRS is an ERO subobject that contains one or more subobjects of its own, called EXRS subobjects.

The EXRS subobject could carry any of the subobjects defined for XRO, thus the new subobjects to support 4-Byte AS and IGP (OSPF / ISIS) Area can also be used in the EXRS. The meanings of the fields of the new XRO subobjects are unchanged when the subobjects are included in an EXRS, except that scope of the exclusion is limited to the single hop between the previous and subsequent elements in the ERO.

All the rules of processing are as per the [RFC4874].

4. Interaction with Path Computation Element (PCE)

The domain subobjects to be used in Path Computation Element Protocol (PCEP) are referred to in [PCE-DOMAIN]. Note that the new domain subobjects follow the principle that subobjects used in PCEP [RFC5440] are identical to the subobjects used in RSVP-TE and thus are interchangeable between PCEP and RSVP-TE.

5. IANA Considerations

5.1. New Subobjects

IANA maintains the "Resource Reservation Protocol (RSVP) Parameters" at <http://www.iana.org/assignments/rsvp-parameters>. Within this registry IANA maintains two sub-registries:

Upon approval of this document, IANA is requested to make identical additions to these registries as follows, in sync with [PCE-DOMAIN]:

Subobject Type                          Reference
TBD1      4-Byte AS number              [This I.D.][PCE-DOMAIN]
TBD2      OSPF Area ID                  [This I.D.][PCE-DOMAIN]
TBD3      IS-IS Area ID                 [This I.D.][PCE-DOMAIN]

Further upon approval of this document, IANA is requested to add a reference to this document to the new PCEP numbers that are registered by [PCE-DOMAIN].

6. Security Considerations

Security considerations for RSVP-TE and GMPLS signaling RSVP-TE extensions are covered in [RFC3209] and [RFC3473]. This document does not introduce any new messages or any substantive new processing, and so those security considerations continue to apply. Further, general considerations for securing RSVP-TE in MPLS-TE and GMPLS networks can be found in [RFC5920]. The section 8 of [RFC5920] describes the inter-provider security considerations, which continue to apply.

The route exclusion security consideration are covered in [RFC4874] and continue to apply.

7. Acknowledgments

We would like to thank Adrian Farrel, Lou Berger, George Swallow, Chirag Shah, Reeja Paul, Sandeep Boina and Avantika for their useful comments and suggestions.

Thanks to Vishnu Pavan Beeram for shepherding this document.

Thanks to Deborah Brungard for being the Responsible AD.

Thanks to Amanda Baber for IANA Review.

Thanks to Brian Carpenter for Gen-ART Review.

Thanks to Liang Xia (Frank) for SecDir Review.

Thanks to Spencer Dawkins and Barry Leiba for comments during the IESG Review.

8. References

8.1. Normative References

[RFC2119] Bradner, S., "Key words for use in RFCs to Indicate Requirement Levels", BCP 14, RFC 2119, DOI 10.17487/RFC2119, March 1997.
[RFC3209] Awduche, D., Berger, L., Gan, D., Li, T., Srinivasan, V. and G. Swallow, "RSVP-TE: Extensions to RSVP for LSP Tunnels", RFC 3209, DOI 10.17487/RFC3209, December 2001.
[RFC3473] Berger, L., "Generalized Multi-Protocol Label Switching (GMPLS) Signaling Resource ReserVation Protocol-Traffic Engineering (RSVP-TE) Extensions", RFC 3473, DOI 10.17487/RFC3473, January 2003.
[RFC3477] Kompella, K. and Y. Rekhter, "Signalling Unnumbered Links in Resource ReSerVation Protocol - Traffic Engineering (RSVP-TE)", RFC 3477, DOI 10.17487/RFC3477, January 2003.
[RFC4874] Lee, CY., Farrel, A. and S. De Cnodder, "Exclude Routes - Extension to Resource ReserVation Protocol-Traffic Engineering (RSVP-TE)", RFC 4874, DOI 10.17487/RFC4874, April 2007.
[ISO10589] ISO, "Intermediate system to Intermediate system routing information exchange protocol for use in conjunction with the Protocol for providing the Connectionless-mode Network Service (ISO 8473)", ISO/IEC 10589:2002, 1992.
[PCE-DOMAIN] Dhody, D., Palle, U. and R. Casellas, "Domain Subobjects for Path Computation Element (PCE) Communication Protocol (PCEP). (draft-ietf-pce-pcep-domain-sequence)", November 2015.

8.2. Informative References

[RFC4655] Farrel, A., Vasseur, J. and J. Ash, "A Path Computation Element (PCE)-Based Architecture", RFC 4655, DOI 10.17487/RFC4655, August 2006.
[RFC4726] Farrel, A., Vasseur, J. and A. Ayyangar, "A Framework for Inter-Domain Multiprotocol Label Switching Traffic Engineering", RFC 4726, DOI 10.17487/RFC4726, November 2006.
[RFC5152] Vasseur, JP., Ayyangar, A. and R. Zhang, "A Per-Domain Path Computation Method for Establishing Inter-Domain Traffic Engineering (TE) Label Switched Paths (LSPs)", RFC 5152, DOI 10.17487/RFC5152, February 2008.
[RFC5440] Vasseur, JP. and JL. Le Roux, "Path Computation Element (PCE) Communication Protocol (PCEP)", RFC 5440, DOI 10.17487/RFC5440, March 2009.
[RFC5553] Farrel, A., Bradford, R. and JP. Vasseur, "Resource Reservation Protocol (RSVP) Extensions for Path Key Support", RFC 5553, DOI 10.17487/RFC5553, May 2009.
[RFC5920] Fang, L., "Security Framework for MPLS and GMPLS Networks", RFC 5920, DOI 10.17487/RFC5920, July 2010.
[RFC6001] Papadimitriou, D., Vigoureux, M., Shiomoto, K., Brungard, D. and JL. Le Roux, "Generalized MPLS (GMPLS) Protocol Extensions for Multi-Layer and Multi-Region Networks (MLN/MRN)", RFC 6001, DOI 10.17487/RFC6001, October 2010.
[RFC6793] Vohra, Q. and E. Chen, "BGP Support for Four-Octet Autonomous System (AS) Number Space", RFC 6793, DOI 10.17487/RFC6793, December 2012.

Appendix A. Examples

These examples are for illustration purposes only, to show how the new subobjects could be encoded. They are not meant to be an exhaustive list of all possible usecases and combinations.

A.1. Inter-Area LSP Path Setup

In an inter-area LSP path setup where the ingress and the egress belong to different IGP areas within the same AS, the domain subobjects could be represented using an ordered list of IGP area subobjects in an ERO.

                                D2 Area D                              
                                |
                                |
                                D1
                                |
                                |
                        ********BD1******        
                        *       |       *
                        *       |       *                Area C
  Area A                *       |       *  
                        *       |       *  
  Ingress------A1-----ABF1------B1------BC1------C1------Egress
                      / *       |       *
                    /   *       |       *
                  /     * Area  | B     *
                F1      *       |       * 
              /         ********BE1******  
            /                   |
          /                     |  
         F2                     E1
                                |
 Area F                         |  
                                E2 Area E                       
                                
  * All IGP Area in one AS (AS 100)                                                                       
            

Figure 1: Domain Corresponding to IGP Area

As per Figure 1, the signaling at Ingress could be -

ERO:(A1, ABF1, Area B, Area C, Egress)

It should be noted that there are other ways to achieve the desired signaling, the area subobject provides another tool in the toolkit and can have operational benefits when -

A.2. Inter-AS LSP Path Setup

A.2.1. Example 1

In an inter-AS LSP path setup where the ingress and the egress belong to different AS, the domain subobjects (AS) could be used in an ERO.


           AS A                AS E                AS C
      <------------->      <---------->      <------------->

               A4----------E1---E2---E3---------C4    
              /           /                       \  
            /            /                          \
          /            /       AS B                   \
        /            /      <---------->                \
  Ingress------A1---A2------B1---B2---B3------C1---C2------Egress
        \                                    /          / 
          \                                /          /
            \                            /          /
              \                        /          / 
               A3----------D1---D2---D3---------C3
   
                           <---------->
                               AS D      
                               
  * All AS have one area (area 0)                               
            

Figure 2: Domain Corresponding to AS

As per Figure 2, the signaling at Ingress could be -

ERO:(A1, A2, AS B, AS C, Egress); or

ERO:(A1, A2, AS B, Area 0, AS C, Area 0, Egress).

Each AS has a single IGP area (area 0), Area subobject is optional.

Note that to get a domain disjoint path, the ingress could also signal the backup path with -

XRO:(AS B)

A.2.2. Example 2

As shown in Figure 3, where AS 200 is made up of multiple areas, the signaling can include both AS and Area subobject to uniquely identify a domain.

      Ingress                *
         |                 *
         |               *
         |             *
         X1          *
         \\        * 
          \ \    *     
           \  \*   Inter-AS 
   AS 100   \*  \  Link         
           * \    \           
         *    \     \           
       *       \      \           
                \       \          D2 Area D
      AS 200     \        \        |
                  \         \      |
           Inter   \          \    D1
             -AS    \           \  |
            Link     \            \|
                      \    ********BD1******
                       \   *       |       *
                        \  *       |       *                Area C
             Area A      \ *       |       *
                          \*       |       *
         A2------A1------AB1------B1------BC1------C1------Egress
                           *       |       *
                           *       |       *
                           *       |       *
                           * Area  | B     *
                           ********BE1******
                                   |
                                   |
                                   E1
                                   |
                                   |
                                   E2 Area E                                 
                             
            

Figure 3: Domain Corresponding to AS and Area

As per Figure 3, the signaling at Ingress could be -

ERO:(X1, AS 200, Area B, Area C, Egress).

Authors' Addresses

Dhruv Dhody Huawei Technologies Divyashree Techno Park, Whitefield Bangalore, Karnataka 560037 India EMail: dhruv.ietf@gmail.com
Udayasree Palle Huawei Technologies Divyashree Techno Park, Whitefield Bangalore, Karnataka 560037 India EMail: udayasree.palle@huawei.com
Venugopal Reddy Kondreddy Huawei Technologies Divyashree Techno Park, Whitefield Bangalore, Karnataka 560037 India EMail: venugopalreddyk@huawei.com
Ramon Casellas CTTC Av. Carl Friedrich Gauss n7 Castelldefels, Barcelona 08860 Spain EMail: ramon.casellas@cttc.es