[Search] [txt|pdf|bibtex] [Tracker] [Email] [Diff1] [Diff2] [Nits]

Versions: 00 01 02 03 04 05 06 07                                       
SPRING                                                          W. Cheng
Internet-Draft                                              China Mobile
Intended status: Informational                               S. Steffann
Expires: May 17, 2021                           SJM Steffann Consultancy
                                                       November 13, 2020


                 Compressed SRv6 SID List Requirements
            draft-srcompdt-spring-compression-requirement-01

Abstract

   This document specifies requirements for solutions to compress SRv6
   SID lists.

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 May 17, 2021.

Copyright Notice

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





Cheng & Steffann          Expires May 17, 2021                  [Page 1]


Internet-Draft             SRCOMP Requirements             November 2020


Table of Contents

   1.  Introduction  . . . . . . . . . . . . . . . . . . . . . . . .   2
   2.  Conventions used in this document . . . . . . . . . . . . . .   3
     2.1.  Requirements Language . . . . . . . . . . . . . . . . . .   3
     2.2.  Terminology . . . . . . . . . . . . . . . . . . . . . . .   3
   3.  SRv6 SID List Compression Requirements  . . . . . . . . . . .   4
     3.1.  Dataplane Efficiency and Performance Requirements . . . .   4
       3.1.1.  Encapsulation Header Size . . . . . . . . . . . . . .   4
       3.1.2.  Forwarding Efficiency . . . . . . . . . . . . . . . .   5
       3.1.3.  State Efficiency  . . . . . . . . . . . . . . . . . .   5
   4.  SRv6 Specific Requirements  . . . . . . . . . . . . . . . . .   5
     4.1.  Functional Requirements . . . . . . . . . . . . . . . . .   5
       4.1.1.  SID list length . . . . . . . . . . . . . . . . . . .   5
       4.1.2.  SID summarization . . . . . . . . . . . . . . . . . .   6
     4.2.  Operational Requirements  . . . . . . . . . . . . . . . .   6
       4.2.1.  Lossless Compression  . . . . . . . . . . . . . . . .   6
     4.3.  Scalability Requirements  . . . . . . . . . . . . . . . .   6
       4.3.1.  Adjacency segment scale . . . . . . . . . . . . . . .   6
       4.3.2.  Prefix segment scale  . . . . . . . . . . . . . . . .   7
       4.3.3.  Service Scale . . . . . . . . . . . . . . . . . . . .   7
   5.  Protocol Design Requirements  . . . . . . . . . . . . . . . .   7
     5.1.  SRv6 Base Coexistence . . . . . . . . . . . . . . . . . .   7
   6.  IANA Considerations . . . . . . . . . . . . . . . . . . . . .   8
   7.  Security Considerations . . . . . . . . . . . . . . . . . . .   8
   8.  Contributors  . . . . . . . . . . . . . . . . . . . . . . . .   8
   9.  Normative References  . . . . . . . . . . . . . . . . . . . .   8
   Appendix A.  Proposed Requirements  . . . . . . . . . . . . . . .  10
     A.1.  Introduction  . . . . . . . . . . . . . . . . . . . . . .  10
     A.2.  Requirements  . . . . . . . . . . . . . . . . . . . . . .  10
       A.2.1.  SRv6 Based  . . . . . . . . . . . . . . . . . . . . .  10
       A.2.2.  SRv6 Functionality  . . . . . . . . . . . . . . . . .  11
       A.2.3.  Heterogeneous SID lists . . . . . . . . . . . . . . .  13
   Authors' Addresses  . . . . . . . . . . . . . . . . . . . . . . .  13

1.  Introduction

   The SPRING working group defined SRv6, with [RFC8402] describing how
   the Segment Routing (SR) architecture is instantiated on two data-
   planes: SR over MPLS (SR-MPLS) and SR over IPv6 (SRv6).  SRv6 uses a
   routing header called the SR Header (SRH) [RFC8754] and defines SRv6
   SID behaviors and a registry for identifying them in
   [I-D.ietf-spring-srv6-network-programming].  SRv6 is a proposed
   standard and is deployed today.

   The SPRING working group has observed that some use cases, such as
   strict path TE, may require long SRv6 SID lists.  There are several




