Networking Working Group L. Ginsberg
Internet-Draft P. Psenak
Intended status: Standards Track Cisco Systems
Expires: April 6, 2020 S. Previdi
Huawei
W. Henderickx
Nokia
J. Drake
Juniper Networks
October 4, 2019

IS-IS TE Attributes per application
draft-ietf-isis-te-app-07

Abstract

Existing traffic engineering related link attribute advertisements have been defined and are used in RSVP-TE deployments. Since the original RSVP-TE use case was defined, additional applications (e.g., SRTE, LFA) have been defined which also make use of the link attribute advertisements. In cases where multiple applications wish to make use of these link attributes the current advertisements do not support application specific values for a given attribute nor do they support indication of which applications are using the advertised value for a given link.

This draft introduces new link attribute advertisements which address both of these shortcomings. It also discusses backwards compatibility issues and how to minimize duplicate advertisements in the presence of routers which do not support the extensions defined in this document.

Requirements Language

The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be interpreted as described in BCP 14 [RFC2119] [RFC8174] when, and only when, they appear in all capitals, as shown here.

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 https://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 April 6, 2020.

Copyright Notice

Copyright (c) 2019 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 (https://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

Advertisement of link attributes by the Intermediate-System-to-Intermediate-System (IS-IS) protocol in support of traffic engineering (TE) was introduced by [RFC5305] and extended by [RFC5307], [RFC6119], and [RFC8570]. Use of these extensions has been associated with deployments supporting Traffic Engineering over Multiprotocol Label Switching (MPLS) in the presence of Resource Reservation Protocol (RSVP) - more succinctly referred to as RSVP-TE.

In recent years new applications have been introduced which have use cases for many of the link attributes historically used by RSVP-TE. Such applications include Segment Routing Traffic Engineering (SRTE) and Loop Free Alternates (LFA). This has introduced ambiguity in that if a deployment includes a mix of RSVP-TE support and SRTE support (for example) it is not possible to unambiguously indicate which advertisements are to be used by RSVP-TE and which advertisements are to be used by SRTE. If the topologies are fully congruent this may not be an issue, but any incongruence leads to ambiguity.

An additional issue arises in cases where both applications are supported on a link but the link attribute values associated with each application differ. Current advertisements do not support advertising application specific values for the same attribute on a specific link.

This document defines extensions which address these issues. Also, as evolution of use cases for link attributes can be expected to continue in the years to come, this document defines a solution which is easily extensible to the introduction of new applications and new use cases.

2. Requirements Discussion

As stated previously, evolution of use cases for link attributes can be expected to continue - so any discussion of existing use cases is limited to requirements which are known at the time of this writing. However, in order to determine the functionality required beyond what already exists in IS-IS, it is only necessary to discuss use cases which justify the key points identified in the introduction - which are:

[I-D.ietf-spring-segment-routing-policy]. If both RSVP-TE and SRTE are deployed in a network, link attribute advertisements can be used by one or both of these applications. As there is no requirement for the link attributes advertised on a given link used by SRTE to be identical to the link attributes advertised on that same link used by RSVP-TE, there is a clear requirement to indicate independently which link attribute advertisements are to be used by each application.

  1. Support for indicating which applications are using the link attribute advertisements on a link
  2. Support for advertising application specific values for the same attribute on a link

[RFC7855] discusses use cases/requirements for SR. Included among these use cases is SRTE which is defined in

As the number of applications which may wish to utilize link attributes may grow in the future, an additional requirement is that the extensions defined allow the association of additional applications to link attributes without altering the format of the advertisements or introducing new backwards compatibility issues.

Finally, there may still be many cases where a single attribute value can be shared among multiple applications, so the solution must minimize advertising duplicate link/attribute pairs whenever possible.

3. Legacy Advertisements

There are existing advertisements used in support of RSVP-TE. These advertisements include sub-TLVs for TLVs 22, 23, 25, 141, 222, and 223 and TLVs for SRLG advertisement.

3.1. Legacy sub-TLVs

Sub-TLVs for TLVs 22, 23, 25, 141, 222, and 223 

Code Point/Attribute Name
--------------------------
 3 Administrative group (color)
 9 Maximum link bandwidth
10 Maximum reservable link bandwidth
11 Unreserved bandwidth
14 Extended Administrative Group
18 TE Default Metric
33 Unidirectional Link Delay
34 Min/Max Unidirectional Link Delay
35 Unidirectional Delay Variation
36 Unidirectional Link Loss
37 Unidirectional Residual Bandwidth
38 Unidirectional Available Bandwidth
39 Unidirectional Utilized Bandwidth

3.2. Legacy SRLG Advertisements

TLV 138 GMPLS-SRLG
  Supports links identified by IPv4 addresses and
  unnumbered links

TLV 139 IPv6 SRLG
  Supports links identified by IPv6 addresses

4. Advertising Application Specific Link Attributes

Two new code points are defined in support of Application Specific Link Attribute Advertisements:

1) Application Specific Link Attributes sub-TLV for TLVs 22, 23, 25, 141, 222, and 223 (defined in Section 4.2 ).

