<?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.17 (Ruby 3.0.2) -->
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-he-ipsecme-vpn-shared-ipsecsa-01" category="std" consensus="true" submissionType="IETF" tocInclude="true" sortRefs="true" symRefs="true" version="3">
  <!-- xml2rfc v2v3 conversion 3.22.0 -->
  <front>
    <title abbrev="Shared IPsec Tunnel by VPNs">Shared Use of IPsec Tunnel in a Multi-VPN Environment</title>
    <seriesInfo name="Internet-Draft" value="draft-he-ipsecme-vpn-shared-ipsecsa-01"/>
    <author initials="Q." surname="He" fullname="Qi He">
      <organization abbrev="Huawei">Huawei Technologies</organization>
      <address>
        <postal>
          <street/>
          <city/>
          <region/>
          <code/>
          <country/>
        </postal>
        <email>archibald.heqi@huawei.com</email>
      </address>
    </author>
    <author initials="W." surname="Pan" fullname="Wei Pan">
      <organization abbrev="Huawei">Huawei Technologies</organization>
      <address>
        <postal>
          <street/>
          <city/>
          <region/>
          <code/>
          <country/>
        </postal>
        <email>william.panwei@huawei.com</email>
      </address>
    </author>
    <author initials="X." surname="Chen" fullname="Xiaolan Chen">
      <organization abbrev="Huawei">Huawei Technologies</organization>
      <address>
        <postal>
          <street/>
          <city/>
          <region/>
          <code/>
          <country/>
        </postal>
        <email>chenxiaolan4@huawei.com</email>
      </address>
    </author>
    <author initials="B." surname="Ding" fullname="Beijing Ding">
      <organization abbrev="Huawei">Huawei Technologies</organization>
      <address>
        <postal>
          <street/>
          <city/>
          <region/>
          <code/>
          <country/>
        </postal>
        <email>dingbeijing@huawei.com</email>
      </address>
    </author>
    <date year="2024" month="July" day="07"/>
    <area>Security</area>
    <workgroup>IPSECME Working Group</workgroup>
    <keyword>Internet-Draft</keyword>
    <abstract>
      <?line 85?>

<t>In a multi-VPN environment, currently, different IPsec tunnels (i.e., different IKE SAs and Child SAs) have to be created to differentiate and protect the traffic of each VPN between the device and its peer. When the number of neighbors of a device and the number of VPNs increases, the number of IPsec tunnels also increases considerably. This results in the need for a large number of SAs, which exceeds the device's capacity.</t>
      <t>This document proposes a method for different VPNs to share the use of a single IPsec tunnel, which can greatly reduce the number of SAs required in a multi-VPN scenario.</t>
    </abstract>
    <note removeInRFC="true">
      <name>About This Document</name>
      <t>
        Status information for this document may be found at <eref target="https://datatracker.ietf.org/doc/draft-he-ipsecme-vpn-shared-ipsecsa/"/>.
      </t>
      <t>
        Discussion of this document takes place on the
        ipsec Working Group mailing list (<eref target="mailto:ipsec@ietf.org"/>),
        which is archived at <eref target="https://mailarchive.ietf.org/arch/browse/ipsec/"/>.
        Subscribe at <eref target="https://www.ietf.org/mailman/listinfo/ipsec/"/>.
      </t>
    </note>
  </front>
  <middle>
    <?line 91?>

