Internet DRAFT - draft-li-isis-spp-extensions

draft-li-isis-spp-extensions







Network Working Group                                              Z. Li
Internet-Draft                                                     N. Wu
Intended status: Standards Track                                  Huawei
Expires: September 22, 2016                               March 21, 2016


             IS-IS Extensions for Segment Path Programming
                    draft-li-isis-spp-extensions-00

Abstract

   Segment Routing (SR) facilitates the steering of unicast traffic
   through leveraging the source routing paradigm.  As introduced in
   Segment Path Programming (SPP), the concept of segment could be used
   in a more generalized manner that may be beyond reachability.  This
   document describes the necessary IS-IS extensions for those cases.

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

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

Copyright Notice

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



Li & Wu                Expires September 22, 2016               [Page 1]

Internet-DraftIS-IS Extensions for Segment Path Programming   March 2016


   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  . . . . . . . . . . . . . . . . . . . . . . . .   2
   2.  Terminology . . . . . . . . . . . . . . . . . . . . . . . . .   2
   3.  Protocol Extensions . . . . . . . . . . . . . . . . . . . . .   3
     3.1.  Generalized SRGB  . . . . . . . . . . . . . . . . . . . .   3
       3.1.1.  SRGB Universe Sub-TLV . . . . . . . . . . . . . . . .   4
     3.2.  Segment for Node Identification . . . . . . . . . . . . .   5
     3.3.  Segment for Interface Identification  . . . . . . . . . .   6
     3.4.  Segment for Tunnel Identification . . . . . . . . . . . .   7
   4.  Procedures  . . . . . . . . . . . . . . . . . . . . . . . . .   8
   5.  IANA Considerations . . . . . . . . . . . . . . . . . . . . .   8
   6.  Security Considerations . . . . . . . . . . . . . . . . . . .   8
   7.  Acknowledgments . . . . . . . . . . . . . . . . . . . . . . .   9
   8.  References  . . . . . . . . . . . . . . . . . . . . . . . . .   9
     8.1.  Normative References  . . . . . . . . . . . . . . . . . .   9
     8.2.  Informative References  . . . . . . . . . . . . . . . . .   9
   Authors' Addresses  . . . . . . . . . . . . . . . . . . . . . . .   9

1.  Introduction

   Segment Routing (SR), introduced in [I-D.ietf-spring-segment-routing]
   facilitates the steering of unicast traffic through leveraging the
   source routing paradigm.  As introduced in Segment Path Programming
   (SPP) [I-D.li-spring-segment-path-programming], the concept of
   segment could be used in a more generalized manner that may be beyond
   reachability.  This document describes the necessary IS-IS extensions
   for those cases.

2.  Terminology

   o  SID: Segment Identifier

   o  SR: Segment Routing

   o  SRGB: Segment Routing Global Block

   o  GSID: Generalized Segment Identifier

   o  GSRGB: Generalized Segment Routing Global Block




Li & Wu                Expires September 22, 2016               [Page 2]

Internet-DraftIS-IS Extensions for Segment Path Programming   March 2016


   o  SPP: Segment Path Programming

3.  Protocol Extensions

3.1.  Generalized SRGB

   As stated in [I-D.li-spring-segment-path-programming], a generalized
   segment is just an indicator for specific procedure which may serve
   certain application.  And this segment could be used in the control
   plane and doesn't have to be mapped to a MPLS label in the forwarding
   plane.

   It would be reasonable that this generalized segments come from an
   orthogonal SRGB since their definition and usages are completely
   different from the traditional ones.  To do so, instead of slicing a
   unified SRGB into application specific pieces, multiple "SRGB
   universes" are defined for different applications.

   The SR Capabilities Sub-TLV defined in
   [I-D.ietf-isis-segment-routing-extensions] has following format:































Li & Wu                Expires September 22, 2016               [Page 3]

Internet-DraftIS-IS Extensions for Segment Path Programming   March 2016


    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
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |     Type      |    Length     |    Flags      |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                    Range                      |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                        SID/Label Sub-TLV                      |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   //                            ... ...                           //
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                    Range                      |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                        SID/Label Sub-TLV                      |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                      SRGB Universe Sub-TLV                    |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   Where:
     Type: TBD, suggested value 22
     Length: variable.
     Flags: 1 octet of flags.  The following are defined:

      0 1 2 3 4 5 6 7
     +-+-+-+-+-+-+-+-+
     |I|V|H|G|       |
     +-+-+-+-+-+-+-+-+
     Where:
       G-Flag: Generalized SRGB flag.  If set, then this SRGB is used
       in generalized manner beyond reachability.
       By default, this bit is UNSET.