Cheng & Steffann          Expires May 17, 2021                  [Page 2]


Internet-Draft             SRCOMP Requirements             November 2020


   proposed methods to reduce the resulting SRv6 encapsulation size by
   compressing the SID list.

   The SPRING working group formed a design team to define requirements
   for, and analyze proposals to, compress SRv6 SID lists.

   It is a goal of the design team to identify the requirements for
   proposals to SR over IPv6 SID list compression.

   For each requirement, a description, rationale and metrics are
   described.

   The design team will produce a separate document to analyze the
   proposals.

   This document is a draft; additional requirements are under review,
   additional requirements will be added, and current requirements may
   change.  Appendix A contains a subset of requirements without
   unanimous consensus.  Additional requirements without unanimous
   consensus are not in the appendix.

2.  Conventions used in this document

2.1.  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.

2.2.  Terminology

   SR: Segment Routing

   SRH: Segment Routing Header

   MPLS: Multiprotocol Label Switching

   SR-MPLS: Segment Routing over MPLS data plane

   SID: Segment Identifier

   SRv6: Segment Routing over IPv6

   SRv6 SID List: A list of SRv6 SIDs

   Compression proposal: A proposal to compress SRv6 SID lists



Cheng & Steffann          Expires May 17, 2021                  [Page 3]


Internet-Draft             SRCOMP Requirements             November 2020


   SRv6 base: SRv6 as defined in [RFC8402], [RFC8754],
   [I-D.ietf-spring-srv6-network-programming]

   SID numbering space: may be implemented as

   o  a single IGP instance

   o  a single IGP level or area

   o  two or more autonomous systems that coordinate SID numbering space

   o  two or more IGP instances that coordinate SID numbering space

   SRv6 Encapsulation Header: The IPv6 header, and any extension headers
   preceding a payload, used to implement a SRv6 base or compression
   proposal.

3.  SRv6 SID List Compression Requirements

3.1.  Dataplane Efficiency and Performance Requirements

3.1.1.  Encapsulation Header Size

   Description: The compression proposal MUST reduce the size of the
   SRv6 encapsulation header.

   Rationale: A smaller SRv6 encapsulation results in better MTU
   efficiency.

   Metric: Compression is the ratio of the IPv6 encapsulation size of
   SRv6 as defined in [RFC8402], [RFC8754],
   [I-D.ietf-spring-srv6-network-programming] vs the IPv6 encapsulation
   size of a given proposal.  The encapsulation savings of a compression
   proposal vs the SRv6 base is a useful measurement to compare
   proposals.

   The encapsulation metric (E) records the number of bytes required for
   a proposal to encapsulate a packet given a specific segment list.

   o  E(proposal, segment list).

   The encapsulation savings(ES)records the encapsulation savings for a
   proposal to encapsulate a packet given a specific segment list.

   o  ES(proposal, segment list) = 1 - E(proposal, segment list)/E(SRv6
      base, segment list).





Cheng & Steffann          Expires May 17, 2021                  [Page 4]


Internet-Draft             SRCOMP Requirements             November 2020


3.1.2.  Forwarding Efficiency

   Description: The compression proposal SHOULD minimize the number of
   required hardware resources accessed to process a segment.

   Rationale: Efficiency in bits on the wire and processing efficiency
   are both important.  Optimizing one at the expense of the other may
   lead to significant performance impact.

   Metric: The data plane efficiency metric (D) records the data plane
   forwarding efficiency of the proposed solution.  Two metrics are used
   and recorded at each segment endpoint:

   o  D.PRS(segment list): number of headers parsed during processing of
      the segment list, starting from and including the IPv6 header.

   o  D.LKU(segment list): number of FIB lookups during processing of
      the segment list.  The type of lookup is also recorded as longest
      prefix match (LPM) or exact match (EM)