2)Application Specific Shared Risk Link Group (SRLG) TLV (defined in Section 4.3).

In support of these new advertisements, an application identifier bit mask is defined which identifies the application(s) associated with a given advertisement (defined in Section 4.1).

The following sections define the format of these new advertisements.

4.1. Application Identifier Bit Mask

Identification of the set of applications associated with link attribute advertisements utilizes two bit masks. One bit mask is for standard applications where the definition of each bit is defined in a new IANA controlled registry. A second bit mask is for non-standard User Defined Applications(UDAs).

The encoding defined below is used by both the Application Specific Link Attributes sub-TLV and the Application Specific SRLG TLV.

0 1 2 3 4 5 6 7 
+-+-+-+-+-+-+-+-+
|   SABML+F     |  1 octet
+-+-+-+-+-+-+-+-+
|   UDABML+F    |  1 octet
+-+-+-+-+-+-+-+-+  
|   SABM         ...  0 - 127 octets
+-+-+-+-+-+-+-+-+
|   UDABM        ...  0 - 127 octets
+-+-+-+-+-+-+-+-+

SABML+F (1 octet)
    Standard Application Identifier Bit Mask 
     Length/Flags

          0 1 2 3 4 5 6 7 
         +-+-+-+-+-+-+-+-+
         |L|  SA-Length  |
         +-+-+-+-+-+-+-+-+

   L-flag: When set, applications listed (both Standard
    and User Defined) MUST use the legacy advertisements
    for the corresponding link found in TLVs 22, 23,
    25, 141, 222, and 223 or TLV 138 or TLV 139 as
    appropriate.

   SA-Length: Indicates the length in octets (0-127) of the Bit Mask
    for Standard Applications.
 
UDABML+F (1 octet)
    User Defined Application Identifier Bit Mask 
     Length/Flags

          0 1 2 3 4 5 6 7 
         +-+-+-+-+-+-+-+-+
         |R| UDA-Length  |
         +-+-+-+-+-+-+-+-+

   R: Reserved. SHOULD be transmitted as 0 and 
    MUST be ignored on receipt

   UDA-Length: Indicates the length in octets (0-127) of the Bit Mask
    for User Defined Applications.
 
   
SABM  (variable length)
   Standard Application Identifier Bit Mask

   (SA-Length * 8) bits

   This is omitted if SA-Length is 0.


          0 1 2 3 4 5 6 7 ...
         +-+-+-+-+-+-+-+-+...
         |R|S|F|          ...
         +-+-+-+-+-+-+-+-+...

 
      R-bit: Set to specify RSVP-TE 

      S-bit: Set to specify Segment Routing
       Traffic Engineering

      F-bit: Set to specify Loop Free Alternate
       (includes all LFA types)

 UDABM  (variable length)
   User Defined Application Identifier Bit Mask

   (UDA-Length * 8) bits

          0 1 2 3 4 5 6 7 ...
         +-+-+-+-+-+-+-+-+...
         |                ...
         +-+-+-+-+-+-+-+-+...

   This is omitted if UDA-Length is 0.

