<?xml version="1.0" encoding="UTF-8"?>
  <?xml-stylesheet type="text/xsl" href="rfc2629.xslt" ?>
  <!-- generated by https://github.com/cabo/kramdown-rfc version 1.6.21 (Ruby 3.0.2) -->


<!DOCTYPE rfc  [
  <!ENTITY nbsp    "&#160;">
  <!ENTITY zwsp   "&#8203;">
  <!ENTITY nbhy   "&#8209;">
  <!ENTITY wj     "&#8288;">

<!ENTITY RFC6864 SYSTEM "https://bib.ietf.org/public/rfc/bibxml/reference.RFC.6864.xml">
<!ENTITY RFC8900 SYSTEM "https://bib.ietf.org/public/rfc/bibxml/reference.RFC.8900.xml">
<!ENTITY RFC4301 SYSTEM "https://bib.ietf.org/public/rfc/bibxml/reference.RFC.4301.xml">
<!ENTITY RFC1191 SYSTEM "https://bib.ietf.org/public/rfc/bibxml/reference.RFC.1191.xml">
<!ENTITY RFC4821 SYSTEM "https://bib.ietf.org/public/rfc/bibxml/reference.RFC.4821.xml">
<!ENTITY RFC0792 SYSTEM "https://bib.ietf.org/public/rfc/bibxml/reference.RFC.0792.xml">
<!ENTITY RFC2119 SYSTEM "https://bib.ietf.org/public/rfc/bibxml/reference.RFC.2119.xml">
<!ENTITY RFC8174 SYSTEM "https://bib.ietf.org/public/rfc/bibxml/reference.RFC.8174.xml">
<!ENTITY RFC0791 SYSTEM "https://bib.ietf.org/public/rfc/bibxml/reference.RFC.0791.xml">
<!ENTITY RFC8200 SYSTEM "https://bib.ietf.org/public/rfc/bibxml/reference.RFC.8200.xml">
<!ENTITY RFC7296 SYSTEM "https://bib.ietf.org/public/rfc/bibxml/reference.RFC.7296.xml">
<!ENTITY RFC4963 SYSTEM "https://bib.ietf.org/public/rfc/bibxml/reference.RFC.4963.xml">
<!ENTITY I-D.ietf-intarea-tunnels SYSTEM "https://bib.ietf.org/public/rfc/bibxml3/reference.I-D.ietf-intarea-tunnels.xml">
<!ENTITY I-D.spiriyath-ipsecme-dynamic-ipsec-pmtu SYSTEM "https://bib.ietf.org/public/rfc/bibxml3/reference.I-D.spiriyath-ipsecme-dynamic-ipsec-pmtu.xml">
]>


<rfc ipr="trust200902" docName="draft-liu-ipsecme-ikev2-mtu-dect-06" category="std" consensus="true" submissionType="IETF" tocInclude="true" sortRefs="true" symRefs="true">
  <front>
    <title abbrev="LMTA and PTB Notification">IKEv2 Link Maximum Atomic Packet and Packet Too Big Notification Extension</title>

    <author initials="D." surname="Liu" fullname="Daiying Liu" role="editor">
      <organization>Ericsson</organization>
      <address>
        <email>harold.liu@ericsson.com</email>
      </address>
    </author>
    <author initials="D." surname="Migault" fullname="Daniel Migault">
      <organization>Ericsson</organization>
      <address>
        <email>daniel.migault@ericsson.com</email>
      </address>
    </author>
    <author initials="R." surname="Liu" fullname="Renwang Liu">
      <organization>Ericsson</organization>
      <address>
        <email>renwang.liu@ericsson.com</email>
      </address>
    </author>
    <author initials="C." surname="Zhang" fullname="Congjie Zhang">
      <organization>Ericsson</organization>
      <address>
        <email>congjie.zhang@ericsson.com</email>
      </address>
    </author>

    <date year="2023" month="March" day="27"/>

    <area>Security</area>
    <workgroup>IPsecme</workgroup>
    <keyword>Internet-Draft</keyword>

    <abstract>


<t>This document defines the IKEv2 Link Maximum Atomic Packet Notification and Packet Too Big Extension.
This extension enables an egress security gateway to notify its ingress counter part that fragmentation is happening or a packet too big is received (and cannot be decrypted).
In both cases, the egress node provides MTU information that enable the ingress node can configure appropriately its Tunnel  Maximum Transmission Unit or MTU or simply put Tunnel MTU (TMTU) to prevent fragmentation or too big packets to be transmitted.</t>

<t>This extension does not intent to replace ICMP.
It provides information ICMP does not provide and even when that information could be provided by ICMP, this extension provides a reliable authenticated channel that ensures the ingress node receive this information even when ICMP messages cannot be received by the ingress node.</t>



    </abstract>



  </front>

  <middle>


<section anchor="sec1"><name>Introduction</name>

