SPRING R. Bonica Internet-Draft Juniper Intended status: Informational W. Cheng Expires: August 23, 2021 China Mobile D. Dukes Cisco Systems W. Henderickx Nokia C. Li Huawei P. Shaofu ZTE C. Xie China Telecom February 19, 2021 Compressed SRv6 SID List Analysis draft-srcompdt-spring-compression-analysis-00 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 23, 2021. Copyright Notice Copyright (c) 2021 IETF Trust and the persons identified as the document authors. All rights reserved. Bonica, et al. Expires August 23, 2021 [Page 1] Internet-Draft SRCOMP Requirements February 2021 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 . . . . . . . . . . . . . . . . . . . . . . . . 2 2. SRv6 Compression Requirements . . . . . . . . . . . . . . . . 3 2.1. Encapsulation Header Size . . . . . . . . . . . . . . . . 4 2.2. Forwarding Efficiency . . . . . . . . . . . . . . . . . . 4 2.2.1. Headers Parsed (PRS) . . . . . . . . . . . . . . . . 4 2.2.2. Lookups Performed (LKU) . . . . . . . . . . . . . . . 4 2.3. State Efficiency . . . . . . . . . . . . . . . . . . . . 5 3. SRv6 Specific Requirements . . . . . . . . . . . . . . . . . 6 3.1. SRv6 Based . . . . . . . . . . . . . . . . . . . . . . . 6 3.2. Functional Requirements . . . . . . . . . . . . . . . . . 6 3.2.1. SRv6 Functionality . . . . . . . . . . . . . . . . . 6 3.2.2. Heterogeneous SID Lists . . . . . . . . . . . . . . . 8 3.2.3. SID List Length . . . . . . . . . . . . . . . . . . . 8 3.2.4. SID Summarization . . . . . . . . . . . . . . . . . . 8 3.3. Operational Requirements . . . . . . . . . . . . . . . . 9 3.3.1. Lossless Compression . . . . . . . . . . . . . . . . 9 3.4. Scalability Requirements . . . . . . . . . . . . . . . . 9 4. Protocol Design Requirements . . . . . . . . . . . . . . . . 10 4.1. SRv6 Base Coexistance . . . . . . . . . . . . . . . . . . 10 5. Security Requirements . . . . . . . . . . . . . . . . . . . . 10 5.1. Security Mechanismns . . . . . . . . . . . . . . . . . . 10 5.2. SR Domain Protection . . . . . . . . . . . . . . . . . . 10 6. Conclusions . . . . . . . . . . . . . . . . . . . . . . . . . 11 7. Normative References . . . . . . . . . . . . . . . . . . . . 12 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 14 1. Introduction The following mechanisms are proposed to compress the SRv6 SID list: o CSID - [I-D.filsfilscheng-spring-srv6-srh-comp-sl-enc] - Describes two new SRv6 SIDs, a combination of SIDs from [I-D.filsfils-spring-net-pgm-extension-srv6-usid] and [I-D.cl-spring-generalized-srv6-for-cmpr] o CRH - [I-D.bonica-6man-comp-rtg-hdr] - Requires two new routing header types and a label mapping technique. Bonica, et al. Expires August 23, 2021 [Page 2] Internet-Draft SRCOMP Requirements February 2021 o VSID - [I-D.decraene-spring-srv6-vlsid] - Defines a set of SID behaviors to access smaller SIDs within the SR header. o UID - [I-D.mirsky-6man-unified-id-sr] - Extends the SRH to carry MPLS labels or IPv4 addresses. 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 * + * * * * * * * * * * * * * * * * * * * * * * * * * * + Figure 1: Sample SR Domain o H1 and H2 are hosts outside the SR domain o E3 and E4 are SR domain edge routers o Metro 1, Core and Metro 2 are sub-domains with independent IGP instances o B5 and B6 are border routers between the Metro 1 and Core o B7 and B8 are border routers between the Metro 2 and Core o M1_1..M1_i are routers in Metro 1 o C_1..C_j are routers in Core o M2_1..M2_k are routers in Metro 2 Bonica, et al. Expires August 23, 2021 [Page 3] Internet-Draft SRCOMP Requirements February 2021 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.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) This section records and summarizes differences in header parsing for different SID types. o Segment lists may contain transport, adjacency, service, binding or VPN segments. +--------+------+-----+------+-------+ | 16-bit | CSID | CRH | VSID | UIDSR | +--------+------+-----+------+-------+ | | | | | | | | | | | | +--------+------+-----+------+-------+ Table 1: Headers Parsed, 16-bit SIDs +--------+------+-----+------+-------+ | 32-bit | CSID | CRH | VSID | UIDSR | +--------+------+-----+------+-------+ | | | | | | | | | | | | +--------+------+-----+------+-------+ Table 2: Headers Parsed, 32-bit SIDs Conclusion: 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. Bonica, et al. Expires August 23, 2021 [Page 4] Internet-Draft SRCOMP Requirements February 2021 +---------------------+------+-----+------+-------+ | 16-bit and 32-bit | CSID | CRH | VSID | UIDSR | +---------------------+------+-----+------+-------+ | D.LKU(1D(1..15T).V) | | | | | +---------------------+------+-----+------+-------+ Table 3: Lookups, Strict TE Paths Conclusion: A loose TE path consists of a combination of prefix and adjacency segments +-------------------+------+-----+------+-------+ | 16-bit and 32-bit | CSID | CRH | VSID | UIDSR | +-------------------+------+-----+------+-------+ | | | | | | | | | | | | +-------------------+------+-----+------+-------+ Table 4: Lookups, Loose TE Paths Conclusion: 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: o N: the number of nodes in the sub-domain o I: the number of IGP algorithms [I-D.ietf-lsr-flex-algo] configured o A: the number of local adjacency SIDs For a core sub-domain with 1000 nodes, two IGP algorithms, and 100 adjacencies per node: o N=1000, I=2, A=100 Bonica, et al. Expires August 23, 2021 [Page 5] Internet-Draft SRCOMP Requirements February 2021 +-------------------+------+-----+------+-------+ | 16-bit and 32-bit | CSID | CRH | VSID | UIDSR | +-------------------+------+-----+------+-------+ | S(N1000,I2,A100) | | | | | +-------------------+------+-----+------+-------+ Table 5: Forwarding State Conclusion: 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 | | | | | | U.RFC8754 | | | | | | U.PGM | | | | | | U.IGP | | | | | | U.BGP | | | | | | U.POL | | | | | | U.BLS | | | | | | U.SVC | | | | | | U.ALG | | | | | | U.OAM | | | | | +-----------+------+-----+------+-------+ Table 6: SRv6 Based Conclusion: 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 Bonica, et al. Expires August 23, 2021 [Page 6] Internet-Draft SRCOMP Requirements February 2021 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 | UIDSR | +---------+------+-----+------+-------+ | F.SID | | | | | | F.Scope | | | | | | F.PFX | | | | | | F.ADJ | | | | | | F.BIND | | | | | | F.PEER | | | | | | F.SVC | | | | | | F.ALG | | | | | | F.TILFA | | | | | | F.SEC | | | | | | F.IGP | | | | | | F.BGP | | | | | | F.POL | | | | | | F.BLS | | | | | | F.SFC | | | | | | F.PING | | | | | +---------+------+-----+------+-------+ Table 7: SRv6 Functionality Conclusion: Bonica, et al. Expires August 23, 2021 [Page 7] Internet-Draft SRCOMP Requirements February 2021 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 | | | | | +-------------------------+------+-----+------+-------+ Conclusion: 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 | | | | | +-------------+------+-----+------+-------+ Conclusion: 3.2.4. SID Summarization The solution MUST be compatible with segment summarization. In inter sub-domain deployments with summarization: o Any node can reach any other node in another sub-domain via a prefix segment. o Prefixes are summarized for advertisement between domains. Without summarization, border router SIDs must be leaked: o An additional global prefix segment is required for each domain border to be traversed. Bonica, et al. Expires August 23, 2021 [Page 8] Internet-Draft SRCOMP Requirements February 2021 +-------------------+------+-----+------+-------+ | | CSID | CRH | VSID | UIDSR | +-------------------+------+-----+------+-------+ | SID Summarization | | | | | +-------------------+------+-----+------+-------+ Conclusion: 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 | | | | | +----------------------+------+-----+------+-------+ Conclusion: 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 | | | | | | Prefix Segment Scale 1000000 | | | | | | Service Scale 1000000 | | | | | +-------------------------------+------+-----+------+-------+ Table 8: Scale Requirements Conclusion: Bonica, et al. Expires August 23, 2021 [Page 9] Internet-Draft SRCOMP Requirements February 2021 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 | | | | | +-----------------------+------+-----+------+-------+ Conclusion: 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 | | | | | +---------------------+------+-----+------+-------+ Conclusion: 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 | | | | | +----------------------+------+-----+------+-------+ Conclusion: Bonica, et al. Expires August 23, 2021 [Page 10] Internet-Draft SRCOMP Requirements February 2021 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 Bonica, et al. Expires August 23, 2021 [Page 11] Internet-Draft SRCOMP Requirements February 2021 - 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)", draft- bonica-6man-comp-rtg-hdr-24 (work in progress), 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", draft-cl-spring- generalized-srv6-for-cmpr-02 (work in progress), 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", draft-decraene-spring-srv6-vlsid-04 (work in progress), 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", draft-filsfils-spring- net-pgm-extension-srv6-usid-08 (work in progress), 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", draft-filsfilscheng- spring-srv6-srh-comp-sl-enc-02 (work in progress), 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)", draft-ietf-6man-spring-srv6-oam-08 (work in progress), October 2020. Bonica, et al. Expires August 23, 2021 [Page 12] Internet-Draft SRCOMP Requirements February 2021 [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. [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-05 (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., and D. Voyer, "Topology Independent Fast Reroute using Segment Routing", draft-ietf-rtgwg-segment-routing-ti- lfa-05 (work in progress), November 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-28 (work in progress), December 2020. Bonica, et al. Expires August 23, 2021 [Page 13] Internet-Draft SRCOMP Requirements February 2021 [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", draft-mirsky-6man-unified-id-sr-08 (work in progress), January 2021. [I-D.srcompdt-spring-compression-requirement] Cheng, W., "Compressed SRv6 SID List Requirements", draft- srcompdt-spring-compression-requirement-03 (work in progress), January 2021. 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 Bonica, et al. Expires August 23, 2021 [Page 14] Internet-Draft SRCOMP Requirements February 2021 Chongfeng Xie China Telecom Email: xiechf@chinatelecom.cn Bonica, et al. Expires August 23, 2021 [Page 15]