<?xml version='1.0' encoding='utf-8'?>
<!DOCTYPE rfc [
  <!ENTITY nbsp    "&#160;">
  <!ENTITY zwsp   "&#8203;">
  <!ENTITY nbhy   "&#8209;">
  <!ENTITY wj     "&#8288;">
]>
<?xml-stylesheet type="text/xsl" href="rfc2629.xslt" ?>
<!-- generated by https://github.com/cabo/kramdown-rfc version 1.7.36 (Ruby 3.2.3) -->
<?rfc compact="yes"?>
<?rfc comments="yes"?>
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-bhatti-ilnp-nonce-00" category="exp" submissionType="independent" updates="6740, 6741, 6744" tocInclude="true" sortRefs="true" symRefs="true" version="3">
  <!-- xml2rfc v2v3 conversion 3.33.0 -->
  <front>
    <title abbrev="ILNP Nonce">Use of the ILNP Nonce Destination Option Header</title>
    <seriesInfo name="Internet-Draft" value="draft-bhatti-ilnp-nonce-00"/>
    <author initials="S. N." surname="Bhatti" fullname="Saleem N. Bhatti">
      <organization>University of St Andrews, UK</organization>
      <address>
        <email>saleem@st-andrews.ac.uk</email>
      </address>
    </author>
    <date year="2026" month="May" day="08"/>
    <area>Network</area>
    <workgroup>Network Working Group</workgroup>
    <keyword>Identifier Locator Network Protocol (ILNP)</keyword>
    <keyword>Identifier-Locator Vector (I-LV)</keyword>
    <keyword>Locator (L64)</keyword>
    <keyword>Node Identifier (NID)</keyword>
    <abstract>
      <?line 66?>

<t>The Identifier Locator Network Protocol (ILNP) for IPv6 is described in Experimental RFCs 6740-6744.
ILNP packets for IPv6 are distinguished from normal IPv6 packets by the presence of the Nonce Destination Option Header (aka Nonce Header), as defined in RFC6744.
This document clarifies the use of the Nonce Header for ILNP.
This document updates RFC6740, RFC6741, RFC6744.</t>
    </abstract>
    <note removeInRFC="true">
      <name>About This Document</name>
      <t>
        Status information for this document may be found at <eref target="https://datatracker.ietf.org/doc/draft-bhatti-ilnp-nonce/"/>.
      </t>
      <t>
        Discussion of this document takes place on the
        Network Network Working Group mailing list (<eref target="mailto:saleem@st-andrews.ac.uk"/>).
      </t>
    </note>
  </front>
  <middle>
    <?line 73?>

<section anchor="s-introduction">
      <name>Introduction</name>
      <t>ILNP is designed to be backwards compatible "on-the-wire" with IPv6, and to be incrementally deployable such that only nodes that need to use ILNP need to be modified, typically end-systems only.
No modifications are required to switches or routers.
ILNP packets can include a Nonce Destination Option Header (aka Nonce Header) to distinguish them from other IPv6 packets.
This document clarifies the use of the Nonce Header for ILNP.</t>
      <t>The specification of the Nonce Header is given in <xref target="RFC6744"/>.</t>
      <t>ILNP is defined for use with IPv6 and for use with IPv4, but all references in this document to ILNP are for IPv6 only.
It is possible to apply the methods described in this document to ILNP for IPv4 (with the use of the L32 data-type from <xref target="RFC6740"/> <xref target="RFC6742"/> in place of the L64 data-type), but that exercise is outside the scope of this document.
Nevertheless, the list of changes given in <xref target="s-nonce_changes"/> are directly applicable to the Nonce header Option for IPv4 described in <xref target="RFC6746"/>.</t>
      <section anchor="ss-purpose">
        <name>Purpose</name>
        <t>The purpose of this document is to clarify for the Nonce Header the following:</t>
        <ol spacing="normal" type="1"><li>
            <t>Purpose: what it is intended for in ILNP.</t>
          </li>
          <li>
            <t>Design: the nature and use of values in the <tt>Nonce Value</tt> field.</t>
          </li>
          <li>
            <t>Usage: when and how the Nonce Header should be used in ILNP packets.</t>
          </li>
        </ol>
        <t>The current RFC documents are not totally clear on points 1. and 2., and this document changes the description with respect to point 3.
