<?xml version="1.0" encoding="us-ascii"?>
  <?xml-stylesheet type="text/xsl" href="rfc2629.xslt" ?>
  <!-- generated by https://github.com/cabo/kramdown-rfc2629 version 1.3.8 -->

<!DOCTYPE rfc SYSTEM "rfc2629.dtd" [
<!ENTITY I-D.filsfilscheng-spring-srv6-srh-comp-sl-enc SYSTEM "https://xml2rfc.tools.ietf.org/public/rfc/bibxml3/reference.I-D.filsfilscheng-spring-srv6-srh-comp-sl-enc.xml">
<!ENTITY I-D.filsfils-spring-net-pgm-extension-srv6-usid SYSTEM "https://xml2rfc.tools.ietf.org/public/rfc/bibxml3/reference.I-D.filsfils-spring-net-pgm-extension-srv6-usid.xml">
<!ENTITY I-D.cl-spring-generalized-srv6-for-cmpr SYSTEM "https://xml2rfc.tools.ietf.org/public/rfc/bibxml3/reference.I-D.cl-spring-generalized-srv6-for-cmpr.xml">
<!ENTITY I-D.bonica-6man-comp-rtg-hdr SYSTEM "https://xml2rfc.tools.ietf.org/public/rfc/bibxml3/reference.I-D.bonica-6man-comp-rtg-hdr.xml">
<!ENTITY I-D.decraene-spring-srv6-vlsid SYSTEM "https://xml2rfc.tools.ietf.org/public/rfc/bibxml3/reference.I-D.decraene-spring-srv6-vlsid.xml">
<!ENTITY I-D.mirsky-6man-unified-id-sr SYSTEM "https://xml2rfc.tools.ietf.org/public/rfc/bibxml3/reference.I-D.mirsky-6man-unified-id-sr.xml">
<!ENTITY I-D.srcompdt-spring-compression-requirement SYSTEM "https://xml2rfc.tools.ietf.org/public/rfc/bibxml3/reference.I-D.srcompdt-spring-compression-requirement.xml">
<!ENTITY I-D.ietf-lsr-flex-algo SYSTEM "https://xml2rfc.tools.ietf.org/public/rfc/bibxml3/reference.I-D.ietf-lsr-flex-algo.xml">
<!ENTITY RFC8986 SYSTEM "https://xml2rfc.tools.ietf.org/public/rfc/bibxml/reference.RFC.8986.xml">
<!ENTITY I-D.ietf-spring-segment-routing-policy SYSTEM "https://xml2rfc.tools.ietf.org/public/rfc/bibxml3/reference.I-D.ietf-spring-segment-routing-policy.xml">
<!ENTITY I-D.ietf-lsr-isis-srv6-extensions SYSTEM "https://xml2rfc.tools.ietf.org/public/rfc/bibxml3/reference.I-D.ietf-lsr-isis-srv6-extensions.xml">
<!ENTITY I-D.ietf-bess-srv6-services SYSTEM "https://xml2rfc.tools.ietf.org/public/rfc/bibxml3/reference.I-D.ietf-bess-srv6-services.xml">
<!ENTITY I-D.ietf-idr-bgpls-srv6-ext SYSTEM "https://xml2rfc.tools.ietf.org/public/rfc/bibxml3/reference.I-D.ietf-idr-bgpls-srv6-ext.xml">
<!ENTITY I-D.ietf-spring-sr-service-programming SYSTEM "https://xml2rfc.tools.ietf.org/public/rfc/bibxml3/reference.I-D.ietf-spring-sr-service-programming.xml">
<!ENTITY I-D.ietf-6man-spring-srv6-oam SYSTEM "https://xml2rfc.tools.ietf.org/public/rfc/bibxml3/reference.I-D.ietf-6man-spring-srv6-oam.xml">
<!ENTITY I-D.ietf-rtgwg-segment-routing-ti-lfa SYSTEM "https://xml2rfc.tools.ietf.org/public/rfc/bibxml3/reference.I-D.ietf-rtgwg-segment-routing-ti-lfa.xml">
<!ENTITY RFC8402 SYSTEM "https://xml2rfc.tools.ietf.org/public/rfc/bibxml/reference.RFC.8402.xml">
<!ENTITY RFC8754 SYSTEM "https://xml2rfc.tools.ietf.org/public/rfc/bibxml/reference.RFC.8754.xml">
<!ENTITY I-D.ietf-lsr-ip-flexalgo SYSTEM "https://xml2rfc.tools.ietf.org/public/rfc/bibxml3/reference.I-D.ietf-lsr-ip-flexalgo.xml">
<!ENTITY I-D.bonica-lsr-crh-isis-extensions SYSTEM "https://xml2rfc.tools.ietf.org/public/rfc/bibxml3/reference.I-D.bonica-lsr-crh-isis-extensions.xml">
<!ENTITY I-D.ssangli-bess-bgp-vpn-srm6 SYSTEM "https://xml2rfc.tools.ietf.org/public/rfc/bibxml3/reference.I-D.ssangli-bess-bgp-vpn-srm6.xml">
<!ENTITY I-D.bonica-6man-vpn-dest-opt SYSTEM "https://xml2rfc.tools.ietf.org/public/rfc/bibxml3/reference.I-D.bonica-6man-vpn-dest-opt.xml">
]>

<?rfc toc="yes"?>
<?rfc sortrefs="yes"?>
<?rfc symrefs="yes"?>
<?rfc compact="yes"?>
<?rfc subcompact="yes"?>

<rfc ipr="trust200902" docName="draft-ietf-spring-compression-analysis-03" category="info">

  <front>
    <title abbrev="SRCOMP Requirements">Compressed SRv6 SID List Analysis</title>

    <author initials="R." surname="Bonica" fullname="Ron Bonica">
      <organization>Juniper</organization>
      <address>
        <email>rbonica@juniper.net</email>
      </address>
    </author>
    <author initials="W." surname="Cheng" fullname="Weiqiang Cheng">
      <organization>China Mobile</organization>
      <address>
        <email>chengweiqiang@chinamobile.com</email>
      </address>
    </author>
    <author initials="D." surname="Dukes" fullname="Darren Dukes" role="editor">
      <organization>Cisco Systems</organization>
      <address>
        <email>ddukes@cisco.com</email>
      </address>
    </author>
    <author initials="W." surname="Henderickx" fullname="Wim Henderickx">
      <organization>Nokia</organization>
      <address>
        <email>wim.henderickx@nokia.com</email>
      </address>
    </author>
    <author initials="C." surname="Li" fullname="Cheng Li">
      <organization>Huawei</organization>
      <address>
        <email>c.l@huawei.com</email>
      </address>
    </author>
    <author initials="P." surname="Shaofu" fullname="Peng Shaofu">
      <organization>ZTE</organization>
      <address>
        <email>peng.shaofu@zte.com.cn</email>
      </address>
    </author>
    <author initials="C." surname="Xie" fullname="Chongfeng Xie">
      <organization>China Telecom</organization>
      <address>
        <email>xiechf@chinatelecom.cn</email>
      </address>
    </author>

    <date year="2023" month="April" day="03"/>

    <area>General</area>
    <workgroup>SPRING</workgroup>
    <keyword>Internet-Draft</keyword>

    <abstract>


<t>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.</t>



    </abstract>


  </front>

  <middle>


<section anchor="introduction" title="Introduction">

<t>The following mechanisms are proposed to compress the SRv6 SID list:</t>

<t><list style="symbols">
  <t>CSID - <xref target="I-D.filsfilscheng-spring-srv6-srh-comp-sl-enc"/> - Describes two new SRv6 SID flavors, a combination of SID flavors from <xref target="I-D.filsfils-spring-net-pgm-extension-srv6-usid"/> and <xref target="I-D.cl-spring-generalized-srv6-for-cmpr"/></t>
  <t>CRH - <xref target="I-D.bonica-6man-comp-rtg-hdr"/> - Requires two new routing header types and a label mapping technique.</t>
  <t>VSID - <xref target="I-D.decraene-spring-srv6-vlsid"/> - Defines a set of SID behaviors to access smaller SIDs within the SR header.</t>
  <t>UIDSR - <xref target="I-D.mirsky-6man-unified-id-sr"/> - Extends the SRH to carry MPLS labels or IPv6 addresses.</t>
</list></t>

<t>This document analyzes each mechanism against the requirements
stated in <xref target="I-D.srcompdt-spring-compression-requirement"/>. Each
section of this document corresponds to a similarly named section in
<xref target="I-D.srcompdt-spring-compression-requirement"/>. Each section
reiterates corresponding requirements and analyzes each proposal against the those requirements.</t>