NOTE: If both SA-length and UDA-Length are zero, then the
attributes associated with this Attribute Identifier Bit Mask
MAY be used by any Standard Application and any User Defined
Application.

User Defined Application Identifier Bits have no relationship to Standard Application Identifier Bits and are NOT managed by IANA or any other standards body. It is recommended that bits are used starting with Bit 0 so as to minimize the number of octets required to advertise all UDAs.

4.2. Application Specific Link Attributes sub-TLV

A new sub-TLV for TLVs 22, 23, 25, 141, 222, and 223 is defined which supports specification of the applications and application specific attribute values.

   Type: 16 (temporarily assigned by IANA)
   Length: Variable (1 octet)
   Value:

     Application Identifier Bit Mask
     (as defined in Section 4.1)

     Link Attribute sub-sub-TLVs - format matches the
     existing formats defined in [RFC5305] and [RFC8570]

When the L-flag is set in the Application Identifier Bit Mask, all of the applications specified in the bit mask MUST use the link attribute sub-TLV advertisements listed in Section 3.1 for the corresponding link. Link attribute sub-sub-TLVs for the corresponding link attributes MUST NOT be advertised for the set of applications specified in the Standard/User Application Identifier Bit Masks and all such advertisements MUST be ignored on receipt.

Multiple Application Specific Link Attribute sub-TLVs for the same link MAY be advertised. When multiple sub-TLVs for the same link are advertised, they SHOULD advertise non-conflicting application/attribute pairs. A conflict exists when the same application is associated with two different values of the same link attribute for a given link. In cases where conflicting values for the same application/attribute/link are advertised all the conflicting values MUST be ignored.

For a given application, the setting of the L-flag MUST be the same in all sub-TLVs for a given link. In cases where this constraint is violated, the L-flag MUST be considered set for this application.

A new registry of sub-sub-TLVs is to be created by IANA which defines the link attribute sub-sub-TLV code points. This document defines a sub-sub-TLV for each of the existing sub-TLVs listed in Section 3.1 except as noted below. The format of the sub-sub-TLVs matches the format of the corresponding legacy sub-TLV and IANA is requested to assign the legacy sub-TLV identifer to the corresponding sub-sub-TLV.

4.2.1. Special Considerations for Maximum Link Bandwidth

Maximum link bandwidth is an application independent attribute of the link. When advertised using the Application Specific Link Attributes sub-TLV, multiple values for the same link MUST NOT be advertised. This can be accomplished most efficiently by having a single advertisement for a given link where the Application Identifier Bit Mask identifies all the applications which are making use of the value for that link.

It is also possible to advertise the same value for a given link multiple times with disjoint sets of applications specified in the Application Identifier Bit Mask. This is less efficient but still valid.

If different values for Maximum Link Bandwidth for a given link are advertised, all values MUST be ignored.

4.2.2. Special Considerations for Unreserved Bandwidth

Unreserved bandwidth is an attribute specific to RSVP. When advertised using the Application Specific Link Attributes sub-TLV, bits other than the RSVP-TE(R-bit) MUST NOT be set in the Application Identifier Bit Mask. If an advertisement of Unreserved Bandwidth is received with bits other than the RSVP-TE bit set, the advertisement MUST be ignored.

4.3. Application Specific SRLG TLV