The key changes are all summarised in <xref target="s-nonce_changes"/>, and the rest of the document provides context and discussion.</t>
        <t>This document does not change the structure of the Nonce Header, which remains as defined in <xref target="RFC6744"/>.</t>
      </section>
      <section anchor="ss-rationale">
        <name>Rationale</name>
        <t>The Nonce Header is as defined in <xref target="RFC6744"/>, and has been assigned type value 0x8b by IANA:
it is essential for the correct operation of ILNP.
The current definition and use of the Nonce Header states that it should only be present in some packet exchanges for an ILNP session but not all packets.
Clarification is needed to ensure that the design and usage of the Nonce Header is clear and consistent.
The clarifications and changes defined in this document will simplify packet processing for ILNP packets.</t>
      </section>
    </section>
    <section anchor="s-conventions">
      <name>Conventions and Definitions</name>
      <t>The key words "<bcp14>MUST</bcp14>", "<bcp14>MUST NOT</bcp14>", "<bcp14>REQUIRED</bcp14>", "<bcp14>SHALL</bcp14>", "<bcp14>SHALL
NOT</bcp14>", "<bcp14>SHOULD</bcp14>", "<bcp14>SHOULD NOT</bcp14>", "<bcp14>RECOMMENDED</bcp14>", "<bcp14>NOT RECOMMENDED</bcp14>",
"<bcp14>MAY</bcp14>", and "<bcp14>OPTIONAL</bcp14>" in this document are to be interpreted as
described in BCP 14 <xref target="RFC2119"/> <xref target="RFC8174"/> when, and only when, they
appear in all capitals, as shown here.</t>
      <?line -18?>

<section anchor="ss-previous_definitions">
        <name>Definitions from other documents</name>
        <t>The following terms are defined in <xref target="RFC6740"/>:</t>
        <ul spacing="normal">
          <li>
            <t>Locator, L64</t>
          </li>
          <li>
            <t>Node Identifier, NID</t>
          </li>
          <li>
            <t>Identifier-Locator Vector, I-LV</t>
          </li>
          <li>
            <t>I-L Communications Cache, ILCC</t>
          </li>
        </ul>
      </section>
    </section>
    <section anchor="s-rfc_updates">
      <name>Updates to previous RFC documents</name>
      <t>RFC documents that are updated by this document are:</t>
      <ul spacing="normal">
        <li>
          <t>RFC6740 "Identifier-Locator Network Protocol (ILNP) Architectural Description" <xref target="RFC6740"/>.</t>
        </li>
        <li>
          <t>RFC6741 "Identifier-Locator Network Protocol (ILNP) Engineering Considerations" <xref target="RFC6741"/>.</t>
        </li>
        <li>
          <t>RFC6744 "IPv6 Nonce Destination Option for the Identifier-Locator Network Protocol for IPv6 (ILNPv6)" <xref target="RFC6744"/>.</t>
        </li>
      </ul>
      <section anchor="ss-rfc6740_rfc6741">
        <name>RFC6740 and RFC6741</name>
        <t>The use of the Nonce Header is changed, and the use of the <tt>Nonce Value</tt> field in the Nonce Header is clarified.
So, any reference to either should be read in the light of <xref target="s-nonce_changes"/>.
Some key examples of how this document impacts text in RFC6740 and RFC6741 are given in <xref target="ss-rfc6740_rfc6741_examples"/>.</t>
      </section>
      <section anchor="ss-rfc6744">
        <name>RFC6744</name>
        <t>The key changes with respect to RFC6744 are listed in <xref target="s-nonce_changes"/>, so, the reading of RFC6744 should now be in the light of <xref target="s-nonce_changes"/>.