<t>The terms compression mechanism, compression solution, and compression proposal are used interchangeably within this document.</t>

</section>
<section anchor="srv6-compression-requirements" title="SRv6 Compression Requirements">

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

<figure title="Sample SR Domain" anchor="use_case"><artwork><![CDATA[
        + * * * * * * * * * * * * * * * * * * * * * * * * * * +
        *                                                     *
        * - - - - - - - - + - - - - - - - - + - - - - - - - - *
        *                 |                 |                 *
        *   [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                      *
        + * * * * * * * * * * * * * * * * * * * * * * * * * * +
]]></artwork></figure>

<t><list style="symbols">
  <t>H1 and H2 are hosts outside the SR domain</t>
  <t>E3 and E4 are SR domain edge routers</t>
  <t>Metro 1, Core and Metro 2 are sub-domains with independent IGP instances</t>
  <t>B5 and B6 are border routers between the Metro 1 and Core</t>
  <t>B7 and B8 are border routers between the Metro 2 and Core</t>
  <t>M1_1..M1_i are routers in Metro 1</t>
  <t>C_1..C_j are routers in Core</t>
  <t>M2_1..M2_k are routers in Metro 2</t>
  <t>If Metro and Core are different AS's the border routers (B5 to B8) may be replaced by pairs of ASBRs</t>
  <t>Flexible algorithms may be deployed within each sub-domain</t>
</list></t>

<section anchor="encapsulation-header-size" title="Encapsulation Header Size">

<t>The compression proposal MUST reduce the size of the SRv6 encapsulation header.</t>

<t>Encapsulation header size is evaluated against a set of reference scenarios.</t>

<section anchor="reference-scenarios" title="Reference Scenarios">

<t>A service provider offers a VPN service with underlay optimization in the SR domain.</t>

<t><list style="symbols">
  <t>Hosts H1 and H2 are located in two different sites of a VPN customer.</t>
  <t>Edge nodes E3 and E4 encapsulate/decapsulate traffic between H1 and H2 to provide the VPN service.</t>
  <t>The encapsulation consists of a VPN SID (V) (eg END.DT etc) and an SR policy with between 0 and 15 transport segments (T) (eg END or END.X)</t>
  <t>The SR domain has a block size (B) of 48 bits</t>
  <t>These independent variables are used to uniquely identify each scenario. For example
  <list style="symbols">
      <t>A scenario with 48bit block size, 3 transport segments and a VPN segment is named 48B.3T.V</t>
    </list></t>
</list></t>

<t>Proposals are evaluated against the set of scenarios to calculate the encapsulation in octets (E) and the encapsulation savings (ES) as a fraction of the SRv6 base encapsulation in octets.</t>

<t>E and ES were evaluated for:</t>

<t><list style="symbols">
  <t>each proposal in two variants
  <list style="symbols">
      <t>16-bit SID</t>
      <t>32-bit SID</t>
    </list></t>
  <t>48-bit SRv6 block, 0 to 15 transport segments and a VPN segment (expressed in short form as 48B.0-15T.V)</t>
</list></t>

<t>The average encapsulation savings for each proposal is shown below. The complete analysis is recorded in Appendix:</t>

<texttable title="Average ES, 16-bit SIDs, 48B.0-15T.V" anchor="avES16">
      <ttcol align='left'>16-bit SIDs</ttcol>
      <ttcol align='left'>CSID</ttcol>
      <ttcol align='left'>CRH</ttcol>
      <ttcol align='left'>CRH+TPF</ttcol>
      <ttcol align='left'>VSID</ttcol>
      <ttcol align='left'>UIDSR</ttcol>
      <c>Average ES</c>
      <c>54.3%</c>
      <c>54.2%</c>
      <c>50.4%</c>
      <c>51.6%</c>
      <c>49.2%</c>
</texttable>

<texttable title="Average ES, 32-bit SIDs, 48B.0-15T.V" anchor="avES32">
      <ttcol align='left'>32-bit SIDs</ttcol>
      <ttcol align='left'>CSID</ttcol>
      <ttcol align='left'>CRH</ttcol>
      <ttcol align='left'>CRH+TPF</ttcol>
      <ttcol align='left'>VSID</ttcol>
      <ttcol align='left'>UIDSR</ttcol>
      <c>Average ES</c>
      <c>42.5%</c>
      <c>45.5%</c>
      <c>43.2%</c>
      <c>45.5%</c>
      <c>42.5%</c>
</texttable>

<t>E and ES are also evaluated for 32bit and 64bit SRv6 block sizes. The CSID 16-bit ES averages 57.4% for 32-bit blocks and 49.9% for 64-bit blocks, other proposals are unchanged.</t>

<t>Conclusion: All proposals meet the requirement to reduce the size of the SRv6 encapsulation header. Variances between proposals are negligible.</t>

</section>
</section>
<section anchor="forwarding-efficiency" title="Forwarding Efficiency">

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

<section anchor="headers-parsed" title="Headers Parsed">
<t>Forwarding efficiency is calculated against the reference scenarios above, recording and summarizing the differences in header parsing for different segment lists.</t>

<t>The following tables indicate the number of headers parsed for each proposal.</t>

<texttable title="Headers parsed on non-decapsulating SR segment endpoint nodes, 16-bit SIDs, 48B.0-15T.V" anchor="PRS16-nd">
      <ttcol align='left'>16-bit</ttcol>
      <ttcol align='left'>CSID</ttcol>
      <ttcol align='left'>CRH</ttcol>
      <ttcol align='left'>CRH+TPF</ttcol>
      <ttcol align='left'>VSID</ttcol>
      <ttcol align='left'>UIDSR</ttcol>
      <c>PRS(48B.0T).V)</c>
      <c>IPv6</c>
      <c>IPv6</c>
      <c>IPv6</c>
      <c>IPv6</c>
      <c>IPv6</c>
      <c>&#160;</c>
      <c>&#160;</c>
      <c>&#160;</c>
      <c>&#160;</c>
      <c>&#160;</c>
      <c>&#160;</c>
      <c>PRS(48B.1-4T).V)</c>
      <c>IPv6</c>
      <c>IPv6</c>
      <c>IPv6</c>
      <c>IPv6</c>
      <c>IPv6</c>
      <c>&#160;</c>
      <c>&#160;</c>
      <c>CRH</c>
      <c>CRH</c>
      <c>SRH</c>
      <c>SRH</c>
      <c>&#160;</c>
      <c>&#160;</c>
      <c>&#160;</c>
      <c>&#160;</c>
      <c>&#160;</c>
      <c>&#160;</c>
      <c>PRS(48B.5-15T).V)</c>
      <c>IPv6</c>
      <c>IPv6</c>
      <c>IPv6</c>
      <c>IPv6</c>
      <c>IPv6</c>
      <c>&#160;</c>
      <c>SRH</c>
      <c>CRH</c>
      <c>CRH</c>
      <c>SRH</c>
      <c>SRH</c>
      <c>&#160;</c>
      <c>&#160;</c>
      <c>&#160;</c>
      <c>&#160;</c>
      <c>&#160;</c>
      <c>&#160;</c>
</texttable>

<texttable title="Headers parsed on decapsulating SR segment endpoint nodes, 16-bit SIDs, 48B.0-15T.V" anchor="PRS16-d">
      <ttcol align='left'>16-bit</ttcol>
      <ttcol align='left'>CSID</ttcol>
      <ttcol align='left'>CRH</ttcol>
      <ttcol align='left'>CRH+TPF</ttcol>
      <ttcol align='left'>VSID</ttcol>
      <ttcol align='left'>UIDSR</ttcol>
      <c>PRS(48B.0T).V)</c>
      <c>IPv6</c>
      <c>IPv6</c>
      <c>IPv6</c>
      <c>IPv6</c>
      <c>IPv6</c>
      <c>&#160;</c>
      <c>&#160;</c>
      <c>&#160;</c>
      <c>&#160;</c>
      <c>&#160;</c>
      <c>&#160;</c>
      <c>PRS(48B.1-4T).V)</c>
      <c>IPv6</c>
      <c>IPv6</c>
      <c>IPv6</c>
      <c>IPv6</c>
      <c>IPv6</c>
      <c>&#160;</c>
      <c>&#160;</c>
      <c>CRH</c>
      <c>CRH</c>
      <c>SRH</c>
      <c>SRH</c>
      <c>&#160;</c>
      <c>&#160;</c>
      <c>&#160;</c>
      <c>TPF</c>
      <c>&#160;</c>
      <c>&#160;</c>
      <c>&#160;</c>
      <c>&#160;</c>
      <c>&#160;</c>
      <c>&#160;</c>
      <c>&#160;</c>
      <c>&#160;</c>
      <c>PRS(48B.5-15T).V)</c>
      <c>IPv6</c>
      <c>IPv6</c>
      <c>IPv6</c>
      <c>IPv6</c>
      <c>IPv6</c>
      <c>&#160;</c>
      <c>SRH</c>
      <c>CRH</c>
      <c>CRH</c>
      <c>SRH</c>
      <c>SRH</c>
      <c>&#160;</c>
      <c>&#160;</c>
      <c>&#160;</c>
      <c>TPF</c>
      <c>&#160;</c>
      <c>&#160;</c>
