<?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.35 (Ruby 3.0.2) -->


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

]>

<?rfc docmapping="yes"?>

<rfc ipr="trust200902" docName="draft-ermagan-lisp-nat-traversal-20" category="exp" submissionType="IETF" tocInclude="true" sortRefs="true" symRefs="true">
  <front>
    <title abbrev="LISP NAT Traversal">NAT traversal for LISP</title>

    <author initials="D." surname="Saucez" fullname="Damien Saucez" role="editor">
      <organization abbrev="Inria">Inria</organization>
      <address>
        <postal>
          <country>France</country>
        </postal>
        <email>damien.saucez@inria.fr</email>
      </address>
    </author>
    <author initials="L." surname="Iannone" fullname="Luigi Iannone" role="editor">
      <organization abbrev="Huawei">Huawei Technologies France S.A.S.U.</organization>
      <address>
        <postal>
          <street>18, Quai du Point du Jour</street>
          <city>Boulogne-Billancourt</city>
          <code>92100</code>
          <country>France</country>
        </postal>
        <email>luigi.iannone@huawei.com</email>
      </address>
    </author>
    <author initials="V." surname="Ermagan" fullname="Vina Ermagan">
      <organization>Google</organization>
      <address>
        <postal>
          <country>United States of America</country>
        </postal>
        <email>ermagan@gmail.com</email>
      </address>
    </author>
    <author initials="D." surname="Farinacci" fullname="Dino Farinacci">
      <organization>lispers.net</organization>
      <address>
        <email>farinacci@gmail.com</email>
      </address>
    </author>
    <author initials="D." surname="Lewis" fullname="Darrel Lewis">
      <organization>ICANN</organization>
      <address>
        <postal>
          <city>Los Angeles</city>
          <code>CA 90292</code>
          <country>United States of America</country>
        </postal>
        <email>darrel.lewis@icann.org</email>
      </address>
    </author>
    <author initials="F." surname="Maino" fullname="Fabio Maino">
      <organization>Cisco Systems, Inc.</organization>
      <address>
        <email>fmaino@cisco.com</email>
      </address>
    </author>
    <author initials="M." surname="Portoles Comeras" fullname="Marc Portoles Comeras">
      <organization>Cisco Systems, Inc.</organization>
      <address>
        <email>mportole@cisco.com</email>
      </address>
    </author>
    <author initials="J." surname="Skriver" fullname="Jesper Skriver">
      <organization>Arista</organization>
      <address>
        <email>jesper@skriver.dk</email>
      </address>
    </author>
    <author initials="C." surname="White" fullname="Chris White">
      <organization>Logicalelegance, Inc.</organization>
      <address>
        <email>chris@logicalelegance.com</email>
      </address>
    </author>
    <author initials="A." surname="Lopez" fullname="Albert Lopez">
      <organization>UPC/BarcelonaTech</organization>
      <address>
        <email>alopez@ac.upc.edu</email>
      </address>
    </author>

    <date />

    <area>Internet</area>
    <workgroup>LISP Working Group</workgroup>
    <keyword>Internet-Draft</keyword>

    <abstract>


<?line 98?>

<t>This document describes a mechanism for IPv4 NAT traversal for LISP tunnel routers (xTR) and LISP Mobile Nodes (LISP-MN) behind a Network Address Translator (NAT)  device. A LISP device both detects the NAT and initializes its state. Forwarding to the LISP device through a NAT is enabled by the LISP Re-encapsulating Tunnel Router (RTR) network element, which acts as an anchor point in the data plane, forwarding traffic from unmodified LISP devices through the NAT.</t>



    </abstract>



  </front>

  <middle>


<?line 102?>

<!-- To Do List:
   - DOuble check if all terminology in line with 9301 
   - Check how this works with Pub/Sub 
   - Complete Security Considerations Section.
   - May be add text in an appendix about 0xFFFFFF IID and AFI=0. 
-->

<section anchor="SEC:intro"><name>Introduction</name>

<t>The Locator/ID Separation Protocol <xref target="RFC9300"/> <xref target="RFC9301"/> defines a set of functions for encapsulating routers to exchange information used to map from Endpoint IDentifiers (EIDs) to routable Routing LOCators (RLOCs). The assumption that the LISP Tunnel Routers are reachable at their RLOC breaks when a LISP device is behind a Network Address Translator (NAT <xref target="RFC3022"/>). LISP relies on the xTR being able to receive traffic at its RLOC on destination port 4341. However, nodes behind a NAT are only reachable through the NAT's public address and in most cases only after the appropriate mapping state is set up in the NAT. Depending on the type of the NAT device, this mapping state may be address and port dependent. In other words, the mapping state in the NAT device may be associated with the 5-tuple that forms a specific flow, preventing incoming traffic from any LISP router other than the one associated with the 5-tuple. A NAT traversal mechanism is needed to make the LISP device behind a NAT reachable.</t>

<t>This document briefly discusses available NAT traversal options, and then it introduces in detail a NAT traversal mechanism specific for LISP. Two new LISP control messages, namely LISP Info-Request and LISP Info-Reply, are introduced in order to detect whether a LISP device is behind a NAT, and discover the global IP address and global ephemeral port used by the NAT to forward LISP packets sent by the LISP device. The LISP Re-encapsulating Tunnel Router (RTR) <xref target="RFC9300"/>, acts as a re-encapsulating LISP tunnel router to pass traffic through the NAT, to and from the LISP device. A modification to how the LISP Map-Register messages are sent allows LISP device to initialize NAT state to use the RTR services. This mechanism addresses the scenario where the LISP device is behind the NAT, but the associated Map-Server <xref target="RFC9301"/> is on the public side of the NAT.</t>

</section>
<section anchor="requirements-language"><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>

</section>
<section anchor="SEC:terms"><name>Definition of Terms</name>

<t>This documents assumes that the reader is familiar with LISP and the LISP terminology. For definitions of terms like Map-Request, Map-Reply, Ingress Tunnel Router (ITR), and Egress Tunnel Router (ETR), please consult the LISP specification in <xref target="RFC9300"/> and <xref target="RFC9301"/>.</t>

<dl>
  <dt>Basic NAT:</dt>
  <dd>
    <t>See <xref target="RFC3022"/> and also Section 4.1.1 of <xref target="RFC2663"/>.</t>
  </dd>
  <dt>Data Plane Encapsulated Control Message (DP-ECM):</dt>
  <dd>
    <t>Is a LISP control message encapsulated with a LISP data plane header and defined in <xref target="SEC:datamapnot"/>.</t>
  </dd>
  <dt>Info-Request:</dt>
  <dd>
    <t>A LISP control message sent by a LISP device to its Map-Server to check whether it is behind a NAT and defined in <xref target="SEC:inforeq"/>.</t>
  </dd>
  <dt>Info-Reply:</dt>
  <dd>
    <t>A LISP control message sent by a Map Server to a LISP device in response to an Info-Request control message and defined in <xref target="SEC:inforep"/>.</t>
  </dd>
  <dt>NAPT Network Address Port Translation:</dt>
  <dd>
    <t>See <xref target="RFC3022"/> and also Section 4.1.2 of <xref target="RFC2663"/>.</t>
  </dd>
  <dt>Re-encapsulating Tunnel Router (RTR):</dt>
  <dd>
    <t>As defined in <xref target="RFC9301"/>.</t>
  </dd>
  <dt>Site-ID:</dt>
  <dd>
    <t>As defined in <xref target="RFC9301"/>.</t>
  </dd>
  <dt>xTR-ID:</dt>
  <dd>
    <t>As defined in <xref target="RFC9301"/>.</t>
  </dd>
</dl>

<t>In this document the general term NAT is used to refer to both Basic NAT and NAPT.</t>

</section>
<section anchor="SEC:nattrv"><name>NAT Traversal Basics</name>

<t>There are a variety of NAT devices and a variety of network topologies utilizing NAT devices in deployments. Most NAT devices deployed today are designed primarily around the client/server paradigm, where clients inside a private network do initiate connections to public servers with public IP addresses. As such, any protocol requiring a device or host, in a private network behind a NAT, to receive packets or accept sessions from public servers/hosts, without first initiating a session or sending packets towards those servers/hosts, will be challenged by deployed NAT devices.</t>

<t>NAT devices are loosely classified based on how restrictive they are. These classifications are essentially identifying the type of mapping state that the NAT device is requiring to allow incoming traffic. For instance, the mapping state may be end-point independent, where once device A inside the private network sends traffic to a destination outside, a mapping state in the NAT is created that only includes information about device A, namely its IP address and perhaps its port number. Once this mapping is established in the NAT device, any external device with any IP address could send packets to device A. More restrictive NAT devices could include the 5-tuple information of the flow as part of the mapping state, in other words, the mapping state in the NAT is dependent upon source IP and port, as well as destination IP and port (symmetric NAT or endpoint-dependent NAT). Such a NAT only allows traffic from the specified destination IP and port to reach the specified source device on the specified source port. Traffic with a different 5-tuple signature will not be allowed to pass. In general, in the case of less restrictive NATs it may be possible to eventually establish direct peer-to-peer connections, by means of various hole punching techniques and initial rendezvous servers. However, in the case of symmetric NATs or NATs with endpoint-address-and-port-dependent mappings, direct connection may prove impossible. In such cases a relay device is required that is in the public network and can relay packets between the two endpoints.</t>

<t>Various methods have been designed to address NAT traversal challenges, mostly in the context of peer-to-peer applications and protocols. Among these, the Interactive Connectivity Establishment (ICE) <xref target="RFC8445"/> seems the most comprehensive, which defines a protocol that leverages other protocols such as Session Traversal Utilities for NAT (STUN) <xref target="RFC8489"/> and Traversal Using Relays around NAT (TURN) <xref target="RFC8656"/>, as well as rendezvous servers to identify and exchange a list of potential transport (IP and port) addresses between the two endpoints. All possible pairs of transport addresses are exhaustively tested to find the best possible option for communication, preferring direct connections to connections using a relay. In the case of most restrictive NATs, ICE leads to use of TURN servers as relay for the traffic. TURN requires a list of allowed peer IP addresses defined as permissions, before allowing a peer to use the relay server to reach a TURN client.</t>

<t>Common NAT traversal techniques such as ICE generally assume bi-directional traffic with the same 5-tuple. LISP, however, requires traffic to use destination UDP port 4341, without specifying the source port. As a result, LISP traffic is generally unidirectional. This means that, in the case of symmetric or endpoint-address-and-port-dependent mapping NATs, even when an outgoing mapping is established, still incoming traffic may not match the established mapping and will not be allowed to pass. As a result, while ICE may be used to traverse less restrictive NATs, use of standard TURN servers as relays to traverse symmetric NATs for LISP protocol is not possible.</t>

<t>The rest of this document specifies a NAT traversal technique for the LISP protocol that enables LISP protocol to traverse multiple types of NATs including symmetric NATs.</t>

</section>
<section anchor="SEC:lispnat"><name>LISP NAT Traversal Overview</name>