<t>Reassembling fragments at the egress security gateway requires additional resources which under heavy load results in service degradations.
Then, as detailed in <xref target="RFC4963"/>, <xref target="RFC6864"/> or <xref target="RFC8900"/>, fragmentation is considered fragile and not sufficiently robust at high data rates.
Typically, the 16-bit IPv4 identification field is not large enough to prevent duplication making fragmentation not sufficiently robust at high data rates.
In IPv6 the 32 byte identification field reduces such collisions.</t>

<t><xref target="fig-frag"/> depicts various fragmentation scenarios that can occur when Tunnel Transit Packets (TTP) are encapsulated over an IPsec tunnel.
The IPsec packets exchanged between the ingress and the egress security gateway are designated as Tunnel Link Packet (TLP).</t>

<figure title="Illustration of Different Type of Fragmentation.
IPs (resp. IPi, IPe, IPd) designates the IP addresse of the Source, (resp. the Ingress node, the Egress node, the Destination).
The IPsec tunnel is considered as an ESP tunnel.
The IP payload is represented as 'Data'.
Fragmentation is illustrated in splicing 'Data' into 'Da' and 'ta'.
The figure does not show a difference between Data being encrypted or not, and the presence of the ESP header indicates the payload is encrypted." anchor="fig-frag"><artwork><![CDATA[
Source          Security             Security             Destination
or              Gateway              Gateway              or
Sender       (Ingress node)        (Egress node)          Receiver

+--+             +---+                 +---+              +---+
|  |  +  +  +    |   |  +  +  +  +  +  |   |  +  +  +  +  |   |
+--+  routers    +---+    routers      +---+  routers     +---+
                  <--------------------->
                            N
+---+---+----+                            +---+---+----+
|IPs|IPd|Data|  Tunnel Transit Packet     |IPs|IPd|Data|
+---+---+----+         (TTP)              +---+---+----+



1) No fragmentation

                +---+---+---+---+---+----+
                |IPi|IPe|ESP|IPs|IPd|Data| Tunnel Link Packet
                +---+---+---+---+---+----+       (TLP)

2) Mid-tunnel (performed by a router on N)
  (only for IPv4 DF=0  TLP)
                         +---+---+---+---+---+--+
                         |IPi|IPe|ESP|IPs|IPd|Da| (TLP)
                         +---+---+---+---+---+--+
                     +---+---+--+
                     |IPi|IPe|ta| (TLP)
                     +---+---+--+

3) Inner fragmentation (performed by the Ingress node)
  (only for IPv4 DF=0 TTP)

                +---+---+---+---+---+--+
                |IPi|IPe|ESP|IPs|IPd|Da| (TLP)
                +---+---+---+---+---+--+
            +---+---+---+---+---+--+
            |IPi|IPe|ESP|IPs|IPd|ta| (TLP)
            +---+---+---+---+---+--+

4) Outer fragmentation (performed by the Ingress node)
   (IPv4 or IPv6 TLP)
                +---+---+---+---+---+--+
                |IPi|IPe|ESP|IPs|IPd|Da| (TLP)
                +---+---+---+---+---+--+
            +---+---+--+
            |IPi|IPe|ta| (TLP)
            +---+---+--+

5) Source fragmentation
  (IPv6 or IPv4)
    +---+---+--+
    |IPs|IPd|Da|  (TTP)
    +---+---+--+
+---+---+--+
|IPs|IPd|ta|
+---+---+--+

]]></artwork></figure>

<t>Reassembling is performed by the egress node in two cases.
Firstly when mid tunnel fragmentation happens (see 2 <xref target="fig-frag"/>) -- in which case the TLP header or outer header is using IPv4 with its Do not Fragment bit set to 0 (DF=0).
Secondly when Outer fragmentation is performed by the ingress node (see 4 in <xref target="fig-frag"/>).
The main difference between the two scenarios is that with Outer fragmentation, the ingress node is aware that the egress performs reassembly.
Note also that in both cases, reassembling the TLP in itself does not prevent the TTP to be deciphered unless the reassembled TLP exceeds the effective MTU to receive (EMTU_R) - that is the maximum size of the IPsec protected packet that can be accepted by the egress node to perform the ESP encapsulation.</t>

<t><xref target="fig-esp-frag"/> summarizes the various operations that are expected given the size of an IPsec protected TTP size.
The optimal size is the Tunnel maximum atomic packet (TMAP), that is the maximum TTP size that avoids fragmentation. Such TTP generates a Link maximum atomic packet (LMAP) LTP.
Note that in this case and unless specified explicitly the link considered is the physical link between the ingress and egress node.</t>

<figure title="Fragmentation and Packet Too Big as a function of the TTP size or LTP size" anchor="fig-esp-frag"><artwork><![CDATA[
          TMAP              TMTU
+---------+-------------------+--------------> TTP
|         |encap              |encap
|         |<--->|             |<--->|
| No frag. (1)  |  Fragmentation    |
|               |  (2) Mid-tunnel   |  Packet To Big
|               |  (4) Outer        |
+---------------+-------------------+--------> IPsec encapsulated TTP
              LMAP                EMTU_R
]]></artwork></figure>

<t>This document enables a egress node to inform the ingress node that:</t>

<t><list style="symbols">
  <t>a received packet is fragmented</t>
  <t>a too big packet is received</t>