</texttable>

<texttable title="Headers parsed on non-decapsulating SR segment endpoint nodes, 32-bit SIDs, 48B.0-15T.V" anchor="PRS32-nd">
      <ttcol align='left'>32-bit</ttcol>
      <ttcol align='left'>CSID</ttcol>
      <ttcol align='left'>CRH</ttcol>
      <ttcol align='left'>CRH+TPF</ttcol>
      <ttcol align='left'>VSID</ttcol>
      <ttcol align='left'>UIDSR</ttcol>
      <c>PRS(48B.0T.V)</c>
      <c>IPv6</c>
      <c>IPv6</c>
      <c>IPv6</c>
      <c>IPv6</c>
      <c>IPv6</c>
      <c>&#160;</c>
      <c>&#160;</c>
      <c>&#160;</c>
      <c>&#160;</c>
      <c>&#160;</c>
      <c>&#160;</c>
      <c>PRS(48B.1-15T.V)</c>
      <c>IPv6</c>
      <c>IPv6</c>
      <c>IPv6</c>
      <c>IPv6</c>
      <c>IPv6</c>
      <c>&#160;</c>
      <c>SRH</c>
      <c>CRH</c>
      <c>CRH</c>
      <c>SRH</c>
      <c>SRH</c>
</texttable>

<texttable title="Headers parsed on decapsulating SR segment endpoint nodes, 32-bit SIDs, 48B.0-15T.V" anchor="PRS32-d">
      <ttcol align='left'>32-bit</ttcol>
      <ttcol align='left'>CSID</ttcol>
      <ttcol align='left'>CRH</ttcol>
      <ttcol align='left'>CRH+TPF</ttcol>
      <ttcol align='left'>VSID</ttcol>
      <ttcol align='left'>UIDSR</ttcol>
      <c>PRS(48B.0T.V)</c>
      <c>IPv6</c>
      <c>IPv6</c>
      <c>IPv6</c>
      <c>IPv6</c>
      <c>IPv6</c>
      <c>&#160;</c>
      <c>&#160;</c>
      <c>&#160;</c>
      <c>&#160;</c>
      <c>&#160;</c>
      <c>&#160;</c>
      <c>PRS(48B.1-15T.V)</c>
      <c>IPv6</c>
      <c>IPv6</c>
      <c>IPv6</c>
      <c>IPv6</c>
      <c>IPv6</c>
      <c>&#160;</c>
      <c>SRH</c>
      <c>CRH</c>
      <c>CRH</c>
      <c>SRH</c>
      <c>SRH</c>
      <c>&#160;</c>
      <c>&#160;</c>
      <c>&#160;</c>
      <c>TPF</c>
      <c>&#160;</c>
      <c>&#160;</c>
</texttable>

<t>Conclusion: Overall, the CSID parses the fewest headers. When per packet state is processed per segment, CSID, VSID and UIDSR proposals may include it in the routing header, CRH may include it in a destination option preceding the CRH.</t>

</section>
<section anchor="lookups-performed-lku" title="Lookups Performed (LKU)">

<t>Some proposals require a different number of lookups per packet, depending on the active segment in a segment list.</t>

<t>An implementation may perform lookups as longest prefix match (LPM) or exact match (EM).  CSID, VSID and UIDSR describe SRv6 SID lookup from the IPv6 destination address as an LPM, however an implementation may use either an LPM or EM lookup for SRv6 SIDs.  CRH implementations must always uses an exact match for CRH SID lookups.</t>

<t>The following table describes the number of lookups per proposal per segment type.</t>

<texttable title="Lookups" anchor="LKUadj">
      <ttcol align='left'>&#160;</ttcol>
      <ttcol align='left'>CSID</ttcol>
      <ttcol align='left'>CRH</ttcol>
      <ttcol align='left'>VSID</ttcol>
      <ttcol align='left'>UIDSR</ttcol>
      <c>Adjacency and</c>
      <c>LPM (a)</c>
      <c>LPM (a)</c>
      <c>LPM (a)</c>
      <c>LPM (a)</c>
      <c>VPN Segments</c>
      <c>&#160;</c>
      <c>EM (b)</c>
      <c>&#160;</c>
      <c>&#160;</c>
      <c>&#160;</c>
      <c>&#160;</c>
      <c>EM (b,c)</c>
      <c>&#160;</c>
      <c>&#160;</c>
      <c>&#160;</c>
      <c>&#160;</c>
      <c>&#160;</c>
      <c>&#160;</c>
      <c>&#160;</c>
      <c>Prefix Segments</c>
      <c>LPM (a)</c>
      <c>LPM (a)</c>
      <c>LPM (a)</c>
      <c>LPM (a)</c>
      <c>&#160;</c>
      <c>LPM (d)</c>
      <c>EM (b)</c>
      <c>LPM (d)</c>
      <c>LPM (d)</c>
      <c>&#160;</c>
      <c>&#160;</c>
      <c>&#160;</c>
      <c>&#160;</c>
      <c>&#160;</c>
</texttable>

<t><list style="symbols">
  <t>[a] On active SID, appearing in the IPv6 Destination address</t>
  <t>[b] On SID in CRH header</t>
  <t>[c] This lookup is required only when the IPv6 next hop node is not non-CRH aware</t>
  <t>[d] On next SID, appearing in the IPv6 destination address</t>
</list></t>

<t>Note: <xref target="I-D.filsfils-spring-net-pgm-extension-srv6-usid"/> Section 5 describes an optional local implementation to reduce
CSID 16-bit lookups, in some cases, by adding local forwarding state.
The analysis of this implementation option is not included in this version of the document.</t>

<t>Conclusion: CSID, VSID, and UIDSR require a single lookup to process an adjacency or VPN segment. CRH always requires 2 lookups for VPN segments, and 2 and sometimes 3 lookups for adjacency segments. All proposals require two lookups to process a prefix segment and the next segment.</t>

</section>
</section>
<section anchor="state-efficiency" title="State Efficiency">

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

<t>State efficiency is analyzed in a sub-domain of the SR domain, with the following parameters:</t>

<t><list style="symbols">
  <t>N: the number of SRv6 nodes in the sub-domain</t>
  <t>I: the number of IGP algorithms <xref target="I-D.ietf-lsr-flex-algo"/> configured</t>
  <t>A: the number of local adjacency SIDs at a node</t>
  <t>D: the number of attached SR sub-domains at a border node</t>
  <t>V: the number of VPN services at edge nodes</t>
</list></t>

<t>For a sub-domain consisting of:</t>

<t><list style="symbols">
  <t>1000 SRv6 nodes (N=1000) with some number of non-SRv6 nodes</t>
  <t>2 IGP algorithms (I=2)</t>
  <t>100 adjacencies per SRv6 node (A=100)</t>
  <t>up to 10 attached sub-domains per border node (D=10)</t>
  <t>1000 VPN service segments per edge (V=1000)</t>
</list></t>

<t>The number of forwarding entries at a node is calculated for any node, a border node, and an edge node.</t>

<t>UIDSR, CSID and VSID require the following entries:</t>

<t><list style="symbols">
  <t>a FIB entry for the node's prefix segment (1), per algorithm (I=2).</t>
  <t>a FIB entry per local adjacency SID (A=100) **Note1</t>
  <t>At border nodes (or any SRv6 nodes) either:
  <list style="symbols">
      <t>A.1) a FIB entry per domain (D=10) to swap the IPv6 destination address prefix.</t>
      <t>A.2) no additional FIB entries, and the SR source places a 128-bit SID in the segment list of a packet if needed.</t>
    </list></t>
  <t>At edge nodes, a FIB entry per VPN segment (V=1000)</t>
</list></t>

<t>CRH requires:</t>