<t>There are two attributes of a LISP device behind a typical NAT that requires special consideration in LISP protocol behavior in order to make the device reachable. First, the RLOC assigned to the device is typically not globally unique nor globally routable. Hence, for NAT traversal, outbound packets are required, so to create state before the NAT accepts inbound packets. Second, LISP protocol requires an xTR to receive traffic on the specific UDP port 4341, so the random UDP port allocated by the NAT on its public side to associate with a xTR behind the NAT cannot be used by other xTRs to send LISP traffic. This section provides an overview of the LISP NAT traversal mechanism which deals with these conditions, while the rest of the document specifies the mechanism in details.</t>

<t>When a LISP device needs to register an RLOC in the mapping system, it needs to first discover whether the RLOC is behind a NAT. To do this, the ETR queries its Map-Server to discover the ETR's translated global RLOC and port, via two new LISP messages, namely Info-Request (see <xref target="SEC:inforeq"/>) and Info-Reply (see <xref target="SEC:inforeq"/>). Once the ETR detects that it is behind a NAT, it uses a Re-encapsulating Tunnel Router (RTR) as an anchor point for sending and receiving data plane traffic through the NAT device. The ETR registers the RTR RLOC(s) to its Map-Server using the RTR as a proxy for the Map-Register message. The ETR encapsulates the Map-Register message in a LISP Encapsulated Control Message (ECM) destined to the RTR's RLOC using 4341 as source port. The RTR strips the LISP ECM header and sends it to the Map-Server. This initializes state in the NAT device so that the ETR can receive traffic on port 4341 from the RTR. The ETR also registers the RTR RLOC as the RLOC where the ETR EID prefix is reachable. As a result, all packets destined to the ETR's EID will go to the registered RTR. The RTR will then re-encapsulate and forward the traffic, thanks to the existing NAT state, to the ETR.</t>

<t>Outbound LISP data traffic from the ITR can be sent directly to the external destinations, however this will create state on the NAT. To avoid excessive state on the NAT device, the ITR can encapsulate outgoing traffic to the RTR, where the RTR de-capsulates the LISP packets, and then re-encapsulates them or forwards them natively depending on their destination.</t>

<t>A complete and detailed example of LISP NAT traversal can be found in <xref target="SEC:example"/>.</t>

</section>
<section anchor="SEC:msgs"><name>LISP Messages Details</name>

<t>The main modifications in the LISP protocol to enable LISP NAT traversal via an RTR include:</t>

<t><list style="numbers">
  <t>two new messages used for NAT discovery, namely Info-Request and Info-Reply;</t>
  <t>the encapsulation of the Map-Register, between the xTR and the RTR, in an ECM header;</t>
  <t>the Data Plane Encapsulation of the ECM-encapsulated Map-Notify, between the RTR and the xTR;</t>
</list></t>

<t>This section describes the message formats and details of the Info-Request (<xref target="SEC:inforeq"/>), Info-Reply (<xref target="SEC:inforep"/>), and DP-ECM Map-Notify (<xref target="SEC:mapnot"/>) messages, as well as minor changes to Map-Register and Map-Notify messages.</t>

<section anchor="SEC:info"><name>Info-Request/Info-Reply Messages Format</name>

<t>An ETR sends an Info-Request message to its configured Map-Server, to trigger an Info-Reply message, in order to detect whether there is a NAT device on the path to its Map-Server and to obtain a list of RTR RLOCs that can be used for LISP data plane NAT traversal.</t>

<t>The Info-Request and Info-Reply are actually one single LISP control message, which are distinguished by a bit that indicates whether the message is a request or a reply and the presence of a NAT LCAF <xref target="RFC8060"/> in the latter.
The rest of the message is the same and has the format depicted in <xref target="FIG:info"/>.</t>

<figure title="Generic Info-Request/Info-Reply Message Format." anchor="FIG:info"><artset><artwork  type="svg"><svg xmlns="http://www.w3.org/2000/svg" version="1.1" height="336" width="528" viewBox="0 0 528 336" class="diagram" text-anchor="middle" font-family="monospace" font-size="13px">
<path d="M 8,64 L 8,96" fill="none" stroke="black"/>
<path d="M 8,128 L 8,160" fill="none" stroke="black"/>
<path d="M 8,192 L 8,288" fill="none" stroke="black"/>
<path d="M 72,64 L 72,96" fill="none" stroke="black"/>
<path d="M 88,64 L 88,96" fill="none" stroke="black"/>
<path d="M 136,128 L 136,160" fill="none" stroke="black"/>
<path d="M 136,224 L 136,256" fill="none" stroke="black"/>
<path d="M 264,128 L 264,160" fill="none" stroke="black"/>
<path d="M 264,224 L 264,256" fill="none" stroke="black"/>
<path d="M 520,64 L 520,96" fill="none" stroke="black"/>
<path d="M 520,128 L 520,160" fill="none" stroke="black"/>
<path d="M 520,192 L 520,288" fill="none" stroke="black"/>
<path d="M 8,64 L 520,64" fill="none" stroke="black"/>
<path d="M 8,96 L 520,96" fill="none" stroke="black"/>
<path d="M 8,128 L 520,128" fill="none" stroke="black"/>
<path d="M 8,160 L 520,160" fill="none" stroke="black"/>
<path d="M 8,192 L 520,192" fill="none" stroke="black"/>
<path d="M 8,224 L 520,224" fill="none" stroke="black"/>
<path d="M 8,256 L 520,256" fill="none" stroke="black"/>
<path d="M 8,288 L 520,288" fill="none" stroke="black"/>
<path d="M 8,320 L 520,320" fill="none" stroke="black"/>
<g class="text">
<text x="16" y="36">0</text>
<text x="176" y="36">1</text>
<text x="336" y="36">2</text>
<text x="496" y="36">3</text>
<text x="16" y="52">0</text>
<text x="32" y="52">1</text>
<text x="48" y="52">2</text>
<text x="64" y="52">3</text>
<text x="80" y="52">4</text>
<text x="96" y="52">5</text>
<text x="112" y="52">6</text>
<text x="128" y="52">7</text>
<text x="144" y="52">8</text>
<text x="160" y="52">9</text>
<text x="176" y="52">0</text>
<text x="192" y="52">1</text>
<text x="208" y="52">2</text>
<text x="224" y="52">3</text>
<text x="240" y="52">4</text>
<text x="256" y="52">5</text>
<text x="272" y="52">6</text>
<text x="288" y="52">7</text>
<text x="304" y="52">8</text>
<text x="320" y="52">9</text>
<text x="336" y="52">0</text>
<text x="352" y="52">1</text>
<text x="368" y="52">2</text>
<text x="384" y="52">3</text>
<text x="400" y="52">4</text>
<text x="416" y="52">5</text>
<text x="432" y="52">6</text>
<text x="448" y="52">7</text>
<text x="464" y="52">8</text>
<text x="480" y="52">9</text>
<text x="496" y="52">0</text>
<text x="512" y="52">1</text>
<text x="36" y="84">Type</text>
<text x="80" y="84">R</text>
<text x="220" y="84">Reserved</text>
<text x="8" y="116">~</text>
<text x="256" y="116">Nonce</text>
<text x="520" y="116">~</text>
<text x="56" y="148">Key</text>
<text x="84" y="148">ID</text>
<text x="184" y="148">Algorithm</text>
<text x="236" y="148">ID</text>
<text x="340" y="148">Authentication</text>
<text x="420" y="148">Data</text>
<text x="468" y="148">Length</text>
<text x="8" y="180">~</text>
<text x="236" y="180">Authentication</text>
<text x="316" y="180">Data</text>
<text x="520" y="180">~</text>
<text x="224" y="212">NAT</text>
<text x="260" y="212">LCAF</text>
<text x="304" y="212">TTL</text>
<text x="68" y="244">Reserved</text>
<text x="160" y="244">EID</text>
<text x="212" y="244">mask-len</text>
<text x="388" y="244">EID-prefix-AFI</text>
<text x="260" y="276">EID-prefix</text>
<text x="8" y="308">~</text>
<text x="200" y="308">NAT</text>
<text x="236" y="308">LCAF</text>
<text x="280" y="308">[when</text>
<text x="340" y="308">present]</text>
<text x="520" y="308">~</text>
</g>
</svg>
</artwork><artwork  type="ascii-art"><![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  |R|            Reserved                                 |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
~                            Nonce                              ~
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|    Key ID     | Algorithm ID  |  Authentication Data Length   |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
~                     Authentication Data                       ~
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                         NAT LCAF  TTL                         |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|   Reserved    | EID mask-len  |        EID-prefix-AFI         |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                          EID-prefix                           |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
~                      NAT LCAF [when present]                  ~
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
]]></artwork></artset></figure>

<t>Where:</t>

<dl>
  <dt>Type:</dt>
  <dd>
    <t>TBD (Info-Request/Info-Reply)</t>
  </dd>
  <dt>Reply (R):</dt>
  <dd>
    <t>R bit indicates this is a Info-Reply to an Info-Request. R bit is set to 0 in an Info-Request. R bit is set to 1 in an Info-Reply.</t>
  </dd>
  <dt>Reserved:</dt>
  <dd>
    <t>MUST be set to 0 on transmit and MUST be ignored on receipt.</t>
  </dd>
  <dt>NAT LCAF TTL:</dt>
  <dd>
    <t>For Info-Request (R=0) this field MUST be set to 0 on transmission and MUST be ignored on reception. For Info-Replies (R=1) this field expresses the time, in minutes, the recipient of the Info-Reply CAN store the RTR Information.</t>
  </dd>
  <dt>Nonce:</dt>
  <dd>
    <t>As defined in Section 5.6 of <xref target="RFC9301"/>.</t>
  </dd>
  <dt>Key ID:</dt>
  <dd>
    <t>As defined in Section 5.6 of <xref target="RFC9301"/>.</t>
  </dd>
  <dt>Algorithm ID:</dt>
  <dd>
    <t>As defined in Section 5.6 of <xref target="RFC9301"/>.</t>
  </dd>
  <dt>Authentication Data Length:</dt>
  <dd>
    <t>As defined in Section 5.6 of <xref target="RFC9301"/>.</t>
  </dd>
  <dt>Authentication Data:</dt>
  <dd>
    <t>As defined in Section 5.6 of <xref target="RFC9301"/>.</t>
  </dd>
  <dt>NAT LCAF:</dt>
  <dd>
    <t>As defined in Section 4.4 of <xref target="RFC8060"/>. This field is only present in Info-Reply messages (R=1) indicating that the RLOC of the Info-Request is behind a NAT device (N=1).</t>
  </dd>
</dl>

<t>The following sections describe in details the Info-Request and Info-Reply variants.</t>

<section anchor="SEC:inforeq"><name>Info-Request Message</name>

<t>An Info-Request message is a LISP control message, its source port is chosen by the xTR and its destination port is set to the reserved LISP Control Packet port number 4342.</t>