</list></t>

<t>As depicted in <xref target="fig-overview"/>, supporting this extension, the ingress and egress node commit themselves in optimizing the processing of the IPsec tunnel and prevent or at least limit reassembly operation to be performed.
More specifically, the ingress security gateway limits as much as possible the use of outer fragmentation and commit to set their TMTU value so that TTP are not fragmented/reassembled.
In addition, for TTP with IPv4 addresses and DF=0, the ingress node commit to perform inner fragmentation to prevent reassembly at the egress node.</t>

<t>The mechanism is especially useful when the tunnel between the ingress and egress nodes is using IPv4 outer IP addresses with DF=0 as the fragmentation may occur while the ingress may not be aware of it.
With IPv4 DF=1 or IPv6, the mechanism essentially enables the egress node to send the TTP ICMP PTB information (being sent to the Source) to the ingress interface as well as to send the LTP ICMP PTB information being sent to the router of the ingress node) over a authenticated channel (IKEv2).</t>

<t>This extension does not impact or interfere the ICMP processing and ICMP messages are sent, received and processed as usual.
This extension may result in the ingress node receiving MTU indications via two different channels (IKEv2 and ICMP).
The use of IKEv2 may provide additional trust than ICMP (see <xref target="sec-sec"/> ).
The Source is not involved.</t>

<t>This extension does not intent to replace ICMP.
It provides information ICMP does not provide (see <xref target="sec-df1"/> for more details) and when that information could be provided by ICMP, this extension provides a reliable authenticated channel that ensures the ingress node receive this information even when ICMP messages cannot be received by the ingress node.</t>

<section anchor="illustrative-example"><name>Illustrative example</name>

<t>This section provides an illustrative example to provide a high level overview.</t>

<figure title="Overview mechanism" anchor="fig-overview"><artwork><![CDATA[
Source          Security             Security             Destination
or              Gateway              Gateway              or
Sender       (Ingress node)        (Egress node)          Receiver

+--+             +---+                 +---+              +---+
|  |  +  +  +    |   |  +  +  +  +  +  |   |  +  +  +  +  |   |
+--+  routers    +---+    routers      +---+  routers     +---+
                  <--------------------->
                            N
1) Mid-tunnel (performed by a router on N)
  (only for IPv4 DF=0  TLP)
                         +---+---+---+---+---+--+
                         |IPi|IPe|ESP|IPs|IPd|Da| (TLP)
                         +---+---+---+---+---+--+
                     +---+---+--+
                     |IPi|IPe|ta| (TLP)
                     +---+---+--+

2) Egress node detects fragmentation
     - a) it collects IPVersion the IP version of the first fragment
         as well as FragLen, the fragment length
     - b1) If all segments can be reassembled and the reassembled
         packet is properly decrypted a Link Maximum Atomic
         Packet Notification (LMAP) is sent on the IKEv2 channel.
          [IKEv2]
          <---  N( LMAP [ IPVersion, FragLen] )
     - b2) If the packet is too big and cannot be decrypted an
         additional Packet Too Big Notification (PTB) that specifies
         the Link MTU (LMTU) of the router component of the egress
         node (on network N) as well as the effective MTU to receive
         (EMTU_R). Both are configuration parameters.
         An ICMP PTB message may also be sent by the egress node.
         Note that this ICMP may not contain even the SPI, and so is
         likely to not cary sufficient information to the ingress node,
         so any action be taken.
          [IKEv2]
          <---  N( LMAP [ IPVersion, FragLen] )
                N( PTB [LMTU, EMTU_R]
          [ESP]
          <--- ESP( ICMP PTB )

3) Upon receiving the LMAP or optionally the ingress node
  a) Update the TMTU so that the Source performs source fragmentation
    with TTP packet that are not fragmented.
  Source fragmentation
  (IPv6 or IPv4)
    +---+---+--+
    |IPs|IPd|Da|  (TTP)
    +---+---+--+
+---+---+--+
|IPs|IPd|ta|
+---+---+--+


  b) Performs inner fragmentation TTP packets that exceeds the TMTU
    and will generate some fragments.
  Inner fragmentation (performed by the Ingress node)
  (only for IPv4 DF=0 TTP)

                +---+---+---+---+---+--+
                |IPi|IPe|ESP|IPs|IPd|Da| (TLP)
                +---+---+---+---+---+--+
            +---+---+---+---+---+--+
            |IPi|IPe|ESP|IPs|IPd|ta| (TLP)
            +---+---+---+---+---+--+

In both cases the egress node does not proceed to reassembly operations
                                                +---+---+--+
                                                |IPs|IPd|Da|  (TTP)
                                                +---+---+--+
                                            +---+---+--+
                                            |IPs|IPd|ta|
                                            +---+---+--+

]]></artwork></figure>

</section>
<section anchor="related-works"><name>Related works</name>

