SPRING R. Bonica
Internet-Draft Juniper
Intended status: Informational W. Cheng
Expires: August 15, 2021 China Mobile
D. Dukes
Cisco Systems
W. Henderickx
Nokia
C. Li
Huawei
P. Shaofu
ZTE
C. Xie
China Telecom
February 11, 2021

Compressed SRv6 SID List Analysis
draft-srcompdt-spring-compression-analysis-00-01

Abstract

Several mechanisms have been proposed to compress the SRv6 SID list. This document analyzes each mechanism with regard to the requirements stated in the companion requirements document.

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 August 15, 2021.

Copyright Notice

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

The following mechanisms are proposed to compress the SRv6 SID list:

This document analyzes each mechanism against the requirements stated in [I-D.srcompdt-spring-compression-requirement]. Each section of this document corresponds to a similarly named section in [I-D.srcompdt-spring-compression-requirement]. Each section reiterates corresponding requirements and analyzes each proposal against the those requirements.

2. SRv6 Compression Requirements

An SR domain consisting of 3 sub-domains is shown to illustrate the scenarios associated with encapsulation header size, forwarding efficiency and state efficiency

        + * * * * * * * * * * * * * * * * * * * * * * * * * * +
        *                                                     *
        * - - - - - - - - + - - - - - - - - + - - - - - - - - *
        *                 |                 |                 *
        *   [M1_0]      [B5]  [C_0]       [B7]  [M2_0]        *
[H1]--[E3]                |                 |                [E4]---[H2]
        *        [M1_i] [B6]        [C_j] [B8]       [M2_k]   *
        *                 |                 |                 *
        *     Metro 1     |      Core       |     Metro 2     *
        *- - - - - - - - - - - - - - - - - - - - - - - - - - -*
        *                                                     *
        *                      SR domain                      *
        + * * * * * * * * * * * * * * * * * * * * * * * * * * +

2.1. Encapsulation Header Size

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

Encapsulation header size is evaluated against multiple reference scenarios.

2.1.1. Reference Scenario 1

A service provider offers a VPN service with underlay optimization in the SR domain.

This scenario results in E and ES for 16-bit and 32-bit variants of each proposal.

16-bit SIDs CSID CRH VSID UIDSR
E(3D(2T).V) 64 octets 64 octets 72 octets
ES(3D(2T).V) 55.6% 55.6% 50%
32-bit SIDs CSID CRH VSID UIDSR
E(3D.2T.V) 80 octets 80 octets 80 octets
ES(3D.2T.V) 44.4% 44.4% 44.4%

Conclusion: In this scenario CSID and CRH performs better than other proposals

2.1.2. Reference Scenario Set 1-30

Twenty nine additional scenarios are generated using the same parameters as scenario 1 (D,T,V) by:

This results in a total of thirty segment lists, six for 3D(0..5T).V, eight for 2D(0..7T).V, and sixteen for 1D(0..15T).V

The average encapsulation savings across all scenarios, for 16-bit and 32-bit variants of each proposal is documented in the following tables.

16-bit SIDs CSID CRH VSID UIDSR
Average ES 51.3% 49.7% 45.9%
32-bit SIDs CSID CRH VSID UIDSR
Average ES 40.1% 39.4% 42.7%

Conclusion: In this scenario set, CSID and VSID perform better than other proposals.

2.2. Forwarding Efficiency

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

2.2.1. Headers Parsed (PRS)

Forwarding efficiency is calculated against reference scenarios one to thirty. This section records and summarizes differences in header parsing for different SID types.

16-bit CSID CRH VSID UIDSR
PRS(1D(0..3T).V) 1 2 2
PRS(1D(4..15T).V) 2 2 2
32-bit CSID CRH VSID UIDSR
PRS(1D(0T).V) at the 1 2 1
PRS(1D(1..15T).V) 2 2 2

Conclusion: CSID and VSID require less header parsing.

2.2.2. Lookups Performed (LKU)

Some proposals require a different number of lookups per packet, depending on the SID type and segment list.

A strict TE path is considered with a 1D(1..15T).V segment list, where each transport segment is an adjacency segment.