3.1.3.  State Efficiency

   Description: The compression proposal SHOULD minimize the amount of
   additional forwarding state stored at a node.

   Rationale: Additional state increases the complexity of the control
   plane and data plane.  It can also result in an increase in memory
   usage.

   Metric: The state efficiency metric (S) records the amount of
   additional forwarding state required by the proposed solution.

   o  S(node parameters): the number of additional forwarding states
      that need to be stored at a node, given a set of node parameters
      consisting of the number of nodes in the network, number of local
      interfaces, number of adjacencies.  The forwarding state is
      counted as entries required in a Forwarding Information Base (FIB)
      at a node.

4.  SRv6 Specific Requirements

4.1.  Functional Requirements

4.1.1.  SID list length

   Description: The compression proposal MUST be able to represent SR
   paths that contain up to 16 segments.




Cheng & Steffann          Expires May 17, 2021                  [Page 5]


Internet-Draft             SRCOMP Requirements             November 2020


   Rationale: Strict TE paths require SID list lengths proportional to
   the diameter of the SR domain.

   Metric: The compression proposal must be able to steer a packet
   through an SR path that contains up to sixteen segments.

4.1.2.  SID summarization

   Description: The solution MUST be compatible with segment
   summarization.

   Rationale: Summarization of segments is a key benefit of SRv6 vs SR
   MPLS.  In interdomain deployments, any node can reach any other node
   via a single prefix segment.  Without summarization, border router
   SIDs must be leaked, and an additional global prefix segment is
   required for each domain border to be traversed.

   Metric: A solution supports summarization when segments can be
   summarized for advertisement into other IGP domains or levels.

4.2.  Operational Requirements

4.2.1.  Lossless Compression

   Description: The segments of the compressed SID list MUST be
   equivalent to the original SID List.  For example, a strict path TE
   SID List is not compressed to a loose path TE SID list.

   Rationale: In SRv6, we can represent a path to meet certain
   objectives.  A compression proposal needs to support the objectives
   with the same path.

   Metric: Information present in the pre-compression segment list MUST
   also be present in the post-compression SID list.

4.3.  Scalability Requirements

4.3.1.  Adjacency segment scale

   Description: The compression proposal MUST be capable of representing
   65000 adjacency segments per node

   Rationale: Typically, network operators deploy networks with tens or
   hundreds of adjacency segments per node, but some network operators
   may deploy networks that use more adjacency segments per node.

   Metric: A proposal that allows 65000 adjacency segments per node
   satisfies this requirement.



Cheng & Steffann          Expires May 17, 2021                  [Page 6]


Internet-Draft             SRCOMP Requirements             November 2020


4.3.2.  Prefix segment scale

   Description: The compression proposal MUST be capable of representing
   1 million prefix segments per SID numbering space.

   Rationale: Typically, network operators deploy networks with
   thousands of prefix segments per SID numbering space, but some
   network operators may deploy networks that use more prefix segments
   per SID numbering space.

   Metric: A proposal that allows 1 million prefix segments per SID
   numbering space satisfies this requirement.

4.3.3.  Service Scale

   Description: The compression proposal MUST be capable of representing
   1 million services per node.

   Rationale: Typically, network operators deploy networks with tens to
   hundreds of thousands of services per node, but some network
   operators may deploy networks that use more services per node.

   Metric: A proposal that allows 1 million services per node satisfies
   this requirement.

5.  Protocol Design Requirements

5.1.  SRv6 Base Coexistence

   Description: The compression proposal MUST support deployment in
   existing SRv6 networks.

   Rationale: SRv6 is deployed today.  A compression proposal that
   interoperates well with SRv6, as deployed, will reduce the overhead
   and simplify operations.  For Network operators who would migrate to
   compressed SRv6 SID lists, the migration is expected to gradually
   occur over a period of time as they upgrade networks, domains, device
   families and software instances.

   Metric: A compliant compression proposal provides the following

   o  Supports simultaneous deployment at a node with current SRv6 SIDs.

   o  Supports simultaneous deployment at a node with current SRv6
      control plane.

   o  Supports simultaneous operation of current SRv6 paths with
      compressed paths.