<t>This work differs from <xref target="I-D.ietf-intarea-tunnels"/> in that <xref target="I-D.ietf-intarea-tunnels"/> which considers the router component - carrying the TTP - and the interface component - handling LTP - independent.
Independence of the Tunnel MTU (for TTP) and link layer MTU for (LTP) is provided by performing outer fragmentation when needed.
<xref target="RFC4301"/> takes another view considers the router component can adapt to the specific needs of the interface component.
In our case, the router MTU can be changed so the source sends PTP of an expected TMAP size.
Note however, that a significant difference between MPA and MTU is that fragmentation is considered as a normal operation and that ICMP Packet Too Big (PTB) is only expected when the router is not able to handle the packet - that is when the (reassembled) packet exceeds the MTU (or more explicitly the effective MTU to receive (EMTU_R) or the Link MTU (LMTU)).</t>

<t>This mechanism follows the <xref target="RFC8900"/> that recommends each layer handles fragmentation at their layer and to reduce the reliance on IP fragmentation to the greatest degree possible.
This document does not describe a Path MTU Discovery (PMTUD)  procedure <xref target="RFC1191"/> nor an Execute Packetization Layer PMTUD (PLMTUD) <xref target="RFC4821"/> procedure.
PLMTUD work has been started in <xref target="I-D.spiriyath-ipsecme-dynamic-ipsec-pmtu"/>.
This document remains focused on providing information on the state of the egress node to the ingress node.
Information in question is fragmentation related but is limited to the observation of fragmentation as well as the EMTU_R and LMTU value - which are configuration parameters.
This document let the ingress node interpret these pieces of information an take the necessary actions.
PLMTUD is much more complex especially as IPsec considers multiple channels such as IKE and IPsec protected data and requires to handle black holing scenarios.</t>

<t>Sending EMTU_R when a too big encapsulated TTP is provided to the egress interface is similar to ICMP PTB, except that this information is sent between the egress and ingress nodes as opposed to between the egress and the Source.
Sending LMTU when a too big LTP is received by the egress router is similar to an ICMP PTB except that the message is carried over the IKEv2 channel, and we ensure that sufficient information (like the SPI) is provided to the ingress node so the appropriated traffic selectors can be identified by the ingress node - see <xref target="sec-df1"/> for more details.
In both cases, the egress node sends this ICMP PTB message and when possible such ICMP messages are expected to be protected by the SPD.</t>

</section>
<section anchor="sec-df1"><name>Why not using DF=1 to avoid Mid fragmentation ?</name>

<t>One can reasonably question why setting the IPv4 DF=1 is not sufficient to avoid fragmentation.
While DF=1 avoids fragmentation it can easily fall into black holingscenarios, unless one can ensure that ICMP PTB message are effectively received with sufficient information by the ingress node to take appropriated actions.
This is not the case in practice, which i sthe reason DF is set to 0.</t>

<t>Suppose the Don't Fragment bit to 1 in the IPv4 Header of the Tunnel Link Packet.
If that packet becomes larger than the link Maximum Transmission Unit (LMTU), the packet is dropped by an on-path router and an ICMPv4 message Packet Too Big (PTB) <xref target="RFC0792"/> is returned to the sending address.
The ICMPv4 PTB message is a Destination Unreachable message with Code equal to 4 and was augmented by <xref target="RFC1191"/> to indicate the acceptable MTU.
Unfortunately, one cannot rely on such procedure as in practice some routers do not check the MTU and as such do not send ICMPv4 messages.
In addition, when ICMPv4 message are sent these message are unprotected, and may be blocked by firewalls or ignored.
This results in IPv4 packets being dropped without the security gateways being aware of it which is also designated as black holing.
To prevent this situation, IPv4 packets often set their DF bit set to 0.
In this case, as described in <xref target="RFC0792"/>, when a packet size exceeds its MTU, the node fragments the incoming packet in multiple fragments.</t>

<t>In addition to the above reasons DF=1 is not appropriate for ESP, there is another important reason that ICMP does not work almost completely for ESP.</t>

<t>This is because ICMPv4 PTB has the following format, defined in RFC 1191:</t>

<figure><artwork><![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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|   Type = 3    |   Code = 4    |           Checksum            |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|           unused = 0          |         Next-Hop MTU          |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|      Internet Header + 64 bits of Original Datagram Data      |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
]]></artwork></figure>

<t>This means that an ICMP packet contains only the IP header (tunnel IP header) of ESP and the following 8 bytes. Normally, if ingress node processes the sent back ICMP PTB packets, it needs to identify the traffic selector based on the ICMP packet and either forwards the ICMP PTB packet to the device that sends the original packet or processes the packet itself. But this does not work for ESP.</t>

<t>For scenarios with UDP or TCP encapsulation, such as NAT, the 8 bytes are only UDP or TCP port numbers and do not even contain SPI information of child SA. Therefore, ingress node cannot identify the traffic selector and proceed to the next step.
For scenarios without L4 encapsulation, these 8 bytes are the SPI and Sequence Number, and ingress node can know which child SA it is from the SPI, but this information is also not enough because the traffic selector for a child's SA can be a range:
For example, if the traffic selector of child SA is 4.4.0/24==7.7.0/24, then 4.4.4.4==7.7.7.7 or 4.4.4.28==7.7.7.28 can both meet, so ingress node also has no way of knowing which stream sends too big packet.</t>