<section anchor="introduction">
      <name>Introduction</name>
      <t>IPsec <xref target="RFC4301"/> is widely used to provide security for IP communications. VPNs are also a widely used feature in IP networks to create logically isolated networks. Administrators can create multiple VPNs on a device and assign them to different services so that these services are isolated from each other. These VPNs can use the same address space or different address spaces. Regardless of the address spaces these VPNs use, the traffic between different VPNs is not accessible to each other.</t>
      <t>When an administrator has planned multiple VPNs on two devices for use by different services and needs to utilize IPsec to provide security for the traffic, the existing practice is to create separate IPsec tunnels (separate IKE SAs and Child SAs) for different VPNs, as shown in <xref target="differentvpns"/>. The reason for doing this is that the current IKEv2 <xref target="RFC7296"/> does not carry any VPN information when creating a Child SA. The initiator can know which VPN the Child SA is associated with when requesting the creation of this SA. However, the responder can't get any VPN-related information from the request and associate it with the correct VPN. Therefore, different VPNs need to be separated from the IKE SAs, since different IKE SAs require different interfaces (even logical interfaces) and these interfaces can be respectively associated with the corresponding VPNs.</t>
      <figure anchor="differentvpns">
        <name>Separate IPsec Tunnels for Different VPNs Between Two Devices</name>
        <artwork align="center"><![CDATA[
   +------------------+                  +------------------+
   |     Device A     |                  |     Device B     |
   |                  |                  |                  |
   |  +------------+  |                  |  +------------+  |
   |  |            |  |  IPsec Tunnel 1  |  |            |  |
---+->|    VPN 1   +--+------------------+->|    VPN 1   +--+-->
   |  |            |  |                  |  |            |  |
   |  +------------+  |                  |  +------------+  |
   |                  |                  |                  |
   |  +------------+  |                  |  +------------+  |
   |  |            |  |  IPsec Tunnel 2  |  |            |  |
---+->|    VPN 2   +--+------------------+->|    VPN 2   +--+-->
   |  |            |  |                  |  |            |  |
   |  +------------+  |                  |  +------------+  |
   |                  |                  |                  |
   |      ......      |                  |      ......      |
   |                  |                  |                  |
   |  +------------+  |                  |  +------------+  |
   |  |            |  |  IPsec Tunnel N  |  |            |  |
---+->|    VPN N   +--+------------------+->|    VPN N   +--+-->
   |  |            |  |                  |  |            |  |
   |  +------------+  |                  |  +------------+  |
   |                  |                  |                  |
   +------------------+                  +------------------+
]]></artwork>
      </figure>
      <t>Although it is possible to plan the use of private addresses for VPNs within a device, since the network between two devices is a public network, it is necessary to plan public addresses for both ends of the IPsec tunnel. If the number of tunnels increases, the amount of work involved in planning tunnel addresses rises, bringing network planning and management complexity to the operator.</t>
      <t>Meanwhile, for the same VPN, if the device has different neighbors, it needs to create IPsec tunnels with these neighbors separately, as shown in <xref target="differentdevices"/>.</t>
      <figure anchor="differentdevices">
        <name>Separate IPsec Tunnels for the Same VPN Between Different Devices</name>
        <artwork align="center"><![CDATA[
   +------------------+                  +------------------+
   |     Device A     |                  |     Device B     |
   |                  |                  |                  |
   |  +------------+  |  IPsec Tunnel 1  |  +------------+  |
---+->|            +--+------------------+->|            +--+-->
   |  |    VPN 1   |  |                  |  |    VPN 1   |  |
---+->|            +--+-------+          |  |            |  |
   |  +------------+  |       |          |  +------------+  |
   |                  |       |          |                  |
   |      ......      |       |          |      ......      |
   |                  |       |          |                  |
   |  +------------+  |       |          |  +------------+  |
   |  |            |  |       |          |  |            |  |
   |  |    VPN N   |  |       |          |  |    VPN N   |  |
   |  |            |  |       |          |  |            |  |
   |  +------------+  |       |          |  +------------+  |
   |                  |       |          |                  |
   +------------------+       |          +------------------+
                         IPsec|Tunnel 4
                              |          +------------------+
                              |          |     Device C     |
                              |          |                  |
                              |          |  +------------+  |
                              |          |  |            |  |
                              +----------+->|    VPN 1   +--+-->
                                         |  |            |  |
                                         |  +------------+  |
                                         |                  |
                                         |      ......      |
                                         |                  |
                                         |  +------------+  |
                                         |  |            |  |
                                         |  |    VPN N   |  |
                                         |  |            |  |
                                         |  +------------+  |
                                         |                  |
                                         +------------------+
]]></artwork>
      </figure>
      <t>When more peer devices exist and more VPNs are used, more IPsec tunnels need to be established. The complexity of network operation and maintenance is increased, and the number of SAs brought about is also a serious challenge for the devices, since the number of SAs supported by the devices is limited.</t>
      <t>This document proposes a method for multiple VPNs to share the use of IPsec tunnels, which can reduce the number of SAs in the multi-VPN environment, and indirectly reduce the difficulty of network planning, operation, and maintenance.</t>
    </section>
    <section anchor="problem-statement">
      <name>Problem Statement</name>
      <t>In 3GPP networks, the backhaul network between the base station and the security gateway is also protected by IPsec. For traffic traveling from one base station to another, it adds unnecessary overhead if the traffic is detoured from the security gateway. To avoid traffic detouring, the typical practice is to transmit traffic directly between base stations, so that each base station needs to establish an IPsec tunnel with neighboring base stations. As shown in <xref target="fullmeshipsec"/>, the full-meshed IPsec tunnels are established between base stations. In 5G and future millimeter wave applications, base stations will be deployed in more diverse scenarios and at higher densities than before, so devices will need to establish IPsec tunnels with more neighboring base stations.</t>
      <figure anchor="fullmeshipsec">
        <name>Full-Meshed IPsec Tunnels Among Base Stations</name>
        <artwork align="center"><![CDATA[
+------------------+                     +------------------+
|                  |<------------------->|                  |
|  Base Station 1  |                     |  Base Station 2  |
|                  |<---------+          |                  |
+------------------+          |          +------------------+
         ^                    |             ^      ^         
         |                    |             |      |         
         |                    |             |      |         
         |                    |             |      |         
         |      +-------------+-------------+      |         
         |      |             |                    |         
         |      |             |                    |         
         |      |             |                    |         
         v      v             |                    |         
+------------------+          |          +---------+--------+
|                  |          +--------->|                  |
|  Base Station 3  |                     |  Base Station 4  |
|                  |<------------------->|                  |
+------------------+                     +------------------+
]]></artwork>
      </figure>
      <t>Due to the considerable infrastructure construction cost, the operator that owns base stations partially compensates for their investment by sharing their equipment with other operators through Radio Access Network (RAN) Sharing technology <xref target="RANSharing"/>. When multiple operators share the RAN, different operators will be assigned to different VPNs. Because of the isolation of these VPNs, the traffic of different operators does not cross or affect each other, even though the address spaces they use may overlap. However, for these different VPNs, separate IPsec tunnels are needed.</t>
      <t>The number of IPsec tunnels is seriously boosted as the number of base stations and operators sharing the RAN increases. For a scenario where the number of neighbors is N, and the number of sharing operators is M, it is necessary to establish a number of IKE SAs of N * M and a minimum number of Child SAs of N * M. The limited number of SAs supported by the device restricts the development and evolution of services in this scenario.</t>
      <section anchor="possible-solutions">
        <name>Possible Solutions</name>
        <t>Since the device needs to establish an IPsec tunnel with each of its neighbors, and the number of neighbors of the device cannot be optimized, what can be considered is to share the same IPsec tunnel for different VPNs between every two devices. Currently, each VPN's IPsec tunnel uses a separate IKE SA and Child SA, while the shared IPsec tunnel allows different VPNs to use the same IKE SA and Child SA, greatly reducing the number of IKE SAs and Child SAs.</t>
        <t>Currently, when IKEv2 negotiates the creation of a Child SA, it only negotiates the range of traffic to be protected based on the IP five-tuple information without VPN information. That is, the current Child SA does not associate VPN attributes, therefore, different IKE SAs are created to distinguish the traffic of different VPNs. To realize the sharing of the same IPsec tunnel by different VPNs, firstly, it is necessary to add the VPN attribute for each traffic selector when negotiating the traffic to be protected in Child SAs, so that the traffic of different VPNs can be unambiguously placed into the same Child SA. Secondly, because the relationship between Child SAs and VPNs is not one-to-one, it is not possible to determine the VPN based on the SPI field in the IPsec data packet, so it is also necessary to carry the VPN information in the IPsec data packet to distinguish to which VPN the inner packet belongs.</t>
      </section>
    </section>
    <section anchor="requirements-language">
      <name>Requirements Language</name>
      <t>The key words "<bcp14>MUST</bcp14>", "<bcp14>MUST NOT</bcp14>", "<bcp14>REQUIRED</bcp14>", "<bcp14>SHALL</bcp14>", "<bcp14>SHALL
