<?xml version='1.0' encoding='utf-8'?>
<!DOCTYPE rfc [
  <!ENTITY nbsp    "&#160;">
  <!ENTITY zwsp   "&#8203;">
  <!ENTITY nbhy   "&#8209;">
  <!ENTITY wj     "&#8288;">
]>
<?xml-stylesheet type="text/xsl" href="rfc2629.xslt" ?>
<!-- generated by https://github.com/cabo/kramdown-rfc version 1.7.21 (Ruby 3.0.2) -->
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-ietf-ipsecme-ikev2-diet-esp-extension-02" category="std" consensus="true" submissionType="IETF" tocInclude="true" sortRefs="true" symRefs="true" version="3">
  <!-- xml2rfc v2v3 conversion 3.24.0 -->
  <front>
    <title abbrev="EHC extension">Internet Key Exchange version 2 (IKEv2) extension for Header Compression Profile (HCP)</title>
    <seriesInfo name="Internet-Draft" value="draft-ietf-ipsecme-ikev2-diet-esp-extension-02"/>
    <author initials="D." surname="Migault" fullname="Daniel Migault">
      <organization>Ericsson</organization>
      <address>
        <email>daniel.migault@ericsson.com</email>
      </address>
    </author>
    <author initials="T." surname="Guggemos" fullname="Tobias Guggemos">
      <organization>LMU</organization>
      <address>
        <email>guggemos@nm.ifi.lmu.de</email>
      </address>
    </author>
    <author initials="D." surname="Schinazi" fullname="David Schinazi">
      <organization>Google LLC</organization>
      <address>
        <email>dschinazi.ietf@gmail.com</email>
      </address>
    </author>
    <author initials="W." surname="Atwood" fullname="J. William Atwood">
      <organization>Concordia University</organization>
      <address>
        <email>william.atwood@concordia.ca</email>
      </address>
    </author>
    <author initials="D." surname="Liu" fullname="Daiying Liu">
      <organization>Ericsson</organization>
      <address>
        <email>harold.liu@ericsson.com</email>
      </address>
    </author>
    <author initials="S." surname="Preda" fullname="Stere Preda">
      <organization>Ericsson</organization>
      <address>
        <email>stere.preda@ericsson.com</email>
      </address>
    </author>
    <author initials="M." surname="Hatami" fullname="Maryam Hatami">
      <organization>Concordia University</organization>
      <address>
        <email>maryam.hatami@mail.concordia.ca</email>
      </address>
    </author>
    <author initials="S." surname="Céspedes" fullname="Sandra Céspedes">
      <organization>Concordia University</organization>
      <address>
        <email>sandra.cespedes@concordia.ca</email>
      </address>
    </author>
    <date year="2024" month="November" day="21"/>
    <area>Security</area>
    <workgroup>IPsecme</workgroup>
    <keyword>Internet-Draft</keyword>
    <abstract>
      <?line 61?>

<t>This document describes an IKEv2 extension for Header Compression to agree on Attributes for Rules Generation. 
This extension defines the necessary registries for the ESP Header Compression Profile (EHCP) Diet-ESP.</t>
    </abstract>
  </front>
  <middle>
    <?line 66?>

<section anchor="requirements-notation">
      <name>Requirements notation</name>
      <t>The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL
NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED",
"MAY", and "OPTIONAL" in this document are to be interpreted as
described in BCP 14 <xref target="RFC2119"/> <xref target="RFC8174"/> when, and only when, they
appear in all capitals, as shown here.
<?line -6?>
      </t>
    </section>
    <section anchor="introduction">
      <name>Introduction</name>
      <t>The ESP Header Compression Profile (EHCP) <xref target="I-D.ietf-ipsecme-diet-esp"/> minimizes the overhead associated with ESP by compressing both the ESP header and additional fields within the secured packet. EHCP utilizes Attributes for Rules Generation (AfRG) that are specified for each Security Association (SA). Certain AfRG have already been established during the SA negotiation process through IKEv2. This extension facilitates the agreement on the remaining AfRG through IKEv2.</t>
    </section>
    <section anchor="protocol-overview">
      <name>Protocol Overview</name>
      <t>As illustrated in <xref target="fig-overview"/>, an initiator intending to utilize the Header Compression Profile (HCP) informs its peer by sending a HCP_SUPPORTED Notify Payload during the IKE_AUTH and CREATE_CHILD_SA exchanges. The HCP_SUPPORTED includes a list of Proposal payloads, each comprising an EHCP Name along with a set of Attributes for Rules Generation (AfRG)<xref target="I-D.ietf-ipsecme-diet-esp"/>. Any AfRG for which the initiator wishes to specify no limitations SHOULD be excluded, i.e., an AfRG is only sent if the sending peer wants the receiving peer to select a subset of the available values. A given AfRG MAY be repeated with different values in order to provide a list of acceptable values. A range of possible AfRG values MAY be indicated as well.</t>
      <t>If a Proposal contains an unknown HCP Name, or any AfRG in a Proposal is unknown, then the entire Proposal must be discarded by the responder. If none of the received Proposals are deemed acceptable, the responder MAY choose to discard the HCP_SUPPORTED Notify Payload. Nevertheless, it is anticipated that the responder will provide an explanation for rejecting all HCP Proposals. If the reason pertains to an AfRG with an unacceptable value, the responder SHOULD reply with an HCP_UNSUPPORTED Notify Payload. This Notify Payload SHOULD include one or more acceptable Proposal Payloads to guide the initiator.</t>
      <t>Conversely, if the receiver identifies a suitable Proposal, it will respond with an HCP_SUPPORTED Notify Payload that includes the chosen Proposal. In cases where the AfRG was not explicitly stated, the responder will provide the AfRG unless it defaults to a standard value. Each AfRG MUST NOT be mentioned more than one time. When multiple values are provided for a specific AfRG (either multiple values being provided or via a range of acceptable values), the responder MUST NOT provide more than one value. The Proposal MUST NOT contain any range of AfRG.</t>
      <t>Upon receipt of an HCP_UNSUPPORTED Notify Payload, the initiator has the option to restart the CREATE_CHILD_SA exchange.</t>
      <t>When the initiator receives the HCP_SUPPORTED Notify Payload, it will evaluate the Proposal to ensure that it aligns with the initial proposal and adheres to its policies prior to executing the HCP.</t>
      <figure anchor="fig-overview">
        <name>The parameters for Diet-ESP have been established through the HCP_SUPPORTED Notify exchange. In this instance, the responder has opted for the second Proposal, which includes the specified Attributes for Rules Generation (AfRG). Any absent AfRG will default to its predetermined values.</name>
        <artwork align="center"><![CDATA[
Initiator                         Responder
-------------------------------------------------------------------
HDR, SA, KEi, Ni -->
                           <-- HDR, SA, KEr, Nr
HDR, SK {IDi, AUTH,
     SA, TSi, TSr,
     N(HCP_SUPPORTED
         Proposal_ID=1, HCP Name="Diet-ESP"
           AfRG_a
           ...
           AfRG_i
         ...
         Proposal_ID=2, HCP Name="Diet-ESP"
           AfRG_a
           ...
           AfRG_j)
                           <-- HDR, SK {IDr, AUTH,
                                    SA, TSi, TSr,
                                    N(HCP_SUPPORTED
                                      Proposal_ID=2, HCP Name="Diet-ESP"
                                        AfRG_a      
                                        ...
                                        AfRG_j, 
                                        AfRG_k, 
                                        ...
                                        AfRG_u)
]]></artwork>
      </figure>
    </section>
    <section anchor="hcpsupported-and-hcpunsupported-notify-payloads">
      <name>HCP_SUPPORTED and HCP_UNSUPPORTED Notify Payloads</name>
      <t><xref target="fig-notify"/> describes the HCP_SUPPORTED and HCP_UNSUPPORTED Notify Payload.</t>
      <figure anchor="fig-notify">
        <name>Notify Payload</name>
        <artwork align="center"><![CDATA[
                       1                   2                   3
 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Next Payload  |C|  RESERVED   |         Payload Length        |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|  Protocol ID  |   SPI Size    |      Notify Message Type      |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
]]></artwork>
      </figure>
      <t>The fields Next Payload, Critical Bit, RESERVED, and Payload Length are defined in section 3.10 of <xref target="RFC7296"/>.</t>
      <dl>
        <dt>Protocol ID (1 octet):</dt>
        <dd>
          <t>set to zero.</t>
        </dd>
        <dt>SPI Size (1 octet):</dt>
        <dd>
          <t>set to zero.</t>
        </dd>
        <dt>Notify Message Type (2 octets):</dt>
        <dd>
          <t>Specifies the type of notification message. It is set to TBA1 for HCP_SUPPORTED and TBA2 for HCP_UNSUPPORTED</t>
        </dd>
      </dl>
      <t>When sent by the Initiator, the HCP_SUPPORTED Notify Payload contains a list of Proposal payloads described in <xref target="fig-proposal"/>. When sent by the responder the HCP_SUPPORTED Notify Payload contains a single Payload described in <xref target="fig-proposal"/>.</t>
      <figure anchor="fig-proposal">
        <name>Proposal Payload</name>
        <artwork align="center"><![CDATA[
 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|  Proposal ID  |   HCP Name   |      Proposal Length           |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                                                               |
~                          Proposal Data                        ~
|                                                               |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
]]></artwork>
      </figure>
      <dl>
        <dt>Proposal ID (1 octet):</dt>
        <dd>
          <t>The number identifying the Proposal.</t>
        </dd>
        <dt>EHCP Name (2 octets):</dt>
        <dd>
          <t>The identifier of the EHCP Name. (see <xref target="tab_hcp-name"/>)</t>
        </dd>
        <dt>Proposal Length (2 octets):</dt>
        <dd>
          <t>The length in octets  of the Proposal Data</t>
        </dd>
        <dt>Proposal Data:</dt>
        <dd>
          <t>A Proposal contains a set of parameters that are represented via Transform Attribute format <xref section="3.3.5" sectionFormat="comma" target="RFC7296"/> and detailed further as described in <xref target="sec-parameters"/>.</t>
        </dd>
      </dl>
    </section>
    <section anchor="sec-parameters">
      <name>Attributes for Rules Generation</name>
      <t>Attributes for Rules Generation (AfRG) follow the same format as the Transform Attribute <xref section="3.3.5" sectionFormat="comma" target="RFC7296"/> copied for convenience in <xref target="fig-attribute"/>.</t>
      <figure anchor="fig-attribute">
        <name>Transform Attribute Payload</name>
        <artwork align="center"><![CDATA[
 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|A|       Attribute Type        |    AF=0  Attribute Length     |
|F|                             |    AF=1  Attribute Value      |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                   AF=0  Attribute Data                        |
|                   AF=1  Not Transmitted                       |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
]]></artwork>
      </figure>
      <t>There are two types of AfRG: 1) AfRG that are specific to a given HCP and 2) generic AfRG.</t>
      <t>This specification defines range_afrg_proposal as a Generic Attribute for Rules Generation to specify that a given AfRG can be selected within a range of values.</t>
      <ul spacing="normal">
        <li>
          <t>Designation: range_afrg_proposal</t>
        </li>
        <li>
          <t>Has Associated Data: YES (AF=0)</t>
        </li>
        <li>
          <t>Attribute Data: Let AfRG_min and AfRG_max be the minimum and maximum values of the proposed range, expressed following the Transform Attribute Payload format. The corresponding Attribute Data is the concatenation of AfRG_min and AfRG_max.</t>
        </li>
      </ul>
    </section>
    <section anchor="sec-reg">
      <name>Registering a Header Compression Profile</name>
      <t>An HCP needs to register an HCP Name taken from <xref target="tab_hcp-name"/> in <xref target="sec_hcp-name"/>, the specification that describes the operations of the EHCP, as well as the different AfRG. For each AfRG, the corresponding Attribute Type, the AF value, the Attribute Data and the Default Value MUST be specified.</t>
    </section>
    <section anchor="registration-of-diet-esp-ehcp">
      <name>Registration of Diet-ESP EHCP</name>
      <t>This section defines the code points that are needed to agree on the AfRG between two IKEv2 peers as described in <xref target="sec-reg"/>.</t>
      <ul spacing="normal">
        <li>
          <t>HCP Name: "Diet-ESP" as specified in <xref target="tab_hcp-name"/>, <xref target="sec_hcp-name"/>.</t>
        </li>
        <li>
          <t>Specification : <xref target="I-D.ietf-ipsecme-diet-esp"/></t>
        </li>
      </ul>
      <t>The following Attributes for Rules Generation are defined:</t>
      <t>DSCP Compression/Decompression Action (CDA)</t>
      <ul spacing="normal">
        <li>
          <t>Designation: dscp_cda</t>
        </li>
        <li>
          <t>Has Associated Data: YES (AF=0)</t>
        </li>
        <li>
          <t>Attribute Data: DSCP CDA takes discrete values coded over one byte as described in DSCP CDA Value Registry  (<xref target="tab_dscp_cda"/> in <xref target="sec_dscp_cda"/>)</t>
        </li>
        <li>
          <t>Default Value: the default value is set to "uncompress"</t>
        </li>
      </ul>
      <t>ECN Compression/Decompression Action (CDA)</t>
      <ul spacing="normal">
        <li>
          <t>Designation: ecn_cda</t>
        </li>
        <li>
          <t>Has Associated Data: YES (AF=0)</t>
        </li>
        <li>
          <t>Attribute Data: ECN CDA takes discrete values coded over one byte as described in the ECN CDA Value Registry (<xref target="tab_ecn_cda"/> in <xref target="sec_ecn_cda"/>)</t>
        </li>
        <li>
          <t>Default Value: the default value is set to "uncompress"</t>
        </li>
      </ul>
      <t>Flow Label  Compression/Decompression Action (CDA)</t>
      <ul spacing="normal">
        <li>
          <t>Designation: flow_label_cda</t>
        </li>
        <li>
          <t>Has Associated Data: YES (AF=0)</t>
        </li>
        <li>
          <t>Attribute Data: Flow Label CDA takes discrete values coded over one byte as described in the Flow Label CDA Value Registry (<xref target="tab_fl_cda"/> in <xref target="sec_fl_cda"/>)</t>
        </li>
        <li>
          <t>Default Value: the default value is set to "uncompress"</t>
        </li>
      </ul>
      <t>OS or Network Bit Alignment</t>
      <ul spacing="normal">
        <li>
          <t>Designation: alignment</t>
        </li>
        <li>
          <t>Has Associated Data: YES (AF=0)</t>
        </li>
        <li>
          <t>Attribute Data: Byte Alignment takes discrete values coded over one byte as described in the Bit Alignment Value Registry (<xref target="tab_align"/> in <xref target="sec_align"/>)</t>
        </li>
        <li>
          <t>Default Value: the default value is set to "32 bit", which corresponds to the standard IPv6 bit alignment</t>
        </li>
      </ul>
      <t>Security Policy Index (SPI) Least Significant Bits (LSB)</t>
      <ul spacing="normal">
        <li>
          <t>Designation: esp_spi_lsb</t>
        </li>
        <li>
          <t>Has Associated Data: YES (AF=0)</t>
        </li>
        <li>
          <t>Attribute Data: SPI LSB designates the number of bits that are provided to infer the SPI. This number is between 0 and 32.</t>
        </li>
        <li>
          <t>Default Value: the default value is 32, which is the size of the standard SPI in the standard ESP</t>
        </li>
      </ul>
      <t>Sequence Number (SN) Least Significant Bits (LSB)</t>
      <ul spacing="normal">
        <li>
          <t>Designation: esp_sn_lsb</t>
        </li>
        <li>
          <t>Has Associated Data: YES (AF=0)</t>
        </li>
        <li>
          <t>Attribute Data: SN LSB designates the number of bits that are provided to infer the SPI. This number is between 0 and 32.</t>
        </li>
        <li>
          <t>Default Value: the default value is 32, which is the size of the standard SN in the standard ESP</t>
        </li>
      </ul>
    </section>
    <section anchor="iana-considerations">
      <name>IANA Considerations</name>
      <section anchor="registration-of-ikev2-notify-message-types">
        <name>Registration of IKEv2 Notify Message Types</name>
        <t>IANA has allocated two values in the "IKEv2 Notify Message Types - Status Types" registry:</t>
        <artwork><![CDATA[
  Value    Notify Messages - Status Types
-----------------------------------------
  TBA1    HCP_SUPPORTED
  TBA2    HCP_UNSUPPORTED
]]></artwork>
        <t>This specification requests the IANA to create an IKEv2 Header Compression registry (see <xref target="sec_hcp-name"/>), as well as the necessary registries for the ESP Header Compression Profile Diet-ESP, that is the Attribute for Rules Generations (see <xref target="sec_afrg"/>) as well as, when required, the complementary specific AfRG Values associated with each AfRG (see <xref target="sec_afrg-val"/>).</t>
        <t>All registries are "Specification Required".</t>
      </section>
      <section anchor="sec_gen-afrg">
        <name>Registry for Generic Attributes for Rules Generation</name>
        <t>Registry for Generic Attributes for Rules Generation. When Associated Data is set to YES, the AF bit of the corresponding Transform Attribute Payload is set to 0; otherwise it is set to 1. The AfRG Code Point mentioned here MUST NOT be reused by any Registries associated with any Profile and is shared by all profiles.</t>
        <table anchor="tab_gen-afrg">
          <thead>
            <tr>
              <th align="left">AfRG Code Point</th>
              <th align="left">Full Name</th>
              <th align="left">Designation</th>
              <th align="left">Has Associated Data</th>
              <th align="left">Reference</th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td align="left">65535</td>
              <td align="left">RANGE AfRG</td>
              <td align="left">range_afrg</td>
              <td align="left">YES</td>
              <td align="left">ThisRFC</td>
            </tr>
          </tbody>
        </table>
      </section>
      <section anchor="sec_hcp-name">
        <name>Registry for IKEv2 Header Compression Profile</name>
        <table anchor="tab_hcp-name">
          <thead>
            <tr>
              <th align="left">Value (1 Byte)</th>
              <th align="left">Designation</th>
              <th align="left">Reference</th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td align="left">0</td>
              <td align="left">Diet-ESP</td>
              <td align="left">ThisRFC</td>
            </tr>
            <tr>
              <td align="left">1-255</td>
              <td align="left">unallocated</td>
              <td align="left">-</td>
            </tr>
          </tbody>
        </table>
      </section>
      <section anchor="sec_afrg">
        <name>Registry for Diet-ESP Attributes for Rules Generation</name>
        <t>Registry for Attributes for Rules Generation for the ESP Header Compression Profile Diet-ESP. When Associated Data is set to YES, the AF bit of the corresponding Transform Attribute Payload is set to 0; otherwise it is set to 1.</t>
        <table anchor="tab_afrg">
          <thead>
            <tr>
              <th align="left">AfRG Code Point</th>
              <th align="left">Full Name</th>
              <th align="left">Designation</th>
              <th align="left">Has Associated Data</th>
              <th align="left">Reference</th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td align="left">0</td>
              <td align="left">DSCP CDA</td>
              <td align="left">dscp_cda</td>
              <td align="left">YES</td>
              <td align="left">ThisRFC</td>
            </tr>
            <tr>
              <td align="left">1</td>
              <td align="left">ECN CDA</td>
              <td align="left">ecn_cda</td>
              <td align="left">YES</td>
              <td align="left">ThisRFC</td>
            </tr>
            <tr>
              <td align="left">2</td>
              <td align="left">Flow Label CDA</td>
              <td align="left">flow_label_cda</td>
              <td align="left">YES</td>
              <td align="left">ThisRFC</td>
            </tr>
            <tr>
              <td align="left">3</td>
              <td align="left">Alignment</td>
              <td align="left">alignment</td>
              <td align="left">YES</td>
              <td align="left">ThisRFC</td>
            </tr>
            <tr>
              <td align="left">4</td>
              <td align="left">SPI LSB</td>
              <td align="left">esp_spi_lsb</td>
              <td align="left">YES</td>
              <td align="left">ThisRFC</td>
            </tr>
            <tr>
              <td align="left">5</td>
              <td align="left">SN  LSB</td>
              <td align="left">esp_spi_sn</td>
              <td align="left">YES</td>
              <td align="left">ThisRFC</td>
            </tr>
            <tr>
              <td align="left">6 - 2^16-2</td>
              <td align="left">unallocated</td>
              <td align="left">-</td>
              <td align="left">-</td>
              <td align="left">-</td>
            </tr>
          </tbody>
        </table>
      </section>
      <section anchor="sec_afrg-val">
        <name>Registries for the Values of Diet-ESP Attributes for Rules Generation</name>
        <section anchor="sec_dscp_cda">
          <name>DSCP CDA Value Registry</name>
          <table anchor="tab_dscp_cda">
            <thead>
              <tr>
                <th align="left">Value</th>
                <th align="left">Designation</th>
                <th align="left">Reference</th>
              </tr>
            </thead>
            <tbody>
              <tr>
                <td align="left">0</td>
                <td align="left">uncompress</td>
                <td align="left">ThisRFC</td>
              </tr>
              <tr>
                <td align="left">1</td>
                <td align="left">lower</td>
                <td align="left">ThisRFC</td>
              </tr>
              <tr>
                <td align="left">2</td>
                <td align="left">sa</td>
                <td align="left">ThisRFC</td>
              </tr>
              <tr>
                <td align="left">3-255</td>
                <td align="left">unallocated</td>
                <td align="left">-</td>
              </tr>
            </tbody>
          </table>
        </section>
        <section anchor="sec_ecn_cda">
          <name>ECN CDA Value Registry</name>
          <table anchor="tab_ecn_cda">
            <thead>
              <tr>
                <th align="left">Value</th>
                <th align="left">Designation</th>
                <th align="left">Reference</th>
              </tr>
            </thead>
            <tbody>
              <tr>
                <td align="left">0</td>
                <td align="left">uncompress</td>
                <td align="left">ThisRFC</td>
              </tr>
              <tr>
                <td align="left">1</td>
                <td align="left">lower</td>
                <td align="left">ThisRFC</td>
              </tr>
              <tr>
                <td align="left">2-255</td>
                <td align="left">unallocated</td>
                <td align="left">-</td>
              </tr>
            </tbody>
          </table>
        </section>
        <section anchor="sec_fl_cda">
          <name>Flow Label CDA Value Registry</name>
          <table anchor="tab_fl_cda">
            <thead>
              <tr>
                <th align="left">Value</th>
                <th align="left">Designation</th>
                <th align="left">Reference</th>
              </tr>
            </thead>
            <tbody>
              <tr>
                <td align="left">0</td>
                <td align="left">uncompress</td>
                <td align="left">ThisRFC</td>
              </tr>
              <tr>
                <td align="left">1</td>
                <td align="left">lower</td>
                <td align="left">ThisRFC</td>
              </tr>
              <tr>
                <td align="left">2</td>
                <td align="left">generated</td>
                <td align="left">ThisRFC</td>
              </tr>
              <tr>
                <td align="left">3</td>
                <td align="left">zero</td>
                <td align="left">ThisRFC</td>
              </tr>
              <tr>
                <td align="left">4-255</td>
                <td align="left">unallocated</td>
                <td align="left">-</td>
              </tr>
            </tbody>
          </table>
        </section>
        <section anchor="sec_align">
          <name>OS or Network Byte Alignment</name>
          <table anchor="tab_align">
            <thead>
              <tr>
                <th align="left">Value</th>
                <th align="left">Designation</th>
                <th align="left">Reference</th>
              </tr>
            </thead>
            <tbody>
              <tr>
                <td align="left">0</td>
                <td align="left">8 bit</td>
                <td align="left">ThisRFC</td>
              </tr>
              <tr>
                <td align="left">1</td>
                <td align="left">16 bit</td>
                <td align="left">ThisRFC</td>
              </tr>
              <tr>
                <td align="left">2</td>
                <td align="left">32 bit</td>
                <td align="left">ThisRFC</td>
              </tr>
              <tr>
                <td align="left">3</td>
                <td align="left">64 bit</td>
                <td align="left">ThisRFC</td>
              </tr>
              <tr>
                <td align="left">4-255</td>
                <td align="left">unallocated</td>
                <td align="left">-</td>
              </tr>
            </tbody>
          </table>
        </section>
      </section>
    </section>
    <section anchor="security-considerations">
      <name>Security Considerations</name>
      <t>The protocol defined in this document does not modify IKEv2.</t>
      <t>Proposals may be expressed in various ways and a proposal may be expressed in a specific way so that its treatment overloads the receiver. The receiver needs to consider aborting the exchange when too much resource is required.</t>
    </section>
  </middle>
  <back>
    <references anchor="sec-normative-references">
      <name>Normative References</name>
      <reference anchor="RFC2119" target="https://www.rfc-editor.org/info/rfc2119" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.2119.xml">
        <front>
          <title>Key words for use in RFCs to Indicate Requirement Levels</title>
          <author fullname="S. Bradner" initials="S." surname="Bradner"/>
          <date month="March" year="1997"/>
          <abstract>
            <t>In many standards track documents several words are used to signify the requirements in the specification. These words are often capitalized. This document defines these words as they should be interpreted in IETF documents. This document specifies an Internet Best Current Practices for the Internet Community, and requests discussion and suggestions for improvements.</t>
          </abstract>
        </front>
        <seriesInfo name="BCP" value="14"/>
        <seriesInfo name="RFC" value="2119"/>
        <seriesInfo name="DOI" value="10.17487/RFC2119"/>
      </reference>
      <reference anchor="RFC8174" target="https://www.rfc-editor.org/info/rfc8174" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.8174.xml">
        <front>
          <title>Ambiguity of Uppercase vs Lowercase in RFC 2119 Key Words</title>
          <author fullname="B. Leiba" initials="B." surname="Leiba"/>
          <date month="May" year="2017"/>
          <abstract>
            <t>RFC 2119 specifies common key words that may be used in protocol specifications. This document aims to reduce the ambiguity by clarifying that only UPPERCASE usage of the key words have the defined special meanings.</t>
          </abstract>
        </front>
        <seriesInfo name="BCP" value="14"/>
        <seriesInfo name="RFC" value="8174"/>
        <seriesInfo name="DOI" value="10.17487/RFC8174"/>
      </reference>
      <reference anchor="I-D.ietf-ipsecme-diet-esp" target="https://datatracker.ietf.org/doc/html/draft-ietf-ipsecme-diet-esp-02" xml:base="https://bib.ietf.org/public/rfc/bibxml3/reference.I-D.ietf-ipsecme-diet-esp.xml">
        <front>
          <title>ESP Header Compression Profile</title>
          <author fullname="Daniel Migault" initials="D." surname="Migault">
            <organization>Ericsson</organization>
          </author>
          <author fullname="Maryam Hatami" initials="M." surname="Hatami">
            <organization>Concordia University</organization>
          </author>
          <author fullname="Sandra Cespedes" initials="S." surname="Cespedes">
            <organization>Concordia University</organization>
          </author>
          <author fullname="J. William Atwood" initials="J. W." surname="Atwood">
            <organization>Concordia University</organization>
          </author>
          <author fullname="Daiying Liu" initials="D." surname="Liu">
            <organization>Ericsson</organization>
          </author>
          <author fullname="Tobias Guggemos" initials="T." surname="Guggemos">
            <organization>LMU</organization>
          </author>
          <author fullname="Carsten Bormann" initials="C." surname="Bormann">
            <organization>Universitaet Bremen TZI</organization>
          </author>
          <author fullname="David Schinazi" initials="D." surname="Schinazi">
            <organization>Google LLC</organization>
          </author>
          <date day="21" month="October" year="2024"/>
          <abstract>
            <t>The document specifies Diet-ESP, an ESP Header Compression Profile (EHCP) that compresses IPsec/ESP communications using Static Context Header Compression (SCHC). Diet-ESP assumes the Traffic Selectors of the Security Association (SA) can be expressed by a single IKEv2 Traffic Selector Payload [RFC7296], Section 3.13.1. More specifically, the Traffic Selectors are defined with a single type of IP addresses (IPv4 or IPv6), a single IP range, a single protocol (such as UDP, TCP, or not relevant), a single port range and multiple DSCP numbers.</t>
          </abstract>
        </front>
        <seriesInfo name="Internet-Draft" value="draft-ietf-ipsecme-diet-esp-02"/>
      </reference>
      <reference anchor="RFC7296" target="https://www.rfc-editor.org/info/rfc7296" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.7296.xml">
        <front>
          <title>Internet Key Exchange Protocol Version 2 (IKEv2)</title>
          <author fullname="C. Kaufman" initials="C." surname="Kaufman"/>
          <author fullname="P. Hoffman" initials="P." surname="Hoffman"/>
          <author fullname="Y. Nir" initials="Y." surname="Nir"/>
          <author fullname="P. Eronen" initials="P." surname="Eronen"/>
          <author fullname="T. Kivinen" initials="T." surname="Kivinen"/>
          <date month="October" year="2014"/>
          <abstract>
            <t>This document describes version 2 of the Internet Key Exchange (IKE) protocol. IKE is a component of IPsec used for performing mutual authentication and establishing and maintaining Security Associations (SAs). This document obsoletes RFC 5996, and includes all of the errata for it. It advances IKEv2 to be an Internet Standard.</t>
          </abstract>
        </front>
        <seriesInfo name="STD" value="79"/>
        <seriesInfo name="RFC" value="7296"/>
        <seriesInfo name="DOI" value="10.17487/RFC7296"/>
      </reference>
    </references>
  </back>
  <!-- ##markdown-source:
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
IV0FTpI8DagIYxNgTHXg878alpxBCEEAAA==

-->

</rfc>