<t>Since the PTB packet returned by ICMP is incomplete, ingress node cannot decrypt the packet and then view the information in the packet to find the exact stream to further handle. Therefore, set DF=1, then ICMP PTB is generated, which has no significance for the IPsec ESP scenario.</t>

</section>
</section>
<section anchor="sec2"><name>Requirements Language</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.</t>

<t>Tunnel, Ingress node, Egress node, Ingress Interface, Egress interface, Tunnel Transit Packets (TTP), Tunnel Link Packet (TLP), Link MTU (LMTU), Tunnel MTU (TMTU), Tunnel maximum atomic packet (TMAP), effective MTU to receive (EMTU_R) are defined in <xref target="I-D.ietf-intarea-tunnels"/>.</t>

</section>
<section anchor="link-maximum-atomic-packet-and-packet-too-big-support-negotiation"><name>Link Maximum Atomic Packet and Packet Too Big Support Negotiation</name>

<t>During an IKEv2 negotiation, the initiator and the responder indicate their support for the Link Maximum Atomic Packet and Packet Too Big Extension by exchanging the LMAP_AND_PTB_SUPPORTED notifications.
This notification MUST be sent in the IKE_AUTH exchange (in case of multiple IKE_AUTH exchanges - in the first IKE_AUTH message from initiator and in the last IKE_AUTH message from responder).
If both the initiator and the responder send this notification during the IKE_AUTH exchange, peers may notify each other with an IPv4 Link Maximum Atomic Packet Notification when fragmentation is observed.
Upon receiving such notifications, the peers may take the necessary actions to prevent such fragmentation to occur.</t>

<figure><artwork><![CDATA[
Initiator                         Responder
-------------------------------------------------------------------
HDR, SA, KEi, Ni -->
                         <-- HDR, SA, KEr, Nr
HDR, SK {IDi, AUTH,
     SA, TSi, TSr,
     N(LMAP_AND_PTB_SUPPORTED)} -->
                         <-- HDR, SK {IDr, AUTH,
                             SA, TSi, TSr,
                             N(LMAP_AND_PTB_SUPPORTED)}
]]></artwork></figure>

</section>
<section anchor="sec-send-lmap"><name>Sending a Link Maximum Atomic Packet Notification</name>