When lookups are performed at each adjacency segment endpoint:

CSID CRH VSID UIDSR
D.LKU(1D(1..15T).V) 1 2 1

Conclusion: CSID and VSID require fewer lookups for strict TE paths.

A loose TE path consists of a combination of prefix and adjacency segments

CSID CRH VSID UIDSR
LKU(1D(2..15T).V) @ prefix segments 2 2 2
LKU(1D(2..15T).V) @ adjacency segments 1 2 2

Conclusion: CSID requires fewer lookups for loose TE paths.

2.3. State Efficiency

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

State efficiency is analyzed in a single sub-domain of the SR domain, where three parameters are considered:

For a core sub-domain with 1000 nodes, two IGP algorithms, and 100 adjacencies per node:

CSID and VSID require:

CRH requires:

** Note1: there may be additional adjacency SIDs for protected, unprotected, and per algorithm adjacencies but these are equal among all proposals so are omitted.

CSID CRH VSID UIDSR
S(N1000,I2,A100) 2100 3100 2100

Conclusion: CSID and VSID perform equally, CRH requires additional state.

3. SRv6 Specific Requirements

3.1. SRv6 Based

A solution to compress SRv6 SID Lists SHOULD be based on the SRv6 architecture, control plane and data plane. The compression solution MAY be based on a different data plane and control plane, provided that it derives sufficient benefit.

This section records the use of SRv6 standards for compression.

CSID CRH VSID UIDSR
U.RFC8402 Yes No Yes
U.RFC8754 Yes No Yes - Update required for segments left
U.PGM Yes No Yes - Update required for SID behaviors
U.IGP Yes No Yes - Specifies a new mandatory sub-sub TLV
U.BGP Yes No Yes
U.POL Yes No Yes
U.BLS Yes No Yes
U.SVC Yes No Yes
U.ALG Yes No Yes
U.OAM Yes No Yes

Conclusion: CSID is compliant with all SRv6 specifications, requiring no updates.

3.2. Functional Requirements

3.2.1. SRv6 Functionality

A solution to compress an SRv6 SID list MUST support the functionality of SRv6. This requirement ensures no SRv6 functionality is lost. It is particularly important to understand how a proposal, as evaluated in section "SRv6 Based", provides this functionality.

Functional requirements and the drafts defining how a proposal provides the functionality are documented in the table below.

Draft reference Abbreviations
IDNETPGM: [I-D.ietf-spring-srv6-network-programming]
IDSRPOL: [I-D.ietf-spring-segment-routing-policy]
IDEXT: [I-D.ietf-lsr-isis-srv6-extensions]
IDBGPSVC: [I-D.ietf-bess-srv6-services]
IDBGPLS: [I-D.ietf-idr-bgpls-srv6-ext]
IDSVCP: [I-D.ietf-spring-sr-service-programming]
IDOAM: [I-D.ietf-6man-spring-srv6-oam]
IDFLEXALG: [I-D.ietf-lsr-flex-algo]
IDTILFA: [I-D.ietf-rtgwg-segment-routing-ti-lfa]
CSID CRH VSID
F.SID RFC8402 IDCRH RFC8402
F.Scope RFC8402 IDCRH RFC8402
F.PFX RFC8402, IDNETPGM, IDCSID adds a END SID flavor IDCRH RFC8402, IDNETPGM, IDVSID updates the End behavior
F.ADJ RFC8402, IDNETPGM, IDCSID adds an END.X flavor IDCRH Not fully supported, Adjacent node MUST support CRH RFC8402, IDNETPGM, IDVSID updates the End.X behavior
F.BIND RFC8402, IDNETPGM RFC8402, IDNETPGM, IDVSID updates the End.B* behaviors
F.PEER RFC8402, IDNETPGM, adds new END.X. flavors IDCRH Not fully supported, Adjacent node MUST support CRH RFC8402, IDNETPGM, IDVSID updates the End.X behaviors
F.SVC IDNETPGM IDCRH IDNETPGM, IDVSID updates the service segment behaviors
F.ALG IDFLEXALG IDFLEXALG
F.TILFA IDTILFA IDTILFA
F.SEC RFC8754 IDCRH RFC8754
F.IGP IDEXT IDEXT adds a sub-sub TLV
F.BGP IDBGPSVC IDBGPSVC
F.POL IDSRPOL IDSRPOL
F.BLS IDBGPLS IDBGPLS and addition for VSID Length
F.SFC IDSVCP IDSVC
F.PING IDOAM IDOAM