A new TLV is defined to advertise application specific SRLGs for a given link. Although similar in functionality to TLV 138 (defined by [RFC5307]) and TLV 139 (defined by [RFC6119], a single TLV provides support for IPv4, IPv6, and unnumbered identifiers for a link. Unlike TLVs 138/139, it utilizes sub-TLVs to encode the link identifiers in order to provide the flexible formatting required to support multiple link identifier types.

    Type: 238 (Temporarily assigned by IANA)
    Length: Number of octets in the value field (1 octet)
    Value:
      Neighbor System-ID + pseudo-node ID (7 octets)
      Application Identifier Bit Mask 
       (as defined in Section 4.1)
      Length of sub-TLVs (1 octet)
      Link Identifier sub-TLVs (variable)
      0 or more SRLG Values (Each value is 4 octets)

    The following Link Identifier sub-TLVs are defined. The type 
    values are suggested and will be assigned by IANA - but as
    the formats are identical to existing sub-TLVs defined for 
    TLVs 22, 23, 25, 141, 222, and 223 the use of the suggested
    sub-TLV types is strongly encouraged.

    Type    Description
     4      Link Local/Remote Identifiers (see [RFC5307])
     6      IPv4 interface address (see [RFC5305])
     8      IPv4 neighbor address (see [RFC5305])
    12      IPv6 Interface Address (see [RFC6119])
    13      IPv6 Neighbor Address (see [RFC6119])

Multiple TLVs for the same link MAY be advertised.

When the L-flag is set in the Application Identifier Bit Mask, SRLG values MUST NOT be included in the TLV. Any SRLG values which are advertised MUST be ignored. Based on the link identifiers advertised the corresponding legacy TLV (see Section 3.2) can be identified and the SRLG values advertised in the legacy TLV MUST be used by the set of applications specified in the Application Identifier Bit Mask.

For a given application, the setting of the L-flag MUST be the same in all TLVs for a given link. In cases where this constraint is violated, the L-flag MUST be considered set for this application.

5. Deployment Considerations

If link attributes are advertised associated with zero length Application Identifier Bit Masks for both standard applications and user defined applications, then that set of link attributes MAY be used by any application. If support for a new application is introduced on any node in a network in the presence of such advertisements, these advertisements MAY be used by the new application. If this is not what is intended, then existing advertisements MUST be readvertised with an explicit set of applications specified before a new application is introduced.

6. Attribute Advertisements and Enablement

This document defines extensions to support the advertisement of application specific link attributes.

Whether the presence of link attribute advertisements for a given application indicates that the application is enabled on that link depends upon the application. Similarly, whether the absence of link attribute advertisements indicates that the application is not enabled depends upon the application.

In the case of RSVP-TE, the advertisement of application specific link attributes implies that RSVP is enabled on that link.

In the case of SRTE, advertisement of application specific link attributes does NOT indicate enablement of SRTE. The advertisements are only used to support constraints which may be applied when specifying an explicit path. SRTE is implicitly enabled on all links which are part of the Segment Routing enabled topology independent of the existence of link attribute advertisements

In the case of LFA, advertisement of application specific link attributes does NOT indicate enablement of LFA on that link. Enablement is controlled by local configuration.

If, in the future, additional standard applications are defined to use this mechanism, the specification defining this use MUST define the relationship between application specific link attribute advertisements and enablement for that application.

This document allows the advertisement of application specific link attributes with no application identifiers i.e., both the Standard Application Identifier Bit Mask and the User Defined Application Identifier Bit Mask are not present (See Section 4.1). This supports the use of the link attribute by any application. In the presence of an application where the advertisement of link attribute advertisements is used to infer the enablement of an application on that link (e.g., RSVP-TE), the absence of the application identifier leaves ambiguous whether that application is enabled on such a link. This needs to be considered when making use of the "any application" encoding.

7. Interoperability, Backwards Compatibility and Migration Concerns

Existing deployments of RSVP-TE utilize the legacy advertisements listed in Section 3. Routers which do not support the extensions defined in this document will only process legacy advertisements and are likely to infer that RSVP-TE is enabled on the links for which legacy advertisements exist. It is expected that deployments using the legacy advertisements will persist for a significant period of time - therefore deployments using the extensions defined in this document must be able to co-exist with use of the legacy advertisements by routers which do not support the extensions defined in this document. The following sub-sections discuss interoperability and backwards compatibility concerns for a number of deployment scenarios.

Note that in all cases the defined strategy can be employed on a per link basis.

7.1. RSVP-TE only deployments

In deployments where RSVP-TE is the only application utilizing link attribute advertisements, use of the the legacy advertisements can continue without change.

7.2. Multiple Applications: Common Attributes with RSVP-TE

In cases where multiple applications are utilizing a given link, one of the applications is RSVP-TE, and all link attributes for a given link are common to the set of applications utilizing that link, interoperability is achieved by using legacy advertisements and sending application specific advertisements with L-bit set and no link attribute values. This avoids duplication of link attribute advertisements.

7.3. Multiple Applications: All Attributes Not Shared w RSVP-TE

In cases where one or more applications other than RSVP-TE are utilizing a given link and one or more link attribute values are NOT shared with RSVP-TE, it is necessary to use application specific advertisements as defined in this document. Attributes for applications other than RSVP-TE MUST be advertised using application specific advertisements which have the L-bit clear. In cases where some link attributes are shared with RSVP-TE, this requires duplicate advertisements for those attributes.

The discussion in this section applies to cases where RSVP-TE is NOT using any advertised attributes on a link and to cases where RSVP-TE is using some link attribute advertisements on the link but some link attributes cannot be shared with RSVP-TE.

7.4. Use of Application Specific Advertisements for RSVP-TE

The extensions defined in this document support RSVP-TE as one of the supported applications. This allows that RSVP-TE could eventually utilize the application specific advertisements. This can be done in the following step-wise manner:

1)Upgrade all routers to support extensions in this document