Some key examples of how this document impacts text in RFC6744 are given in <xref target="ss-rfc6744_examples"/>.</t>
      </section>
    </section>
    <section anchor="s-nonce_changes">
      <name>The use of the Nonce Header and Nonce Value</name>
      <t>The two objectives for the use of the Nonce Header for ILNP are:</t>
      <ol spacing="normal" type="1"><li>
          <t>To show clearly that the packet is an ILNP packet, and so allow correct packet handling and processing.</t>
        </li>
        <li>
          <t>To provide for ILNP a lightweight mechanism for protection against certain "off-path" attacks, such as packet forging, flow hijacking, and network-level denial of service.</t>
        </li>
      </ol>
      <t>This document introduces the following changes to the use of the <tt>Nonce Header</tt> compared to <xref target="RFC6744"/> inline with the two objectives above:</t>
      <ul spacing="normal">
        <li>
          <t>NC1: The Nonce Header <bcp14>MUST</bcp14> appear in <em>every</em> ILNP packet.</t>
        </li>
        <li>
          <t>NC2: The <tt>Nonce Value</tt> <bcp14>MUST</bcp14> be <em>randomly generated</em> for any new ILNP communication session that is <em>initiated</em> by a node, and <bcp14>MUST</bcp14> be <em>unique</em> with respect to any other <tt>Nonce Value</tt> still in use for an ILNP communication session that was <em>initiated</em> by this node.</t>
        </li>
        <li>
          <t>NC3: The <tt>Nonce Value</tt> <bcp14>MUST</bcp14> be the <em>same</em> in the Nonce Header for both directions of an ILNP communication session, i.e. it is <em>bidirectional</em>.</t>
        </li>
      </ul>
      <t>These changes simplify packet handling and processing for ILNP, as explained and discussed in the rest of this document.</t>
      <t>For ease of reference, these changes will be referred to in the rest of this document as NC1, NC2, and NC3, respectively, as marked in the list above.</t>
    </section>
    <section anchor="ss-original_text">
      <name>Examples of clarifications and improvements</name>
      <t>In a number of places, the original descriptions of the Nonce Header are not clear with respect to the two objectives listed in <xref target="s-nonce_changes"/>.
In other places, the text describes dealing with the presence or non-presence of the Nonce Header for ILNP packets, leading to a more complex description and requirements for packet handling and processing.
Some particularly relevant examples (but not all instances of such cases) are given in the sub-sections below, with explanations of how NC1, NC2, and NC3 are beneficial.</t>
      <section anchor="ss-rfc6740_rfc6741_examples">
        <name>Examples from RFC6740 and RFC6741</name>
        <t>The core documents for the definition of the ILNP architecture and engineering are <xref target="RFC6740"/> and <xref target="RFC6741"/>.
Each makes reference to the Nonce Header or the use of the <tt>Nonce Value</tt>.
Some examples are:</t>
        <ol spacing="normal" type="1"><li>
            <t>From <xref section="8" sectionFormat="of" target="RFC6740"/>, inclusion of the Nonce Header in ILNP packets:<br/>
              <tt>... will include the ILNP Nonce value in its initial packet(s) to the responder ...</tt></t>
          </li>
          <li>
            <t>From <xref section="9.1" sectionFormat="of" target="RFC6740"/>, use of the Nonce Header for flow protection:<br/>
              <tt>To reduce the number of on-path nodes that know the Nonce value for a given session when ILNP is in use, a nonce value is unidirectional, not bidirectional.</tt></t>
          </li>
          <li>
            <t>From <xref section="5.4" sectionFormat="of" target="RFC6741"/>, use of the <tt>Nonce Value</tt> for ILCC state management:<br/>
              <tt>For received packets containing an ILNP Nonce Option, lookups in the ILCC MUST use the &lt;remote Identifier, Nonce&gt; tuple as the lookup key. For all other ILNP packets, lookups in the ILNP Correspondent Cache MUST use the &lt;remote Locator, remote Identifier&gt; tuple, i.e., the remote I-LV, as the lookup key.</tt></t>
          </li>
        </ol>
        <t>The benefits of NC1:</t>
        <ul spacing="normal">
          <li>
            <t>For example 1 above, similar text appears in a number of places implying that the Nonce Header might not appear in some packets of a flow.