<t><list style="symbols">
  <t>a CFIB entry per CRH node per IGP algorithm for local and remote prefix segments (N*I=2000)</t>
  <t>a CFIB entry per local adjacency segment (A=100) **Note1
  <list style="symbols">
      <t>When non-CRH adjacent nodes are present, additional state is required for CRH as per <xref target="I-D.bonica-6man-comp-rtg-hdr"/> Appendix B (note, only the second option in the appendix is considered feasible due to state explosion)
      <list style="symbols">
          <t>B.1) Up to one CFIB entry per next endpoint and an additional CFIB entry per adjacency to support non-CRH adjacent endpoints, assuming IP flex algo is not implemented on non-CRH nodes (I=1) ((N+A)*I=1200).</t>
        </list></t>
    </list></t>
  <t>At border nodes, assuming two inter-domain links per adjacent domain for redundancy, additional state is required as per <xref target="I-D.bonica-6man-comp-rtg-hdr"/> Appendix B (note, only the second option in the appendix is considered feasible due to state explosion):
  <list style="symbols">
      <t>C.1) In a common CRH network topology, the remote sub-domain borders support CRH: a CFIB entry per CRH node per IGP algorithm for local and remote prefix segments (N*I) plus a CFIB entry per local adjacency segment (A) plus a CFIB entry per connected remote border router (20) (N*I+A+20=2120).</t>
      <t>C.2) In a poorly designed CRH network topology, the remote sub-domain borders do not support CRH: a CFIB entry per unique endpoint (N*D*I), plus a CFIB entry per local adjacency segment (A), assuming IP flex algo is not implemented on non-CRH border domain (I=1), plus inter-domain adjacency (20) (N*D*I+2=10120).</t>
    </list></t>
  <t>At edge nodes, V=1000 entries for SRv6 based VPN SIDs and another V=1000 entries for CFIB and TPF VPN SIDs.</t>
</list></t>

<t>**Note1: there may be additional adjacency SIDs for protected, unprotected, and per algorithm adjacencies, resulting in some multiple of A. This is common for all compression proposals.</t>

<texttable title="Forwarding State Maintained" anchor="fwd_state">
      <ttcol align='left'>16-bit and 32-bit</ttcol>
      <ttcol align='left'>CSID</ttcol>
      <ttcol align='left'>CRH</ttcol>
      <ttcol align='left'>VSID</ttcol>
      <ttcol align='left'>UIDSR</ttcol>
      <c>S(N1000,I2,A100,D10)</c>
      <c>102</c>
      <c>2100</c>
      <c>102</c>
      <c>102</c>
      <c>&#160;</c>
      <c>A.1:112</c>
      <c>&#160;</c>
      <c>A.1:112</c>
      <c>A.1:112</c>
      <c>&#160;</c>
      <c>A.2:102</c>
      <c>&#160;</c>
      <c>A.2:102</c>
      <c>A.2:102</c>
      <c>&#160;</c>
      <c>&#160;</c>
      <c>B.1:3300</c>
      <c>&#160;</c>
      <c>&#160;</c>
      <c>&#160;</c>
      <c>&#160;</c>
      <c>C.1:2120</c>
      <c>&#160;</c>
      <c>&#160;</c>
      <c>&#160;</c>
      <c>&#160;</c>
      <c>C.2:10120</c>
      <c>&#160;</c>
      <c>&#160;</c>
      <c>&#160;</c>
      <c>&#160;</c>
      <c>&#160;</c>
      <c>&#160;</c>
      <c>&#160;</c>
      <c>S(V1000)</c>
      <c>1000</c>
      <c>2000</c>
      <c>1000</c>
      <c>1000</c>
</texttable>

<t>Conclusion: CSID, VSID and UIDSR minimize forwarding state stored at a node. CRH moves per segment state from the packet to the FIB.</t>

</section>
</section>
<section anchor="srv6-specific-requirements" title="SRv6 Specific Requirements">

<section anchor="srv6-based" title="SRv6 Based">

<t>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.</t>

<t>This section records the use of SRv6 standards for compression.</t>

<texttable title="SRv6 Based" anchor="srv6_based">
      <ttcol align='left'>&#160;</ttcol>
      <ttcol align='left'>CSID</ttcol>
      <ttcol align='left'>CRH</ttcol>
      <ttcol align='left'>VSID</ttcol>
      <ttcol align='left'>UIDSR</ttcol>
      <c>U.RFC8402</c>
      <c>Yes</c>
      <c>Yes - update required for SRv6 data plane</c>
      <c>Yes</c>
      <c>Yes</c>
      <c>U.RFC8754</c>
      <c>Yes</c>
      <c>No</c>
      <c>Yes - update required for segments left</c>
      <c>Yes - update for flags and segments left</c>
      <c>U.PGM</c>
      <c>Yes</c>
      <c>No</c>
      <c>Yes - update required for SID behaviors</c>
      <c>Yes</c>
      <c>U.IGP</c>
      <c>Yes</c>
      <c>No</c>
      <c>Yes</c>
      <c>Yes - additional extensions</c>
      <c>U.BGP</c>
      <c>Yes</c>
      <c>No</c>
      <c>Yes</c>
      <c>Yes</c>
      <c>U.POL</c>
      <c>Yes</c>
      <c>No</c>
      <c>Yes</c>
      <c>Yes</c>
      <c>U.BLS</c>
      <c>Yes</c>
      <c>No</c>
      <c>Yes</c>
      <c>Yes - additional extensions</c>
      <c>U.SVC</c>
      <c>Yes</c>
      <c>No</c>
      <c>Yes</c>
      <c>Yes</c>
      <c>U.ALG</c>
      <c>Yes</c>
      <c>Yes - Adds IP flex Algo</c>
      <c>Yes</c>
      <c>Yes</c>
      <c>U.OAM</c>
      <c>Yes</c>
      <c>No</c>
      <c>Yes</c>
      <c>Yes</c>
</texttable>

<t>Conclusion: CSID is SRv6 based, requiring no updates to existing SRv6 standards, VSID and UIDSR require updates. CRH is not strictly based on SRv6 but is able to provide equivalent functionality.</t>

</section>
<section anchor="functional-requirements" title="Functional Requirements">

<section anchor="srv6-functionality" title="SRv6 Functionality">

<t>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.</t>

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

<texttable title="Abbreviations">
      <ttcol align='left'>Draft reference Abbreviations</ttcol>
      <c>RFC8986: <xref target="RFC8986"/></c>
      <c>SRV6POL: <xref target="I-D.ietf-spring-segment-routing-policy"/></c>
      <c>SRV6EXT: <xref target="I-D.ietf-lsr-isis-srv6-extensions"/></c>
      <c>SRV6BGPSVC: <xref target="I-D.ietf-bess-srv6-services"/></c>
      <c>SRV6BGPLS: <xref target="I-D.ietf-idr-bgpls-srv6-ext"/></c>
      <c>SRV6SVCP: <xref target="I-D.ietf-spring-sr-service-programming"/></c>
      <c>SRV6OAM: <xref target="I-D.ietf-6man-spring-srv6-oam"/></c>
      <c>SRV6FLEXALG: <xref target="I-D.ietf-lsr-flex-algo"/></c>
      <c>SRV6TILFA: <xref target="I-D.ietf-rtgwg-segment-routing-ti-lfa"/></c>
      <c>RFC8402: <xref target="RFC8402"/></c>
      <c>RFC8754: <xref target="RFC8754"/></c>
      <c>CRH: <xref target="I-D.bonica-6man-comp-rtg-hdr"/></c>
      <c>VSID: <xref target="I-D.decraene-spring-srv6-vlsid"/></c>
      <c>UIDSR: <xref target="I-D.mirsky-6man-unified-id-sr"/></c>
      <c>IPFLEXALG: <xref target="I-D.ietf-lsr-ip-flexalgo"/></c>
      <c>CRHEXT: <xref target="I-D.bonica-lsr-crh-isis-extensions"/></c>
      <c>SRM6BGPSVC: <xref target="I-D.ssangli-bess-bgp-vpn-srm6"/></c>
      <c>CSID: <xref target="I-D.filsfilscheng-spring-srv6-srh-comp-sl-enc"/></c>
</texttable>

