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
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.
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 (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.
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.
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 * + * * * * * * * * * * * * * * * * * * * * * * * * * * +
The compression proposal MUST reduce the size of the SRv6 encapsulation header.
Encapsulation header size is evaluated against multiple reference scenarios.
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
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.
The compression proposal SHOULD minimize the number of required hardware resources accessed to process a segment.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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
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.
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.
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.
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
[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. |