Conclusion: CSID satisfies all functional requirements using the existing SRv6 standards or working group drafts.

3.2.2. Heterogeneous SID Lists

The compression proposal SHOULD support a combination of compressed and non-compressed segments in a single path. As an example, a solution may satisfy this requirement without being SRv6 based by using a binding SID to impose an additional SRv6 header (IPv6 header plus optional SRH) with non-compressed SID.

CSID CRH VSID UIDSR
Heterogeneous SID Lists Yes Yes, via a binding SID to SRv6 encapsulation Yes, for the ultimate SID via NSID, or via a binding SID to an SRv6 encapsulation

Note: Binding SIDs add additional network state and encapsulation overhead.

Conclusion: CSID provides heterogeneous SID list support natively, the others require binding SIDs.

3.2.3. SID List Length

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

CSID CRH VSID UIDSR
16 Segments Yes Yes Yes

Conclusion: All proposals support segment lists of at least 16 segments.

3.2.4. SID Summarization

The solution MUST be compatible with segment summarization.

In inter sub-domain deployments with summarization:

Without summarization, border router SIDs must be leaked:

SRv6 utilizes IPv6 summarization for SIDs, SRv6 based proposals can support the summarization of SIDs.

CSID CRH VSID UIDSR
SID Summarization Yes No Yes

Conclusion: CSID and VSID both support summarization.

3.3. Operational Requirements

3.3.1. Lossless Compression

A path traversed using a compressed SID list MUST always be the same as the path traversed using the uncompressed SID list if no compression was applied.

CSID CRH VSID UIDSR
Lossless Compression Yes No Heterogeneous SID lists require binding SIDs No Heterogeneous SID lists require binding SIDs

Conclusion: CSID provides lossless compression for all deployments.

3.4. Scalability Requirements

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

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

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

CSID CRH VSID UIDSR
Adjacency Segment Scale 65000 Yes Yes Yes
Prefix Segment Scale 1000000 Yes Yes Yes
Service Scale 1000000 Yes Yes Yes

Conclusion: All proposals support 16-bit and 32-bit variants to support large scale deployments

4. Protocol Design Requirements

4.1. SRv6 Base Coexistance

The compression proposal MUST support deployment in existing SRv6 networks.

CSID CRH VSID UIDSR
SRv6 Base Coexistence Yes Yes Yes

Conclusion: All proposals can be deployed simultaneously with the SRv6 base solution.

5. Security Requirements

5.1. Security Mechanismns

The compression solution SHOULD be able to address security issues that it introduces, using existing security mechanisms.

CSID CRH VSID UIDSR
Security Mechanisms Yes Yes Yes

Conclusion: All proposals resolve known security issues they are susceptible to.

5.2. SR Domain Protection

A compression solution must not require nodes outside the SR domain to know SID values within the SR domain, and it must provide the ability to block nodes outside an SR domain from accessing SIDS.

CSID CRH VSID UIDSR
SR Domain Protection Yes Yes Yes

Conclusion: All proposals describe how SIDs within the SR domain are protected.

6. Conclusions

Encapsulation Header Size

Forwarding Efficiency

State Efficiency

SRv6 Based

SRv6 Functionality

Heterogeneous SID lists

SID List Length

SID Summarization

Operational Requirements

Protocol Design Requirements

Scalability Requirements

Protocol Design Requirements

Security Requirements

7. Normative References