However, it is not made explicit that the Nonce Header does not have to appear in every packet of a flow.
Having the Nonce header in every ILNP packet avoids the problem where there is an IPv6 flow and an ILNP flow between the same two nodes and the values in the Source Address and Destination Address fields in the IPv6 packets are numerically identical.
Without the Nonce Header, it is not possible to determine end-system packet handling at the receiver from inspection of the IPv6 packet header alone.</t>
          </li>
          <li>
            <t>For example 2 above, coupled with NC3, the presence of the Nonce Header in every packet of a flow provides better protection for the flow overall.</t>
          </li>
          <li>
            <t>For example 3 above, this is an unnecessary complexity: if the Nonce Header is in every packet, then there is no need for an alternative key tuple definition for identifying flows in the ILCC.</t>
          </li>
        </ul>
        <t>The benefits of NC2:</t>
        <ul spacing="normal">
          <li>
            <t>For example 1 above, this is not relevant.</t>
          </li>
          <li>
            <t>For example 2 above, use of a unique <tt>Nonce Value</tt> for each ILNP communication session prevents an on-path attacker who learns of a <tt>Nonce Value</tt> from being able to make use of it for an attack on other ILNP communication sessions, e.g. by forging a new ILNP communication session.</t>
          </li>
          <li>
            <t>For example 3 above, the management of flow state in the ILCC is simplified by the use of a single key tuple for a flow.</t>
          </li>
        </ul>
        <t>The benefits of NC3:</t>
        <ul spacing="normal">
          <li>
            <t>For example 1 above, this is not relevant.</t>
          </li>
          <li>
            <t>For example 2 above, it can be argued that the use of a bidirectional <tt>Nonce Value</tt> introduces no degradation of protection compared to use of two unidirectional <tt>Nonce Values</tt>.