NOT</bcp14>", "<bcp14>SHOULD</bcp14>", "<bcp14>SHOULD NOT</bcp14>", "<bcp14>RECOMMENDED</bcp14>", "<bcp14>NOT RECOMMENDED</bcp14>",
"<bcp14>MAY</bcp14>", and "<bcp14>OPTIONAL</bcp14>" 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.</t>
      <?line -18?>

</section>
    <section anchor="vpn-based-traffic-selection-in-ikev2">
      <name>VPN-Based Traffic Selection in IKEv2</name>
      <section anchor="negotiation-of-support-for-vpn-based-traffic-selection">
        <name>Negotiation of Support for VPN-Based Traffic Selection</name>
        <t>To indicate support for combining VPN information with the Traffic Selector when creating or rekeying the Child SA, the initiator includes the VPN_BASED_TS_SUPPORTED notify payload in the IKE_SA_INIT exchange request.</t>
        <t>A responder that does not support the VPN-based traffic selection processes the request as normal, and does not include the new Notify in the response. As per regular IKEv2 processing, a responder that does not recognize this new Notify, <bcp14>MUST</bcp14> ignore the notify. The absence of the Notify in the response indicates to the initiator that the responder doesn't support or want the use of VPN-based traffic selection. The initiator can continue the IKEv2 negotiation normally or terminate the negotiation based on its local choices.</t>
        <t>A responder that supports the VPN-based traffic selection includes the VPN_BASED_TS_SUPPORTED notify payload in the response, to indicate that it's willing to use the VPN-based Traffic Selectors when creating or rekeying the Child SAs. If both peers have exchanged VPN_BASED_TRAFFIC_SELECTOR_SUPPORTED notifies, peers <bcp14>MUST</bcp14> use the new traffic selectors defined in this document during the CREATE_CHILD_SA exchange, and <bcp14>MUST NOT</bcp14> use the traditional traffic selectors.</t>
        <t>The IKE_SA_INIT message exchange in this case is shown below:</t>
        <artwork><![CDATA[
Initiator                         Responder
-------------------------------------------------------------------
HDR, SAi1, KEi, Ni,
    N(VPN_BASED_TS_SUPPORTED)  -->
                             <--  HDR, SAr1, KEr, Nr, [CERTREQ,]
                                      N(VPN_BASED_TS_SUPPORTED)
]]></artwork>
      </section>
      <section anchor="vpn-based-traffic-selector-negotiation">
        <name>VPN-Based Traffic Selector Negotiation</name>
        <t>Two new Traffic Selector types are introduced to combine the VPN information with the IP address range information. TS_IPV4_ADDR_RANGE_VPN is for the IPv4 VPN addresses, and TS_IPV6_ADDR_RANGE_VPN is for IPv6. Compared to TS_IPV4_ADDR_RANGE and TS_IPV6_ADDR_RANGE, the two new Traffic Selectors contain an additional field called "VPN ID". This new field indicates which VPN the Traffic Selector is associated with.</t>
        <t>When multiple Traffic Selectors with different VPN IDs are included in the TSi and TSr payloads, only the ones with the same VPN ID can be paired. For example, the Traffic Selectors with VPN 1 in the TSi payload should be paired with the Traffic Selectors with VPN 1 in the TSr payload.</t>
        <t>If a Traffic Selector in the TSi or TSr payload can't be paired with a corresponding one with the same VPN ID, then this Traffic Selector <bcp14>MUST</bcp14> be ignored. For example, if a Traffic Selector with VPN 2 is in the TSi payload and no Traffic Selector with VPN 2 is in the TSr payload, then this one in the TSi payload must be ignored.</t>
        <t>If the VPN ID in the paired Traffic Selectors is not recognized, or if all Traffic Selectors in the TSi payload can't be paired with any Traffic Selector in the TSr payload, then the responder <bcp14>SHOULD</bcp14> reply with the TS_UNACCEPTABLE notification to the initiator.</t>
        <t>The initiator and responder <bcp14>MUST</bcp14> share the same understanding of VPN IDs; otherwise, the traffic negotiation result may divert from the operator's expectation. How to do this is out of the scope of this document, and one possible way is that the operator configures the same VPNs and VPN IDs for all devices.</t>
        <t>Other processes for the two new Traffic Selectors are the same as the ones for the traditional Traffic Selectors.</t>
      </section>
      <section anchor="payload-formats">
        <name>Payload Formats</name>
        <section anchor="vpnbasedtssupported-notify">
          <name>VPN_BASED_TS_SUPPORTED Notify</name>
          <t>The VPN_BASED_TS_SUPPORTED Notify Message type notification is used by the initiator and responder to indicate their support for combining VPN information with the Traffic Selector when creating or rekeying the Child SA.</t>
          <artwork><![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(=0)| SPI Size (=0) |      Notify Message Type      |
+---------------+---------------+-------------------------------+
]]></artwork>
          <ul spacing="normal">
            <li>
              <t>Protocol ID (1 octet) - <bcp14>MUST</bcp14> be 0.</t>
            </li>
            <li>
              <t>SPI Size (1 octet) - <bcp14>MUST</bcp14> be 0, meaning no SPI is present.</t>
            </li>
            <li>
              <t>Notify Message Type (2 octets) - <bcp14>MUST</bcp14> be set to the value <tt>TBD1</tt>.</t>
            </li>
          </ul>
          <t>This Notify Message type contains no data.</t>
          <t>The Critical bit <bcp14>MUST</bcp14> be 0. A non-zero value <bcp14>MUST</bcp14> be ignored.</t>
        </section>
        <section anchor="tsipv4addrrangevpn-and-tsipv6addrrangevpn-traffic-selectors">
          <name>TS_IPV4_ADDR_RANGE_VPN and TS_IPV6_ADDR_RANGE_VPN Traffic Selectors</name>
          <t>The TS_IPV4_ADDR_RANGE_VPN and TS_IPV6_ADDR_RANGE_VPN Traffic Selectors are used to identify packet flows, based on IP address ranges and VPN information, for processing by IPsec security services.</t>
          <artwork><![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
+---------------+---------------+-------------------------------+
|   TS Type     |IP Protocol ID*|       Selector Length         |
+---------------+---------------+-------------------------------+
|           Start Port*         |           End Port*           |
+---------------+---------------+-------------------------------+
|                                                               |
~                         Starting Address*                     ~
|                                                               |
+---------------------------------------------------------------+
|                                                               |
~                         Ending Address*                       ~
|                                                               |
+---------------------------------------------------------------+
|                             VPN ID                            |
+---------------------------------------------------------------+
]]></artwork>
          <ul spacing="normal">
            <li>
              <t>TS Type (one octet) - Specifies the type of Traffic Selector.</t>
            </li>
            <li>
              <t>IP protocol ID (1 octet) - Value specifying an associated IP protocol ID (such as UDP, TCP, and ICMP).  A value of zero means that the protocol ID is not relevant to this Traffic Selector -- the SA can carry all protocols.</t>
            </li>
            <li>
              <t>Selector Length (2 octets, unsigned integer) - Specifies the length of this Traffic Selector substructure including the header.</t>
            </li>
            <li>
              <t>Start Port (2 octets, unsigned integer) - Value specifying the smallest port number allowed by this Traffic Selector.  For protocols for which port is undefined (including protocol 0), or if all ports are allowed, this field <bcp14>MUST</bcp14> be zero.  ICMP and ICMPv6 Type and Code values, as well as Mobile IP version 6 (MIPv6) mobility header (MH) Type values, are represented in this field as specified in Section 4.4.1.1 of <xref target="RFC4301"/>.  ICMP Type and Code values are treated as a single 16-bit integer port number, with Type in the most significant eight bits and Code in the least significant eight bits.  MIPv6 MH Type values are treated as a single 16-bit integer port number, with Type in the most significant eight bits and the least significant eight bits set to zero.</t>
            </li>
            <li>
              <t>End Port (2 octets, unsigned integer) - Value specifying the largest port number allowed by this Traffic Selector.  For protocols for which port is undefined (including protocol 0), or if all ports are allowed, this field <bcp14>MUST</bcp14> be 65535.  ICMP and ICMPv6 Type and Code values, as well as MIPv6 MH Type values, are represented in this field as specified in Section 4.4.1.1 of <xref target="RFC4301"/>.  ICMP Type and Code values are treated as a single 16-bit integer port number, with Type in the most significant eight bits and Code in the least significant eight bits.  MIPv6 MH Type values are treated as a single 16-bit integer port number, with Type in the most significant eight bits and the least significant eight bits set to zero.</t>
            </li>
            <li>
              <t>Starting Address - The smallest address included in this Traffic Selector (length determined by TS Type).</t>
            </li>
            <li>
              <t>Ending Address - The largest address included in this Traffic Selector (length determined by TS Type).</t>
            </li>
            <li>
              <t>VPN ID - Specifies the ID of the VPN that this Traffic Selector is associated with.</t>
            </li>
          </ul>
          <t>The following table lists values for the Traffic Selector Type field and the corresponding Address Selector Data.</t>
          <artwork><![CDATA[
TS Type                            Value
-------------------------------------------------------------------
TS_IPV4_ADDR_RANGE_VPN              TBD2

    A range of IPv4 VPN addresses, represented by three four-
    octet values.  The first value is the beginning IPv4 address
    (inclusive), the second value is the ending IPv4 address
    (inclusive), and the third value is the VPN ID associated with
    these IPv4 addresses.  All addresses with the same VPN ID
    falling between the two specified addresses are considered to
    be within the list.

TS_IPV6_ADDR_RANGE_VPN              TBD3

    A range of IPv6 VPN addresses, represented by two sixteen-
    octet values and one four-octet value.  The first sixteen-
    octet value is the beginning IPv6 address (inclusive), the
    second sixteen-octet value is the ending IPv6 address
    (inclusive), and the four-octet value is the VPN ID
    associated with these IPv6 addresses.  All addresses with the
    same VPN ID falling between the two specified addresses are
    considered to be within the list.
]]></artwork>
        </section>
      </section>
    </section>
    <section anchor="ipsec-data-packet-processing">
      <name>IPsec Data Packet Processing</name>
      <t>When traffic belonging to different VPNs share the same IPsec tunnel (i.e., the same Child SA), the outer IP header and the ESP <xref target="RFC4303"/> / AH <xref target="RFC4302"/> header (the SPI field) are the same for all IPsec traffic. Hence, these headers aren't able to differentiate which VPN the inner traffic belongs to. In order to differentiate between the inner packets' VPNs, it is required that the VPN ID information should be added into the IPsec data packet.</t>
      <t>The possible way is to add VPN ID information in the AH header, and in the ESP header or trailer.</t>
      <section anchor="carrying-vpn-id-in-the-esp-data-packet">
        <name>Carrying VPN ID in the ESP Data Packet</name>
        <section anchor="carrying-vpn-id-in-esp-header">
          <name>Carrying VPN ID in ESP Header</name>
          <t>When using IPsec ESP, the first possible option is that the sender inserts the four-octet VPN ID into the ESP header after the Sequence Number field. The extended ESP format is shown as <xref target="extendedespheader"/>.</t>
          <figure anchor="extendedespheader">
            <name>Extended ESP Format 1</name>
            <artwork align="center"><![CDATA[
  0                   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
+---------------------------------------------------------------+
|               Security Parameters Index (SPI)                 |
+---------------------------------------------------------------+
|                      Sequence Number                          |
+---------------------------------------------------------------+
|                            VPN ID                             |
+---------------------------------------------------------------+---
|                        IV (optional)                          | ^ p
+---------------------------------------------------------------+ | a
|                                                               | | y
~               Rest of Payload Data  (variable)                ~ | l
|                                                               | | o
+               +-----------------------------------------------+ | a
|               |         TFC Padding * (optional, variable)    | v d
+---------------+         +-------------------------------------+---
|                         |        Padding (0-255 bytes)        |
+-------------------------+     +---------------+---------------+
|                               |  Pad Length   | Next Header   |
+-------------------------------+---------------+---------------+
|                                                               |
~              Integrity Check Value-ICV (variable)             ~
|                                                               |
+---------------------------------------------------------------+
]]></artwork>
          </figure>
          <ul spacing="normal">
            <li>
              <t>VPN ID - Specifies the ID of the VPN that this ESP packet belongs to.</t>
            </li>
          </ul>
          <t>The receiver distinguishes the VPN from the VPN ID in the ESP header. Then, all these packets will be processed by the corresponding VPN after the decryption and integrity check.</t>
        </section>
        <section anchor="carrying-vpn-id-in-wesp-header">
          <name>Carrying VPN ID in WESP Header</name>
          <t>The second possible option is that using the Flow Identifier option defined in WESP format <xref target="I-D.klassert-ipsecme-wespv2"/>.  The sender inserts the four-octet VPN ID into the Flow Identifier option. The format is shown as <xref target="wespheader"/>.</t>
          <figure anchor="wespheader">
            <name>WESP Format</name>
            <artwork align="center"><![CDATA[
 0                   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 Header  |    HdrLen     |CryptOffset| R | V |  OptLen   |
+---------------+---------------+-----------+---+---+-----------+
|  Flow Id Opt  |  Opt Data Len |             VPN ID            |
+---------------+---------------+-------------------------------+
|        VPN ID (Cont.)         |         Padding Option        |
+-------------------------------+-------------------------------+
|                  Existing ESP Encapsulation                   ~
|                                                               |
+---------------------------------------------------------------+
]]></artwork>
          </figure>
          <ul spacing="normal">
            <li>
              <t>VPN ID - Specifies the ID of the VPN that the inner ESP packet belongs to.</t>
            </li>
          </ul>
          <t>The receiver distinguishes the VPN from the VPN ID in the WESP header. Then, all these packets will be processed by the corresponding VPN after the decryption and integrity check.</t>
        </section>
        <section anchor="carrying-vpn-id-in-esp-trailer">
          <name>Carrying VPN ID in ESP Trailer</name>
          <t>When using IPsec ESP, the third possible option is that the sender inserts the four-octet VPN ID into the ESP trailer before the Padding field. The extended ESP format is shown as <xref target="extendedesptrailer1"/>.</t>
          <figure anchor="extendedesptrailer1">
            <name>Extended ESP Format 2</name>
            <artwork align="center"><![CDATA[
  0                   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
+---------------------------------------------------------------+
|               Security Parameters Index (SPI)                 |
+---------------------------------------------------------------+
|                      Sequence Number                          |
+---------------------------------------------------------------+---
|                        IV (optional)                          | ^ p
+---------------------------------------------------------------+ | a
|                                                               | | y
~               Rest of Payload Data  (variable)                ~ | l
|                                                               | | o
+               +-----------------------------------------------+ | a
|               |         TFC Padding * (optional, variable)    | v d
+---------------+         +-------------------------------------+---
|                         |                VPN ID               |
+-------------------------+-------------------------------------+
|      VPN ID (Cont.)     |        Padding (0-255 bytes)        |
+-------------------------+     +---------------+---------------+
|                               |  Pad Length   | Next Header   |
+-------------------------------+---------------+---------------+
|                                                               |
~              Integrity Check Value-ICV (variable)             ~
|                                                               |
+---------------------------------------------------------------+
]]></artwork>
          </figure>
          <ul spacing="normal">
            <li>
              <t>VPN ID - Specifies the ID of the VPN that this ESP packet belongs to.</t>
            </li>
          </ul>
          <t>The fourth possible option is that the sender inserts the four-octet VPN ID into the ESP trailer before the Next Header field. The extended ESP format is shown as <xref target="extendedesptrailer2"/>.</t>
          <figure anchor="extendedesptrailer2">
            <name>Extended ESP Format 3</name>
            <artwork align="center"><![CDATA[
  0                   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
+---------------------------------------------------------------+
|               Security Parameters Index (SPI)                 |
+---------------------------------------------------------------+
|                      Sequence Number                          |
+---------------------------------------------------------------+---
|                        IV (optional)                          | ^ p
+---------------------------------------------------------------+ | a
|                                                               | | y
~               Rest of Payload Data  (variable)                ~ | l
|                                                               | | o
+               +-----------------------------------------------+ | a
|               |         TFC Padding * (optional, variable)    | v d
+---------------+         +-------------------------------------+---
|                         |        Padding (0-255 bytes)        |
+-------------------------+     +---------------+---------------+
|                               |  Pad Length   |    VPN ID     |
+-------------------------------+---------------+---------------+
|                  VPN ID (Cont.)               |  Next Header  |
+-----------------------------------------------+---------------+
|                                                               |
~              Integrity Check Value-ICV (variable)             ~
|                                                               |
+---------------------------------------------------------------+
]]></artwork>
          </figure>
          <ul spacing="normal">
            <li>
              <t>VPN ID - Specifies the ID of the VPN that this ESP packet belongs to.</t>
            </li>
          </ul>
          <t>The receiver decrypts the ESP packet and distinguishes the VPN from the VPN ID in the ESP trailer. Then, all these packets will be processed by the corresponding VPN after the decryption and integrity check.</t>
        </section>
      </section>
      <section anchor="carrying-vpn-id-in-the-ah-data-packet">
        <name>Carrying VPN ID in the AH Data Packet</name>
        <t>When using IPsec AH, the sender inserts the four-octet VPN ID into the AH header after the Sequence Number field. The extended AH header format is shown as <xref target="extendedahheader"/>.</t>
        <figure anchor="extendedahheader">
          <name>Extended AH Header Format</name>
          <artwork align="center"><![CDATA[
  0                   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 Header   |  Payload Len  |          RESERVED             |
+---------------+---------------+-------------------------------+
|                 Security Parameters Index (SPI)               |
+---------------------------------------------------------------+
|                       Sequence Number                         |
+---------------------------------------------------------------+
|                            VPN ID                             |
+---------------------------------------------------------------+
|                                                               |
~              Integrity Check Value-ICV (variable)             ~
|                                                               |
+---------------------------------------------------------------+
]]></artwork>
        </figure>
        <ul spacing="normal">
          <li>
            <t>VPN ID - Specifies the ID of the VPN that this AH packet belongs to.</t>
          </li>
        </ul>
        <t>The receiver distinguishes the VPN from the VPN ID in the AH header. Then, all these packets will be processed by the corresponding VPN after the integrity check.</t>
      </section>
    </section>
    <section anchor="iana-considerations">
      <name>IANA Considerations</name>
      <t>TBD</t>
    </section>
    <section anchor="security-considerations">
      <name>Security Considerations</name>
      <t>TBD</t>
    </section>
    <section anchor="acknowledgments">
      <name>Acknowledgments</name>
      <t>TBD</t>
    </section>
  </middle>
  <back>
    <references>
      <name>References</name>
      <references anchor="sec-normative-references">
        <name>Normative References</name>
        <reference anchor="RFC4302">
          <front>
            <title>IP Authentication Header</title>
            <author fullname="S. Kent" initials="S." surname="Kent"/>
            <date month="December" year="2005"/>
            <abstract>
              <t>This document describes an updated version of the IP Authentication Header (AH), which is designed to provide authentication services in IPv4 and IPv6. This document obsoletes RFC 2402 (November 1998). [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="4302"/>
          <seriesInfo name="DOI" value="10.17487/RFC4302"/>
        </reference>
        <reference anchor="RFC4303">
          <front>
            <title>IP Encapsulating Security Payload (ESP)</title>
            <author fullname="S. Kent" initials="S." surname="Kent"/>
            <date month="December" year="2005"/>
            <abstract>
              <t>This document describes an updated version of the Encapsulating Security Payload (ESP) protocol, which is designed to provide a mix of security services in IPv4 and IPv6. ESP is used to provide confidentiality, data origin authentication, connectionless integrity, an anti-replay service (a form of partial sequence integrity), and limited traffic flow confidentiality. This document obsoletes RFC 2406 (November 1998). [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="4303"/>
          <seriesInfo name="DOI" value="10.17487/RFC4303"/>
        </reference>
        <reference anchor="RFC7296">
          <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>
        <reference anchor="I-D.klassert-ipsecme-wespv2">
          <front>
            <title>Wrapped ESP Version 2</title>
            <author fullname="Steffen Klassert" initials="S." surname="Klassert">
              <organization>secunet Security Networks AG</organization>
            </author>
            <author fullname="Antony Antony" initials="A." surname="Antony">
              <organization>secunet Security Networks AG</organization>
            </author>
            <date day="28" month="June" year="2024"/>
            <abstract>
              <t>   This document describes the Wrapped Encapsulating Security Payload v2
   (WESPv2) protocol, which builds on the Encapsulating Security Payload
   (ESP) [RFC4303].  It is designed to overcome limitations of the ESP
   protocol to expose inner flow information to the network in a
   transparent way.  To do so, it adapts IPv6 Extension header options
   to WESPv2 where flow identitiers can be stored.  It also defines a
   Crypt Offset to allow intermediate devices to read some header bytes
   at the beginning of the inner packet.  In particular, this preserves
   the original use-case of WESP [RFC5840].

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-klassert-ipsecme-wespv2-01"/>
        </reference>
        <reference anchor="RFC2119">
          <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">
          <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>
      </references>
      <references anchor="sec-informative-references">
        <name>Informative References</name>
        <reference anchor="RFC4301">
          <front>
            <title>Security Architecture for the Internet Protocol</title>
            <author fullname="S. Kent" initials="S." surname="Kent"/>
            <author fullname="K. Seo" initials="K." surname="Seo"/>
            <date month="December" year="2005"/>
            <abstract>
              <t>This document describes an updated version of the "Security Architecture for IP", which is designed to provide security services for traffic at the IP layer. This document obsoletes RFC 2401 (November 1998). [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="4301"/>
          <seriesInfo name="DOI" value="10.17487/RFC4301"/>
        </reference>
        <reference anchor="RANSharing" target="https://www.3gpp.org/ftp/Specs/archive/32_series/32.130/32130-i00.zip">
          <front>
            <title>Telecommunication management; Network sharing; Concepts and requirements</title>
            <author>
              <organization>3GPP</organization>
            </author>
            <date year="2023" month="September"/>
          </front>
          <seriesInfo name="3GPP TS 32.130 v18.0.0" value=""/>
        </reference>
      </references>
    </references>
    <?line 558?>



  </back>
  <!-- ##markdown-source:
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
MfqbGPD7/wEwAv5ZEoQAAA==

-->

</rfc>
