<?xml version='1.0' encoding='utf-8'?>
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" version="3" category="std" ipr="trust200902" docName="draft-ietf-lisp-name-encoding-17" number="9735" consensus="true" obsoletes="" updates="" submissionType="IETF" xml:lang="en" tocInclude="true" symRefs="true" sortRefs="true" prepTime="2025-02-05T15:26:52" indexInclude="true" scripts="Common,Latin" tocDepth="3">
  <link href="https://datatracker.ietf.org/doc/draft-ietf-lisp-name-encoding-17" rel="prev"/>
  <link href="https://dx.doi.org/10.17487/rfc9735" rel="alternate"/>
  <link href="urn:issn:2070-1721" rel="alternate"/>
  <front>
    <title abbrev="LISP Name Encoding">Locator/ID Separation Protocol (LISP) Distinguished Name Encoding</title>
    <seriesInfo name="RFC" value="9735" stream="IETF"/>
    <author initials="D" surname="Farinacci" fullname="Dino Farinacci">
      <organization showOnFrontPage="true">lispers.net</organization>
      <address>
        <postal>
          <city>San Jose</city>
          <region>CA</region>
          <country>United States of America</country>
        </postal>
        <email>farinacci@gmail.com</email>
      </address>
    </author>
    <author initials="L." surname="Iannone" fullname="Luigi Iannone" role="editor">
      <organization abbrev="Huawei" showOnFrontPage="true">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>
    <date month="02" year="2025"/>
    <area>RTG</area>
    <workgroup>lisp</workgroup>
    <keyword>example</keyword>
    <abstract pn="section-abstract">
      <t indent="0" pn="section-abstract-1">This document defines how to use the Address Family Identifier (AFI) 17 "Distinguished Name" in the Locator/ID Separation Protocol (LISP).  LISP introduces two new numbering spaces: Endpoint Identifiers (EIDs) and Routing Locators (RLOCs). Distinguished Names (DNs) can be used in either EID-Records or RLOC-Records in LISP control messages to convey additional information.</t>
    </abstract>
    <boilerplate>
      <section anchor="status-of-memo" numbered="false" removeInRFC="false" toc="exclude" pn="section-boilerplate.1">
        <name slugifiedName="name-status-of-this-memo">Status of This Memo</name>
        <t indent="0" pn="section-boilerplate.1-1">
            This is an Internet Standards Track document.
        </t>
        <t indent="0" pn="section-boilerplate.1-2">
            This document is a product of the Internet Engineering Task Force
            (IETF).  It represents the consensus of the IETF community.  It has
            received public review and has been approved for publication by
            the Internet Engineering Steering Group (IESG).  Further
            information on Internet Standards is available in Section 2 of 
            RFC 7841.
        </t>
        <t indent="0" pn="section-boilerplate.1-3">
            Information about the current status of this document, any
            errata, and how to provide feedback on it may be obtained at
            <eref target="https://www.rfc-editor.org/info/rfc9735" brackets="none"/>.
        </t>
      </section>
      <section anchor="copyright" numbered="false" removeInRFC="false" toc="exclude" pn="section-boilerplate.2">
        <name slugifiedName="name-copyright-notice">Copyright Notice</name>
        <t indent="0" pn="section-boilerplate.2-1">
            Copyright (c) 2025 IETF Trust and the persons identified as the
            document authors. All rights reserved.
        </t>
        <t indent="0" pn="section-boilerplate.2-2">
            This document is subject to BCP 78 and the IETF Trust's Legal
            Provisions Relating to IETF Documents
            (<eref target="https://trustee.ietf.org/license-info" brackets="none"/>) in effect on the date of
            publication of this document. Please review these documents
            carefully, as they describe your rights and restrictions with
            respect to this document. Code Components extracted from this
            document must include Revised BSD License text as described in
            Section 4.e of the Trust Legal Provisions and are provided without
            warranty as described in the Revised BSD License.
        </t>
      </section>
    </boilerplate>
    <toc>
      <section anchor="toc" numbered="false" removeInRFC="false" toc="exclude" pn="section-toc.1">
        <name slugifiedName="name-table-of-contents">Table of Contents</name>
        <ul bare="true" empty="true" indent="2" spacing="compact" pn="section-toc.1-1">
          <li pn="section-toc.1-1.1">
            <t indent="0" keepWithNext="true" pn="section-toc.1-1.1.1"><xref derivedContent="1" format="counter" sectionFormat="of" target="section-1"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-introduction">Introduction</xref></t>
          </li>
          <li pn="section-toc.1-1.2">
            <t indent="0" pn="section-toc.1-1.2.1"><xref derivedContent="2" format="counter" sectionFormat="of" target="section-2"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-terminology">Terminology</xref></t>
            <ul bare="true" empty="true" indent="2" spacing="compact" pn="section-toc.1-1.2.2">
              <li pn="section-toc.1-1.2.2.1">
                <t indent="0" keepWithNext="true" pn="section-toc.1-1.2.2.1.1"><xref derivedContent="2.1" format="counter" sectionFormat="of" target="section-2.1"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-definition">Definition</xref></t>
              </li>
              <li pn="section-toc.1-1.2.2.2">
                <t indent="0" keepWithNext="true" pn="section-toc.1-1.2.2.2.1"><xref derivedContent="2.2" format="counter" sectionFormat="of" target="section-2.2"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-requirements-language">Requirements Language</xref></t>
              </li>
            </ul>
          </li>
          <li pn="section-toc.1-1.3">
            <t indent="0" pn="section-toc.1-1.3.1"><xref derivedContent="3" format="counter" sectionFormat="of" target="section-3"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-distinguished-name-format">Distinguished Name Format</xref></t>
          </li>
          <li pn="section-toc.1-1.4">
            <t indent="0" pn="section-toc.1-1.4.1"><xref derivedContent="4" format="counter" sectionFormat="of" target="section-4"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-mapping-system-lookups-for-">Mapping-System Lookups for DN EIDs</xref></t>
          </li>
          <li pn="section-toc.1-1.5">
            <t indent="0" pn="section-toc.1-1.5.1"><xref derivedContent="5" format="counter" sectionFormat="of" target="section-5"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-example-use-cases">Example Use Cases</xref></t>
          </li>
          <li pn="section-toc.1-1.6">
            <t indent="0" pn="section-toc.1-1.6.1"><xref derivedContent="6" format="counter" sectionFormat="of" target="section-6"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-name-collision-consideratio">Name-Collision Considerations</xref></t>
          </li>
          <li pn="section-toc.1-1.7">
            <t indent="0" pn="section-toc.1-1.7.1"><xref derivedContent="7" format="counter" sectionFormat="of" target="section-7"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-security-considerations">Security Considerations</xref></t>
          </li>
          <li pn="section-toc.1-1.8">
            <t indent="0" pn="section-toc.1-1.8.1"><xref derivedContent="8" format="counter" sectionFormat="of" target="section-8"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-iana-considerations">IANA Considerations</xref></t>
          </li>
          <li pn="section-toc.1-1.9">
            <t indent="0" pn="section-toc.1-1.9.1"><xref derivedContent="9" format="counter" sectionFormat="of" target="section-9"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-sample-lisp-dn-deployment-e">Sample LISP DN Deployment Experience</xref></t>
            <ul bare="true" empty="true" indent="2" spacing="compact" pn="section-toc.1-1.9.2">
              <li pn="section-toc.1-1.9.2.1">
                <t indent="0" pn="section-toc.1-1.9.2.1.1"><xref derivedContent="9.1" format="counter" sectionFormat="of" target="section-9.1"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-dns-to-advertise-specific-d">DNs to Advertise Specific Device Roles or Functions</xref></t>
              </li>
              <li pn="section-toc.1-1.9.2.2">
                <t indent="0" pn="section-toc.1-1.9.2.2.1"><xref derivedContent="9.2" format="counter" sectionFormat="of" target="section-9.2"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-dns-to-drive-xtr-onboarding">DNs to Drive xTR Onboarding Procedures</xref></t>
              </li>
              <li pn="section-toc.1-1.9.2.3">
                <t indent="0" pn="section-toc.1-1.9.2.3.1"><xref derivedContent="9.3" format="counter" sectionFormat="of" target="section-9.3"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-dns-for-nat-traversal">DNs for NAT-Traversal</xref></t>
              </li>
              <li pn="section-toc.1-1.9.2.4">
                <t indent="0" pn="section-toc.1-1.9.2.4.1"><xref derivedContent="9.4" format="counter" sectionFormat="of" target="section-9.4"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-dns-for-self-documenting-rl">DNs for Self-Documenting RLOC Names</xref></t>
              </li>
              <li pn="section-toc.1-1.9.2.5">
                <t indent="0" pn="section-toc.1-1.9.2.5.1"><xref derivedContent="9.5" format="counter" sectionFormat="of" target="section-9.5"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-dns-used-as-eid-names">DNs Used as EID Names</xref></t>
              </li>
            </ul>
          </li>
          <li pn="section-toc.1-1.10">
            <t indent="0" pn="section-toc.1-1.10.1"><xref derivedContent="10" format="counter" sectionFormat="of" target="section-10"/>. <xref derivedContent="" format="title" sectionFormat="of" target="name-references">References</xref></t>
            <ul bare="true" empty="true" indent="2" spacing="compact" pn="section-toc.1-1.10.2">
              <li pn="section-toc.1-1.10.2.1">
                <t indent="0" pn="section-toc.1-1.10.2.1.1"><xref derivedContent="10.1" format="counter" sectionFormat="of" target="section-10.1"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-normative-references">Normative References</xref></t>
              </li>
              <li pn="section-toc.1-1.10.2.2">
                <t indent="0" pn="section-toc.1-1.10.2.2.1"><xref derivedContent="10.2" format="counter" sectionFormat="of" target="section-10.2"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-informative-references">Informative References</xref></t>
              </li>
            </ul>
          </li>
          <li pn="section-toc.1-1.11">
            <t indent="0" pn="section-toc.1-1.11.1"><xref derivedContent="" format="none" sectionFormat="of" target="section-appendix.a"/><xref derivedContent="" format="title" sectionFormat="of" target="name-acknowledgments">Acknowledgments</xref></t>
          </li>
          <li pn="section-toc.1-1.12">
            <t indent="0" pn="section-toc.1-1.12.1"><xref derivedContent="" format="none" sectionFormat="of" target="section-appendix.b"/><xref derivedContent="" format="title" sectionFormat="of" target="name-authors-addresses">Authors' Addresses</xref></t>
          </li>
        </ul>
      </section>
    </toc>
  </front>
  <middle>
    <section numbered="true" toc="include" removeInRFC="false" pn="section-1">
      <name slugifiedName="name-introduction">Introduction</name>
      <t indent="0" pn="section-1-1">LISP (<xref target="RFC9300" format="default" sectionFormat="of" derivedContent="RFC9300"/> and <xref target="RFC9301" format="default" sectionFormat="of" derivedContent="RFC9301"/>) introduces two new numbering spaces: Endpoint Identifiers (EIDs) and Routing Locators (RLOCs). To provide flexibility for current and future applications, these values can be encoded in
    LISP control messages using a general syntax that includes the Address
    Family Identifier (AFI).</t>
      <t indent="0" pn="section-1-2">The length of addresses encoded in EID-Records and RLOC-Records can easily be determined by the AFI field, as the size of the address is implicit in its AFI value. For instance, for AFI equal to 1, which is "IP (IP version 4)", the address length is known to be 4 octets. However, AFI 17 "Distinguished Name", is a variable-length value, so the length cannot be determined solely from the AFI value 17 <xref target="ADDRESS-FAMILY" format="default" sectionFormat="of" derivedContent="ADDRESS-FAMILY"/>. This document defines a termination character, an 8-bit value of 0, to be used as a string terminator so the length can be determined.</t>
      <t indent="0" pn="section-1-3">LISP DNs are useful when encoded either in
    EID-Records or RLOC-Records in LISP control messages. As EIDs,
    they can be registered in the Mapping System to find resources,
    services, or simply be used as a self-documenting feature that
    accompanies other address-specific EIDs. As RLOCs, DNs, along with RLOC-specific addresses and parameters, can be
    used as labels to identify equipment type, location, or any
    self-documenting string a registering device desires to
      convey.</t>
      <t indent="0" pn="section-1-4">The Distinguished Name field in this document has no relationship to the similarly named field in the Public-Key Infrastructure using X.509 (PKIX) specifications (e.g., <xref target="RFC5280" format="default" sectionFormat="of" derivedContent="RFC5280"/>).</t>
    </section>
    <section numbered="true" toc="include" removeInRFC="false" pn="section-2">
      <name slugifiedName="name-terminology">Terminology</name>
      <section numbered="true" toc="include" removeInRFC="false" pn="section-2.1">
        <name slugifiedName="name-definition">Definition</name>
        <dl newline="false" spacing="normal" indent="3" pn="section-2.1-1">
          <dt pn="section-2.1-1.1">Address Family Identifier (AFI):</dt>
          <dd pn="section-2.1-1.2">a term used to describe an address encoding in a packet. An
        address family is currently defined for IPv4 or IPv6 addresses. See
        <xref target="ADDRESS-FAMILY" format="default" sectionFormat="of" derivedContent="ADDRESS-FAMILY"/> for
        details on other types of information that can be AFI encoded.</dd>
        </dl>
      </section>
      <section numbered="true" toc="include" removeInRFC="false" pn="section-2.2">
        <name slugifiedName="name-requirements-language">Requirements Language</name>
        <t indent="0" pn="section-2.2-1">
    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" format="default" sectionFormat="of" derivedContent="RFC2119"/> <xref target="RFC8174" format="default" sectionFormat="of" derivedContent="RFC8174"/> when, and only when, they appear in all capitals, as
    shown here.
        </t>
      </section>
    </section>
    <section numbered="true" toc="include" removeInRFC="false" pn="section-3">
      <name slugifiedName="name-distinguished-name-format">Distinguished Name Format</name>
      <t indent="0" pn="section-3-1">An AFI 17 "Distinguished Name" is encoded as:</t>
      <artwork name="" type="" align="left" alt="" pn="section-3-2">
  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
 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
 |            AFI = 17           |    NULL-Terminated (0x00)     ~
 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+    US-ASCII String            |
 ~                                                               |
 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+</artwork>
      <t indent="0" pn="section-3-3">The variable-length string of characters are encoded as a NULL-terminated (0x00) US-ASCII character set as defined in <xref target="RFC3629" format="default" sectionFormat="of" derivedContent="RFC3629"/>, where UTF-8 has the characteristic of preserving the full US-ASCII
      range. A NULL character <bcp14>MUST</bcp14> appear only once in the string and <bcp14>MUST</bcp14> be at the end of the string.</t>
      <t indent="0" pn="section-3-4">When DNs are encoded for EIDs, the EID Mask-Len
    length of the EID-Records, for all LISP
    control messages <xref target="RFC9301" format="default" sectionFormat="of" derivedContent="RFC9301"/>, is the length of the
    string in bits (including the NULL-terminated 0x00 octet).</t>
      <t indent="0" pn="section-3-5">Where DNs are encoded anywhere else (i.e., nested in LISP Canonical Address Format (LCAF) encodings <xref target="RFC8060" format="default" sectionFormat="of" derivedContent="RFC8060"/>), an explicit length field can be used to indicate the length of the ASCII string in octets.  The length field <bcp14>MUST</bcp14> include the NULL octet (0x00). The string <bcp14>MUST</bcp14> still be NULL-terminated (0x00). If a NULL octet (0x00) appears before the end of the octet field, i.e., the NULL octet (0x00) appears before the last position in the octet fields, then the string <bcp14>MAY</bcp14> be accepted and the octets after the NULL octet (0x00) <bcp14>MUST NOT</bcp14> be used as part of the octet string.</t>
      <t indent="0" pn="section-3-6">If the octet after the AFI field is the NULL octet (0x00), the
    string is a NULL string and <bcp14>MUST</bcp14> be accepted. That is, an AFI 17 "Distinguished Name"
    encoded string <bcp14>MUST</bcp14> be at least 1 octet in length.</t>
    </section>
    <section numbered="true" toc="include" removeInRFC="false" pn="section-4">
      <name slugifiedName="name-mapping-system-lookups-for-">Mapping-System Lookups for DN EIDs</name>
      <t indent="0" pn="section-4-1">When performing DN-EID lookups, Map-Request messages <bcp14>MUST</bcp14> carry an EID Mask-Len length equal to the length of the name string in bits. This instructs the Mapping System to do either an exact-match or a longest-match lookup.</t>
      <t indent="0" pn="section-4-2">If the DN EID is registered with the same length as the length in a Map-Request, the Map-Server (when configured for proxy Map-Replying) returns an exact-match lookup with the same EID Mask-Len length. If a less specific name is registered, then the Map-Server
      returns the registered name with the registered EID Mask-Len length.</t>
      <t indent="0" pn="section-4-3">For example, if the registered EID name is "ietf" with an EID Mask-Len length of 40 bits (the length of the string "ietf" plus the length of the NULL octet (0x00) makes 5 octets), and a Map-Request is received for EID name "ietf.lisp" with an EID Mask-Len length of 80 bits, the Map-Server will return EID "ietf" with a length of 40 bits.</t>
    </section>
    <section anchor="USECASE" numbered="true" toc="include" removeInRFC="false" pn="section-5">
      <name slugifiedName="name-example-use-cases">Example Use Cases</name>
      <t indent="0" pn="section-5-1">This section identifies three specific use-case examples for
    the DN format: two are used for an EID encoding
    and one for an RLOC-Record encoding. When storing public keys in
    the Mapping System, as in <xref target="I-D.ietf-lisp-ecdsa-auth" format="default" sectionFormat="of" derivedContent="LISP-ECDSA"/>, a well-known format for a
    public-key hash can be encoded as a DN. When
    street-location-to-GPS-coordinate mappings exist in the Mapping
    System, as in <xref target="I-D.ietf-lisp-geo" format="default" sectionFormat="of" derivedContent="LISP-GEO"/>, the street
    location can be a free-form UTF-8 ASCII representation (with whitespace
    characters) encoded as a DN. An RLOC that
    describes an Ingress or Egress Tunnel Router (xTR) behind a NAT
    device can be identified by its router name, as in <xref target="I-D.farinacci-lisp-lispers-net-nat" format="default" sectionFormat="of" derivedContent="LISPERS-NET-NAT"/>. In this case,
    DN encoding is used in NAT Info-Request messages
    after the EID-prefix field of the message.</t>
    </section>
    <section numbered="true" toc="include" removeInRFC="false" pn="section-6">
      <name slugifiedName="name-name-collision-consideratio">Name-Collision Considerations</name>
      <t indent="0" pn="section-6-1">When a DN encoding is used to format an EID,
    the uniqueness and allocation concerns are no different than
    registering IPv4 or IPv6 EIDs to the Mapping System. See <xref target="RFC9301" format="default" sectionFormat="of" derivedContent="RFC9301"/> for more details. Also, the use cases documented in <xref target="USECASE" format="default" sectionFormat="of" derivedContent="Section 5"/> of this specification provide allocation recommendations for their specific uses.</t>
      <t indent="0" pn="section-6-2">It is <bcp14>RECOMMENDED</bcp14> that each use case register their DNs with a unique Instance-ID. Any use cases that require
    different uses for DNs within an Instance-ID <bcp14>MUST</bcp14>
    define their own Instance-ID and syntax structure for the name
    registered to the Mapping System. See the encoding procedures in
    <xref target="I-D.ietf-lisp-vpn" format="default" sectionFormat="of" derivedContent="LISP-VPN"/> for an example.</t>
    </section>
    <section numbered="true" toc="include" removeInRFC="false" pn="section-7">
      <name slugifiedName="name-security-considerations">Security Considerations</name>
      <t indent="0" pn="section-7-1">DNs are used in mappings that are part of the LISP control plane and may be encoded using LCAF; thus, the security considerations of <xref target="RFC9301" format="default" sectionFormat="of" derivedContent="RFC9301"/> and <xref target="RFC8060" format="default" sectionFormat="of" derivedContent="RFC8060"/> apply.</t>
    </section>
    <section numbered="true" toc="include" removeInRFC="false" pn="section-8">
      <name slugifiedName="name-iana-considerations">IANA Considerations</name>
      <t indent="0" pn="section-8-1">This document has no IANA actions.</t>
    </section>
    <section numbered="true" toc="include" removeInRFC="false" pn="section-9">
      <name slugifiedName="name-sample-lisp-dn-deployment-e">Sample LISP DN Deployment Experience</name>
      <t indent="0" pn="section-9-1">Practical implementations of the LISP DN, defined in this document, have been running in production networks for some
    time. The following sections provide some examples of its usage
    and lessons learned out of this experience.</t>
      <section numbered="true" toc="include" removeInRFC="false" pn="section-9.1">
        <name slugifiedName="name-dns-to-advertise-specific-d">DNs to Advertise Specific Device Roles or Functions</name>
        <t indent="0" pn="section-9.1-1">In a practical implementation of <xref target="I-D.ietf-lisp-site-external-connectivity" format="default" sectionFormat="of" derivedContent="LISP-EXT"/> on LISP
      deployments, routers running as Proxy Egress Tunnel Routers
      (Proxy-ETRs) register their role with the Mapping System in
      order to attract traffic destined for external
      networks. Practical implementations of this functionality make
      use of a DN as an EID to identify the Proxy-ETR
	role in a Map-Registration.</t>
        <t indent="0" pn="section-9.1-2">In this case, all Proxy-ETRs supporting this function register
      a common DN together with their own offered
      locator. The Mapping System aggregates the locators received
      from all Proxy-ETRs as a common locator-set that is associated
      with this DN EID. In this scenario, the DN serves as a
      common reference EID that can be requested (or subscribed as per
      <xref target="RFC9437" format="default" sectionFormat="of" derivedContent="RFC9437"/>) to dynamically gather this Proxy-ETR
      list as specified in the LISP Site External Connectivity
      document <xref target="I-D.ietf-lisp-site-external-connectivity" format="default" sectionFormat="of" derivedContent="LISP-EXT"/>.</t>
        <t indent="0" pn="section-9.1-3">The use of a DN here provides
      descriptive information about the role being registered and
      allows the Mapping System to form locator-sets associated with a
      specific role. These locator-sets can be distributed on-demand
      based on using the shared DN as EID. It also allows the network
      admin and the Mapping System to selectively choose what roles
      and functions can be registered and distributed to the rest of
      the participants in the network.</t>
      </section>
      <section numbered="true" toc="include" removeInRFC="false" pn="section-9.2">
        <name slugifiedName="name-dns-to-drive-xtr-onboarding">DNs to Drive xTR Onboarding Procedures</name>
        <t indent="0" pn="section-9.2-1">Following the LISP reliable transport <xref target="I-D.ietf-lisp-map-server-reliable-transport" format="default" sectionFormat="of" derivedContent="LISP-MAP"/>, ETRs
      that plan to switch to using reliable transport to hold
      registrations first need to start with UDP
      registrations. The UDP registration allows the Map-Server to
      perform basic authentication of the ETR and to create the necessary
      state to permit the reliable transport session to be established
      (e.g., establish a passive open on TCP port 4342 and add the ETR
      RLOC to the list allowed to establish a session).</t>
        <t indent="0" pn="section-9.2-2">In the basic implementation of this process, the ETRs need to
      wait until local mappings are available and ready to be
      registered with the Mapping System. Furthermore, when the Mapping
      System is distributed, the ETR requires having one specific
      mapping ready to be registered with each one of the relevant
      Map-Servers. This process may delay the onboarding of ETRs with
      the Mapping System so that they can switch to using reliable
      transport. This can also lead to generating unnecessary
      signaling as a reaction to certain triggers like local port
      flaps and device failures.</t>
        <t indent="0" pn="section-9.2-3">The use of dedicated name registrations allows driving this
      initial ETR onboarding on the Mapping System as a deterministic
      process that does not depend on the availability of other
      mappings. It also provides more stability to the reliable
      transport session to survive through transient events.</t>
        <t indent="0" pn="section-9.2-4">In practice, LISP deployments use dedicated DNs that are registered as soon as xTRs come online with all
      the necessary Map-Servers in the Mapping System. The mapping
      with the dedicated DN together with the RLOCs of each Egress
      Tunnel Router (ETR) in the locator-set is used to drive the
      initial UDP registration and also to keep the reliable transport
      state stable through network condition changes. On the
      Map-Server, these DN registrations facilitate setting up the
      necessary state to onboard new ETRs rapidly and in a more
      deterministic manner.</t>
      </section>
      <section numbered="true" toc="include" removeInRFC="false" pn="section-9.3">
        <name slugifiedName="name-dns-for-nat-traversal">DNs for NAT-Traversal</name>
        <t indent="0" pn="section-9.3-1">At the time of writing, the open-source lispers.net NAT-Traversal implementation
      <xref target="I-D.farinacci-lisp-lispers-net-nat" format="default" sectionFormat="of" derivedContent="LISPERS-NET-NAT"/> has deployed DNs for
      documenting xTRs versus Re-encapsulating Tunnel Routers (RTRs) as
      they appear in a locator-set for 10 years.</t>
      </section>
      <section numbered="true" toc="include" removeInRFC="false" pn="section-9.4">
        <name slugifiedName="name-dns-for-self-documenting-rl">DNs for Self-Documenting RLOC Names</name>
        <t indent="0" pn="section-9.4-1">At the time of writing, the open-source lispers.net implementation <xref target="I-D.farinacci-lisp-lispers-net-nat" format="default" sectionFormat="of" derivedContent="LISPERS-NET-NAT"/> has self-documented RLOC names in production and pilot
      environments for 10 years. The RLOC name is encoded with the RLOC address in
      DN format.</t>
      </section>
      <section numbered="true" toc="include" removeInRFC="false" pn="section-9.5">
        <name slugifiedName="name-dns-used-as-eid-names">DNs Used as EID Names</name>
        <t indent="0" pn="section-9.5-1">At the time of writing, the open-source lispers.net implementation <xref target="I-D.farinacci-lisp-lispers-net-nat" format="default" sectionFormat="of" derivedContent="LISPERS-NET-NAT"/> has deployed xTRs that are allowed to register EIDs as DNs for 10 years. The LISP Mapping System can be used as a DNS proxy for
      Name-to-EID-address or Name-to-RLOC-address mappings. The
      implementation also supports Name-to-Public-Key mappings to
      provide key management features in <xref target="I-D.ietf-lisp-ecdsa-auth" format="default" sectionFormat="of" derivedContent="LISP-ECDSA"/>.</t>
      </section>
    </section>
  </middle>
  <back>
    <displayreference target="I-D.ietf-lisp-ecdsa-auth" to="LISP-ECDSA"/>
    <displayreference target="I-D.ietf-lisp-geo" to="LISP-GEO"/>
    <displayreference target="I-D.farinacci-lisp-lispers-net-nat" to="LISPERS-NET-NAT"/>
    <displayreference target="I-D.ietf-lisp-vpn" to="LISP-VPN"/>
    <displayreference target="I-D.ietf-lisp-site-external-connectivity" to="LISP-EXT"/>
    <displayreference target="I-D.ietf-lisp-map-server-reliable-transport" to="LISP-MAP"/>
    <references pn="section-10">
      <name slugifiedName="name-references">References</name>
      <references pn="section-10.1">
        <name slugifiedName="name-normative-references">Normative References</name>
        <reference anchor="ADDRESS-FAMILY" target="https://www.iana.org/assignments/address-family-numbers" quoteTitle="true" derivedAnchor="ADDRESS-FAMILY">
          <front>
            <title>Address Family Numbers</title>
            <author>
              <organization showOnFrontPage="true">IANA</organization>
            </author>
          </front>
        </reference>
        <reference anchor="RFC2119" target="https://www.rfc-editor.org/info/rfc2119" quoteTitle="true" derivedAnchor="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 indent="0">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="RFC3629" target="https://www.rfc-editor.org/info/rfc3629" quoteTitle="true" derivedAnchor="RFC3629">
          <front>
            <title>UTF-8, a transformation format of ISO 10646</title>
            <author fullname="F. Yergeau" initials="F." surname="Yergeau"/>
            <date month="November" year="2003"/>
            <abstract>
              <t indent="0">ISO/IEC 10646-1 defines a large character set called the Universal Character Set (UCS) which encompasses most of the world's writing systems. The originally proposed encodings of the UCS, however, were not compatible with many current applications and protocols, and this has led to the development of UTF-8, the object of this memo. UTF-8 has the characteristic of preserving the full US-ASCII range, providing compatibility with file systems, parsers and other software that rely on US-ASCII values but are transparent to other values. This memo obsoletes and replaces RFC 2279.</t>
            </abstract>
          </front>
          <seriesInfo name="STD" value="63"/>
          <seriesInfo name="RFC" value="3629"/>
          <seriesInfo name="DOI" value="10.17487/RFC3629"/>
        </reference>
        <reference anchor="RFC8174" target="https://www.rfc-editor.org/info/rfc8174" quoteTitle="true" derivedAnchor="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 indent="0">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="RFC9300" target="https://www.rfc-editor.org/info/rfc9300" quoteTitle="true" derivedAnchor="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 indent="0">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 indent="0">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 indent="0">This document obsoletes RFC 6830.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9300"/>
          <seriesInfo name="DOI" value="10.17487/RFC9300"/>
        </reference>
        <reference anchor="RFC9301" target="https://www.rfc-editor.org/info/rfc9301" quoteTitle="true" derivedAnchor="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 indent="0">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 indent="0">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 indent="0">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="RFC9437" target="https://www.rfc-editor.org/info/rfc9437" quoteTitle="true" derivedAnchor="RFC9437">
          <front>
            <title>Publish/Subscribe Functionality for the Locator/ID Separation Protocol (LISP)</title>
            <author fullname="A. Rodriguez-Natal" initials="A." surname="Rodriguez-Natal"/>
            <author fullname="V. Ermagan" initials="V." surname="Ermagan"/>
            <author fullname="A. Cabellos" initials="A." surname="Cabellos"/>
            <author fullname="S. Barkai" initials="S." surname="Barkai"/>
            <author fullname="M. Boucadair" initials="M." surname="Boucadair"/>
            <date month="August" year="2023"/>
            <abstract>
              <t indent="0">This document specifies an extension to the Locator/ID Separation Protocol (LISP) control plane to enable Publish/Subscribe (PubSub) operation.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9437"/>
          <seriesInfo name="DOI" value="10.17487/RFC9437"/>
        </reference>
      </references>
      <references pn="section-10.2">
        <name slugifiedName="name-informative-references">Informative References</name>
        <reference anchor="I-D.ietf-lisp-ecdsa-auth" target="https://datatracker.ietf.org/doc/html/draft-ietf-lisp-ecdsa-auth-13" quoteTitle="true" derivedAnchor="LISP-ECDSA">
          <front>
            <title>LISP Control-Plane ECDSA Authentication and Authorization</title>
            <author fullname="Dino Farinacci" initials="D." surname="Farinacci">
              <organization showOnFrontPage="true">lispers.net</organization>
            </author>
            <author fullname="Erik Nordmark" initials="E." surname="Nordmark">
              <organization showOnFrontPage="true">Zededa</organization>
            </author>
            <date day="18" month="August" year="2024"/>
            <abstract>
              <t indent="0">This draft describes how LISP control-plane messages can be individually authenticated and authorized without a a priori shared- key configuration. Public-key cryptography is used with no new PKI infrastructure required.</t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-lisp-ecdsa-auth-13"/>
          <refcontent>Work in Progress</refcontent>
        </reference>
        <reference anchor="I-D.ietf-lisp-site-external-connectivity" target="https://datatracker.ietf.org/doc/html/draft-ietf-lisp-site-external-connectivity-01" quoteTitle="true" derivedAnchor="LISP-EXT">
          <front>
            <title>LISP Site External Connectivity</title>
            <author fullname="Prakash Jain" initials="P." surname="Jain">
              <organization showOnFrontPage="true">Cisco Systems</organization>
            </author>
            <author fullname="Victor Moreno" initials="V." surname="Moreno">
              <organization showOnFrontPage="true">Google</organization>
            </author>
            <author fullname="Sanjay Hooda" initials="S." surname="Hooda">
              <organization showOnFrontPage="true">Cisco Systems</organization>
            </author>
            <date day="24" month="September" year="2024"/>
            <abstract>
              <t indent="0">This draft defines how to register/retrieve pETR mapping information in LISP when the destination is not registered/known to the local site and its mapping system (e.g. the destination is an internet or external site destination).</t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-lisp-site-external-connectivity-01"/>
          <refcontent>Work in Progress</refcontent>
        </reference>
        <reference anchor="I-D.ietf-lisp-geo" target="https://datatracker.ietf.org/doc/html/draft-ietf-lisp-geo-09" quoteTitle="true" derivedAnchor="LISP-GEO">
          <front>
            <title>LISP Geo-Coordinate Use-Cases</title>
            <author fullname="Dino Farinacci" initials="D." surname="Farinacci">
              <organization showOnFrontPage="true">lispers.net</organization>
            </author>
            <date day="15" month="January" year="2025"/>
            <abstract>
              <t indent="0">This document describes how Geo-Coordinates can be used in the LISP Architecture and Protocols. The functionality proposes a new LISP Canonical Address Format (LCAF) encoding for such Geo-Coordinates, which is compatible with the Global Positioning Satellite (GPS) encodings used by other routing protocols. This document updates [RFC8060].</t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-lisp-geo-09"/>
          <refcontent>Work in Progress</refcontent>
        </reference>
        <reference anchor="I-D.ietf-lisp-map-server-reliable-transport" target="https://datatracker.ietf.org/doc/html/draft-ietf-lisp-map-server-reliable-transport-05" quoteTitle="true" derivedAnchor="LISP-MAP">
          <front>
            <title>LISP Map Server Reliable Transport</title>
            <author fullname="Balaji Venkatachalapathy" initials="B." surname="Venkatachalapathy">
              <organization showOnFrontPage="true">Cisco Systems</organization>
            </author>
            <author fullname="Marc Portoles-Comeras" initials="M." surname="Portoles-Comeras">
              <organization showOnFrontPage="true">Cisco Systems</organization>
            </author>
            <author fullname="Darrel Lewis" initials="D." surname="Lewis">
              <organization showOnFrontPage="true">ICANN</organization>
            </author>
            <author fullname="Isidor Kouvelas" initials="I." surname="Kouvelas">
              <organization showOnFrontPage="true">Arista Networks Inc.</organization>
            </author>
            <author fullname="Chris Cassar" initials="C." surname="Cassar">
              <organization showOnFrontPage="true">Rivian Automotive</organization>
            </author>
            <date day="4" month="November" year="2024"/>
            <abstract>
              <t indent="0">The communication between LISP ETRs and Map-Servers is based on unreliable UDP message exchange coupled with periodic message transmission in order to maintain soft state. The drawback of periodic messaging is the constant load imposed on both the ETR and the Map-Server. New use cases for LISP have increased the amount of state that needs to be communicated with requirements that are not satisfied by the current mechanism. This document introduces the use of a reliable transport for ETR to Map-Server communication in order to eliminate the periodic messaging overhead, while providing reliability, flow-control and endpoint liveness detection.</t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-lisp-map-server-reliable-transport-05"/>
          <refcontent>Work in Progress</refcontent>
        </reference>
        <reference anchor="I-D.ietf-lisp-vpn" target="https://datatracker.ietf.org/doc/html/draft-ietf-lisp-vpn-12" quoteTitle="true" derivedAnchor="LISP-VPN">
          <front>
            <title>LISP Virtual Private Networks (VPNs)</title>
            <author fullname="Victor Moreno" initials="V." surname="Moreno">
              <organization showOnFrontPage="true">Google LLC</organization>
            </author>
            <author fullname="Dino Farinacci" initials="D." surname="Farinacci">
              <organization showOnFrontPage="true">lispers.net</organization>
            </author>
            <date day="19" month="September" year="2023"/>
            <abstract>
              <t indent="0">This document describes the use of the Locator/ID Separation Protocol (LISP) to create Virtual Private Networks (VPNs). LISP is used to provide segmentation in both the LISP data plane and control plane. These VPNs can be created over the top of the Internet or over private transport networks, and can be implemented by Enterprises or Service Providers. The goal of these VPNs is to leverage the characteristics of LISP - routing scalability, simply expressed Ingress site TE Policy, IP Address Family traversal, and mobility, in ways that provide value to network operators.</t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-lisp-vpn-12"/>
          <refcontent>Work in Progress</refcontent>
        </reference>
        <reference anchor="I-D.farinacci-lisp-lispers-net-nat" target="https://datatracker.ietf.org/doc/html/draft-farinacci-lisp-lispers-net-nat-09" quoteTitle="true" derivedAnchor="LISPERS-NET-NAT">
          <front>
            <title>lispers.net LISP NAT-Traversal Implementation Report</title>
            <author fullname="Dino Farinacci" initials="D." surname="Farinacci">
              <organization showOnFrontPage="true">lispers.net</organization>
            </author>
            <date day="8" month="December" year="2024"/>
            <abstract>
              <t indent="0">This memo documents the lispers.net implementation of LISP NAT traversal functionality. The document describes message formats and protocol semantics necessary to interoperate with the implementation. This memo is not a standard and does not reflect IETF consensus.</t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-farinacci-lisp-lispers-net-nat-09"/>
          <refcontent>Work in Progress</refcontent>
        </reference>
        <reference anchor="RFC5280" target="https://www.rfc-editor.org/info/rfc5280" quoteTitle="true" derivedAnchor="RFC5280">
          <front>
            <title>Internet X.509 Public Key Infrastructure Certificate and Certificate Revocation List (CRL) Profile</title>
            <author fullname="D. Cooper" initials="D." surname="Cooper"/>
            <author fullname="S. Santesson" initials="S." surname="Santesson"/>
            <author fullname="S. Farrell" initials="S." surname="Farrell"/>
            <author fullname="S. Boeyen" initials="S." surname="Boeyen"/>
            <author fullname="R. Housley" initials="R." surname="Housley"/>
            <author fullname="W. Polk" initials="W." surname="Polk"/>
            <date month="May" year="2008"/>
            <abstract>
              <t indent="0">This memo profiles the X.509 v3 certificate and X.509 v2 certificate revocation list (CRL) for use in the Internet. An overview of this approach and model is provided as an introduction. The X.509 v3 certificate format is described in detail, with additional information regarding the format and semantics of Internet name forms. Standard certificate extensions are described and two Internet-specific extensions are defined. A set of required certificate extensions is specified. The X.509 v2 CRL format is described in detail along with standard and Internet-specific extensions. An algorithm for X.509 certification path validation is described. An ASN.1 module and examples are provided in the appendices. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="5280"/>
          <seriesInfo name="DOI" value="10.17487/RFC5280"/>
        </reference>
        <reference anchor="RFC8060" target="https://www.rfc-editor.org/info/rfc8060" quoteTitle="true" derivedAnchor="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 indent="0">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>
      </references>
    </references>
    <section numbered="false" toc="include" removeInRFC="false" pn="section-appendix.a">
      <name slugifiedName="name-acknowledgments">Acknowledgments</name>
      <t indent="0" pn="section-appendix.a-1">The authors would like to thank the LISP WG for their review and
      acceptance of this document. A special thank you goes to <contact fullname="Marc Portoles"/> for moving this document through the process
      and providing deployment-experience samples.</t>
    </section>
    <section anchor="authors-addresses" numbered="false" removeInRFC="false" toc="include" pn="section-appendix.b">
      <name slugifiedName="name-authors-addresses">Authors' Addresses</name>
      <author initials="D" surname="Farinacci" fullname="Dino Farinacci">
        <organization showOnFrontPage="true">lispers.net</organization>
        <address>
          <postal>
            <city>San Jose</city>
            <region>CA</region>
            <country>United States of America</country>
          </postal>
          <email>farinacci@gmail.com</email>
        </address>
      </author>
      <author initials="L." surname="Iannone" fullname="Luigi Iannone" role="editor">
        <organization abbrev="Huawei" showOnFrontPage="true">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>
    </section>
  </back>
</rfc>