<figure title="LISP Info-Request Message Format." anchor="FIG:inforeq"><artset><artwork  type="svg"><svg xmlns="http://www.w3.org/2000/svg" version="1.1" height="304" width="528" viewBox="0 0 528 304" class="diagram" text-anchor="middle" font-family="monospace" font-size="13px">
<path d="M 8,64 L 8,96" fill="none" stroke="black"/>
<path d="M 8,128 L 8,160" fill="none" stroke="black"/>
<path d="M 8,192 L 8,288" fill="none" stroke="black"/>
<path d="M 72,64 L 72,96" fill="none" stroke="black"/>
<path d="M 88,64 L 88,96" fill="none" stroke="black"/>
<path d="M 136,128 L 136,160" fill="none" stroke="black"/>
<path d="M 136,224 L 136,256" fill="none" stroke="black"/>
<path d="M 264,128 L 264,160" fill="none" stroke="black"/>
<path d="M 264,224 L 264,256" fill="none" stroke="black"/>
<path d="M 520,64 L 520,96" fill="none" stroke="black"/>
<path d="M 520,128 L 520,160" fill="none" stroke="black"/>
<path d="M 520,192 L 520,288" fill="none" stroke="black"/>
<path d="M 8,64 L 520,64" fill="none" stroke="black"/>
<path d="M 8,96 L 520,96" fill="none" stroke="black"/>
<path d="M 8,128 L 520,128" fill="none" stroke="black"/>
<path d="M 8,160 L 520,160" fill="none" stroke="black"/>
<path d="M 8,192 L 520,192" fill="none" stroke="black"/>
<path d="M 8,224 L 520,224" fill="none" stroke="black"/>
<path d="M 8,256 L 520,256" fill="none" stroke="black"/>
<path d="M 8,288 L 520,288" fill="none" stroke="black"/>
<g class="text">
<text x="16" y="36">0</text>
<text x="176" y="36">1</text>
<text x="336" y="36">2</text>
<text x="496" y="36">3</text>
<text x="16" y="52">0</text>
<text x="32" y="52">1</text>
<text x="48" y="52">2</text>
<text x="64" y="52">3</text>
<text x="80" y="52">4</text>
<text x="96" y="52">5</text>
<text x="112" y="52">6</text>
<text x="128" y="52">7</text>
<text x="144" y="52">8</text>
<text x="160" y="52">9</text>
<text x="176" y="52">0</text>
<text x="192" y="52">1</text>
<text x="208" y="52">2</text>
<text x="224" y="52">3</text>
<text x="240" y="52">4</text>
<text x="256" y="52">5</text>
<text x="272" y="52">6</text>
<text x="288" y="52">7</text>
<text x="304" y="52">8</text>
<text x="320" y="52">9</text>
<text x="336" y="52">0</text>
<text x="352" y="52">1</text>
<text x="368" y="52">2</text>
<text x="384" y="52">3</text>
<text x="400" y="52">4</text>
<text x="416" y="52">5</text>
<text x="432" y="52">6</text>
<text x="448" y="52">7</text>
<text x="464" y="52">8</text>
<text x="480" y="52">9</text>
<text x="496" y="52">0</text>
<text x="512" y="52">1</text>
<text x="36" y="84">Type</text>
<text x="80" y="84">0</text>
<text x="220" y="84">Reserved</text>
<text x="8" y="116">~</text>
<text x="264" y="116">Nonce</text>
<text x="520" y="116">~</text>
<text x="56" y="148">Key</text>
<text x="84" y="148">ID</text>
<text x="184" y="148">Algorithm</text>
<text x="236" y="148">ID</text>
<text x="340" y="148">Authentication</text>
<text x="420" y="148">Data</text>
<text x="468" y="148">Length</text>
<text x="8" y="180">~</text>
<text x="236" y="180">Authentication</text>
<text x="316" y="180">Data</text>
<text x="520" y="180">~</text>
<text x="252" y="212">0x00000000</text>
<text x="68" y="244">Reserved</text>
<text x="160" y="244">EID</text>
<text x="212" y="244">mask-len</text>
<text x="388" y="244">EID-prefix-AFI</text>
<text x="260" y="276">EID-prefix</text>
</g>
</svg>
</artwork><artwork  type="ascii-art"><![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  |0|            Reserved                                 |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
~                             Nonce                             ~
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|    Key ID     | Algorithm ID  |  Authentication Data Length   |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
~                     Authentication Data                       ~
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                         0x00000000                            |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|   Reserved    | EID mask-len  |        EID-prefix-AFI         |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                          EID-prefix                           |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
]]></artwork></artset></figure>

<dl>
  <dt>Type:</dt>
  <dd>
    <t>TBD (Info-Request/Info-Reply)</t>
  </dd>
  <dt>Reply (R):</dt>
  <dd>
    <t>MUST be set to 0 (zero).</t>
  </dd>
  <dt>NAT LCAF TTL:</dt>
  <dd>
    <t>MUST be set to zero (0) on transmit and MUST be ignored on receipt.</t>
  </dd>
</dl>

<t>The rest of the fields MUST be set in the same way as for a Map-Register message (see Section 5.6 of <xref target="RFC9301"/>) and according to procedures described in <xref target="SEC:ops"/>.</t>

</section>
<section anchor="SEC:inforep"><name>Info-Reply Message</name>

<t>The format of the Info-Reply message indicating the presence of a NAT device is depicted in <xref target="FIG:inforep"/>, its source port is chosen by the Map-Server and its destination port is set to the reserved LISP Control Packet port number 4342.</t>

<figure title="LISP Info-Reply Message Format." anchor="FIG:inforep"><artset><artwork  type="svg"><svg xmlns="http://www.w3.org/2000/svg" version="1.1" height="560" width="552" viewBox="0 0 552 560" class="diagram" text-anchor="middle" font-family="monospace" font-size="13px">
<path d="M 8,288 L 8,352" fill="none" stroke="black"/>
<path d="M 8,496 L 8,544" fill="none" stroke="black"/>
<path d="M 32,64 L 32,96" fill="none" stroke="black"/>
<path d="M 32,128 L 32,160" fill="none" stroke="black"/>
<path d="M 32,192 L 32,544" fill="none" stroke="black"/>
<path d="M 96,64 L 96,96" fill="none" stroke="black"/>
<path d="M 112,64 L 112,96" fill="none" stroke="black"/>
<path d="M 160,224 L 160,256" fill="none" stroke="black"/>
<path d="M 176,320 L 176,352" fill="none" stroke="black"/>
<path d="M 288,128 L 288,160" fill="none" stroke="black"/>
<path d="M 288,224 L 288,256" fill="none" stroke="black"/>
<path d="M 288,288 L 288,544" fill="none" stroke="black"/>
<path d="M 416,288 L 416,320" fill="none" stroke="black"/>
<path d="M 544,64 L 544,96" fill="none" stroke="black"/>
<path d="M 544,128 L 544,160" fill="none" stroke="black"/>
<path d="M 544,192 L 544,384" fill="none" stroke="black"/>
<path d="M 32,64 L 544,64" fill="none" stroke="black"/>
<path d="M 32,96 L 544,96" fill="none" stroke="black"/>
<path d="M 32,128 L 544,128" fill="none" stroke="black"/>
<path d="M 32,160 L 544,160" fill="none" stroke="black"/>
<path d="M 32,192 L 544,192" fill="none" stroke="black"/>
<path d="M 32,224 L 544,224" fill="none" stroke="black"/>
<path d="M 32,256 L 544,256" fill="none" stroke="black"/>
<path d="M 8,288 L 544,288" fill="none" stroke="black"/>
<path d="M 32,320 L 544,320" fill="none" stroke="black"/>
<path d="M 32,352 L 544,352" fill="none" stroke="black"/>
<path d="M 32,384 L 544,384" fill="none" stroke="black"/>
<path d="M 32,416 L 544,416" fill="none" stroke="black"/>
<path d="M 32,448 L 544,448" fill="none" stroke="black"/>
<path d="M 32,480 L 544,480" fill="none" stroke="black"/>
<path d="M 32,512 L 544,512" fill="none" stroke="black"/>
<path d="M 8,544 L 544,544" fill="none" stroke="black"/>
<polygon class="arrowhead" points="32,544 20,538.4 20,549.6 " fill="black" transform="rotate(0,24,544)"/>
<polygon class="arrowhead" points="32,288 20,282.4 20,293.6 " fill="black" transform="rotate(0,24,288)"/>
<g class="text">
<text x="40" y="36">0</text>
<text x="200" y="36">1</text>
<text x="360" y="36">2</text>
<text x="520" y="36">3</text>
<text x="40" y="52">0</text>
<text x="56" y="52">1</text>
<text x="72" y="52">2</text>
<text x="88" y="52">3</text>
<text x="104" y="52">4</text>
<text x="120" y="52">5</text>
<text x="136" y="52">6</text>
<text x="152" y="52">7</text>
<text x="168" y="52">8</text>
<text x="184" y="52">9</text>
<text x="200" y="52">0</text>
<text x="216" y="52">1</text>
<text x="232" y="52">2</text>
<text x="248" y="52">3</text>
<text x="264" y="52">4</text>
<text x="280" y="52">5</text>
<text x="296" y="52">6</text>
<text x="312" y="52">7</text>
<text x="328" y="52">8</text>
<text x="344" y="52">9</text>
<text x="360" y="52">0</text>
<text x="376" y="52">1</text>
<text x="392" y="52">2</text>
<text x="408" y="52">3</text>
<text x="424" y="52">4</text>
<text x="440" y="52">5</text>
<text x="456" y="52">6</text>
<text x="472" y="52">7</text>
<text x="488" y="52">8</text>
<text x="504" y="52">9</text>
<text x="520" y="52">0</text>
<text x="536" y="52">1</text>
<text x="60" y="84">Type</text>
<text x="104" y="84">1</text>
<text x="268" y="84">Reserved</text>
<text x="32" y="116">~</text>
<text x="288" y="116">Nonce</text>
<text x="544" y="116">~</text>
<text x="144" y="148">Key</text>
<text x="172" y="148">ID</text>
<text x="364" y="148">Authentication</text>
<text x="444" y="148">Data</text>
<text x="492" y="148">Length</text>
<text x="32" y="180">~</text>
<text x="260" y="180">Authentication</text>
<text x="340" y="180">Data</text>
<text x="544" y="180">~</text>
<text x="248" y="212">NAT</text>
<text x="284" y="212">LCAF</text>
<text x="320" y="212">TTL</text>
<text x="92" y="244">Reserved</text>
<text x="184" y="244">EID</text>
<text x="236" y="244">mask-len</text>
<text x="412" y="244">EID-prefix-AFI</text>
<text x="284" y="276">EID-prefix</text>
<text x="136" y="308">AFI</text>
<text x="160" y="308">=</text>
<text x="192" y="308">16387</text>
<text x="344" y="308">Rsvd1</text>
<text x="480" y="308">Flags</text>
<text x="84" y="340">Type</text>
<text x="112" y="340">=</text>
<text x="128" y="340">7</text>
<text x="240" y="340">Rsvd2</text>
<text x="420" y="340">Length</text>
<text x="8" y="372">N</text>
<text x="108" y="372">MS</text>
<text x="136" y="372">UDP</text>
<text x="172" y="372">Port</text>
<text x="220" y="372">Number</text>
<text x="352" y="372">ETR</text>
<text x="384" y="372">UDP</text>
<text x="420" y="372">Port</text>
<text x="468" y="372">Number</text>
<text x="8" y="388">A</text>
<text x="8" y="404">T</text>
<text x="160" y="404">AFI</text>
<text x="184" y="404">=</text>
<text x="200" y="404">x</text>
<text x="324" y="404">Global</text>
<text x="368" y="404">ETR</text>
<text x="404" y="404">RLOC</text>
<text x="456" y="404">Address</text>
<text x="544" y="404">~</text>
<text x="8" y="436">L</text>
<text x="160" y="436">AFI</text>
<text x="184" y="436">=</text>
<text x="200" y="436">x</text>
<text x="308" y="436">MS</text>
<text x="340" y="436">RLOC</text>
<text x="392" y="436">Address</text>
<text x="544" y="436">~</text>
<text x="8" y="452">C</text>
<text x="8" y="468">A</text>
<text x="160" y="468">AFI</text>
<text x="184" y="468">=</text>
<text x="200" y="468">x</text>
<text x="328" y="468">Private</text>
<text x="376" y="468">ETR</text>
<text x="412" y="468">RLOC</text>
<text x="464" y="468">Address</text>
<text x="544" y="468">~</text>
<text x="8" y="484">F</text>
<text x="160" y="500">AFI</text>
<text x="184" y="500">=</text>
<text x="200" y="500">x</text>
<text x="312" y="500">RTR</text>
<text x="348" y="500">RLOC</text>
<text x="400" y="500">Address</text>
<text x="440" y="500">1</text>
<text x="544" y="500">~</text>
<text x="160" y="532">AFI</text>
<text x="184" y="532">=</text>
<text x="200" y="532">x</text>
<text x="312" y="532">RTR</text>
<text x="348" y="532">RLOC</text>
<text x="400" y="532">Address</text>
<text x="440" y="532">N</text>
<text x="544" y="532">~</text>
</g>
</svg>
</artwork><artwork  type="ascii-art"><![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  |1|               Reserved                              |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   ~                             Nonce                             ~
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |            Key ID             |  Authentication Data Length   |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   ~                     Authentication Data                       ~
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                         NAT LCAF TTL                          |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |   Reserved    | EID mask-len  |        EID-prefix-AFI         |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                          EID-prefix                           |
+->+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|  |           AFI = 16387         |    Rsvd1      |     Flags     |
|  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|  |    Type = 7     |     Rsvd2   |             Length            |
|  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
N  |        MS UDP Port Number     |      ETR UDP Port Number      |
A  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
T  |              AFI = x          | Global ETR RLOC Address       ~
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
L  |              AFI = x          | MS RLOC Address               ~
C  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
A  |              AFI = x          | Private ETR RLOC Address      ~
F  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|  |              AFI = x          | RTR RLOC Address 1            ~
|  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|  |              AFI = x          | RTR RLOC Address N            ~
+->+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
]]></artwork></artset></figure>