Cheng & Steffann          Expires May 17, 2021                  [Page 7]


Internet-Draft             SRCOMP Requirements             November 2020


   o  Supports the behaviors in
      [I-D.ietf-spring-srv6-network-programming].

   o  Does not require removal of existing IPv6 address planning.

6.  IANA Considerations

   This document has no requests to IANA.

7.  Security Considerations

   TBD

8.  Contributors

   The following individuals contributed to this draft

   Chongfeng Xie, China Telecom, xiechf@chinatelecom.cn

   Ron Bonica, Juniper Networks, rbonica@juniper.net

   Darren Dukes, Cisco Systems, ddukes@cisco.com

   Cheng Li, Huawei, c.l@huawei.com

   Peng Shaofu, ZTE, peng.shaofu@zte.com.cn

   Wim Henderickx, Nokia, wim.henderickx@nokia.com

9.  Normative References

   [I-D.ietf-6man-spring-srv6-oam]
              Ali, Z., Filsfils, C., Matsushima, S., Voyer, D., and M.
              Chen, "Operations, Administration, and Maintenance (OAM)
              in Segment Routing Networks with IPv6 Data plane (SRv6)",
              draft-ietf-6man-spring-srv6-oam-08 (work in progress),
              October 2020.

   [I-D.ietf-bess-srv6-services]
              Dawra, G., Filsfils, C., Talaulikar, K., Raszuk, R.,
              Decraene, B., Zhuang, S., and J. Rabadan, "SRv6 BGP based
              Overlay services", draft-ietf-bess-srv6-services-05 (work
              in progress), November 2020.








Cheng & Steffann          Expires May 17, 2021                  [Page 8]


Internet-Draft             SRCOMP Requirements             November 2020


   [I-D.ietf-idr-bgpls-srv6-ext]
              Dawra, G., Filsfils, C., Talaulikar, K., Chen, M.,
              daniel.bernier@bell.ca, d., and B. Decraene, "BGP Link
              State Extensions for SRv6", draft-ietf-idr-bgpls-
              srv6-ext-04 (work in progress), November 2020.

   [I-D.ietf-lsr-flex-algo]
              Psenak, P., Hegde, S., Filsfils, C., Talaulikar, K., and
              A. Gulko, "IGP Flexible Algorithm", draft-ietf-lsr-flex-
              algo-13 (work in progress), October 2020.

   [I-D.ietf-lsr-isis-srv6-extensions]
              Psenak, P., Filsfils, C., Bashandy, A., Decraene, B., and
              Z. Hu, "IS-IS Extension to Support Segment Routing over
              IPv6 Dataplane", draft-ietf-lsr-isis-srv6-extensions-11
              (work in progress), October 2020.

   [I-D.ietf-rtgwg-segment-routing-ti-lfa]
              Litkowski, S., Bashandy, A., Filsfils, C., Decraene, B.,
              Francois, P., Voyer, D., Clad, F., and P. Camarillo,
              "Topology Independent Fast Reroute using Segment Routing",
              draft-ietf-rtgwg-segment-routing-ti-lfa-04 (work in
              progress), August 2020.

   [I-D.ietf-spring-segment-routing-policy]
              Filsfils, C., Talaulikar, K., Voyer, D., Bogdanov, A., and
              P. Mattes, "Segment Routing Policy Architecture", draft-
              ietf-spring-segment-routing-policy-09 (work in progress),
              November 2020.

   [I-D.ietf-spring-sr-service-programming]
              Clad, F., Xu, X., Filsfils, C., daniel.bernier@bell.ca,
              d., Li, C., Decraene, B., Ma, S., Yadlapalli, C.,
              Henderickx, W., and S. Salsano, "Service Programming with
              Segment Routing", draft-ietf-spring-sr-service-
              programming-03 (work in progress), September 2020.

   [I-D.ietf-spring-srv6-network-programming]
              Filsfils, C., Camarillo, P., Leddy, J., Voyer, D.,
              Matsushima, S., and Z. Li, "SRv6 Network Programming",
              draft-ietf-spring-srv6-network-programming-24 (work in
              progress), October 2020.

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