2)Readvertise all legacy link attributes using application specific advertisements with L-bit clear and R-bit set.

3)Remove legacy advertisements

Migrating RSVP-TE away from legacy advertisements could result in some implementation simplification as it allows the removal of code which encodes/decodes the legacy advertisements. Whether this is seen as desirable is something for the marketplace to determine.

8. IANA Considerations

This document defines a new sub-TLV for TLVs 22, 23, 25, 141, 222, and 223.

 
 Type  Description             22   23   25  141  222  223 
 ----  ---------------------  ---- ---- ---- ---- ---- ----
  16   Application Specific     y    y  y(s)   y    y    y
        Link Attributes

This document defines one new TLV:

 
 Type  Description             IIH LSP SNP Purge 
 ----  ---------------------   --- --- --- -----
  238  Application Specific     n   y   n    n
        SRLG

This document requests a new IANA registry be created to control the assignment of sub-sub-TLV codepoints for the Application Specific Link Attributes sub-TLV. The suggested name of the new registry is "sub-sub-TLV code points for application specific link attributes". The registration procedure is "Expert Review" as defined in [RFC8126]. The following assignments are made by this document:

 Type   Description
---------------------------------------------------------
 0-2    Unassigned
 3      Administrative group (color)
 4-8    Unassigned
 9      Maximum link bandwidth
10      Maximum reservable link bandwidth
11      Unreserved bandwidth
12-13   Unassigned
14      Extended Administrative Group
15-17   Unassigned
18      TE Default Metric
19-32   Unassigned
33      Unidirectional Link Delay
34      Min/Max Unidirectional Link Delay
35      Unidirectional Delay Variation
36      Unidirectional Link Loss
37      Unidirectional Residual Bandwidth
38      Unidirectional Available Bandwidth
39      Unidirectional Utilized Bandwidth
40-255  Unassigned

This document requests a new IANA registry be created, under the category of "Interior Gateway Protocol (IGP) Parameters", to control the assignment of Application Identifier Bits. The suggested name of the new registry is "Link Attribute Applications". The registration policy for this registry is "Standards Action" ([RFC8126] and [RFC7120]). The following assignments are made by this document:

 Bit #   Name
---------------------------------------------------------
  0      RSVP-TE (R-bit)
  1      Segment Routing Traffic Engineering (S-bit)
  2      Loop Free Alternate (F-bit)
  