<dl>
  <dt>Type:</dt>
  <dd>
    <t>TBD (Info-Request/Info-Reply)</t>
  </dd>
  <dt>Reply (R):</dt>
  <dd>
    <t>MUST be set to 1 (one).</t>
  </dd>
  <dt>NAT LCAF TTL:</dt>
  <dd>
    <t>This is the time in minutes the recipient of the Info-Reply can store the NAT LCAF information. MUST be different from 0.</t>
  </dd>
  <dt>NAT LCAF:</dt>
  <dd>
    <t>NAT LISP Canonical Address Format, as defined in <xref target="RFC8060"/>.</t>
  </dd>
</dl>

<t>The rest of the fields MUST be set in the same way as for a Map-Notify message (see Section 5.7 of <xref target="RFC9301"/>) and according to procedures described in <xref target="SEC:ops"/>.</t>

</section>
</section>
<section anchor="SEC:mapreg"><name>Map-Register Message</name>

<t>A LISP device that sends a Map-Register to an RTR, MUST encapsulate the Map-Register message using an Encapsulated Control Message (ECM) <xref target="RFC9301"/> and MUST set the "M" bit in the ECM header to indicate that the message is destined to a Map-Server.</t>

<t>The outer header source RLOC of the ECM is set to the LISP device's private RLOC, and the outer header source port is set to 4341. The outer header destination RLOC and port are set to RTR RLOC and 4342 respectively. The inner header source RLOC is set to LISP device's private RLOC, and the inner source port is picked at random. The inner header destination RLOC is set to the xTR's Map-Server RLOC, and inner header destination port is set to 4342.</t>

<t>In case of LISP site having several xTRs, in order to identify the intended recipient xTR for a Map-Notify message the xTR-ID and Site-ID SHOULD be appended to the Map-Register message. If appended, the I-bit in the Map-Register message MUST be set to 1 (see <xref target="RFC9301"/>).
An xTR can choose not to append the xTR-ID and Site-ID, in this case the RTR will consider as the intended recipient of the Map-Notify message the xTR identified by the source RLOC of the Map-Register message (i.e. the source address of the inner header of the ECM Map-Register).</t>

</section>
<section anchor="SEC:mapnot"><name>Map-Notify Message</name>

<t>For a full description of all fields in the Map-Notify message refer to Map-Notify section in <xref target="RFC9301"/>. A Map-Server that sends a Map-Notify to an RTR encapsulates the Map-Notify message using an ECM with the "E" bit set to 1 to indicate that the inner message is destined to an ETR.</t>

<t>The outer header source RLOC of the ECM is set to the Map-Server RLOC, and the outer header source port is set to 4342. The outer header destination RLOC and port are set to RTR's RLOC and 4342 respectively. The inner header source RLOC is set to the Map-Server RLOC, and the inner source port is set to 4342. The inner header destination RLOC is set to the LISP device's private RLOC copied from the Map-Register, and inner header destination port is set to 4342.</t>

<t>If the Map-Register carried xTR-ID and Site-ID, the corresponding Map-Notify MUST set the I-bit to 1 and the xTR-ID and Site-ID from the Map-Register appended to the Map-Notify message.</t>

</section>
<section anchor="SEC:datamapnot"><name>Data Plane ECM Map-Notify Message</name>

<t>When an RTR receives an ECM Map-Notify message with the E-bit in the ECM header set to 1, it has to relay the Map-Notify to the registering LISP device. After removing the ECM header and processing the Map-Notify message as described in <xref target="SEC:rtrproc"/>, the RTR encapsulates the Map-Notify first in an ECM and then in a LISP data plane header and sends it to the associated LISP device. This Map-Notify ECM inside a LISP data plane header is referred to as a Data Plane ECM Map-Notify message (or DP-ECM Map-Notify Message).</t>

<figure title="DP-ECM Map-Notify Message." anchor="FIG:datamapnot"><artset><artwork  type="svg"><svg xmlns="http://www.w3.org/2000/svg" version="1.1" height="592" width="568" viewBox="0 0 568 592" class="diagram" text-anchor="middle" font-family="monospace" font-size="13px">
<path d="M 40,64 L 40,576" fill="none" stroke="black"/>
<path d="M 104,384 L 104,416" fill="none" stroke="black"/>
<path d="M 120,384 L 120,416" fill="none" stroke="black"/>
<path d="M 136,384 L 136,416" fill="none" stroke="black"/>
<path d="M 152,384 L 152,416" fill="none" stroke="black"/>
<path d="M 168,384 L 168,416" fill="none" stroke="black"/>
<path d="M 296,128 L 296,192" fill="none" stroke="black"/>
<path d="M 296,320 L 296,384" fill="none" stroke="black"/>
<path d="M 296,480 L 296,544" fill="none" stroke="black"/>
<path d="M 552,64 L 552,544" fill="none" stroke="black"/>
<path d="M 40,64 L 552,64" fill="none" stroke="black"/>
<path d="M 40,128 L 552,128" fill="none" stroke="black"/>
<path d="M 40,160 L 552,160" fill="none" stroke="black"/>
<path d="M 40,192 L 552,192" fill="none" stroke="black"/>
<path d="M 40,256 L 552,256" fill="none" stroke="black"/>
<path d="M 40,320 L 552,320" fill="none" stroke="black"/>
<path d="M 40,352 L 552,352" fill="none" stroke="black"/>
<path d="M 40,384 L 552,384" fill="none" stroke="black"/>
<path d="M 40,416 L 552,416" fill="none" stroke="black"/>
<path d="M 40,480 L 552,480" fill="none" stroke="black"/>
<path d="M 40,512 L 552,512" fill="none" stroke="black"/>
<path d="M 40,544 L 552,544" fill="none" stroke="black"/>
<path d="M 40,576 L 552,576" fill="none" stroke="black"/>
<path d="M 32,528 L 40,544" fill="none" stroke="black"/>
<path d="M 32,464 L 40,480" fill="none" stroke="black"/>
<path d="M 32,368 L 40,384" fill="none" stroke="black"/>
<path d="M 32,304 L 40,320" fill="none" stroke="black"/>
<path d="M 32,240 L 40,256" fill="none" stroke="black"/>
<path d="M 32,176 L 40,192" fill="none" stroke="black"/>
<path d="M 32,112 L 40,128" fill="none" stroke="black"/>
<path d="M 32,80 L 40,64" fill="none" stroke="black"/>
<path d="M 32,144 L 40,128" fill="none" stroke="black"/>
<path d="M 32,208 L 40,192" fill="none" stroke="black"/>
<path d="M 32,272 L 40,256" fill="none" stroke="black"/>
<path d="M 32,336 L 40,320" fill="none" stroke="black"/>
<path d="M 32,432 L 40,416" fill="none" stroke="black"/>
<path d="M 32,496 L 40,480" fill="none" stroke="black"/>
<g class="text">
<text x="48" y="36">0</text>
<text x="208" y="36">1</text>
<text x="368" y="36">2</text>
<text x="528" y="36">3</text>
<text x="48" y="52">0</text>
<text x="64" y="52">1</text>
<text x="80" y="52">2</text>
<text x="96" y="52">3</text>
<text x="112" y="52">4</text>
<text x="128" y="52">5</text>
<text x="144" y="52">6</text>
<text x="160" y="52">7</text>
<text x="176" y="52">8</text>
<text x="192" y="52">9</text>
<text x="208" y="52">0</text>
<text x="224" y="52">1</text>
<text x="240" y="52">2</text>
<text x="256" y="52">3</text>
<text x="272" y="52">4</text>
<text x="288" y="52">5</text>
<text x="304" y="52">6</text>
<text x="320" y="52">7</text>
<text x="336" y="52">8</text>
<text x="352" y="52">9</text>
<text x="368" y="52">0</text>
<text x="384" y="52">1</text>
<text x="400" y="52">2</text>
<text x="416" y="52">3</text>
<text x="432" y="52">4</text>
<text x="448" y="52">5</text>
<text x="464" y="52">6</text>
<text x="480" y="52">7</text>
<text x="496" y="52">8</text>
<text x="512" y="52">9</text>
<text x="528" y="52">0</text>
<text x="544" y="52">1</text>
<text x="244" y="84">IPv4</text>
<text x="276" y="84">or</text>
<text x="308" y="84">IPv6</text>
<text x="356" y="84">Header</text>
<text x="20" y="100">OH</text>
<text x="240" y="100">(uses</text>
<text x="284" y="100">RLOC</text>
<text x="348" y="100">addresses)</text>
<text x="124" y="148">Source</text>
<text x="172" y="148">Port</text>
<text x="200" y="148">=</text>
<text x="228" y="148">4342</text>
<text x="372" y="148">Dest</text>
<text x="412" y="148">Port</text>
<text x="440" y="148">=</text>
<text x="468" y="148">xxxx</text>
<text x="24" y="164">UDP</text>
<text x="144" y="180">UDP</text>
<text x="188" y="180">Length</text>
<text x="376" y="180">UDP</text>
<text x="428" y="180">Checksum</text>
<text x="20" y="228">LISP</text>
<text x="276" y="228">LISP</text>
<text x="324" y="228">Header</text>
<text x="244" y="276">IPv4</text>
<text x="276" y="276">or</text>
<text x="308" y="276">IPv6</text>
<text x="356" y="276">Header</text>
<text x="20" y="292">MH</text>
<text x="240" y="292">(uses</text>
<text x="284" y="292">RLOC</text>
<text x="348" y="292">addresses)</text>
<text x="124" y="340">Source</text>
<text x="172" y="340">Port</text>
<text x="200" y="340">=</text>
<text x="228" y="340">4342</text>
<text x="372" y="340">Dest</text>
<text x="412" y="340">Port</text>
<text x="440" y="340">=</text>
<text x="468" y="340">4342</text>
<text x="16" y="356">UDP</text>
<text x="144" y="372">UDP</text>
<text x="188" y="372">Length</text>
<text x="376" y="372">UDP</text>
<text x="428" y="372">Checksum</text>
<text x="20" y="404">LISP</text>
<text x="68" y="404">Type=8</text>
<text x="112" y="404">S</text>
<text x="128" y="404">D</text>
<text x="144" y="404">R</text>
<text x="160" y="404">R</text>
<text x="300" y="404">Reserved</text>
<text x="244" y="436">IPv4</text>
<text x="276" y="436">or</text>
<text x="308" y="436">IPv6</text>
<text x="356" y="436">Header</text>
<text x="20" y="452">IH</text>
<text x="208" y="452">(uses</text>
<text x="252" y="452">RLOC</text>
<text x="284" y="452">or</text>
<text x="312" y="452">EID</text>
<text x="372" y="452">addresses)</text>
<text x="124" y="500">Source</text>
<text x="172" y="500">Port</text>
<text x="200" y="500">=</text>
<text x="228" y="500">4342</text>
<text x="372" y="500">Dest</text>
<text x="412" y="500">Port</text>
<text x="440" y="500">=</text>
<text x="468" y="500">4342</text>
<text x="24" y="516">UDP</text>
<text x="144" y="532">UDP</text>
<text x="188" y="532">Length</text>
<text x="376" y="532">UDP</text>
<text x="428" y="532">Checksum</text>
<text x="24" y="564">LCM</text>
<text x="228" y="564">LISP</text>
<text x="292" y="564">Map-Notify</text>
<text x="368" y="564">Message</text>
<text x="552" y="564">~</text>
</g>
</svg>
</artwork><artwork  type="ascii-art"><![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
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   /|                       IPv4 or IPv6 Header                     |
 OH |                      (uses RLOC addresses)                    |
   \|                                                               |
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   /|       Source Port = 4342      |       Dest Port = xxxx        |
 UDP+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 
   \|           UDP Length          |        UDP Checksum           |
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   /|                                                               |
LISP|                           LISP Header                         |
   \|                                                               |
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   /|                       IPv4 or IPv6 Header                     |
 MH |                      (uses RLOC addresses)                    |
   \|                                                               |
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   /|       Source Port = 4342      |       Dest Port = 4342        |
UDP +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   \|           UDP Length          |        UDP Checksum           |
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
LISP|Type=8 |S|D|R|R|            Reserved                           |
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   /|                       IPv4 or IPv6 Header                     |
 IH |                  (uses RLOC or EID addresses)                 |
   \|                                                               |
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   /|       Source Port = 4342      |       Dest Port = 4342        |
 UDP+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   \|           UDP Length          |        UDP Checksum           |
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
 LCM|                     LISP Map-Notify Message                   ~
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
]]></artwork></artset></figure>

