<?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.7.38 (Ruby 4.0.7) -->


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

]>

<?rfc compact="yes"?>
<?rfc comments="yes"?>

<rfc ipr="trust200902" docName="draft-bhatti-ilnp-nonce-01" category="exp" submissionType="independent" updates="6740, 6741, 6744" tocInclude="true" sortRefs="true" symRefs="true">
  <front>
    <title abbrev="ILNP Nonce">Use of the ILNP Nonce Destination Option Header</title>

    <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="October" day="05"/>

    <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 title="About This Document" removeInRFC="true">
      <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>

<t><list style="numbers" type="1">
  <t>Purpose: what it is intended for in ILNP.</t>
  <t>Design: the nature and use of values in the <spanx style="verb">Nonce Value</spanx> field.</t>
  <t>Usage: when and how the Nonce Header should be used in ILNP packets.</t>
</list></t>

<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>

<t><list style="symbols">
  <t>Locator, L64</t>
  <t>Node Identifier, NID</t>
  <t>Identifier-Locator Vector, I-LV</t>
  <t>I-L Communications Cache, ILCC</t>
</list></t>

</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>

<t><list style="symbols">
  <t>RFC6740 "Identifier-Locator Network Protocol (ILNP) Architectural Description" <xref target="RFC6740"/>.</t>
  <t>RFC6741 "Identifier-Locator Network Protocol (ILNP) Engineering Considerations" <xref target="RFC6741"/>.</t>
  <t>RFC6744 "IPv6 Nonce Destination Option for the Identifier-Locator Network Protocol for IPv6 (ILNPv6)" <xref target="RFC6744"/>.</t>
</list></t>

<section anchor="ss-rfc6740_rfc6741"><name>RFC6740 and RFC6741</name>

<t>The use of the Nonce Header is changed, and the use of the <spanx style="verb">Nonce Value</spanx> 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>

<t><list style="numbers" type="1">
  <t>To show clearly that the packet is an ILNP packet, and so allow correct packet handling and processing.</t>
  <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>
</list></t>

<t>This document introduces the following changes to the use of the <spanx style="verb">Nonce Header</spanx> compared to <xref target="RFC6744"/> inline with the two objectives above:</t>

<t><list style="symbols">
  <t>NC1: The Nonce Header <bcp14>MUST</bcp14> appear in <em>every</em> ILNP packet.</t>
  <t>NC2: The <spanx style="verb">Nonce Value</spanx> <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 <spanx style="verb">Nonce Value</spanx> still in use for an ILNP communication session that was <em>initiated</em> by this node.</t>
  <t>NC3: The <spanx style="verb">Nonce Value</spanx> <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>
</list></t>

<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 <spanx style="verb">Nonce Value</spanx>.
Some examples are:</t>

<t><list style="numbers" type="1">
  <t>From <xref section="8" sectionFormat="of" target="RFC6740"/>, inclusion of the Nonce Header in ILNP packets:<br />
 <spanx style="verb">... will include the ILNP Nonce value in its initial packet(s) to the responder ...</spanx></t>
  <t>From <xref section="9.1" sectionFormat="of" target="RFC6740"/>, use of the Nonce Header for flow protection:<br />
 <spanx style="verb">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.</spanx></t>
  <t>From <xref section="5.4" sectionFormat="of" target="RFC6741"/>, use of the <spanx style="verb">Nonce Value</spanx> for ILCC state management:<br />
 <spanx style="verb">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.</spanx></t>
</list></t>

<t>The benefits of NC1:</t>

<t><list style="symbols">
  <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 correct packet handling at the receiver from inspection of the IPv6 packet header alone.</t>
  <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>
  <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>
</list></t>

<t>The benefits of NC2:</t>

<t><list style="symbols">
  <t>For example 1 above, this is not relevant.</t>
  <t>For example 2 above, use of a unique <spanx style="verb">Nonce Value</spanx> for each ILNP communication session prevents an on-path attacker who learns of a <spanx style="verb">Nonce Value</spanx> 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>
  <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>
</list></t>

<t>The benefits of NC3:</t>

<t><list style="symbols">
  <t>For example 1 above, this is not relevant.</t>
  <t>For example 2 above, it can be argued that the use of a bidirectional <spanx style="verb">Nonce Value</spanx> introduces no degradation of protection compared to use of two unidirectional <spanx style="verb">Nonce Values</spanx>.
A suitably-placed on-path attacker could observe the <spanx style="verb">Nonce Value</spanx> in the packet exchange regardless of whether it is a unidirectional or bidirectional value.
Meanwhile, coupled with NC1, the use of a bidirectional <spanx style="verb">Nonce Value</spanx> 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 <spanx style="verb">Nonce Value</spanx> field in the reverse direction.
Additionally, the <spanx style="verb">Nonce Header</spanx> 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>
  <t>For example 3 above, the management of flow state in the ILCC is simplified by ensuring that the key tuple is unique.</t>
</list></t>

</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>

<t><list style="numbers" type="1">
  <t>From <xref section="3.1" sectionFormat="of" target="RFC6744"/>, inclusion of the Nonce Header in ILNP packets:<br />
 <spanx style="verb">... initial packet(s) of an IPv6 session ...</spanx>.</t>
  <t>From <xref section="5.2" sectionFormat="of" target="RFC6744"/>, use of the <spanx style="verb">Nonce Value</spanx> in distinguishing between transport flows in case of clashes of NID values (ILCC state management):<br />
 <spanx style="verb">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).</spanx></t>
  <t>From <xref section="6" sectionFormat="of" target="RFC6744"/>, the implication of the selective inclusion of the Nonce Header in ILNP packets:<br />
<spanx style="verb">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.</spanx></t>
  <t>From <xref section="7" sectionFormat="of" target="RFC6744"/>, the Nonce Header is used for off-path protection:<br />
 <spanx style="verb">The ILNPv6 Nonce Destination Option only seeks to provide protection against off-path attacks on an IP session.</spanx></t>
</list></t>

<t>The benefits of NC1:</t>

<t><list style="symbols">
  <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 explicit identification of ILNP packets and so for easier packet processing.</t>
  <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>
  <t>For example 3, the text is now redundant, simplifying the overall description.</t>
  <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>
</list></t>

<t>The benefits of NC2:</t>

<t><list style="symbols">
  <t>For example 1 above, this is not relevant.</t>
  <t>For example 2 above, the text is now redundant, simplifying the overall description.</t>
  <t>For example 3 above, coupled with NC1, the text is now redundant, simplifying the overall description.</t>
  <t>For example 4 above, coupled with NC1, protection against off-path attacks is improved.</t>
</list></t>

<t>The benefits of NC3:</t>

<t><list style="symbols">
  <t>For example 1 above, this is not relevant.</t>
  <t>For example 2 above, coupled with NC1, this will help to avoid state clashes in the ILCC.</t>
  <t>For example 3 above, the text is now redundant, simplifying the description.</t>
  <t>For example 4 above, there is a discussion in <xref target="ss-rfc6740_rfc6741_examples"/>.</t>
</list></t>

</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>

<t><list style="symbols">
  <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 />
  <spanx style="verb">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.)</spanx></t>
</list></t>

<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 title='Normative References' anchor="sec-normative-references">



<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 298?>

<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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

-->

</rfc>