[I-D.bonica-6man-comp-rtg-hdr] Bonica, R., Kamite, Y., Alston, A., Henriques, D. and L. Jalil, "The IPv6 Compact Routing Header (CRH)", Internet-Draft draft-bonica-6man-comp-rtg-hdr-24, January 2021.
[I-D.cl-spring-generalized-srv6-for-cmpr] Cheng, W., Li, Z., Li, C., Clad, F., Aihua, L., Xie, C., Liu, Y. and S. Zadok, "Generalized SRv6 Network Programming for SRv6 Compression", Internet-Draft draft-cl-spring-generalized-srv6-for-cmpr-02, November 2020.
[I-D.decraene-spring-srv6-vlsid] Decraene, B., Raszuk, R., Li, Z. and C. Li, "SRv6 vSID: Network Programming extension for variable length SIDs", Internet-Draft draft-decraene-spring-srv6-vlsid-04, September 2020.
[I-D.filsfils-spring-net-pgm-extension-srv6-usid] Filsfils, C., Camarillo, P., Cai, D., Voyer, D., Meilik, I., Patel, K., Henderickx, W., Jonnalagadda, P., Melman, D., Liu, Y. and J. Guichard, "Network Programming extension: SRv6 uSID instruction", Internet-Draft draft-filsfils-spring-net-pgm-extension-srv6-usid-08, November 2020.
[I-D.filsfilscheng-spring-srv6-srh-comp-sl-enc] Cheng, W., Filsfils, C., Li, Z., Cai, D., Voyer, D., Clad, F., Zadok, S., Guichard, J. and L. Aihua, "Compressed SRv6 Segment List Encoding in SRH", Internet-Draft draft-filsfilscheng-spring-srv6-srh-comp-sl-enc-02, November 2020.
[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)", Internet-Draft draft-ietf-6man-spring-srv6-oam-08, 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", Internet-Draft draft-ietf-bess-srv6-services-05, 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", Internet-Draft draft-ietf-idr-bgpls-srv6-ext-05, November 2020.
[I-D.ietf-lsr-flex-algo] Psenak, P., Hegde, S., Filsfils, C., Talaulikar, K. and A. Gulko, "IGP Flexible Algorithm", Internet-Draft draft-ietf-lsr-flex-algo-13, 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", Internet-Draft draft-ietf-lsr-isis-srv6-extensions-11, October 2020.
[I-D.ietf-rtgwg-segment-routing-ti-lfa] Litkowski, S., Bashandy, A., Filsfils, C., Decraene, B. and D. Voyer, "Topology Independent Fast Reroute using Segment Routing", Internet-Draft draft-ietf-rtgwg-segment-routing-ti-lfa-05, November 2020.
[I-D.ietf-spring-segment-routing-policy] Filsfils, C., Talaulikar, K., Voyer, D., Bogdanov, A. and P. Mattes, "Segment Routing Policy Architecture", Internet-Draft draft-ietf-spring-segment-routing-policy-09, 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", Internet-Draft draft-ietf-spring-sr-service-programming-03, 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", Internet-Draft draft-ietf-spring-srv6-network-programming-28, December 2020.
[I-D.mirsky-6man-unified-id-sr] Cheng, W., Mirsky, G., Peng, S., Aihua, L. and G. Mishra, "Unified Identifier in IPv6 Segment Routing Networks", Internet-Draft draft-mirsky-6man-unified-id-sr-08, January 2021.
[I-D.srcompdt-spring-compression-requirement] Cheng, W., "Compressed SRv6 SID List Requirements", Internet-Draft draft-srcompdt-spring-compression-requirement-03, January 2021.
[RFC8754] Filsfils, C., Dukes, D., Previdi, S., Leddy, J., Matsushima, S. and D. Voyer, "IPv6 Segment Routing Header (SRH)", RFC 8754, DOI 10.17487/RFC8754, March 2020.

Authors' Addresses

Ron Bonica Juniper EMail: rbonica@juniper.net
Weiqiang Cheng China Mobile EMail: chengweiqiang@chinamobile.com
Darren Dukes Cisco Systems EMail: ddukes@cisco.com
Wim Henderickx Nokia EMail: wim.henderickx@nokia.com
Cheng Li Huawei EMail: c.l@huawei.com
Peng Shaofu ZTE EMail: peng.shaofu@zte.com.cn
Chongfeng Xie China Telecom EMail: xiechf@chinatelecom.cn