<t>In a DP-ECM Map-Notify, the outer header source RLOC is set to the RTR's RLOC that was used in the associated ECM Map-Register. This is previously cached by the RTR. The outer header source port is set to 4342. The outer header destination RLOC and port are filled based on the translated global RLOC and port of the registering LISP device previously stored locally at the RTR. 
The middle ECM header (MH) source RLOC is set to the RTR RLOC, and the source port is set to 4342, the destination RLOC is set to the LISP device's private RLOC copied from the Map-Register, and destination port is set to 4342.
The inner Map-Notify is unchanged, just forwarded, hence its header is as set by the Map-Server, namely the source address is the Map-Server's RLOC, the inner header source port is 4342, the destination address is the LISP device's private RLOC, and the destination port is 4342.</t>

</section>
</section>
<section anchor="SEC:ops"><name>Protocol Operations</name>

<t>There are two main steps in the NAT traversal procedure. First, the ETR's translated global RLOC must be discovered. Second, the NAT translation table must be updated to accept incoming connections and the RTR must be informed of the ETR's translated global RLOC, including the translated ephemeral port number(s) at which the RTR can reach the LISP device.</t>

<section anchor="SEC:xtrproc"><name>xTR Processing</name>

<t>If an ETR is configured to perform NAT discovery and traversal, when it needs to register an RLOC in the mapping system, it has first to detect whether the RLOC is behind a NAT device. For this purpose, the ETR sends an Info-Request message to its Map-Server in order to discover the ETR's translated global RLOC as it is visible to the Map-Server. The ETR uses the private to-be-registered RLOC as the source RLOC of the message. The Map-Server, after authenticating the message, responds with an Info-Reply message. The Map-Server includes the source RLOC and port from the Info-Request message in the Global ETR RLOC Address and ETR UDP Port Number fields of the NAT-Traversal LCAF appended to the Info-Reply. The Map Server also includes the destination RLOC and port number of the Info-Request message in the MS RLOC Address and MS UDP Port Number fields of the NAT LCAF. In addition, the Map-Server provides the list of RTR RLOCs that the ETR may use for NAT traversal services. The source port of the Info-Reply is set to 4342 and the destination port is copied from the source port of the triggering Info-Request message.</t>

<t>Upon receiving and authenticating the Info-Reply message, checks whether the ETR compares the source RLOC and source port used for the Info-Request message with the Global ETR RLOC Address and ETR UDP Port Number fields in the NAT LCAF in the Info-Reply message. If the two are identical, indicating there is no NAT on the path identified by an info-Request and an Info-Reply, the ETR registers the associated RLOC with its Map-Server as described in <xref target="RFC9301"/>. Otherwise, the ETR concludes that the to-be-registered RLOC is a private address behind a NAT and that it requires an RTR for NAT traversal services in order to be reachable at that RLOC. The Info-Reply will contain a NAT LCAF, whose content the ETR MUST register in its local EID-to-RLOC Database. This entry CAN be stored the number of minutes indicated in the NAT LCAF TTL field of the Info-Reply message. If NAT is detected but the NAT LCAF does not contain any RTR, then NAT traversal cannot be accomplished. The ETR still  stores the content in the EID-to-RLOC Database for up to NAT LCAF TTL minutes, but it MUST also create a log message to signal that the RLOC cannot be registered because of an empty RTR set and MUST NOT use the RLOC for LISP operation.</t>

<t>In the case where an xTR has multiple RLOCs, Info-Requests SHOULD be sent per each RLOC, so to perform NAT discovery each RLOC. NAT discovery can be disabled in deployments where it is known to not include NAT devices. Unless the xTR is not willing to receive traffic via all RLOCs, NAT traversal SHOULD accomplished per each RLOC that has been detected as being a private address behind a NAT. This is required to establish the state in the NAT device for that RLOC.</t>

<t>It is worth noting that a STUN MAY also be used to do NAT detection and to discover the NAT-translated public IP address and port number for the ETR behind NAT. If STUN is used, the list of RTR devices that can be used by the xTR for NAT traversal have to be provisioned via other means which are outside the scope of this document.</t>

<section anchor="SEC:etrreg"><name>ETR Processing</name>

<t>Once an ETR has detected its RLOC is behind a NAT, based on local policy, the ETR selects one (or more) RTR(s), from the RTR RLOCs provided in the Info-Reply message, as both control and data plane proxy. Next it needs to initializes state in the NAT in order to receive LISP data traffic on UDP port 4341 from the selected RTR(s). To do so, the ETR sends an ECM-encapsulated  Map-Register to the selected RTR(s). The Map-Register message is created as specified in <xref target="RFC9301"/>. More specifically, the source RLOC of the Map-Register is set to ETR's private RLOC, while the destination RLOC is set to the ETR's Map-Server RLOC, and destination port is set to 4342. The ETR MUST set the P bit (proxy Map-Reply) and the M bit (want-Map-Notify) in Map-Register to 1, and include the selected RTR RLOC(s) as the locators in the Map-Register message.</t>

<t>The ETR MAY also include its private RLOCs as locators in the Map-Register, including weight and priorities, but MUST set the R bit (reachability bit) in the locator record to 0. This enables the RTR to perform load balancing when forwarding data to an xTR with several RLOCs behind a NAT. The R bit MUST be set to 1 for all RTR locators included in the Map-Register. The ETR MAY also set the I bit in the Map-Register message to 1 and include its xTR-ID and Site-ID in the corresponding fields. In the ECM header of this Map-Register, the source RLOC is set to ETR's private RLOC and the source port is set to 4341, while the destination RLOC is the RTR's RLOC and the destination port is set to LISP control port 4342. The M bit in the ECM header MUST be set to 1, to indicate that this ECM Map-Register is to be forwarded to a Map-Server.</t>

<t>This ECM Map-Register is then sent to the RTR, its processing is described in <xref target="SEC:rtrproc"/>.</t>

<t>Upon receiving DP-ECM Map-Notify from the RTR, the ETR MUST strip the outer LISP data header, and process the inner ECM Map-Notify message as described in <xref target="RFC9301"/>. When decapsulating, in accordance to <xref target="RFC9300"/>, the ETR checks its EID-to-RLOC Database. In case of a DP-ECM, the inner header destination address is not an EID but the same private RLOC as the outer header, yet, since this RLOC is part of a NAT LCAF and the source port is 4342, the inner messages is considered a LISP control message and processed according to <xref target="RFC9301"/>.</t>

<t>If ETR did send its xTR-ID and Site-ID in the Map-Register message and receives a DP-ECM Map-Notify with different xTR-ID and/or Site-ID, it MUST log this as an error. The ETR MUST discard such DP-ECM Map-Notify message.</t>

<t>At this point the registration and state initialization is complete and the xTR can use the RTR for both control and data plane proxy. The state created in the NAT is used by the xTR behind the NAT to send and receive LISP control packets to/from the RTR, as well as for receiving LISP data packets form the RTR.</t>

<t>The ETR MUST periodically send ECM Map-Register messages to its RTR in order to both refresh its registration to the RTR and the Map-Server as for <xref target="RFC9301"/>, as well as a keep-alive to preserve the state in the NAT device. <xref target="RFC2663"/> points out that the period for sending the keep-alive messages can be set to a default value of two minutes, however since shorter timeouts may exist in some NAT deployments, the interval for sending periodic ECM Map-Registers has to be configured accordingly.</t>