<texttable title="SRv6 Functionality" anchor="srv6_functionality">
      <ttcol align='left'>&#160;</ttcol>
      <ttcol align='left'>CSID</ttcol>
      <ttcol align='left'>CRH</ttcol>
      <ttcol align='left'>VSID</ttcol>
      <ttcol align='left'>UIDSR</ttcol>
      <c>F.SID</c>
      <c>RFC8402</c>
      <c>CRH</c>
      <c>RFC8402</c>
      <c>RFC8402 1</c>
      <c>F.Scope</c>
      <c>RFC8402</c>
      <c>CRH</c>
      <c>RFC8402</c>
      <c>RFC8402 1</c>
      <c>F.PFX</c>
      <c>RFC8402, RFC8986, CSID adds an END SID flavor</c>
      <c>CRH</c>
      <c>RFC8402, RFC8986, VSID updates the End behavior</c>
      <c>RFC8402, RFC8986 with new flavor 1</c>
      <c>F.ADJ</c>
      <c>RFC8402, RFC8986, CSID adds an END.X flavor</c>
      <c>CRH</c>
      <c>RFC8402, RFC8986, VSID updates the End.X behavior</c>
      <c>RFC8402, RFC8986 with new flavor 1</c>
      <c>F.BIND</c>
      <c>RFC8402, RFC8986</c>
      <c>CRH</c>
      <c>RFC8402, RFC8986, VSID updates the End.B behaviors</c>
      <c>RFC8402, RFC8986 with new flavor 1</c>
      <c>F.PEER</c>
      <c>RFC8402, RFC8986, CSID adds an END.X. flavor</c>
      <c>CRH</c>
      <c>RFC8402, RFC8986, VSID updates the End.X behaviors</c>
      <c>RFC8402, RFC8986 with new flavor 1,2</c>
      <c>F.SVC</c>
      <c>RFC8986</c>
      <c>CRH</c>
      <c>RFC8986, VSID updates the service segment behaviors</c>
      <c>RFC8986 1</c>
      <c>F.ALG</c>
      <c>SRV6FLEXALG</c>
      <c>IPFLEXALG</c>
      <c>SRV6FLEXALG</c>
      <c>SRV6FLEXALG</c>
      <c>F.TILFA</c>
      <c>SRV6TILFA</c>
      <c>SRV6TILFA</c>
      <c>SRV6TILFA</c>
      <c>SRV6TILFA 3</c>
      <c>F.SEC</c>
      <c>RFC8754</c>
      <c>CRH</c>
      <c>RFC8754</c>
      <c>RFC8754</c>
      <c>F.IGP</c>
      <c>SRV6EXT</c>
      <c>CRH-EXT</c>
      <c>SRV6EXT</c>
      <c>SRV6EXT 1,4</c>
      <c>F.BGP</c>
      <c>SRV6BGPSVC</c>
      <c>SRM6BGPSVC</c>
      <c>SRV6BGPSVC</c>
      <c>SRV6BGPSVC 1</c>
      <c>F.POL</c>
      <c>SRV6SRPOL</c>
      <c>SRV6SRPOL update required</c>
      <c>SRV6SRPOL</c>
      <c>SRV6SRPOL</c>
      <c>F.BLS</c>
      <c>SRV6BGPLS</c>
      <c>(specification required)</c>
      <c>SRV6BGPLS and addition for VSID Length</c>
      <c>SRV6BGPLS 5</c>
      <c>F.SFC</c>
      <c>SRV6SVCP</c>
      <c>CRH</c>
      <c>SRV6SVC</c>
      <c>SRV6SVCP 1</c>
      <c>F.PING</c>
      <c>SRV6OAM</c>
      <c>CRH</c>
      <c>SRV6OAM</c>
      <c>SRv6OAM</c>
</texttable>

<t><list style="numbers">
  <t>UIDSR with Global Container SID + local index enhancement</t>
  <t>draft-peng-spring-truncates-sid-inter-domain</t>
  <t>For protections described in section 6.1.2.1, 6.1.2.2, and 6.2, to get next-next SID from SRH with the help of draft-pl-spring-compr-path-recover.</t>
  <t>Need more extensions to advertise the capability of U-SID compression (32bits, 16bits, etc.). Note: Global Container SID + local index enhancement.</t>
  <t>IGP extensions</t>
</list></t>

<t>Conclusion: CSID supports SRv6 functionality. CRH VSID and UID support SRv6 functionality or equivalent with some new specifications.</t>

</section>
<section anchor="heterogeneous-sid-lists" title="Heterogeneous SID Lists">

<t>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.</t>

<texttable title="Heterogeneous SID Lists">
      <ttcol align='left'>&#160;</ttcol>
      <ttcol align='left'>CSID</ttcol>
      <ttcol align='left'>CRH</ttcol>
      <ttcol align='left'>VSID</ttcol>
      <ttcol align='left'>UIDSR</ttcol>
      <c>Heterogeneous SID Lists</c>
      <c>Yes</c>
      <c>Yes</c>
      <c>Yes</c>
      <c>Yes</c>
</texttable>

<t>VSID require a binding SID with an additional SRv6 encapsulation to encode non-compressed segments in a single path. VSID changes the interpretation of the SRH Segments Left field, which makes it capable of carrying only compressed segments.</t>

<t>The CRH can include a binding SID that imposes a new IPv6 header with an SRH. This is required when the next segment endpoint in the path can process the SRH, but not the CRH. The next segment endpoint or a subsequent endpoint can execute decapsulation, removing the new IPv6 header and exposing the old one with its CRH. This is required because an IPv6 packet can carry only one routing header.</t>

<t>CSID and UIDSR permit the encoding of, and processing of, any combination of compressed or non-compressed segments in a segment list of an SRH.</t>

<t>CSID makes use of the SRH, without modification, to encode CSIDs as 128 bits, supporting the use of non-compressed segments within the SRH.</t>

<t>UIDSR modifies the interpretation of the SRH Segments Left field at segment endpoint nodes to allow variable segment lengths within a segment list.</t>

<t>Conclusion: All proposals support heterogeneous SID lists. CSID and UIDSR support heterogeneous SID lists in the SRH, while CRH and VSID require installation of binding SIDs at midpoint nodes.</t>

</section>
<section anchor="sid-list-length" title="SID List Length">

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

<texttable title="SID List Length">
      <ttcol align='left'>&#160;</ttcol>
      <ttcol align='left'>CSID</ttcol>
      <ttcol align='left'>CRH</ttcol>
      <ttcol align='left'>VSID</ttcol>
      <ttcol align='left'>UIDSR</ttcol>
      <c>16 Segments</c>
      <c>Yes</c>
      <c>Yes</c>
      <c>Yes</c>
      <c>Yes</c>
</texttable>

<t>Conclusion: All proposals support segment lists of at least 16 segments.</t>

</section>
<section anchor="sid-summarization" title="SID Summarization">

<t>The solution MUST be compatible with segment summarization.</t>

<t>In inter sub-domain deployments with summarization:</t>

<t><list style="symbols">
  <t>Any node can reach any other node in another sub-domain via a prefix segment.</t>
  <t>Prefixes are summarized for advertisement between domains.</t>
</list></t>

<t>Without summarization, border router SIDs must be leaked:</t>

<t><list style="symbols">
  <t>An additional global prefix segment is required for each domain border to be traversed.</t>
</list></t>

<texttable title="SID Summarization">
      <ttcol align='left'>&#160;</ttcol>
      <ttcol align='left'>CSID</ttcol>
      <ttcol align='left'>CRH</ttcol>
      <ttcol align='left'>VSID</ttcol>
      <ttcol align='left'>UIDSR</ttcol>
      <c>SID Summarization</c>
      <c>Yes</c>
      <c>No</c>
      <c>Yes</c>
      <c>Yes</c>
</texttable>

<t>Conclusion: CSID, VSID and UIDSR support segment summarization, CRH does not.</t>

</section>
</section>
<section anchor="operational-requirements" title="Operational Requirements">

<section anchor="lossless-compression" title="Lossless Compression">

<t>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.</t>

<texttable title="Lossless Compression">
      <ttcol align='left'>&#160;</ttcol>
      <ttcol align='left'>CSID</ttcol>
      <ttcol align='left'>CRH</ttcol>
      <ttcol align='left'>VSID</ttcol>
      <ttcol align='left'>UIDSR</ttcol>
      <c>Lossless Compression</c>
      <c>Yes</c>
      <c>Yes</c>
      <c>Yes</c>
      <c>Yes</c>
</texttable>

<t>Conclusion: All proposals provide lossless compression.</t>

</section>
<section anchor="preservation-of-non-routing-information" title="Preservation of non-routing information">

<t>The compression mechanism MUST NOT cause the loss of non-routing information when delivering a packet from the SR ingress node to the egress/penultimate SR node</t>

<texttable title="Preservation of non-routing information">
      <ttcol align='left'>&#160;</ttcol>
      <ttcol align='left'>CSID</ttcol>
      <ttcol align='left'>CRH</ttcol>
      <ttcol align='left'>VSID</ttcol>
      <ttcol align='left'>UIDSR</ttcol>
      <c>Preserves Non-Routing Information</c>
      <c>Complies</c>
      <c>Complies</c>
      <c>Complies</c>
      <c>Complies</c>