A suitably-placed on-path attacker could observe the <tt>Nonce Value</tt> in the packet exchange regardless of whether it is a unidirectional or bidirectional value.
Meanwhile, coupled with NC1, the use of a bidirectional <tt>Nonce Value</tt> can be used as part of a handshake / synchronisation token for the two communicating parties, e.g. to help prevent off-path forged packets entering a flow at the start of a session when the initiating node is waiting to learn the value of the <tt>Nonce Value</tt> field in the reverse direction.
Additionally, the <tt>Nonce Header</tt> is designed only to provide some lightweight protection for off-path attackers (please see <xref section="9" sectionFormat="of" target="RFC6740"/> and <xref section="11" sectionFormat="of" target="RFC6741"/>).</t>
          </li>
          <li>
            <t>For example 3 above, the management of flow state in the ILCC is simplified by ensuring that the key tuple is unique.</t>
          </li>
        </ul>
      </section>
      <section anchor="ss-rfc6744_examples">
        <name>Examples from RFC6744</name>
        <t>The Nonce Header is defined in <xref target="RFC6744"/> and includes the following text:</t>
        <ol spacing="normal" type="1"><li>
            <t>From <xref section="3.1" sectionFormat="of" target="RFC6744"/>, inclusion of the Nonce Header in ILNP packets:<br/>
              <tt>... initial packet(s) of an IPv6 session ...</tt>.</t>
          </li>
          <li>
            <t>From <xref section="5.2" sectionFormat="of" target="RFC6744"/>, use of the <tt>Nonce Value</tt> in distinguishing between transport flows in case of clashes of NID values (ILCC state management):<br/>
              <tt>Multiple transport-layer sessions between a given pair of nodes normally share a single entry in the ILNP Communication Cache, provided their network-layer details (e.g., Identifiers, Nonces) are identical. Because two different ILNP nodes at two different locations might share the same Identifier value, it is important for an ILNP implementation to use the ILNP Nonce values to distinguish between different ILNP nodes that happen to be using the same (or some of the same) Identifier value(s).</tt></t>
          </li>
          <li>
            <t>From <xref section="6" sectionFormat="of" target="RFC6744"/>, the implication of the selective inclusion of the Nonce Header in ILNP packets:<br/>
              <tt>ILNPv6 nodes MUST include this option in the first few packets of each ILNPv6 session, MUST include this option in all ICMP messages generated by endpoints participating in an ILNPv6 session, and MAY include this option in any and all packets of an ILNPv6 session. It is recommended that this option be included in all packets of the ILNPv6 session if the packet loss for that session is known to be much higher than normal.</tt></t>
          </li>
          <li>
            <t>From <xref section="7" sectionFormat="of" target="RFC6744"/>, the Nonce Header is used for off-path protection:<br/>
              <tt>The ILNPv6 Nonce Destination Option only seeks to provide protection against off-path attacks on an IP session.</tt></t>
          </li>
        </ol>
        <t>The benefits of NC1:</t>
        <ul spacing="normal">
          <li>
            <t>For example 1 above, as described in <xref target="ss-rfc6740_rfc6741_examples"/>, the inclusion of the Nonce Header in every ILNP packet is beneficial for packet processing.</t>
          </li>
          <li>
            <t>For example 2, coupled with NC3, the presence of the Nonce Header in every packet will allow better state management in the ILCC.</t>
          </li>
          <li>
            <t>For example 3, the text is now redundant, simplifying the overall description.</t>
          </li>
          <li>
            <t>For example 4, this document makes the issue of lightweight off-path protection an explicit objective for the Nonce Header in <xref target="s-nonce_changes"/>, and makes clear that it is a lightweight protection only against off-path attackers.</t>
          </li>
        </ul>
        <t>The benefits of NC2:</t>
        <ul spacing="normal">
          <li>
            <t>For example 1 above, this is not relevant.</t>
          </li>
          <li>
            <t>For example 2 above, the text is now redundant, simplifying the overall description.</t>
          </li>
          <li>
            <t>For example 3 above, coupled with NC1, the text is now redundant, simplifying the overall description.</t>
          </li>
          <li>
            <t>For example 4 above, coupled with NC1, protection against off-path attacks is improved.</t>
          </li>
        </ul>
        <t>The benefits of NC3:</t>
        <ul spacing="normal">
          <li>
            <t>For example 1 above, this is not relevant.</t>
          </li>
          <li>
            <t>For example 2 above, coupled with NC1, this will help to avoid state clashes in the ILCC.</t>
          </li>
          <li>
            <t>For example 3 above, the text is now redundant, simplifying the description.</t>
          </li>
          <li>
            <t>For example 4 above, there is a discussion in <xref target="ss-rfc6740_rfc6741_examples"/>.</t>
          </li>
        </ul>
      </section>
      <section anchor="ss-rfc6748_examples">
        <name>Example from RFC6748</name>
        <t><xref target="RFC6748"/> describes use cases and scenarios for ILNP.
Many of the use cases employ an ILNP-aware Site Border Routers (SBR).
RFC6748 is not modified by the contents of this document, but there is an improvement to be noted.</t>
        <ul spacing="normal">
          <li>
            <t>From <xref section="3.2" sectionFormat="of" target="RFC6748"/>, the operation of a SBR or firewall would be improved if the Nonce Header is used consistently:<br/>
              <tt>Since ILNP requires that all Locator Update messages be authenticated by the ILNP Nonce, the SBR will need to include the appropriate Nonce values as part of its cache of information about ILNP sessions traversing the SBR.   (NOTE: Since commercial security gateways available as of this writing reportedly can handle full stateful packet inspection for millions of flows at multi-gigabit speeds, it should be practical for such devices to cache the ILNP flow information, including Nonce values.)</tt></t>
          </li>
        </ul>
        <t>The combination of NC1, NC2, and NC3 would make the operation of SBR or firewall functions for ILNP easier to implement and more consistent.</t>
      </section>
    </section>
    <section anchor="s-security">
      <name>Security Considerations</name>
      <t>The purpose of the Nonce Header, to provide a lightweight protection against off-path attacks, is clarified in <xref target="s-nonce_changes"/>.