<t>The egress security gateway detects fragmentation occurred when it receives an initial fragment; e.g. with the Flags' More Fragment Bit set to 1 and the Fragment Offset set to 0.
Upon receiving such packet, the egress node determines the IP version (IPVersion) and the fragment length FragLen).
For an IPv4 packet, FragLen is the Total Length field ( see <xref target="RFC0791"/>).
For an IPv6 packet FragLen is the Payload Length (see <xref section="3" sectionFormat="comma" target="RFC8200"/>.
Note that that these values have different meanings as with an IPv6 fragment, FragLen does not includes the IPv6 header but only the payload.</t>

<t>The egress node sends the LMAP notification payload that contains IPVersion and FragLen.</t>

<t>The egress node SHOULD send a maximum of one LMAP notification per (reassembled) received packet.
However, since this extension is especially expected on nodes dealing with high traffic rates, the notification is expected to be sent at reasonable rates per Security Associations.
More specifically, the use of the IKEv2 provides a reliable channel which makes sending redundant notification unnecessary.
Then, the notification rate needs to account for the time the egress node adjust the TMTU, and that TMTU remains implemented.
More details are provided in <xref target="sec-sec"/>.</t>

<figure><artwork><![CDATA[
Egress Security Gateway                 Ingress Security Gateway
-------------------------------------------------------------------
HDR SK { N(LMAP)} -->
]]></artwork></figure>

</section>
<section anchor="sec-recv-lmap"><name>Receiving a Link Maximum Atomic Packet Notification</name>

<t>Upon receiving a LMAP notification, the ingress node derives the tunnel MAP (TMAP) from the Link MAP (LMAP) derived by the FragLen and IPVersion.</t>

<figure title="Computation of TMAP" anchor="fig-tmap"><artwork><![CDATA[
if IPVersion is 4:
  LMAP = FragLen
elif IPVersion is 6:
  LMAP = FragLen + 40
TMAP = LMAP - outer IP header - encapsulation overhead
]]></artwork></figure>

<dl>
  <dt>where</dt>
  <dd><t/></dd>
  <dt>IPVersion:</dt>
  <dd>
    <t>The IP version of the fragment provided by the LMAP notification (see <xref target="sec-send-lmap"/>).</t>
  </dd>
  <dt>FragLen:</dt>
  <dd>
    <t>The Fragment length provided by the LMAP notification (see <xref target="sec-send-lmap"/>).</t>
  </dd>
  <dt>LMAP:</dt>
  <dd>
    <t>For an IPv4 packet, LMAP is directly provided by the fragment length of the LMAP Notification.
For an IPv6 packet, LMAP needs to adds the IPv6 Header length (40 bytes) to the fragment length of the LMAP Notification.</t>
  </dd>
  <dt>outer IP header:</dt>
  <dd>
    <t>The IP header of the LTP
encapsulation overhead:
 contains the ESP header, the ESP Trailer including the variable Pad field.
When the padding is minimizing the Pad Len, the encapsulation header is set to 14 (+ the size of the ICV).
The overhead SHOULD also estimate IP options or IP extensions.</t>
  </dd>
</dl>

<t>The ingress security gateway SHOULD propagates the TMAP as the tunnel MTU back to the Source so the size of future TTP packets does not exceeds the TMAP - eventually performing source fragmentation.
To do so, the ingress node sets the LMTU to TMAP for all traffic designated by the SA.
In this case the LMTU is the MTU associated to the link of the router interface of the ingress node that facing the Source's network.
Upon receiving a TLP larger than the TMAP, the packet is discarded and an ICMP PTB message is returned to the Source which then performs Source Fragmentation (5) (See Section 8.2.1. of <xref target="RFC4301"/>).
It is worth mentioning that only future packets will be impacted, and not those causing fragmentation.</t>

<t>When the TLP is an IPv4 packet with DF=0, the ingress node SHOULD perform Source Fragmentation of the TTP, also represented as Inner Fragmentation (3), sending chunks that do not exceeds TMAP.</t>

<t>Figure 11 in Section 4.2.2 of <xref target="I-D.ietf-intarea-tunnels"/> with tunnel MTU set to TMAP achieves both recommendations, while Figure 12 in Section 4.2.2 describes the inner fragmentation.</t>

</section>
<section anchor="sec-send-ptb"><name>Sending a Packet Too Big Notification</name>

<t>A packet can be rejected because the size of the LTP exceeds the LMTU (of the router component) or when the (reassembled) LTP exceeds the EMTU_R (of the interface component) and so IPsec decapsulation cannot be done.</t>

<t>When the LTP size exceeds the EMTU_R, the egress node SHOULD send a Packet Too Big (PTB) notification that includes the EMTU_R and the LMTU.
If the packet results from a reassembly operation, the egress node MUST send a LMAP notification with the LMAP.
If the packet does not result from a reassembly operation, the egress node MUST NOT send a LMAP notification.</t>

<figure><artwork><![CDATA[
Egress Security Gateway                 Ingress Security Gateway
-------------------------------------------------------------------
HDR SK { N(PTB)} -->
]]></artwork></figure>

</section>
<section anchor="receiving-a-packet-too-big-notification"><name>Receiving a Packet Too Big Notification</name>

<t>Upon receiving a PTB notification, the egress node computes the Tunnel MTU (TMTU) as follows:</t>

<figure title="Computation of TMTU" anchor="fig-tmtu"><artwork><![CDATA[
TMTU = EMTU_R - outer IP header - encapsulation overhead
if LMAP notification is not received:
  TMAP is derived from the LMAP notification
else:
  TMAP = LMTU - outer IP header - encapsulation overhead
TMAP = min( TMAP, TMTU )

]]></artwork></figure>
<dl>
  <dt>with the same notation as in <xref target="fig-tmap"/>:</dt>
  <dd><t/></dd>
  <dt>EMTU_R:</dt>
  <dd>
    <t>The value provided in the PTB notification related to the MTU associated to the egress interface (see <xref target="sec-send-ptb"/>)</t>
  </dd>
  <dt>LMTU :</dt>
  <dd>
    <t>The value provided in the PTB notification related to the LMTU associated to the egress router (see <xref target="sec-send-ptb"/>)</t>
  </dd>
</dl>

<t>The ingress node SHOULD proceed with TMAP as described in <xref target="sec-recv-lmap"/>.</t>

<t>The ingress node MUST ensure the size of the TTP do not exceed the computed TMTU and MUST ensure the size of the LTP do not exceed the LMTU provided in the PTB notification.</t>

</section>
<section anchor="payload-description"><name>Payload Description</name>

<t><xref target="fig:notify"/> illustrates the Notify Payload packet format as described in Section 3.10 of <xref target="RFC7296"/> with a 4 bytes path allowed MTU value as notification data.
This format is used for both the LMAP_AND_PTB_SUPPORTED, LMAP and PTB notifications.</t>

<figure title="Notify Message Format" anchor="fig:notify"><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  |   SPI Size    |      Notify Message Type      |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                                                               |
~                       Notification Data                       ~
|                                                               |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
]]></artwork></figure>

<t>The fields Next Payload, Critical Bit, RESERVED and Payload Length are defined in <xref target="RFC7296"/>. Specific fields defined in this document are:</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 TBD1 for the LMAP_AND_PTB_SUPPORTED notification, TBD2 for the LMAP notification and TBD3 for the PTB notification.</t>
  </dd>
  <dt>Notification Data:</dt>
  <dd>
    <t>Specifies the data associated to the notification message. It is empty for the LMAP_AND_PTB_SUPPORTED notification or a 4 octets that contains the MTU value for the LMAP and PTB notification - as represented in <xref target="fig:LMAP_data"/> and <xref target="fig:PTB_data"/>.</t>
  </dd>
</dl>

