Locator/ID Separation Protocol (LISP) Distinguished Name Encoding
RFC 9735
Dino Farinacci
lispers.net
San Jose
CA
United States of America
farinacci@gmail.com
Luigi Iannone, Ed.
Huawei Technologies France S.A.S.U.
18, Quai du Point du Jour
Boulogne-Billancourt
92100
France
luigi.iannone@huawei.com
February 2025
RTG
lisp
example
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.
Introduction
LISP ([RFC9300] and [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).
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 [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.
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.
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., [RFC5280]).
Terminology
Definition
Address Family Identifier (AFI):
a term used to describe an address encoding in a packet. An address family is currently defined for IPv4 or IPv6 addresses. See [ADDRESS-FAMILY] for details on other types of information that can be AFI encoded.
Requirements Language
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be interpreted as described in BCP 14 [RFC2119] [RFC8174] when, and only when, they appear in all capitals, as shown here.
Distinguished Name Format
An AFI 17 "Distinguished Name" is encoded as:

  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            |
 ~                                                               |
 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
The variable-length string of characters are encoded as a NULL-terminated (0x00) US-ASCII character set as defined in [RFC3629], where UTF-8 has the characteristic of preserving the full US-ASCII range. A NULL character MUST appear only once in the string and MUST be at the end of the string.
When DNs are encoded for EIDs, the EID Mask-Len length of the EID-Records, for all LISP control messages [RFC9301], is the length of the string in bits (including the NULL-terminated 0x00 octet).
Where DNs are encoded anywhere else (i.e., nested in LISP Canonical Address Format (LCAF) encodings [RFC8060]), an explicit length field can be used to indicate the length of the ASCII string in octets. The length field MUST include the NULL octet (0x00). The string MUST 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 MAY be accepted and the octets after the NULL octet (0x00) MUST NOT be used as part of the octet string.
If the octet after the AFI field is the NULL octet (0x00), the string is a NULL string and MUST be accepted. That is, an AFI 17 "Distinguished Name" encoded string MUST be at least 1 octet in length.
Mapping-System Lookups for DN EIDs
When performing DN-EID lookups, Map-Request messages MUST 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.
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.
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.
Example Use Cases
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 [I-D.ietf-lisp-ecdsa-auth], 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 [I-D.ietf-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 [I-D.farinacci-lisp-lispers-net-nat]. In this case, DN encoding is used in NAT Info-Request messages after the EID-prefix field of the message.
Name-Collision Considerations
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 [RFC9301] for more details. Also, the use cases documented in Section 5 of this specification provide allocation recommendations for their specific uses.
It is RECOMMENDED 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 MUST define their own Instance-ID and syntax structure for the name registered to the Mapping System. See the encoding procedures in [I-D.ietf-lisp-vpn] for an example.
Security Considerations
DNs are used in mappings that are part of the LISP control plane and may be encoded using LCAF; thus, the security considerations of [RFC9301] and [RFC8060] apply.
IANA Considerations
This document has no IANA actions.
Sample LISP DN Deployment Experience
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.
DNs to Advertise Specific Device Roles or Functions
In a practical implementation of [I-D.ietf-lisp-site-external-connectivity] 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.
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 [RFC9437]) to dynamically gather this Proxy-ETR list as specified in the LISP Site External Connectivity document [I-D.ietf-lisp-site-external-connectivity].
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.
DNs to Drive xTR Onboarding Procedures
Following the LISP reliable transport [I-D.ietf-lisp-map-server-reliable-transport], 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).
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.
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.
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.
DNs for NAT-Traversal
At the time of writing, the open-source lispers.net NAT-Traversal implementation [I-D.farinacci-lisp-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.
DNs for Self-Documenting RLOC Names
At the time of writing, the open-source lispers.net implementation [I-D.farinacci-lisp-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.
DNs Used as EID Names
At the time of writing, the open-source lispers.net implementation [I-D.farinacci-lisp-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 [I-D.ietf-lisp-ecdsa-auth].
References
Normative References
[ADDRESS-FAMILY]

Address Family Numbers
IANA
Informative References
[RFC9300]
[RFC9301]
[RFC5280]
[RFC2119]
[RFC8174]
[RFC3629]
[RFC8060]
[I-D.ietf-lisp-ecdsa-auth]
[I-D.ietf-lisp-geo]
[I-D.farinacci-lisp-lispers-net-nat]
[I-D.ietf-lisp-vpn]
[I-D.ietf-lisp-site-external-connectivity]
[RFC9437]
[I-D.ietf-lisp-map-server-reliable-transport]
Acknowledgments
The authors would like to thank the LISP WG for their review and acceptance of this document. A special thank you goes to Marc Portoles for moving this document through the process and providing deployment-experience samples.