3.1.1.  SRGB Universe Sub-TLV

   A SRGB Universe Sub-TLV may be attached to a SR Capabilities Sub-TLV
   to indicate the corresponding SRGB expressed is used as a generalized
   SRGB which serves for the application specified by SRGB Identifier.
   It is possible that multiple instances of the SRGB Universe Sub-TLV
   are attached to the same SR Capabilities Sub-TLV, which means the
   same but orthogonal ranges will be used for different applications.

   The SRGB Universe sub-TLV has following format:










Li & Wu                Expires September 22, 2016               [Page 4]

Internet-DraftIS-IS Extensions for Segment Path Programming   March 2016


    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
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |     Type      |      Length   |        SRGB Identifier        |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   Where:
     Type: TBD
     Length: variale
     SRGB Identifier: 2 octets field. The following are defined:

   +------------+---------------------------------------+
   | Identifier | SRGB Universe                         |
   +------------+---------------------------------------+
   |     0      | Reserved                              |
   |     1      | Suggested for Node Identification     |
   |     2      | Suggested for Interface Identification|
   |     3      | Suggested for Tunnel Identification   |
   |   4-32767  | Reserved for assignments by IANA      |
   |32768-65535 | Reserved for proprietary features     |
   +------------+---------------------------------------+


3.2.  Segment for Node Identification

   As described in [I-D.li-spring-segment-path-programming], a node SID
   can be enhanced to map an specified application in the control plane
   to a forwarding entry in the forwarding plane.  Whether to map the
   SID to a MPLS label can be determined by the local policy of the
   node.  Protocol extensions should be introduced to specify if the
   Segment maps to the MPLS label when advertising SRGBs or all kinds of
   Segments.

   The Prefix-SID sub-TLV has the following format:


















Li & Wu                Expires September 22, 2016               [Page 5]

Internet-DraftIS-IS Extensions for Segment Path Programming   March 2016


    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
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |     Type      |     Length    |     Flags     |   Algorithm   |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                    SID/Index/Label (variable)                 |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                      SRGB Universe Sub-TLV                    |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   where:
      Type: TBD, suggested value 3
      Length: variable.
      Flags: 1 octet field of following flags:

       0 1 2 3 4 5 6 7
      +-+-+-+-+-+-+-+-+
      |R|N|P|E|V|L|G| |
      +-+-+-+-+-+-+-+-+

      Where:
        G-Flag: Generalized Segment Flag. When set, this corresponding
        SID is used as a generalized one and SHOULD NOT be mapped onto
        a MPLS label. The application that this GSID is bind to SHOULD
        be specified by a SRGB Universe sub-TLV following the Prefix-SID
        sub-TLV.

3.3.  Segment for Interface Identification

   In those applications which need a specified interface or a set of
   interfaces, a GSID can be used to represent the mapping relationship.

   A new SID called Interface-SID Sub-TLV is introduced in this document
   to represent certain interface of a segment routing node.  The
   Interface-SID Sub-TLV may be used in the Binding TLV
   [I-D.ietf-isis-segment-routing-extensions] and followed by a SRGB
   Universe Sub-TLV to indicate the mapping relationship with an
   application.

   The Interface-SID Sub-TLV has the following format:












Li & Wu                Expires September 22, 2016               [Page 6]

Internet-DraftIS-IS Extensions for Segment Path Programming   March 2016


   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
  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  |     Type      |    Length     |V|L|G| Flags   |
  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  |                     System-ID (6 octets)                      |
  +                               +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  |                               |
  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  |                     Interface ID (32 bits)                    |
  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  |                        SID/Label Sub-TLV                      |
  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  |                      SRGB Universe Sub-TLV                    |
  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  Where:
     Type: TBD
     Length: variable.
     Flags: 1 octet field of following flags:

      0 1 2 3 4 5 6 7
     +-+-+-+-+-+-+-+-+
     |V|L|G|         |
     +-+-+-+-+-+-+-+-+
     Where:
       V-Flag: Value flag.  If set, then the Prefix-SID carries a
       value (instead of an index).  By default the flag is UNSET.

       L-Flag: Local flag.  If set, then the value/index carried by
       the Prefix-SID has local significance.  By default the flag is
       UNSET.

       G-Flag: Generalized Segment Flag. When set, this corresponding
       SID is used as a generalized one and SHOULD NOT be mapped onto
       a MPLS label. The application that this GSID is bind to SHOULD
       be specified by a SRGB Universe sub-TLV following the
       Interface-SID Sub-TLV.

    Interface ID: The identifier assigned to the interface by the router
    specified by the system-ID.