<figure title="Notification Data for LMAP" anchor="fig:LMAP_data"><artwork><![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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|IPVers |       Reserved        |          FragLen              |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
]]></artwork></figure>

<t>with:</t>

<dl>
  <dt>IPVersion (4 bits):</dt>
  <dd>
    <t>The IPversion of the received packet</t>
  </dd>
  <dt>Reserved:</dt>
  <dd>
    <t>Reserved bytes MUST be set by the egress node to zero and MUST be ignored by th eingress node.</t>
  </dd>
  <dt>FragLen (2 bytes):</dt>
  <dd>
    <t>The FragLen value (see <xref target="sec-send-lmap"/>)</t>
  </dd>
</dl>

<figure title="Notification Data for PTB" anchor="fig:PTB_data"><artwork><![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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                         LMTU                                  |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                        EMTU_R                                 |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
]]></artwork></figure>

<t>with:</t>

<dl>
  <dt>LMTU (4 bytes):</dt>
  <dd>
    <t>The LMTU of the egress router</t>
  </dd>
  <dt>EMTU_R (4 bytes):</dt>
  <dd>
    <t>The EMTU_R of the egress interface</t>
  </dd>
</dl>

</section>
<section anchor="iana-considerations"><name>IANA Considerations</name>

<t>IANA is requested to allocate two values in the "IKEv2 Notify Message Types - Status Types" registry
(available at https://www.iana.org/assignments/ikev2-parameters/ikev2-parameters.xhtml#ikev2-parameters-16) with the following definition:</t>

<figure><artwork><![CDATA[
+=======+================================+
| Value | NOTIFY MESSAGES - STATUS TYPES |
+=======+================================+
| TBD1  | LMAP_AND_SUPPORTED             |
| TBD2  | LMAP                           |
| TBD3  | PTB                            |
+-------+--------------------------------+
]]></artwork></figure>

</section>
<section anchor="sec-sec"><name>Security Considerations</name>

<t>This document defines an IKEv2 extension to enable an egress node to notify an ingress node that fragmentation is happening as well as the observed fragment length.
In addition, the extension also enable to an egress node to notify an ingress node that a packet too big has been discarded, together with some complementary informations to appropriately update the MTU.</t>

<t>These pieces of information are transferred over the authenticated IKEv2 channel which ensures the origin of the message.
Assuming the egress node is trusted, the ingress node can trust what is being reported effectively observed (like fragmentation is happening, the observed fragment length, a packet too big has been received) by the egress node and that some information are effectively accurate such as the egress LMTU and EMTU_R.
When fragmentation happens and a LMAP notification is being sent, the egress node MUST send the notification once the reassembled packet has been decapsulated.
This ensure that fragmentation has been performed over a authenticated TLP and ensure the TLP has not been forged by any attacker.
With IPv6, only outer fragmentation is permitted so, the ingress node can validate the provided information.
However, sending the notification after the IPsec decapsulation enables the egress node to detect potential injection attacks and prevent sending an unnecessary notification, that may be part of a DDoS attack targeting the ingress node itself.
With IPv4 an attacker could set the DF=0 which would allow any mid tunnel fragmentation.
IPsec (ESP or AH) do not cover the DF flag, so the egress cannot trust the fragment length observed has not been forged, and the security considerations related to MTU discovery <xref target="RFC0791"/>, <xref target="RFC8900"/>, <xref target="RFC4963"/>, <xref target="RFC6864"/>, <xref target="RFC1191"/> apply here.
Note that information carried by the LMAP notification are never carried by ICMP, and all LMAP may share with ICMP is that this information will be used to update the MTU.</t>

<t>The egress node may not be able to decrypt the encrypted TTP packet if the full encrypted TTP cannot be built.
One possibility is that too many fragments are being sent over a too long period of time (slowloris like attacks) (see <xref section="3.7" sectionFormat="comma" target="RFC8900"/>).
Another possibility is that one fragment exceeds the LMTU or that he reassembled (unverified) encrypted TTP exceeds the EMTU_R.
In both cases, a PTB notification SHOULD be sent and if fragmentation is observed a LMAP MUST be sent together with the PTB notification.
Information carried by the PTB (LMTU and EMTU_R) can be trusted.
Without this extension this information would have been carried by ICMP.
In many deployments, the ICMP channel may be unprotected and ICMP packets maybe discarded by firewalls and never reach the egress node.
In addition, the description provided by <xref target="I-D.ietf-intarea-tunnels"/> tends to indicate that the ICMP channel remains between the router components of the ingress and egress nodes and as such are not provided to the interfaces component.
Finally, as detailed in <xref target="sec-df1"/> an ICMP PTB message contains a portion of the encrypted ESP packet, which may not sufficient to deduce the SPI and associated traffic selectors, and as such prevent the ingress node to identify the traffic flow that generates the fragmentation.
In any cases, this results in the information not being available to take the appropriate action.
Sending the PTB notification over ICMP solves these issues and ease the correlation with the LMAP notification.
In term of trust, when sufficient information may be sent both on the IKEv2 channel and via a protected ICMP PTB message, the use of the PTB notification achieves similar trust as the one observed with an ICMP PTB message sent over a IPsec protected channel.
For that reason, the ICMP messages SHOULD be protected by IPsec.
The use of two different path may provide some additional reliability as the same information is taking two different paths and that IKEv2 windows ensures the the information is received - as opposed to the (encrypted) ICMP message that can be dropped.
However, information carried by the LMAP notification cannot be trusted and similar security considerations related to MTU discovery <xref target="RFC0791"/>, <xref target="RFC8900"/>, <xref target="RFC4963"/>, <xref target="RFC6864"/>, <xref target="RFC1191"/> apply here.</t>

<t>Fragmentation happens on a per LTP basis and packet size exceeding EMTU_R happens on a TTP basis.
During high packet rates, this sending a notification for each of these packets is likely to be used by an attacker to trigger a DDoS attack to both egress and ingress nodes.
As a result, the egress node SHOULD be able to configure the maximum rate at which the notifications are sent.
This includes the ability to indicate that LMAP notifications (without PTB) are not sent when the outer IP addresses are of version IPv6.
The reasoning is that with IPv6, the egress node observes outer fragmentation, in which case the ingress node is already aware of it.
In addition, an egress node SHOULD be able to configure a threshold for number of alert per SAs before a notification is sent, a rate limit per SA.</t>

</section>
<section anchor="acknowledgements"><name>Acknowledgements</name>

<t>The authors would like to thank Magnus Westerlund, Paul Wouters, Joe Touch for his reviews and valuable comments and suggestions.</t>

</section>


  </middle>

  <back>


    <references title='Normative References'>

&RFC6864;
&RFC8900;
&RFC4301;
&RFC1191;
&RFC4821;
&RFC0792;
&RFC2119;
&RFC8174;
&RFC0791;
&RFC8200;
&RFC7296;


    </references>

    <references title='Informative References'>

&RFC4963;
&I-D.ietf-intarea-tunnels;
&I-D.spiriyath-ipsecme-dynamic-ipsec-pmtu;


    </references>



  </back>

<!-- ##markdown-source:
H4sIAAAAAAAAA+0923LbRpbvqtI/9DgPIdckI8kaxdaOsytb8lg7sqy15KRm
U1MpiGiSiEGAgwYkK7bzLfst+2V7bn0DQNlKnKnU7tCxQwLo2+lzvzTG4/Hm
Rp3Vud5Xx385utpRJ1nxRr1I3mbLZqkO6nKZTdVZMn2ja5UUqf16UZbqSTZX
p2WdzbJpUmdloY7e1row8G1zI7m8rPTVvjp5cXHA7S6eRA9vbqTltEiWMG5a
JbN6nGfNOFsZPV3qcfZGX+2Ml3UzTvW0Hm/tbW5kq2pf1VVj6p2trUdbO5sb
pq50soRpH108gwHhx74619OmyuqbzY3rOdw5o+42N95cw4+i1lWh6/EhDre5
AdPYV6ZONzc2N1bZ/uaGUnU53Vc32uB3U1bQ/8z4CzfL4DcM2NSLsqJ2+Bnb
L0plBTx1OAFINv4iL/UwyW6yYh7fKiuY61GVTY1BuNjLVYmbotOsLit/VS+T
LN9XiwRupxMA2r9raTmZlstbZvMimydNXndnVGQ6795dMykZPqVWkyW3+qQp
vOoFyCtdXCefCBAZu+Imn7z2pxP1Xwto0B76aVnMf8x0++btg0+50eQnbNQa
Hv+Mx2OVXAJqJtMaf18sMqMA05ulLmqV6llWaKPqhf44tUWk1UN6jtomMoy2
F5Quksscxkng67zSxigjhKHmSa2vkxvAdVXgADcqqw0Aih+blg2SiVolVQ2z
TGo1q5I5zp2nAaMsktVKF4jEZaUSeJImVcOkLmFS8EClpzq70qka4KSnSQHj
qEsNi59WN6tap0OY8HGhLst6AbeNNiMCiMy0KFOtVlV5laWwghcXr2Fys7Ja
8gRoTrw8amQnTq1gLNygWTZvKq1gnlW5qjJYcM6rvGiKAnDdwfuiSgqzzAzB
7HWR1bgkHBH+Z7LlCpqtmto2wxuDC/h3iMBbAXvDLY3hAw0tJBgwBp+Fxdc8
VA3Lnzi88BuWlhrXUMN6auwVGlV6lSdTwJOnL84QYLUHSggQvO2byyOELjg/
db3QArSwEWxznuK05Hn4fkM94U5EE3NjJjChPCO4I+eDSSJqQsspUAKCR3bG
AOhNd2sEKbj7cCp+lrSSJbRI5tCDxxuHTzDHdr8TS3PLLE1zjb++QE5flWkz
pf7ffQGov/0B77zSiTF6eZkj8tp9g5XVIfp1CKXSf28yXFOSAiuGLpMcrpmy
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
ahrAbWNTL/4XBc8eb96HAAA=

-->

</rfc>