<t>When a Map-Request for a LISP device behind a NAT is received by its Map-Server, the Map-Server responds with a Map-Reply including RTR's RLOC as the locator for the requested EID. As a result, all LISP data traffic destined for the ETR's EID behind the NAT is encapsulated to its RTR. The RTR re-encapsulates the LISP data packets to the ETR's translated global RLOC and port number so the data can pass through the NAT device and reach the ETR. As a result, the ETR receives LISP data traffic with outer header destination port set to 4341 as specified in <xref target="RFC9301"/>.</t>

</section>
<section anchor="itr-processing"><name>ITR Processing</name>

<t>If ITRs have only private RLOCs, they cannot send Map-Request and receive Map-Reply messages for EID mapping lookups directly, since the Map-Requests (creating state in the NAT) are sent to Map-Resolvers, but Map-Replies come back from ETRs or Map-Servers, for which there is no state in the NAT device, which will drop the packets.</t>

<t>The ITR behind a NAT can use its RTR(s) RLOC(s) as locator(s) for all destination EIDs that it wishes to send data to. The ITR encapsulates the LISP traffic in a LISP data header with outer header destination set to RTR RLOC and outer header destination port set to 4341. This creates a secondary state in the NAT device. It is RECOMMENDED that the ITR sets the outer header source port in all egress LISP data packets to a random but static port number in order to avoid creating excessive state in the NAT device. By using the RTR as proxy, the ITR does not need to send Map-Requests for finding EID-to-RLOC mappings. However, if the ITR is multi-homed and has at least one RLOC not behind a NAT, it can choose to send Map-Requests using non-private RLOCs. For this, the ITR specifies in the ITR-RLOC field of the Map-Request the list of RLOCs that are not behind NAT that can receive Map-Reply messages. If all RLOCs of an ITR are behind the NAT and use the same RTR, then the xTR can even map the EID prefix 0/0 to its RTR RLOC(s) in its EID-to-RLOC Map-Cache.</t>

<t>It should be noted that sending packets directly to destination RLOCs through the interface behind NAT will result in creating additional state in the NAT device. Furthermore, outgoing packets use a direct path while the incoming packets are forwarded through the RTR.</t>

<t>Periodic ECM Map-Register and corresponding DP-ECM Map-Notify messages between xTR and RTR, can serve the purpose of RLOC probes as of  <xref target="RFC9301"/>, except that the LISP device behind a NAT only can probe the RTR's RLOCs.</t>

<t>If the ITR and ETR of a site are not collocated, the RTR RLOC need to be configured in the ITR via an out-of-band mechanism. Other procedures specified here would still apply.</t>

</section>
</section>
<section anchor="SEC:msproc"><name>Map-Server Processing</name>

<t>When a Map-Server receives an Info-Request message, it responds with an Info-Reply message by copying back the same message, but setting the R bit.
Furthermore, it appends the NAT LCAF with the mapping between private and public addresses. Map-Server fills the NAT LCAF (LCAF Type = 7) fields according to Section 4.4 of <xref target="RFC8060"/>, in particular, it copies the source RLOC and port number of the Info-Request message to the Global ETR RLOC Address and ETR UDP Port Number fields of the NAT LCAF and includes a list of RTR RLOCs that the ETR may use for NAT traversal services for the EID-Prefix communicated in the Info-Request message. In case that there is no list of RTRs in the NAT LCAF, this means that there is no NAT traversal service for the specific EID. The Info-Reply message source port is 4342, and destination port and destination address is taken from the source port and source address of the triggering Info-Request.</t>

<t>Upon receiving an ECM Map-Register message, with the M bit set, the Map-Server processes the inner Map-Register message and generates the resulting Map-Notify as described in <xref target="RFC9301"/>.  If the I bit is set in the Map-Register message, the Map-Server also locally stores the xTR-ID and Site-ID from the Map-Register, and sets the I bit in the corresponding Map-Notify message and includes the same xTR-ID and Site-ID in the Map-Notify. The Map-Server then encapsulates the Map-Notify in an ECM header and sets the E bit in the ECM header to 1. This indicates that the ECM Map-Notify is to be processed by an RTR and forwarded to an ETR. The ECM Map-Notify is then sent to the RTR RLOC and port number from which the ECM Map-Register has been received.</t>

</section>
<section anchor="SEC:rtrproc"><name>RTR Processing</name>

<section anchor="SEC:rtrctrl"><name>RTR Control Plane Operations</name>

<t>Upon receiving an ECM Map-Register with the M bit set in the ECM header, the RTR creates an EID-to-RLOC Map-Cache entry for the EID-prefix that is specified in the inner Map-Register message. The EID-to-RLOC Map-Cache entry MUST include the source RLOC, the source port number, which are the translated global RLOC and port number visible to the RTR, the destination RLOC (RTR's own RLOC) of the outer header, as well as the source RLOC (xTR's private RLOC), the EID mapping record present in the inner Map-Register message (see <xref target="RFC9301"/> for details), and, if present, the xTR-ID and the Site-ID. The RTR can later use these fields as for sending DP-ECM Map-Notify back to the ETR.
The Nonce field MUST also be stored and used for security purposes and is matched with the Nonce field in the corresponding Map-Notify message.
This EID-to-RLOC Map-Cache entry is marked as "pending", until the corresponding Map-Notify message is received and in this state MUST NOT be used to send data packets.</t>

<t>In the case where the xTR has multiple RLOCs behind the NAT, the RLOCs with reachability bit set to zero (R=0) in the record from Map-Register, the RTR 
CAN store all the private RLOCs in the record from the Map-Register message, but MUST NOT use private RLOCs for which no explicit ECM Map-Register using it as source address in the inner header has been received. This is because without an ECM Map-Register there is no state in the NAT device that allow correct delivery of the returning packets. Furthermore, the EID-to-RLOC Map-Cache entry does not contain the translated global RLOC and port number visible to the RTR. However, an ECM Map-Register message MAY be used to update priority and weight of private RLOCs for which an ECM Map-Register has been already received, even if the message is not originating from that RLOC but originated from the same xTR, identified by the unique xTR-ID.</t>

<t>A Map-Register originating from a unique xTR-ID will always overwrite previously stored information for that xTR-ID, but it does not modify the information indicated by any other xTR-ID serving the same EID prefix. As a result, in the case of a renumbering or xTR reboot, the xTR can use its unique xTR-ID in a Map-Register, overwriting the previously stored information for that xTR. Using this method, the xTR can, for instance, immediately remove any private RLOC from the RTR EID-to-RLOC Map-Cache that is no longer present in the locator record of the ECM Map-Register, for which NAT state is most probably non-existing anymore.</t>

<t>After filling the local EID-to-RLOC Map-Cache entry, the RTR strips the outer header and extracts the Map-Register message, encapsulated in a new ECM header with the E bit set to 0, and M bit set to 1, and sends the ECM Map-Register to destination Map-Server. Map-Server responds with an ECM Map-Notify message to the RTR as described <xref target="SEC:msproc"/>.</t>

<t>Upon receiving an ECM Map-Notify message with E bit set to 1 in the ECM header and the Nonce of a pending EID-to-RLOC Map-Cache entry, the RTR is notified that the Map-Register message was accepted by the Map-Server. The RTR MUST verify that the returned information is the same as seen in the ECM Map-Register, if not the message MUST be silently dropped. If the information is correct, at this point the RTR can change the state of the associated EID-to-RLOC Map-Cache entry to "active" for the duration of the TTL indicated in the Map-Notify message.</t>

<t>The RTR then uses the information in the associated EID-to-RLOC Map-Cache entry to create a DP-ECM Map-Notify message, where the outer header destination RLOC and port number are set to the ETR's translated global RLOC and port number. If more than one ETR translated RLOC and port exists in the EID-to-RLOC Map-Cache entry for the same EID prefix specified in the Map-Notify, the RTR uses the xTR-ID from the Map-Notify to identify which ETR is the correct destination for the DP-ECM Map-Notify. The RTR sets the LISP data plane outer header source RLOC to RTR's RLOC from the EID-to-RLOC Map-Cache entry and the outer header source port is set to 4342. Then it set the ECM header using source and destination port 4342, destination address the ETR private RLOC and as source address the RTR RLOC. Finally, the RTR sends the DP-ECM Map-Notify to the ETR.</t>

<t>LISP defines several mechanisms to signal updated mappings in the data-plane <xref target="RFC9300"/> and in the control plane <xref target="RFC9301"/>. If the Map-Register / Map-Notify modifies and existing EID-to-RLOC Map-Cache entry, the RTR can use these mechanisms to signal the change to device using the RTR to send traffic to the xTRs behind a NAT device.</t>

</section>
<section anchor="SEC:rtrdatafwd"><name>RTR Data Plane Forwarding</name>

<t>An RTR processes LISP data plane packets according to <xref target="RFC9300"/>. In the case where the destination EID is a previously registered EID behind a NAT device, the RTR strips the LISP data header and re-encapsulate the packet in a new LISP data header. The outer header RLOCs and UDP ports are then filled based on the matching EID-to-RLOC Map-Cache entry for the associated destination EID prefix. The RTR uses the RTR RLOC from the EID-to-RLOC Map-Cache entry as the outer header source RLOC. The outer header source port is set to 4342. The RTR sets the outer header destination RLOC and outer header destination port based on the ETR translated global RLOC and port stored in the Map-Cache entry. Then the RTR forwards the LISP data packet.</t>

</section>
</section>
</section>
<section anchor="SEC:sec"><name>Security Considerations</name>

<t>These specifications leverage on mechanism defined in <xref target="RFC9300"/>, <xref target="RFC9301"/>, and <xref target="RFC8060"/>, as such security considerations in those documents apply as well here.</t>

<t>To protect origin authentication and integrity of control plane messages the LISP-SEC <xref target="RFC9303"/> MUST be used.</t>

<t>Info-Request and Info-Reply messages have similar header structure of Map-Register and Map-Notify, as such authentication and integrity can be performed in the same way, hence the procedures described in Section 5.6 of <xref target="RFC9301"/> MUST be used with a pre-shared key between the xTR and the Map-Server.</t>

<t>Similarly, Map-Register and Map-Notify MUST be also be verified for authentication and integrity using pre-shared key between the xTR and the Map-Server as for <xref target="RFC9301"/>.</t>

<t>The pre-shared key for authentication and integrity verification of the Info-Request/Info-Reply messages SHOULD be different from the pre-shared key used for authentication and integrity verification of the Info-Request/Info-Reply messages.</t>

<t>For the authentication and integrity protection of the RTR, the Encapsulated Control Message LISP-SEC Extensions defined in Section 6.1 of <xref target="RFC9303"/> MUST be used, employing two different pre-shared keys, one between the RTR and the ETR and one between the RTR and the Map-Server. <xref target="RFC9303"/> defines how to protect the ECM-encapsulated Map-Request/Map-reply messages, however, the exact same operations can used to protect ECM-encapsulated Map-Register/Map-Notify messages. In this way, ETR and RTR can authenticate each other and verify messages' integrity. RTR and Map-Server can do exactly the same, authenticating each other and verifying messages' integrity.</t>

<t>Concerning the shared key among the various LISP entities, considerations in Section 7.5 of <xref target="RFC9303"/> apply.</t>

<t>Mapping lookups, through Map-Request/Map-Reply messages exchange, performed by the RTR(s) and the xTR(s) MUST be protected using LISP-SEC <xref target="RFC9303"/>.</t>