</texttable>

<t>Conclusion: All proposals preserve non-routing information.</t>

</section>
<section anchor="address-planning" title="Address Planning">

<t>Description: Network operators require addressing plan flexibility, The compression mechanism MUST support flexible IPv6 address planning, it MUST support deployment by using GUA from different address blocks.</t>

<texttable title="Address Planning">
      <ttcol align='left'>&#160;</ttcol>
      <ttcol align='left'>CSID</ttcol>
      <ttcol align='left'>CRH</ttcol>
      <ttcol align='left'>VSID</ttcol>
      <ttcol align='left'>UIDSR</ttcol>
      <c>Flexible Address Planning</c>
      <c>Yes</c>
      <c>Yes</c>
      <c>Yes</c>
      <c>Yes</c>
</texttable>

<t>All compression mechanisms provide the encapsulation savings described in Tables 1 and 2. CRH provides these encapsulation savings regardless of the IPv6 addressing scheme. CSID adds a CSID container, or one compressed SID (END.X with XPS behavior), for each change in locator block in a segment list. VSID (via XPS behavior) and UIDSR add one compressed SID for each change in locator block in the segment list.</t>

<t>The XPS behavior draws the new address block from the control plane. At the time of publication, this control plane behavior is undefined. Therefore XPS impact on the control plane is not entirely understood. While it may be possible to define these mechanisms without impacting the control plane, specifications are not yet available.</t>

<t>Conclusion: All proposals support flexible IPv6 planning.</t>

</section>
</section>
<section anchor="scalability-requirements" title="Scalability Requirements">

<t>The compression proposal MUST be capable of representing 65000 adjacency segments per node.</t>

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

<t>The compression proposal MUST be capable of representing 1 million services per node.</t>

<texttable title="Scale Requirements" anchor="scalability">
      <ttcol align='left'>&#160;</ttcol>
      <ttcol align='left'>CSID</ttcol>
      <ttcol align='left'>CRH</ttcol>
      <ttcol align='left'>VSID</ttcol>
      <ttcol align='left'>UIDSR</ttcol>
      <c>Adjacency Segment Scale 65000</c>
      <c>Yes</c>
      <c>Yes</c>
      <c>Yes</c>
      <c>Yes</c>
      <c>Prefix Segment Scale 1000000</c>
      <c>Yes</c>
      <c>Yes</c>
      <c>Yes</c>
      <c>Yes</c>
      <c>Service Scale 1000000</c>
      <c>Yes</c>
      <c>Yes</c>
      <c>Yes</c>
      <c>Yes</c>
</texttable>

<t>The 32-bit variants of all proposals support this scale of prefix, adjacency and services at a node.</t>

<t>Each proposals 16-bit variant supports a lesser scale. All proposals can encode 2^16 prefix, adjacency and service segments. However, each proposal has various ways of supporting some larger scale per node if required.</t>

<t>CRH 16-bit proposes the encoding of the ultimate segment in a TPF destination option instead of the CRH. This supports 2^32 service segments per node.</t>

<t>VSID proposes the combination of multiple vSIDs, by copying multiple SIDs to a destination address or looking up the next segment in the segment list. This supports more than 2^16 adjacency and service segments per node.</t>

<t>CSID 16-bit variant uses a LIB for adjacency and service segments, the LIB allows local definition of SIDs longer than 16-bits when needed. This supports more than 2^16 adjacency and service segments per node.</t>

<t>UIDSR defines a segment type that modifies the value of SRH segments left field to support variable segment sizes within the segment list. This supports 2^32 adjacency and service segments per node.</t>

<t>Conclusion: All proposals meet scalability requirements.</t>

<section anchor="compression-levels" title="Compression Levels">

<t>The compression proposal SHOULD be able to support multiple levels of compression.</t>

<texttable title="Compression Levels">
      <ttcol align='left'>&#160;</ttcol>
      <ttcol align='left'>CSID</ttcol>
      <ttcol align='left'>CRH</ttcol>
      <ttcol align='left'>VSID</ttcol>
      <ttcol align='left'>UIDSR</ttcol>
      <c>Multiple compression Levels</c>
      <c>Yes</c>
      <c>Yes</c>
      <c>Yes</c>
      <c>Yes</c>
</texttable>

<t>Conclusion: All proposals support 16-bit and 32-bit SID variants.</t>

</section>
</section>
</section>
<section anchor="protocol-design-requirements" title="Protocol Design Requirements">

<section anchor="srv6-base-coexistence" title="SRv6 Base Coexistence">

<t>The compression proposal MUST support deployment in SRv6 networks.</t>

<texttable title="SRv6 Base Coexistence">
      <ttcol align='left'>&#160;</ttcol>
      <ttcol align='left'>CSID</ttcol>
      <ttcol align='left'>CRH</ttcol>
      <ttcol align='left'>VSID</ttcol>
      <ttcol align='left'>UIDSR</ttcol>
      <c>SRv6 Base Coexistence</c>
      <c>Yes</c>
      <c>Yes</c>
      <c>Yes</c>
      <c>Yes</c>
</texttable>

<t>Conclusion: All proposals can be deployed simultaneously with the SRv6 base solution.</t>

</section>
</section>
<section anchor="security-requirements" title="Security Requirements">

<section anchor="security-mechanisms" title="Security Mechanisms">

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

<texttable title="Security Mechanisms">
      <ttcol align='left'>&#160;</ttcol>
      <ttcol align='left'>CSID</ttcol>
      <ttcol align='left'>CRH</ttcol>
      <ttcol align='left'>VSID</ttcol>
      <ttcol align='left'>UIDSR</ttcol>
      <c>Security Mechanisms</c>
      <c>Yes</c>
      <c>Yes</c>
      <c>Yes</c>
      <c>Yes</c>
</texttable>

<t>Conclusion: All proposals address security issues they may introduce with existing security mechanisms.</t>

</section>
<section anchor="sr-domain-protection" title="SR Domain Protection">

<t>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.</t>

<texttable title="SR Domain Protection">
      <ttcol align='left'>&#160;</ttcol>
      <ttcol align='left'>CSID</ttcol>
      <ttcol align='left'>CRH</ttcol>
      <ttcol align='left'>VSID</ttcol>
      <ttcol align='left'>UIDSR</ttcol>
      <c>SR Domain Protection</c>
      <c>Yes</c>
      <c>Yes</c>
      <c>Yes</c>
      <c>Yes</c>
</texttable>

<t>Conclusion: All proposals protect SIDs within the SR domain.</t>

</section>
</section>
<section anchor="conclusions" title="Conclusions">

<t>Encapsulation Header Size</t>

<t><list style="symbols">
  <t>All proposals meet the requirement to reduce the size of the SRv6 encapsulation header. Variances between proposals are negligible.</t>
</list></t>

<t>Forwarding Efficiency</t>

<t><list style="symbols">
  <t>Overall, the CSID parses the fewest headers. When per packet state is processed per segment, CSID, VSID and UIDSR proposals may include it in the routing header, CRH may include it in a destination option preceding the CRH.</t>
  <t>CSID, VSID, and UIDSR require a single lookup to process an adjacency or VPN segment. CRH always requires 2 lookups for VPN segments, and 2 and sometimes 3 lookups for adjacency segments. All proposals require two lookups to process a prefix segment and the next segment.</t>
</list></t>

<t>State Efficiency</t>

<t><list style="symbols">
  <t>CSID, VSID and UIDSR minimize forwarding state stored at a node. CRH moves per segment state from the packet to the FIB.</t>
</list></t>

<t>SRv6 Based</t>

<t><list style="symbols">
  <t>CSID is SRv6 based, requiring no updates to existing SRv6 standards, VSID and UIDSR require updates. CRH is not strictly based on SRv6 but is able to provide equivalent functionality.</t>
</list></t>

<t>SRv6 Functionality</t>

<t><list style="symbols">
  <t>CSID supports SRv6 functionality. CRH VSID and UID support SRv6 functionality or equivalent with some new specifications.</t>
</list></t>

<t>Heterogeneous SID lists</t>

<t><list style="symbols">
  <t>All proposals support heterogeneous SID lists. CSID and UIDSR support heterogeneous SID lists in the SRH, while CRH and VSID require installation of binding SIDs at midpoint nodes.</t>
</list></t>

<t>SID List Length</t>

<t><list style="symbols">
  <t>All proposals support segment lists of at least 16 segments.</t>
</list></t>

<t>SID Summarization</t>

<t><list style="symbols">
  <t>VSID, CSID and UIDSR support segment summarization, CRH does not.</t>
</list></t>