3.4.  Segment for Tunnel Identification

   Similarly, a GSID may be binded to a tunnel like the way stated in
   [isis-tunnel-segment], but it can serve for a different application
   instead of reachability.





Li & Wu                Expires September 22, 2016               [Page 7]

Internet-DraftIS-IS Extensions for Segment Path Programming   March 2016


   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                       Tunnel-SID Sub-TLV                      |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                        SID/Label Sub-TLV                      |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                      SRGB Universe Sub-TLV                    |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

   Flags: 1 octet field of following flags:

    0 1 2 3 4 5 6 7
   +-+-+-+-+-+-+-+-+
   |V|L|G|         |
   +-+-+-+-+-+-+-+-+
   Add the Generalized Flag in the Flags field with the same sematics
   as above.

4.  Procedures

   The SRGB Universe sub-TLV defined in this document MUST be carried
   when application specified scenarios concerned.  The missing of this
   sub-TLV SHOULD be regarded as an error and logged.  Multiple
   instances of this sub-TLV MAY co-exist only when several different
   applications involved.  A GSID SHOULD be invalid unless it is
   properly contained in the corresponding "Universe".

5.  IANA Considerations

   +-----------+----------------------------+----------+
   |  TLV Code | Description                |  Length  |
   +-----------+----------------------------+----------+
   |    TBD    | SRGB Universe Sub-TLV      | 2        |
   |    TBD    | Interface-SID Sub-TLV      | variable |
   +-----------+----------------------------+----------+

   +-----------+---------------------------------------+
   | SRGB ID   | Description
   +-----------+---------------------------------------+
   |    1      | SRGB for Node Identification          |
   |    2      | SRGB for Interface Identification     |
   |    3      | SRGB for Tunnel Identification        |
   +-----------+---------------------------------------+

6.  Security Considerations

   TBD.





Li & Wu                Expires September 22, 2016               [Page 8]

Internet-DraftIS-IS Extensions for Segment Path Programming   March 2016


7.  Acknowledgments

   TBD.

8.  References

8.1.  Normative References

   [I-D.ietf-isis-segment-routing-extensions]
              Previdi, S., Filsfils, C., Bashandy, A., Gredler, H.,
              Litkowski, S., Decraene, B., and J. Tantsura, "IS-IS
              Extensions for Segment Routing", draft-ietf-isis-segment-
              routing-extensions-06 (work in progress), December 2015.

   [I-D.ietf-spring-segment-routing]
              Filsfils, C., Previdi, S., Decraene, B., Litkowski, S.,
              and R. Shakir, "Segment Routing Architecture", draft-ietf-
              spring-segment-routing-07 (work in progress), December
              2015.

   [I-D.li-spring-segment-path-programming]
              Li, Z. and I. Milojevic, "Segment Path Programming (SPP)",
              draft-li-spring-segment-path-programming-00 (work in
              progress), October 2015.

   [RFC2119]  Bradner, S., "Key words for use in RFCs to Indicate
              Requirement Levels", BCP 14, RFC 2119,
              DOI 10.17487/RFC2119, March 1997,
              <http://www.rfc-editor.org/info/rfc2119>.

8.2.  Informative References

   [I-D.ietf-isis-te-metric-extensions]
              Previdi, S., Giacalone, S., Ward, D., Drake, J., and W.
              Wu, "IS-IS Traffic Engineering (TE) Metric Extensions",
              draft-ietf-isis-te-metric-extensions-11 (work in
              progress), February 2016.

   [I-D.li-spring-tunnel-segment]
              Li, Z. and N. Wu, "Tunnel Segment in Segment Routing",
              draft-li-spring-tunnel-segment-01 (work in progress),
              March 2016.

Authors' Addresses







Li & Wu                Expires September 22, 2016               [Page 9]

Internet-DraftIS-IS Extensions for Segment Path Programming   March 2016


   Zhenbin Li
   Huawei
   Huawei Bld., No.156 Beiqing Rd.
   Beijing  100095
   China

   Email: lizhenbin@huawei.com


   Nan Wu
   Huawei
   Huawei Bld., No.156 Beiqing Rd.
   Beijing  100095
   China

   Email: eric.wu@huawei.com



































Li & Wu                Expires September 22, 2016              [Page 10]