<t>The RTR MUST re-encapsulate traffic only when the source or the destination are EIDs registered with the procedures described in this document and authenticated using LISP-SEC <xref target="RFC9303"/>, which protects against the adverse use of an RTR for EID spoofing.</t>

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

<t>IANA is requested to allocate one codepoint from the "LISP Packet Types" registry, to be used to identify Info-Request/Info-Reply messages. The new entry should be defined as in <xref target="TAB:infopkt"/>.</t>

<texttable title="" anchor="TAB:infopkt">
      <ttcol align='left'>Code</ttcol>
      <ttcol align='left'>Message</ttcol>
      <ttcol align='left'>Reference</ttcol>
      <c>7 (suggested)</c>
      <c>LISP Info-Request/Info-Reply</c>
      <c>[This Document]</c>
</texttable>

</section>
<section anchor="acknowledgments"><name>Acknowledgments</name>

<t>The authors would like to thank Noel Chiappa, Alberto Rodriguez Natal, Lorand Jakab, Dominik Klein, Matthias Hartmann, and Michael Menth for their previous work, feedback and helpful suggestions.</t>

</section>


  </middle>

  <back>


    <references title='Normative References'>



<reference anchor="RFC9300">
  <front>
    <title>The Locator/ID Separation Protocol (LISP)</title>
    <author fullname="D. Farinacci" initials="D." surname="Farinacci"/>
    <author fullname="V. Fuller" initials="V." surname="Fuller"/>
    <author fullname="D. Meyer" initials="D." surname="Meyer"/>
    <author fullname="D. Lewis" initials="D." surname="Lewis"/>
    <author fullname="A. Cabellos" initials="A." role="editor" surname="Cabellos"/>
    <date month="October" year="2022"/>
    <abstract>
      <t>This document describes the data plane protocol for the Locator/ID Separation Protocol (LISP). LISP defines two namespaces: Endpoint Identifiers (EIDs), which identify end hosts; and Routing Locators (RLOCs), which identify network attachment points. With this, LISP effectively separates control from data and allows routers to create overlay networks. LISP-capable routers exchange encapsulated packets according to EID-to-RLOC mappings stored in a local Map-Cache.</t>
      <t>LISP requires no change to either host protocol stacks or underlay routers and offers Traffic Engineering (TE), multihoming, and mobility, among other features.</t>
      <t>This document obsoletes RFC 6830.</t>
    </abstract>
  </front>
  <seriesInfo name="RFC" value="9300"/>
  <seriesInfo name="DOI" value="10.17487/RFC9300"/>
</reference>

<reference anchor="RFC9301">
  <front>
    <title>Locator/ID Separation Protocol (LISP) Control Plane</title>
    <author fullname="D. Farinacci" initials="D." surname="Farinacci"/>
    <author fullname="F. Maino" initials="F." surname="Maino"/>
    <author fullname="V. Fuller" initials="V." surname="Fuller"/>
    <author fullname="A. Cabellos" initials="A." role="editor" surname="Cabellos"/>
    <date month="October" year="2022"/>
    <abstract>
      <t>This document describes the control plane and Mapping Service for the Locator/ID Separation Protocol (LISP), implemented by two types of LISP-speaking devices -- the LISP Map-Resolver and LISP Map-Server -- that provide a simplified "front end" for one or more Endpoint IDs (EIDs) to Routing Locator mapping databases.</t>
      <t>By using this control plane service interface and communicating with Map-Resolvers and Map-Servers, LISP Ingress Tunnel Routers (ITRs) and Egress Tunnel Routers (ETRs) are not dependent on the details of mapping database systems; this behavior facilitates modularity with different database designs. Since these devices implement the "edge" of the LISP control plane infrastructure, connecting EID addressable nodes of a LISP site, the implementation and operational complexity of the overall cost and effort of deploying LISP is reduced.</t>
      <t>This document obsoletes RFCs 6830 and 6833.</t>
    </abstract>
  </front>
  <seriesInfo name="RFC" value="9301"/>
  <seriesInfo name="DOI" value="10.17487/RFC9301"/>
</reference>

<reference anchor="RFC3022">
  <front>
    <title>Traditional IP Network Address Translator (Traditional NAT)</title>
    <author fullname="P. Srisuresh" initials="P." surname="Srisuresh"/>
    <author fullname="K. Egevang" initials="K." surname="Egevang"/>
    <date month="January" year="2001"/>
    <abstract>
      <t>The NAT operation described in this document extends address translation introduced in RFC 1631 and includes a new type of network address and TCP/UDP port translation. In addition, this document corrects the Checksum adjustment algorithm published in RFC 1631 and attempts to discuss NAT operation and limitations in detail. This memo provides information for the Internet community.</t>
    </abstract>
  </front>
  <seriesInfo name="RFC" value="3022"/>
  <seriesInfo name="DOI" value="10.17487/RFC3022"/>
</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>

<reference anchor="RFC2663">
  <front>
    <title>IP Network Address Translator (NAT) Terminology and Considerations</title>
    <author fullname="P. Srisuresh" initials="P." surname="Srisuresh"/>
    <author fullname="M. Holdrege" initials="M." surname="Holdrege"/>
    <date month="August" year="1999"/>
    <abstract>
      <t>This document attempts to describe the operation of NAT devices and the associated considerations in general, and to define the terminology used to identify various flavors of NAT. This memo provides information for the Internet community.</t>
    </abstract>
  </front>
  <seriesInfo name="RFC" value="2663"/>
  <seriesInfo name="DOI" value="10.17487/RFC2663"/>
</reference>

<reference anchor="RFC8060">
  <front>
    <title>LISP Canonical Address Format (LCAF)</title>
    <author fullname="D. Farinacci" initials="D." surname="Farinacci"/>
    <author fullname="D. Meyer" initials="D." surname="Meyer"/>
    <author fullname="J. Snijders" initials="J." surname="Snijders"/>
    <date month="February" year="2017"/>
    <abstract>
      <t>This document defines a canonical address format encoding used in Locator/ID Separation Protocol (LISP) control messages and in the encoding of lookup keys for the LISP Mapping Database System.</t>
    </abstract>
  </front>
  <seriesInfo name="RFC" value="8060"/>
  <seriesInfo name="DOI" value="10.17487/RFC8060"/>
</reference>

<reference anchor="RFC9303">
  <front>
    <title>Locator/ID Separation Protocol Security (LISP-SEC)</title>
    <author fullname="F. Maino" initials="F." surname="Maino"/>
    <author fullname="V. Ermagan" initials="V." surname="Ermagan"/>
    <author fullname="A. Cabellos" initials="A." surname="Cabellos"/>
    <author fullname="D. Saucez" initials="D." surname="Saucez"/>
    <date month="October" year="2022"/>
    <abstract>
      <t>This memo specifies Locator/ID Separation Protocol Security (LISP-SEC), a set of security mechanisms that provides origin authentication, integrity, and anti-replay protection to the LISP's Endpoint-ID-to-Routing-Locator (EID-to-RLOC) mapping data conveyed via the mapping lookup process. LISP-SEC also enables verification of authorization on EID-Prefix claims in Map-Reply messages.</t>
    </abstract>
  </front>
  <seriesInfo name="RFC" value="9303"/>
  <seriesInfo name="DOI" value="10.17487/RFC9303"/>
</reference>




    </references>

    <references title='Informative References'>



<reference anchor="RFC8445">
  <front>
    <title>Interactive Connectivity Establishment (ICE): A Protocol for Network Address Translator (NAT) Traversal</title>
    <author fullname="A. Keranen" initials="A." surname="Keranen"/>
    <author fullname="C. Holmberg" initials="C." surname="Holmberg"/>
    <author fullname="J. Rosenberg" initials="J." surname="Rosenberg"/>
    <date month="July" year="2018"/>
    <abstract>
      <t>This document describes a protocol for Network Address Translator (NAT) traversal for UDP-based communication. This protocol is called Interactive Connectivity Establishment (ICE). ICE makes use of the Session Traversal Utilities for NAT (STUN) protocol and its extension, Traversal Using Relay NAT (TURN).</t>
      <t>This document obsoletes RFC 5245.</t>
    </abstract>
  </front>
  <seriesInfo name="RFC" value="8445"/>
  <seriesInfo name="DOI" value="10.17487/RFC8445"/>
</reference>

<reference anchor="RFC8489">
  <front>
    <title>Session Traversal Utilities for NAT (STUN)</title>
    <author fullname="M. Petit-Huguenin" initials="M." surname="Petit-Huguenin"/>
    <author fullname="G. Salgueiro" initials="G." surname="Salgueiro"/>
    <author fullname="J. Rosenberg" initials="J." surname="Rosenberg"/>
    <author fullname="D. Wing" initials="D." surname="Wing"/>
    <author fullname="R. Mahy" initials="R." surname="Mahy"/>
    <author fullname="P. Matthews" initials="P." surname="Matthews"/>
    <date month="February" year="2020"/>
    <abstract>
      <t>Session Traversal Utilities for NAT (STUN) is a protocol that serves as a tool for other protocols in dealing with NAT traversal. It can be used by an endpoint to determine the IP address and port allocated to it by a NAT. It can also be used to check connectivity between two endpoints and as a keep-alive protocol to maintain NAT bindings. STUN works with many existing NATs and does not require any special behavior from them.</t>
      <t>STUN is not a NAT traversal solution by itself. Rather, it is a tool to be used in the context of a NAT traversal solution.</t>
      <t>This document obsoletes RFC 5389.</t>
    </abstract>
  </front>
  <seriesInfo name="RFC" value="8489"/>
  <seriesInfo name="DOI" value="10.17487/RFC8489"/>
</reference>

<reference anchor="RFC8656">
  <front>
    <title>Traversal Using Relays around NAT (TURN): Relay Extensions to Session Traversal Utilities for NAT (STUN)</title>
    <author fullname="T. Reddy" initials="T." role="editor" surname="Reddy"/>
    <author fullname="A. Johnston" initials="A." role="editor" surname="Johnston"/>
    <author fullname="P. Matthews" initials="P." surname="Matthews"/>
    <author fullname="J. Rosenberg" initials="J." surname="Rosenberg"/>
    <date month="February" year="2020"/>
    <abstract>
      <t>If a host is located behind a NAT, it can be impossible for that host to communicate directly with other hosts (peers) in certain situations. In these situations, it is necessary for the host to use the services of an intermediate node that acts as a communication relay. This specification defines a protocol, called "Traversal Using Relays around NAT" (TURN), that allows the host to control the operation of the relay and to exchange packets with its peers using the relay. TURN differs from other relay control protocols in that it allows a client to communicate with multiple peers using a single relay address.</t>
      <t>The TURN protocol was designed to be used as part of the Interactive Connectivity Establishment (ICE) approach to NAT traversal, though it can also be used without ICE.</t>
      <t>This document obsoletes RFCs 5766 and 6156.</t>
    </abstract>
  </front>
  <seriesInfo name="RFC" value="8656"/>
  <seriesInfo name="DOI" value="10.17487/RFC8656"/>
</reference>




    </references>


<?line 535?>

<section anchor="SEC:example"><name>NAT Traversal Example</name>