<t>Operational Requirements</t>

<t><list style="symbols">
  <t>All proposals provide lossless compression.</t>
  <t>All proposals preserve non-routing information.</t>
  <t>All proposals support flexible IPv6 planning.</t>
</list></t>

<t>Scalability Requirements</t>

<t><list style="symbols">
  <t>All proposals meet scalability requirements.</t>
  <t>All proposals support 16-bit and 32-bit SID variants.</t>
</list></t>

<t>Protocol Design Requirements</t>

<t><list style="symbols">
  <t>All proposals can be deployed simultaneously with the SRv6 base solution.</t>
</list></t>

<t>Security Requirements</t>

<t><list style="symbols">
  <t>All proposals address security issues they may introduce with existing security mechanisms.</t>
  <t>All proposals protect SIDs within the SR domain.</t>
</list></t>

</section>


  </middle>

  <back>

    <references title='Normative References'>

&I-D.filsfilscheng-spring-srv6-srh-comp-sl-enc;
&I-D.filsfils-spring-net-pgm-extension-srv6-usid;
&I-D.cl-spring-generalized-srv6-for-cmpr;
&I-D.bonica-6man-comp-rtg-hdr;
&I-D.decraene-spring-srv6-vlsid;
&I-D.mirsky-6man-unified-id-sr;
&I-D.srcompdt-spring-compression-requirement;
&I-D.ietf-lsr-flex-algo;
&RFC8986;
&I-D.ietf-spring-segment-routing-policy;
&I-D.ietf-lsr-isis-srv6-extensions;
&I-D.ietf-bess-srv6-services;
&I-D.ietf-idr-bgpls-srv6-ext;
&I-D.ietf-spring-sr-service-programming;
&I-D.ietf-6man-spring-srv6-oam;
&I-D.ietf-rtgwg-segment-routing-ti-lfa;
&RFC8402;
&RFC8754;
&I-D.ietf-lsr-ip-flexalgo;
&I-D.bonica-lsr-crh-isis-extensions;
&I-D.ssangli-bess-bgp-vpn-srm6;
&I-D.bonica-6man-vpn-dest-opt;


    </references>



<section anchor="encapsulation-analysis" title="Encapsulation analysis">

<section anchor="crh-note" title="CRH note">

<t>CRH compression efficiency statistics are derived as follows:</t>

<t>If an SR path contains no transport segments and a VPN segment, the SR path is encoded in a single IPv6 header (40 bytes). The destination address in the IPv6 header is a classic SRv6 SID (e.g., END.DT4, END.DT6).</t>

<t>If the SR path contains T transport segments and a VPN segment, and T is greater than 0, the SR path can be encoded:</t>

<t><list style="symbols">
  <t>With an IPv6 Tunnel Payload Function (TPF) Option <xref target="I-D.bonica-6man-vpn-dest-opt"/></t>
  <t>Without a TPF Option</t>
</list></t>

<t>If the SR path is encoded with a TPF Option, the packet includes a single IPv6 Header (40 bytes), a CRH (variable length), and a Destination Options header (8 bytes). The destination address in the IPv6 header represents the IPv6 address of an interface on the first transport segment endpoint. The CRH must be large enough to contain the subsequent T segments.</t>

<t>If the SR path is encoded without a TPF Option, the packet includes a single IPv6 Header (40 bytes) plus a CRH (variable length). The destination address in the IPv6 header represents the IPv6 address of an interface on the first transport segment endpoin . The CRH must be large enough to contain T+1 segments. In the CRH, SID[1] maps to the IPv6 address of the PE router. SID[0] maps to a classic SRv6 SID (e.g., END.DT4) that is instantiated on the PE router.</t>

<t>In some deployment scenarios, each encoding strategy yields better compression.</t>

</section>
<section anchor="analysis-results" title="Analysis results">

<t>The detailed encapsulation and encapsulation savings per proposal with one VPN segment and "T" transport segments:</t>

<texttable title="Encapsulation (E) octets, 16bit SIDS, 48B.0-15T.V" anchor="E16-48B-0-15T-V">
      <ttcol align='left'>T</ttcol>
      <ttcol align='left'>CSID</ttcol>
      <ttcol align='left'>CRH</ttcol>
      <ttcol align='left'>CRH+TPF</ttcol>
      <ttcol align='left'>VSID</ttcol>
      <ttcol align='left'>UIDSR</ttcol>
      <c>0</c>
      <c>40</c>
      <c>40</c>
      <c>40</c>
      <c>40</c>
      <c>40</c>
      <c>1</c>
      <c>40</c>
      <c>48</c>
      <c>56</c>
      <c>56</c>
      <c>64</c>
      <c>2</c>
      <c>40</c>
      <c>56</c>
      <c>56</c>
      <c>56</c>
      <c>64</c>
      <c>3</c>
      <c>40</c>
      <c>56</c>
      <c>64</c>
      <c>56</c>
      <c>64</c>
      <c>4</c>
      <c>64</c>
      <c>56</c>
      <c>64</c>
      <c>64</c>
      <c>64</c>
      <c>5</c>
      <c>64</c>
      <c>56</c>
      <c>64</c>
      <c>64</c>
      <c>64</c>
      <c>6</c>
      <c>64</c>
      <c>64</c>
      <c>64</c>
      <c>64</c>
      <c>64</c>
      <c>7</c>
      <c>64</c>
      <c>64</c>
      <c>72</c>
      <c>64</c>
      <c>64</c>
      <c>8</c>
      <c>64</c>
      <c>64</c>
      <c>72</c>
      <c>72</c>
      <c>64</c>
      <c>9</c>
      <c>80</c>
      <c>64</c>
      <c>72</c>
      <c>72</c>
      <c>80</c>
      <c>10</c>
      <c>80</c>
      <c>72</c>
      <c>72</c>
      <c>72</c>
      <c>80</c>
      <c>11</c>
      <c>80</c>
      <c>72</c>
      <c>80</c>
      <c>72</c>
      <c>80</c>
      <c>12</c>
      <c>80</c>
      <c>72</c>
      <c>80</c>
      <c>80</c>
      <c>80</c>
      <c>13</c>
      <c>80</c>
      <c>72</c>
      <c>80</c>
      <c>80</c>
      <c>80</c>
      <c>14</c>
      <c>96</c>
      <c>80</c>
      <c>80</c>
      <c>80</c>
      <c>80</c>
      <c>15</c>
      <c>96</c>
      <c>80</c>
      <c>88</c>
      <c>80</c>
      <c>80</c>
</texttable>

<texttable title="Encapsulation Savings (ES), 16bit SIDS, 48B.0-15T.V" anchor="ES16-48B-0-15T-V">
      <ttcol align='left'>T</ttcol>
      <ttcol align='left'>CSID</ttcol>
      <ttcol align='left'>CRH</ttcol>
      <ttcol align='left'>CRH+TPF</ttcol>
      <ttcol align='left'>VSID</ttcol>
      <ttcol align='left'>UIDSR</ttcol>
      <c>0</c>
      <c>0.0%</c>
      <c>0.0%</c>
      <c>0.0%</c>
      <c>0.0%</c>
      <c>0.0%</c>
      <c>1</c>
      <c>37.5%</c>
      <c>25.0%</c>
      <c>12.5%</c>
      <c>12.5%</c>
      <c>0.0%</c>
      <c>2</c>
      <c>50.0%</c>
      <c>30.0%</c>
      <c>30.0%</c>
      <c>30.0%</c>
      <c>20.0%</c>
      <c>3</c>
      <c>58.3%</c>
      <c>41.7%</c>
      <c>33.3%</c>
      <c>41.7%</c>
      <c>33.3%</c>
      <c>4</c>
      <c>42.9%</c>
      <c>50.0%</c>
      <c>42.9%</c>
      <c>42.9%</c>
      <c>42.9%</c>
      <c>5</c>
      <c>50.0%</c>
      <c>56.3%</c>
      <c>50.0%</c>
      <c>50.0%</c>
      <c>50.0%</c>
      <c>6</c>
      <c>55.6%</c>
      <c>55.6%</c>
      <c>55.6%</c>
      <c>55.6%</c>
      <c>55.6%</c>
      <c>7</c>
      <c>60.0%</c>
      <c>60.0%</c>
      <c>55.0%</c>
      <c>60.0%</c>
      <c>60.0%</c>
      <c>8</c>
      <c>63.6%</c>
      <c>63.6%</c>
      <c>59.1%</c>
      <c>59.1%</c>
      <c>63.6%</c>
      <c>9</c>
      <c>58.3%</c>
      <c>66.7%</c>
      <c>62.5%</c>
      <c>62.5%</c>
      <c>58.3%</c>
      <c>10</c>
      <c>61.5%</c>
      <c>65.4%</c>
      <c>65.4%</c>
      <c>65.4%</c>
      <c>61.5%</c>
      <c>11</c>
      <c>64.3%</c>
      <c>67.9%</c>
      <c>64.3%</c>
      <c>67.9%</c>
      <c>64.3%</c>
      <c>12</c>
      <c>66.7%</c>
      <c>70.0%</c>
      <c>66.7%</c>
      <c>66.7%</c>
      <c>66.7%</c>
      <c>13</c>
      <c>68.8%</c>
      <c>71.9%</c>
      <c>68.8%</c>
      <c>68.8%</c>
      <c>68.8%</c>
      <c>14</c>
      <c>64.7%</c>
      <c>70.6%</c>
      <c>70.6%</c>
      <c>70.6%</c>
      <c>70.6%</c>
      <c>15</c>
      <c>66.7%</c>
      <c>72.2%</c>
      <c>69.4%</c>
      <c>72.2%</c>
      <c>72.2%</c>