This document requests a new IANA registry be created to control the assignment of sub-TLV types for the application specific SRLG TLV. The suggested name of the new registry is "Sub-TLVs for TLV 238". The registration procedure is "Expert Review" as defined in [RFC8126]. The following assignments are made by this document:

 Value    Description
 ---------------------------------------------------------
  0-3     Unassigned 
   4      Link Local/Remote Identifiers (see [RFC5307])
   5      Unassigned
   6      IPv4 interface address (see [RFC5305])
   7      Unassigned
   8      IPv4 neighbor address (see [RFC5305])
  9-11    Unassigned
  12      IPv6 Interface Address (see [RFC6119])
  13      IPv6 Neighbor Address (see [RFC6119])
 14-255   Unassigned

9. Security Considerations

Security concerns for IS-IS are addressed in [ISO10589, [RFC5304], and [RFC5310].

10. Acknowledgements

The authors would like to thank Eric Rosen and Acee Lindem for their careful review and content suggestions.

11. References

11.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.
[RFC5304] Li, T. and R. Atkinson, "IS-IS Cryptographic Authentication", RFC 5304, DOI 10.17487/RFC5304, October 2008.
[RFC5305] Li, T. and H. Smit, "IS-IS Extensions for Traffic Engineering", RFC 5305, DOI 10.17487/RFC5305, October 2008.
[RFC5307] Kompella, K. and Y. Rekhter, "IS-IS Extensions in Support of Generalized Multi-Protocol Label Switching (GMPLS)", RFC 5307, DOI 10.17487/RFC5307, October 2008.
[RFC5310] Bhatia, M., Manral, V., Li, T., Atkinson, R., White, R. and M. Fanto, "IS-IS Generic Cryptographic Authentication", RFC 5310, DOI 10.17487/RFC5310, February 2009.
[RFC6119] Harrison, J., Berger, J. and M. Bartlett, "IPv6 Traffic Engineering in IS-IS", RFC 6119, DOI 10.17487/RFC6119, February 2011.
[RFC7120] Cotton, M., "Early IANA Allocation of Standards Track Code Points", BCP 100, RFC 7120, DOI 10.17487/RFC7120, January 2014.
[RFC8126] Cotton, M., Leiba, B. and T. Narten, "Guidelines for Writing an IANA Considerations Section in RFCs", BCP 26, RFC 8126, DOI 10.17487/RFC8126, June 2017.
[RFC8174] Leiba, B., "Ambiguity of Uppercase vs Lowercase in RFC 2119 Key Words", BCP 14, RFC 8174, DOI 10.17487/RFC8174, May 2017.
[RFC8570] Ginsberg, L., Previdi, S., Giacalone, S., Ward, D., Drake, J. and Q. Wu, "IS-IS Traffic Engineering (TE) Metric Extensions", RFC 8570, DOI 10.17487/RFC8570, March 2019.

11.2. Informative References

[I-D.ietf-spring-segment-routing-policy] Filsfils, C., Sivabalan, S., daniel.voyer@bell.ca, d., bogdanov@google.com, b. and P. Mattes, "Segment Routing Policy Architecture", Internet-Draft draft-ietf-spring-segment-routing-policy-03, May 2019.
[RFC7855] Previdi, S., Filsfils, C., Decraene, B., Litkowski, S., Horneffer, M. and R. Shakir, "Source Packet Routing in Networking (SPRING) Problem Statement and Requirements", RFC 7855, DOI 10.17487/RFC7855, May 2016.

Authors' Addresses

Les Ginsberg Cisco Systems 821 Alder Drive Milpitas, CA 95035 USA EMail: ginsberg@cisco.com
Peter Psenak Cisco Systems Apollo Business Center Mlynske nivy 43 Bratislava, 821 09 Slovakia EMail: ppsenak@cisco.com
Stefano Previdi Huawei EMail: stefano@previdi.net
Wim Henderickx Nokia Copernicuslaan 50 Antwerp, 2018 94089 Belgium EMail: wim.henderickx@nokia.com
John Drake Juniper Networks EMail: jdrake@juniper.net