Cheng & Steffann          Expires May 17, 2021                  [Page 9]


Internet-Draft             SRCOMP Requirements             November 2020


   [RFC8174]  Leiba, B., "Ambiguity of Uppercase vs Lowercase in RFC
              2119 Key Words", BCP 14, RFC 8174, DOI 10.17487/RFC8174,
              May 2017, <https://www.rfc-editor.org/info/rfc8174>.

   [RFC8402]  Filsfils, C., Ed., Previdi, S., Ed., Ginsberg, L.,
              Decraene, B., Litkowski, S., and R. Shakir, "Segment
              Routing Architecture", RFC 8402, DOI 10.17487/RFC8402,
              July 2018, <https://www.rfc-editor.org/info/rfc8402>.

   [RFC8754]  Filsfils, C., Ed., Dukes, D., Ed., Previdi, S., Leddy, J.,
              Matsushima, S., and D. Voyer, "IPv6 Segment Routing Header
              (SRH)", RFC 8754, DOI 10.17487/RFC8754, March 2020,
              <https://www.rfc-editor.org/info/rfc8754>.

Appendix A.  Proposed Requirements

   This appendix contains requirements that the design team discussed
   but could not be agreed upon.

A.1.  Introduction

   It is a goal of the design team to identify solutions to SRv6 SID
   list compression that are based on the SRv6 standards.  As such, this
   document provides requirements for SRv6 SID list compression
   solutions that utilize the existing SRv6 data plane and control
   plane.

   It is also a goal of the design team to consider proposals that are
   not based on the SRv6 data plane and control plane.  As such, this
   document includes requirements to evaluate whether a compression
   proposal provides all the functionality of SRv6 (section "SRv6
   Functionality") in addition to satisfying compression specific
   requirements.

A.2.  Requirements

A.2.1.  SRv6 Based

   Description: A solution to compress SRv6 SID Lists SHOULD be based on
   the SRv6 architecture, control plane and data plane.

   Rationale: A compression proposal built on existing IETF standards is
   preferable to creating new standards with equivalent functionality
   and performance.

   Metric: The utilization metric (U) records whether a proposal
   utilizes the SRv6 specifications.




Cheng & Steffann          Expires May 17, 2021                 [Page 10]


Internet-Draft             SRCOMP Requirements             November 2020


   Utilization is recorded in a table, with a column per proposal and
   rows consisting of the following metrics:

   o  U.RFC8402: utilizes [RFC8402].

   o  U.RFC8754: utilizes [RFC8754].

   o  U.PGM: utilizes [I-D.ietf-spring-srv6-network-programming].

   o  U.IGP: utilizes [I-D.ietf-lsr-isis-srv6-extensions].

   o  U.BGP: utilizes [I-D.ietf-bess-srv6-services].

   o  U.POL: utilizes [I-D.ietf-spring-segment-routing-policy].

   o  U.BLS: utilizes [I-D.ietf-idr-bgpls-srv6-ext].

   o  U.SVC: utilizes [I-D.ietf-spring-sr-service-programming].

   o  U.OAM: utilizes [I-D.ietf-6man-spring-srv6-oam].

   o  U.ALG: utilizes [I-D.ietf-lsr-flex-algo].

   o  U.TOT: the total number of specifications utilized.

   Each cell contains "yes" for utilizes, or "no" for does not utilize.
   U.TOT counts the number of "yes" in each column.

A.2.2.  SRv6 Functionality

   Description: A solution to compress an SRv6 SID list MUST support the
   functionality of SRv6.  This requirement and set of metrics is meant
   to assess whether a proposal that is not fully SRv6 based, as
   evaluated in section "SRv6 Based", provides equivalent functionality
   to SRv6.  Such a proposal may utilize different control planes and or
   data planes.

   Rationale: Operators require SRv6 functionality.  Evaluating the
   extent to which a proposal supports SRv6 functionality is important
   for operators and implementors to understand the impact on network
   operations.

   Metric: The Functionality metric (F) records whether a proposal
   supports SRv6 functionality and how the functionality is provided.

   Functionality is recorded in a table with columns for each proposal
   and rows consisting of the following metrics:




Cheng & Steffann          Expires May 17, 2021                 [Page 11]


Internet-Draft             SRCOMP Requirements             November 2020


   o  F.SID: Supports SRv6 SIDs described in [RFC8402]

   o  F.SCOPE: Supports globally and locally scoped SIDs described in
      [RFC8402]

   o  F.PFX: Supports prefix SIDs described in [RFC8402] and
      [I-D.ietf-spring-srv6-network-programming]

   o  F.ADJ: Supports adjacency SIDs described in [RFC8402] and
      [I-D.ietf-spring-srv6-network-programming]

   o  F.BIND: Supports binding SIDs described in [RFC8402] and
      [I-D.ietf-spring-srv6-network-programming]

   o  F.PEER: Supports BGP peering SIDs described in [RFC8402] and
      [I-D.ietf-spring-srv6-network-programming]

   o  F.SVC: Supports L3 and L2 VPN service SIDs described in
      [I-D.ietf-spring-srv6-network-programming]

   o  F.ALG: Supports flexible algorithms described in
      [I-D.ietf-lsr-flex-algo]

   o  F.TILFA: Supports TI-LFA as described in
      [I-D.ietf-rtgwg-segment-routing-ti-lfa]

   o  F.SEC: Supports securing an SR domain with ingress filtering as
      defined in [RFC8754]

   o  F.IGP: Supports distributing topological SIDs and behaviors via
      ISIS as described in [I-D.ietf-lsr-isis-srv6-extensions]

   o  F.BGP: Supports BGP VPNs as described in
      [I-D.ietf-bess-srv6-services]

   o  F.POL: Supports SR policies and steering traffic over those
      policies as described in [I-D.ietf-spring-segment-routing-policy]

   o  F.BLS: Supports Link State distribution via BGP as described in
      [I-D.ietf-idr-bgpls-srv6-ext]

   o  F.SFC: Supports stateless service programming as described in
      [I-D.ietf-spring-sr-service-programming]

   o  F.PING: Supports pinging a SID to verify the SID is implemented as
      described in [I-D.ietf-6man-spring-srv6-oam]





Cheng & Steffann          Expires May 17, 2021                 [Page 12]


Internet-Draft             SRCOMP Requirements             November 2020


   o  F.TOT: The total number of SRv6 functionality metrics supported by
      a proposal

   Each cell contains the specification name documenting the
   functionality.  F.TOT counts the number of specifications in each
   column.

A.2.3.  Heterogeneous SID lists

   Description: The compression proposal SHOULD support a combination of
   compressed and non-compressed segments in a single path.

   Rationale: Support of SID lists with compressed and non-compressed
   SIDs reduces encapsulation size when not all SRv6 nodes deploy the
   compression proposal or 128-bit SIDs are required.

   Metric: A compliant compression proposal supports both:

   o  classic 128-bit SRv6 SIDs in the IPv6 Destination Address field

   o  segment lists (i.e., paths) with both compressed and 128-bit SRv6
      SIDs.

Authors' Addresses

   Weiqiang Cheng
   China Mobile

   Email: chengweiqiang@chinamobile.com


   Sanders Steffann
   SJM Steffann Consultancy

   Email: sander@steffann.nl
















Cheng & Steffann          Expires May 17, 2021                 [Page 13]