</texttable>

<texttable title="Encapsulation (E) octets, 32bit SIDS, 48B.0-15T.V" anchor="E32-48B-0-15T-V">
      <ttcol align='left'>T</ttcol>
      <ttcol align='left'>CSID</ttcol>
      <ttcol align='left'>CRH</ttcol>
      <ttcol align='left'>CRH+TPF</ttcol>
      <ttcol align='left'>VSID</ttcol>
      <ttcol align='left'>UIDSR</ttcol>
      <c>0</c>
      <c>40</c>
      <c>40</c>
      <c>40</c>
      <c>40</c>
      <c>40</c>
      <c>1</c>
      <c>64</c>
      <c>56</c>
      <c>56</c>
      <c>56</c>
      <c>64</c>
      <c>2</c>
      <c>64</c>
      <c>56</c>
      <c>64</c>
      <c>56</c>
      <c>64</c>
      <c>3</c>
      <c>64</c>
      <c>64</c>
      <c>64</c>
      <c>64</c>
      <c>64</c>
      <c>4</c>
      <c>64</c>
      <c>64</c>
      <c>72</c>
      <c>64</c>
      <c>64</c>
      <c>5</c>
      <c>80</c>
      <c>72</c>
      <c>72</c>
      <c>72</c>
      <c>80</c>
      <c>6</c>
      <c>80</c>
      <c>72</c>
      <c>80</c>
      <c>72</c>
      <c>80</c>
      <c>7</c>
      <c>80</c>
      <c>80</c>
      <c>80</c>
      <c>80</c>
      <c>80</c>
      <c>8</c>
      <c>80</c>
      <c>80</c>
      <c>88</c>
      <c>80</c>
      <c>80</c>
      <c>9</c>
      <c>96</c>
      <c>88</c>
      <c>88</c>
      <c>88</c>
      <c>96</c>
      <c>10</c>
      <c>96</c>
      <c>88</c>
      <c>96</c>
      <c>88</c>
      <c>96</c>
      <c>11</c>
      <c>96</c>
      <c>96</c>
      <c>96</c>
      <c>96</c>
      <c>96</c>
      <c>12</c>
      <c>96</c>
      <c>96</c>
      <c>104</c>
      <c>96</c>
      <c>96</c>
      <c>13</c>
      <c>112</c>
      <c>104</c>
      <c>104</c>
      <c>104</c>
      <c>112</c>
      <c>14</c>
      <c>112</c>
      <c>104</c>
      <c>112</c>
      <c>104</c>
      <c>112</c>
      <c>15</c>
      <c>112</c>
      <c>112</c>
      <c>112</c>
      <c>112</c>
      <c>112</c>
</texttable>

<texttable title="Encapsulation Savings (ES), 32bit SIDS, 48B.0-15T.V" anchor="ES32-48B-0-15T-V">
      <ttcol align='left'>T</ttcol>
      <ttcol align='left'>CSID</ttcol>
      <ttcol align='left'>CRH</ttcol>
      <ttcol align='left'>CRH+TPF</ttcol>
      <ttcol align='left'>VSID</ttcol>
      <ttcol align='left'>UIDSR</ttcol>
      <c>0</c>
      <c>0.0%</c>
      <c>0.0%</c>
      <c>0.0%</c>
      <c>0.0%</c>
      <c>0.0%</c>
      <c>1</c>
      <c>0.0%</c>
      <c>12.5%</c>
      <c>12.5%</c>
      <c>12.5%</c>
      <c>0.0%</c>
      <c>2</c>
      <c>20.0%</c>
      <c>30.0%</c>
      <c>20.0%</c>
      <c>30.0%</c>
      <c>20.0%</c>
      <c>3</c>
      <c>33.3%</c>
      <c>33.3%</c>
      <c>33.3%</c>
      <c>33.3%</c>
      <c>33.3%</c>
      <c>4</c>
      <c>42.9%</c>
      <c>42.9%</c>
      <c>35.7%</c>
      <c>42.9%</c>
      <c>42.9%</c>
      <c>5</c>
      <c>37.5%</c>
      <c>43.8%</c>
      <c>43.8%</c>
      <c>43.8%</c>
      <c>37.5%</c>
      <c>6</c>
      <c>44.4%</c>
      <c>50.0%</c>
      <c>44.4%</c>
      <c>50.0%</c>
      <c>44.4%</c>
      <c>7</c>
      <c>50.0%</c>
      <c>50.0%</c>
      <c>50.0%</c>
      <c>50.0%</c>
      <c>50.0%</c>
      <c>8</c>
      <c>54.5%</c>
      <c>54.5%</c>
      <c>50.0%</c>
      <c>54.5%</c>
      <c>54.5%</c>
      <c>9</c>
      <c>50.0%</c>
      <c>54.2%</c>
      <c>54.2%</c>
      <c>54.2%</c>
      <c>50.0%</c>
      <c>10</c>
      <c>53.8%</c>
      <c>57.7%</c>
      <c>53.8%</c>
      <c>57.7%</c>
      <c>53.8%</c>
      <c>11</c>
      <c>57.1%</c>
      <c>57.1%</c>
      <c>57.1%</c>
      <c>57.1%</c>
      <c>57.1%</c>
      <c>12</c>
      <c>60.0%</c>
      <c>60.0%</c>
      <c>56.7%</c>
      <c>60.0%</c>
      <c>60.0%</c>
      <c>13</c>
      <c>56.3%</c>
      <c>59.4%</c>
      <c>59.4%</c>
      <c>59.4%</c>
      <c>56.3%</c>
      <c>14</c>
      <c>58.8%</c>
      <c>61.8%</c>
      <c>58.8%</c>
      <c>61.8%</c>
      <c>58.8%</c>
      <c>15</c>
      <c>61.1%</c>
      <c>61.1%</c>
      <c>61.1%</c>
      <c>61.1%</c>
      <c>61.1%</c>
</texttable>

</section>
</section>


  </back>

<!-- ##markdown-source:
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
kQJspAHj5TAa8Vuu3U/zxDwyjCtHUZ+jkRplrEYZ61Ek9x5y7+pz9KI/kKPw
N/1Is7DC2HjMGBtruowVXWQVzcfjAZNyPMI3RatPz3zTVTQzj+Xrv8fPGdn8
29MlpormaAXQc4UG+m2emCqarcfH/WNqMpCj0G/zxFTRvA2jqlHG5tMz3/Qj
zeAasCG/ynz8Qk2fS8wj5vJJEzafSJXcvpx0mjP670LpOsprp9LdoOo2KN2m
qu6oWnuLqhvZEnmnOhpXa29RR8/L0n6ryjiuqb1JZSiOVQrmuFT72Dy1mNWp
/WK8ufbAqv1i7Na2ij2LRZ3ag4OjjbWJO2V+caxn16Zv8qnFmG7twXBj7ZFd
m1KVW7VNsafY8XC4n9KlO8e/TunurXNreHKXyq1qXFXO+rWqcasKd1hSuMOS
wq3qW6lMS581TyrqVn0ejpRYLz3RfKosh6NDlu786Vklsobm1aMjVkxapR8p
Ce2WGH7VGt35rHmieXZ0xFDpT9PCfWI0rerpiPUGf3p2iR6DeXck5zd6zhpn
pGfulhj+hfLBHyufNU+Mmi1bGUbNuk80H2ur54XEstZ/umSsVTlx60jqZbAK
eD5GLzsllo4dMLTuZ80TqWKbMLWrYjez9f8CBbO2XxCaAAA=

-->

</rfc>