Overall, the protection for an ILNP flow is improved.</t>
      <t>As noted in <xref target="ss-rfc6748_examples"/>, operations of firewalls should be improved by the presence of the Nonce Header.</t>
      <t>The other existing security mechanisms already defined for ILNP remain unchanged (please see <xref section="9" sectionFormat="of" target="RFC6740"/>, <xref section="11" sectionFormat="of" target="RFC6741"/>).</t>
    </section>
    <section anchor="s-privacy">
      <name>Privacy Considerations</name>
      <t>There are no new privacy considerations.</t>
      <t>The existing identity privacy and location privacy properties already defined for ILNP remain unchanged (please see <xref section="10" sectionFormat="of" target="RFC6740"/>, <xref section="12" sectionFormat="of" target="RFC6741"/>, <xref section="7" sectionFormat="of" target="RFC6748"/>).</t>
    </section>
    <section anchor="s-iana">
      <name>IANA Considerations</name>
      <t>This document has no IANA actions.</t>
    </section>
  </middle>
  <back>
    <references anchor="sec-normative-references">
      <name>Normative References</name>
      <reference anchor="RFC6740">
        <front>
          <title>Identifier-Locator Network Protocol (ILNP) Architectural Description</title>
          <author fullname="RJ Atkinson" initials="RJ" surname="Atkinson"/>
          <author fullname="SN Bhatti" initials="SN" surname="Bhatti"/>
          <date month="November" year="2012"/>
          <abstract>
            <t>This document provides an architectural description and the concept of operations for the Identifier-Locator Network Protocol (ILNP), which is an experimental, evolutionary enhancement to IP. This is a product of the IRTF Routing Research Group. This document defines an Experimental Protocol for the Internet community.</t>
          </abstract>
        </front>
        <seriesInfo name="RFC" value="6740"/>
        <seriesInfo name="DOI" value="10.17487/RFC6740"/>
      </reference>
      <reference anchor="RFC6741">
        <front>
          <title>Identifier-Locator Network Protocol (ILNP) Engineering Considerations</title>
          <author fullname="RJ Atkinson" initials="RJ" surname="Atkinson"/>
          <author fullname="SN Bhatti" initials="SN" surname="Bhatti"/>
          <date month="November" year="2012"/>
          <abstract>
            <t>This document describes common (i.e., version independent) engineering details for the Identifier-Locator Network Protocol (ILNP), which is an experimental, evolutionary enhancement to IP. This document is a product of the IRTF Routing Research Group. This document defines an Experimental Protocol for the Internet community.</t>
          </abstract>
        </front>
        <seriesInfo name="RFC" value="6741"/>
        <seriesInfo name="DOI" value="10.17487/RFC6741"/>
      </reference>
      <reference anchor="RFC6742">
        <front>
          <title>DNS Resource Records for the Identifier-Locator Network Protocol (ILNP)</title>
          <author fullname="RJ Atkinson" initials="RJ" surname="Atkinson"/>
          <author fullname="SN Bhatti" initials="SN" surname="Bhatti"/>
          <author fullname="S. Rose" initials="S." surname="Rose"/>
          <date month="November" year="2012"/>
          <abstract>
            <t>This note describes additional optional resource records for use with the Domain Name System (DNS). These optional resource records are for use with the Identifier-Locator Network Protocol (ILNP). This document is a product of the IRTF Routing Research Group. This document defines an Experimental Protocol for the Internet community.</t>
          </abstract>
        </front>
        <seriesInfo name="RFC" value="6742"/>
        <seriesInfo name="DOI" value="10.17487/RFC6742"/>
      </reference>
      <reference anchor="RFC6744">
        <front>
          <title>IPv6 Nonce Destination Option for the Identifier-Locator Network Protocol for IPv6 (ILNPv6)</title>
          <author fullname="RJ Atkinson" initials="RJ" surname="Atkinson"/>
          <author fullname="SN Bhatti" initials="SN" surname="Bhatti"/>
          <date month="November" year="2012"/>
          <abstract>
            <t>The Identifier-Locator Network Protocol (ILNP) is an experimental, evolutionary enhancement to IP. ILNP has multiple instantiations. This document describes an experimental Nonce Destination Option used only with ILNP for IPv6 (ILNPv6). This document is a product of the IRTF Routing Research Group. This document defines an Experimental Protocol for the Internet community.</t>
          </abstract>
        </front>
        <seriesInfo name="RFC" value="6744"/>
        <seriesInfo name="DOI" value="10.17487/RFC6744"/>
      </reference>
      <reference anchor="RFC6746">
        <front>
          <title>IPv4 Options for the Identifier-Locator Network Protocol (ILNP)</title>
          <author fullname="RJ Atkinson" initials="RJ" surname="Atkinson"/>
          <author fullname="SN Bhatti" initials="SN" surname="Bhatti"/>
          <date month="November" year="2012"/>
          <abstract>
            <t>This document defines two new IPv4 Options that are used only with the Identifier-Locator Network Protocol for IPv4 (ILNPv4). ILNP is an experimental, evolutionary enhancement to IP. This document is a product of the IRTF Routing Research Group. This document defines an Experimental Protocol for the Internet community.</t>
          </abstract>
        </front>
        <seriesInfo name="RFC" value="6746"/>
        <seriesInfo name="DOI" value="10.17487/RFC6746"/>
      </reference>
      <reference anchor="RFC6748">
        <front>
          <title>Optional Advanced Deployment Scenarios for the Identifier-Locator Network Protocol (ILNP)</title>
          <author fullname="RJ Atkinson" initials="RJ" surname="Atkinson"/>
          <author fullname="SN Bhatti" initials="SN" surname="Bhatti"/>
          <date month="November" year="2012"/>
          <abstract>
            <t>This document provides an Architectural description and the Concept of Operations of some optional advanced deployment scenarios for the Identifier-Locator Network Protocol (ILNP), which is an evolutionary enhancement to IP. None of the functions described here is required for the use or deployment of ILNP. Instead, it offers descriptions of engineering and deployment options that might provide either enhanced capability or convenience in administration or management of ILNP-based systems. This document defines an Experimental Protocol for the Internet community.</t>
          </abstract>
        </front>
        <seriesInfo name="RFC" value="6748"/>
        <seriesInfo name="DOI" value="10.17487/RFC6748"/>
      </reference>
      <reference anchor="RFC2119">
        <front>
          <title>Key words for use in RFCs to Indicate Requirement Levels</title>
          <author fullname="S. Bradner" initials="S." surname="Bradner"/>
          <date month="March" year="1997"/>
          <abstract>
            <t>In many standards track documents several words are used to signify the requirements in the specification. These words are often capitalized. This document defines these words as they should be interpreted in IETF documents. This document specifies an Internet Best Current Practices for the Internet Community, and requests discussion and suggestions for improvements.</t>
          </abstract>
        </front>
        <seriesInfo name="BCP" value="14"/>
        <seriesInfo name="RFC" value="2119"/>
        <seriesInfo name="DOI" value="10.17487/RFC2119"/>
      </reference>
      <reference anchor="RFC8174">
        <front>
          <title>Ambiguity of Uppercase vs Lowercase in RFC 2119 Key Words</title>
          <author fullname="B. Leiba" initials="B." surname="Leiba"/>
          <date month="May" year="2017"/>
          <abstract>
            <t>RFC 2119 specifies common key words that may be used in protocol specifications. This document aims to reduce the ambiguity by clarifying that only UPPERCASE usage of the key words have the defined special meanings.</t>
          </abstract>
        </front>
        <seriesInfo name="BCP" value="14"/>
        <seriesInfo name="RFC" value="8174"/>
        <seriesInfo name="DOI" value="10.17487/RFC8174"/>
      </reference>
    </references>
    <?line 299?>

<section numbered="false" anchor="s-acknowledgements">
      <name>Acknowledgements</name>
      <t>The author is grateful to the many members of the IETF community for their feedback on ILNP during IETF meetings, and to the IETF NOC Team who made possible testing and experiments for ILNP during those meetings and the IETF Hackathon events.</t>
      <t>Gregor Haywood, Ryo Yanagida, and Rodney Grimes provided feedback on the original text for this document which helped to improve clarity.</t>
      <t>This work was partly supported by the <em>ICANN Grant Program</em>.</t>
    </section>
  </back>
  <!-- ##markdown-source:
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
A0cX52dXVyAOtove1QbMVB6lyf8D6I4wYKVDAAA=

-->

</rfc>
