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]