<t>In what follows there is an example of an ETR initiating a registration of a new RLOC to its Map-Server, when the RLOC is behind a NAT (<xref target="SEC:regex"/>). A second example shows how data communication between a LISP site behind a NAT and a second LISP site works (<xref target="SEC:datacom"/>).</t>

<section anchor="SEC:regex"><name>EID Prefix Registration Example</name>

<!-- 
RFC 6890 Compliance
192.168.1.2 => 172.16.1.2
2.0.0.1 => 192.0.2.1
3.0.0.1 => 203.0.113.169
1.0.0.1 => 203.0.113.1
128.1.0.0/16 => 198.51.100.0/24
74.0.0.1 => 192.0.2.129/25
-->

<t>In this example, the ETR (Site1-ETR) is configured with the local RLOC of 172.16.1.2. The NAT's global (external) addresses are from 192.0.2.1/25 prefix. The Map-Server is at 203.0.113.169. And one potential RTR has an IP address of 203.0.113.1. The Site1-ETR has an EID Prefix of 198.51.100.0/24.</t>

<t>The steps to register the EID-Prefix of Site1-ETR in the MAP Server are as follows:</t>

<t><list style="numbers">
  <t>Site1-ETR receives the private IP address, 172.16.1.2 as its RLOC, for instance via DHCP.</t>
  <t>Site1-ETR sends an Info-Request message with the destination RLOC of the Map-Server, 203.0.113.169, and source RLOC of 172.16.1.2. This packet has the destination port set to 4342 and the source port is set to (for example) 5001.</t>
  <t>The NAT device translates the source IP from 172.16.1.2 to 192.0.2.1, and source port to (for example) 20001 global ephemeral source port.</t>
  <t>The Map-Server receives and responds to this Info-Request with an Info-Reply message. This Info-Reply has the destination address set to Site1-ETR's translated address of 192.0.2.1 and the source address is the Map-Server's RLOC, namely 203.0.113.169. The destination port is 20001 and the source port is 4342. Map-Server includes a copy of the source address and port of the Info-Request message (192.0.2.1:20001), and a list of RTR RLOCs including RTR RLOC 203.0.113.1 in the Info-Reply contents.</t>
  <t>The NAT translates the Info-Reply packet's destination IP from 192.0.2.1 to 172.16.1.2, and translates the destination port from 20001 to 5001, and forwards the Info-Reply to Site1-ETR at 172.16.1.2.</t>
  <t>Site1-ETR detects that it is behind a NAT by comparing its local RLOC (172.16.1.2) with the Global ETR RLOC Address in the Info-Reply (192.0.2.1) . Then, Site1-ETR picks the RTR 203.0.113.1 from the list of RTR RLOCs in the Info-Reply. Site1-ETR stores the RTR RLOC in a default EID-to-RLOC Map-Cache entry to periodically send ECM Map-Registers to.</t>
  <t>The ETR sends an ECM encapsulated Map-Register to RTR at 203.0.113.1. The outer header source RLOC of this Map-Register is set to 172.16.1.2 and the outer header source port is set to 4341. The outer header destination RLOC and port are set to RTR RLOC at 203.0.113.1 and 4342 respectively. The M bit in ECM header is set to 1. The inner header destination RLOC is set to ETR's Map-Server 203.0.113.169, and the inner header destination port is set to 4342. The inner header source RLOC is set to ETR's local RLOC 172.16.1.2 and the source port is set to (for example) 5002. In the Map-Register message the RTR RLOC 203.0.113.1 appears as the locator set for the ETR's EID prefix (198.51.100.0/24). In this example ETR also sets the Proxy bit in the Map-Register to 1, and sets I bit to 1, and includes its xTR-ID and Site-ID in the Map-Register.</t>
  <t>The NAT translates the source RLOC in the ECM header of the Map-Register, by changing it from 172.16.1.2 to 192.0.2.1, and translates the source port in the ECM header from 4341 to (for example) 20002, and forwards the Map-Register to RTR.</t>
  <t>The RTR receives the Map-Register and creates an EID-to-RLOC Map-Cache entry with the ETR's xTR-ID, EID prefix, and the source RLOC and port of the ECM header of the Map-Register as the locator (198.51.100.0/24 is mapped to 192.0.2.1:20002). RTR also caches the inner header source RLOC of the Map-Register namely 172.16.1.2, and the outer header destination RLOC of the ECM header in the Map-Register (this would be RTR's RLOC 203.0.113.1 ) to use for sending back a DP-ECM Map-Notify. RTR then removes the outer header, adds a new ECM header with M=0, and E=1, and forwards the Map-Register to the destination Map-Server.</t>
  <t>The Map-Server receives the ECM Map-Register with N bit set to 1, removes the ECM header, and processes it according to <xref target="RFC9301"/>. After registering the ETR, Map-Server responds with an ECM Map-Notify with the E bit set to 1 in the ECM header. Since the I bit is set in the Map-Register, the Map-Server also sets the I bit in the Map-Notify and copies the xTR-ID and Site-ID from the Map-Register to the Map-Notify. The source address of this Map-Notify is set to 203.0.113.169. The destination is copied from the local source address of the Map Register (172.16.1.2), and both source and destination ports are set to 4342.</t>
  <t>The RTR receives the ECM Map-Notify. It decapsulated the message stripping the ECM header, then re-encapsulates in a new ECM header and a LISP data plane header and sends the resulting DP-ECM Map-Notify to Site1-ETR with a matching xTR-ID. The outer header source RLOC and port of the DP-ECM Map-Notify are set to 203.0.113.1:4342. The outer header destination RLOC and port are retrieved from previously cached Map-Cache entry in step 9, namely 192.0.2.1:20002. The ECM header source RLOC and port of are set to 203.0.113.1:4342, while destination RLOC and port are the local RLOC 172.16.1.2 and 4342 respectively. At this point RTR marks ETR's EID prefix as "active" status and forwards the DP-ECM Map-Notify to ETR.</t>
  <t>The NAT device translates the destination RLOC and port of the Data-Map-Notify to 172.16.1.2:4341 and forwards the packet to ETR.</t>
  <t>The Site1-ETR receives the packet with a destination port 4341, and processes the packet as a control packet after observing the outer  destination address and the inner destination address is a private RLOC belonging to a NAT LCAF. At this point ETR's registration to the RTR is complete.</t>
</list></t>

</section>
<section anchor="SEC:datacom"><name>Data Communication example</name>

<t>Assume a requesting ITR in a second LISP site (Site2-ITR) has an RLOC of 192.0.2.129/25. The following is an example process of an EID behind Site2-ITR sending a data packet to an EID behind the Site1-ETR.</t>

<t><list style="numbers">
  <t>The ITR sends a Map-Request which arrives via the LISP mapping system to the ETR's Map Server.</t>
  <t>The Map-Server sends a Map-Reply on behalf of the ETR, using the RTR's RLOC (203.0.113.1) in the Map-Reply's Locator Set.</t>
  <t>The ITR encapsulates a LISP data packet with ITR's local RLOC (192.0.2.129/25) as the source RLOC and the RTR as the destination RLOC (203.0.113.1) in the outer header.</t>
  <t>The RTR decapsulates the packet, evaluates the inner header against its EID-to-RLOC Map-Cache and then re-encapsulates the packet. The new outer header's source RLOC is the RTR's RLOC 203.0.113.1 and the new outer header's destination RLOC is the Global NAT address 192.0.2.1. The destination port of the packet is set to 20002 (discovered above during the registration phase) and the source port is 4342.</t>
  <t>The NAT translates the LISP data packet's destination IP from to 192.0.2.1 to 172.16.1.2, and translates the destination port from 20002 to 4341, and forwards the LISP data packet to the ETR at 172.16.1.2.</t>
  <t>For the reverse path the ITR uses its local EID-to-RLOC Map-Cache entry with the RTR RLOC as the default locator and encapsulates the LISP data packets using RTR RLOC, and 4341 as destination RLOC and port.</t>
</list></t>

</section>
</section>

    <section anchor="contributors" numbered="false" toc="include" removeInRFC="false">
        <name>Contributors</name>
    <contact initials="A." surname="Cabellos" fullname="Albert Cabellos">
      <organization>UPC/BarcelonaTech</organization>
      <address>
        <email>acabello@ac.upc.edu</email>
      </address>
    </contact>
    </section>

  </back>

<!-- ##markdown-source:
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
JK6xjIEpTWrxiLL056D8XCyhUaI5kVwLzGKSjdjdEMzehHn4EgdD8vk13jaN
pXvXTdmljsGZxna+iJDHcKWrbofpCj9tXOXf83W+ZA2ZS3cREnIl9E5yXLSP
KEUZg+hycfyB6YTuOKQB4auzuvZqJAg5hxgofSZJhYciwjSnvic6JtlHiXSS
BwVMOQtg4AB7WeHF3xg/LxeLYoZl6XihM3ZPKQgxQQI/KN1Lc5iaN+jZ1dUF
eR+BZo6qjwYaUNnwv7uck7RMDe4ihnHyM7qauhq7SzwBXOR/zmTTCZ1zrZuV
eefrxIKX1Oaq1iCUjTxa3ICgmHbDd8qOwmwY7Sle9WgseN8Mx+qULfZbjoKe
U+rLaFikL1LDwKM9BzWcRRxs02PTytbJk+sQWymaWW9Sp1r/HISdtPpejVpW
bJ8QL+ldoffaMxZrLJOcM5QUxHi0mA8ZevEVHx870UQ+fMPyI9d6CFQ9EdsF
1/Chv8tNftJ0DeKYjlYbkewqqMo5rArvSW3q5RKV6+F5X3S1qhdHWd6r11Bb
lI/FMlh8USyPZM9Rr9GQsElPcur09cT5MLNVE9z5iUcGeuclBgpLFKfkQq58
JMJK5C+Ez51JGIw321tt73mWW5S86YMmRvm9E9K0ZwvuxooB34rDa+bl8C2S
Xs7Yuo8vGWmkviMZH8E/sWchRdUExqXvrOU6PbLklQOqznwnW8zjTiHq7YC5
9VqjGXE/qsG+AGHvOQfnOsz8kpZ4dHxWy0SNHGKDWE3hVCSQg4SpWKDQSr+M
s29c2/AJHrKufGH2iasaT+I29BS5H4q0421dya3LLbTmmI4estY0pdIL7sqY
d8WWDnonrPCVU+FTFO9L9cB7GrAjXaMsPqnT1veS6qaArC3SqyLwRNrV6kSE
SV51FaOLr7HRafKUcxhmMu3R3viCZxdjQuydX8/0jq0T2n+Nt8ZU7zJuyTJD
urMs7b5GZQd6jM8Zg+aolSnRyYMKiYR506s44LqRcdy1mOH2xkz8XqJhhpS3
w3h6eKLVUFOV7JdBoYo7KMOJHKMnYtSooa4iyIk+F668n1AZrmXwJxm/qJ9I
IA/vVkjrSzkC1EUaJqmenLvguNWsVkSiYsle394r03BdJz5o0GlPimyD8Gtb
TLXzRGvOn/Ajc5JTF3RttOPqflNxrWGOChmrWZSNQ/mK1a0uDDYNIaJFY1ZZ
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

-->

</rfc>

