rfc9735.original | rfc9735.txt | |||
---|---|---|---|---|
Internet Engineering Task Force D. Farinacci | Internet Engineering Task Force (IETF) D. Farinacci | |||
Internet-Draft lispers.net | Request for Comments: 9735 lispers.net | |||
Intended status: Standards Track L. Iannone, Ed. | Category: Standards Track L. Iannone, Ed. | |||
Expires: 12 June 2025 Huawei | ISSN: 2070-1721 Huawei | |||
9 December 2024 | February 2025 | |||
LISP Distinguished Name Encoding | Locator/ID Separation Protocol (LISP) Distinguished Name Encoding | |||
draft-ietf-lisp-name-encoding-17 | ||||
Abstract | Abstract | |||
This documents defines how to use the Address Family Identifier (AFI) | This document defines how to use the Address Family Identifier (AFI) | |||
17 "Distinguished Names" in LISP. Distinguished Names can be used | 17 "Distinguished Name" in the Locator/ID Separation Protocol (LISP). | |||
either in Endpoint Identifiers (EID) records or Routing Locators | LISP introduces two new numbering spaces: Endpoint Identifiers (EIDs) | |||
(RLOC) records in LISP control messages to convey additional | and Routing Locators (RLOCs). Distinguished Names (DNs) can be used | |||
information. | in either EID-Records or RLOC-Records in LISP control messages to | |||
convey additional information. | ||||
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. | ||||
Status of This Memo | Status of This Memo | |||
This Internet-Draft is submitted in full conformance with the | This is an Internet Standards Track document. | |||
provisions of BCP 78 and BCP 79. | ||||
Internet-Drafts are working documents of the Internet Engineering | ||||
Task Force (IETF). Note that other groups may also distribute | ||||
working documents as Internet-Drafts. The list of current Internet- | ||||
Drafts is at https://datatracker.ietf.org/drafts/current/. | ||||
Internet-Drafts are draft documents valid for a maximum of six months | This document is a product of the Internet Engineering Task Force | |||
and may be updated, replaced, or obsoleted by other documents at any | (IETF). It represents the consensus of the IETF community. It has | |||
time. It is inappropriate to use Internet-Drafts as reference | received public review and has been approved for publication by the | |||
material or to cite them other than as "work in progress." | Internet Engineering Steering Group (IESG). Further information on | |||
Internet Standards is available in Section 2 of RFC 7841. | ||||
This Internet-Draft will expire on 12 June 2025. | Information about the current status of this document, any errata, | |||
and how to provide feedback on it may be obtained at | ||||
https://www.rfc-editor.org/info/rfc9735. | ||||
Copyright Notice | Copyright Notice | |||
Copyright (c) 2024 IETF Trust and the persons identified as the | Copyright (c) 2025 IETF Trust and the persons identified as the | |||
document authors. All rights reserved. | document authors. All rights reserved. | |||
This document is subject to BCP 78 and the IETF Trust's Legal | This document is subject to BCP 78 and the IETF Trust's Legal | |||
Provisions Relating to IETF Documents (https://trustee.ietf.org/ | Provisions Relating to IETF Documents | |||
license-info) in effect on the date of publication of this document. | (https://trustee.ietf.org/license-info) in effect on the date of | |||
Please review these documents carefully, as they describe your rights | publication of this document. Please review these documents | |||
and restrictions with respect to this document. Code Components | carefully, as they describe your rights and restrictions with respect | |||
extracted from this document must include Revised BSD License text as | to this document. Code Components extracted from this document must | |||
described in Section 4.e of the Trust Legal Provisions and are | include Revised BSD License text as described in Section 4.e of the | |||
provided without warranty as described in the Revised BSD License. | Trust Legal Provisions and are provided without warranty as described | |||
in the Revised BSD License. | ||||
Table of Contents | Table of Contents | |||
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 3 | 1. Introduction | |||
2. Definition of Terms . . . . . . . . . . . . . . . . . . . . . 4 | 2. Terminology | |||
3. Distinguished Name Format . . . . . . . . . . . . . . . . . . 4 | 2.1. Definition | |||
4. Mapping System Lookups for Distinguished Name EIDs . . . . . 5 | 2.2. Requirements Language | |||
5. Example Use-Cases . . . . . . . . . . . . . . . . . . . . . . 5 | 3. Distinguished Name Format | |||
6. Name Collision Considerations . . . . . . . . . . . . . . . . 5 | 4. Mapping-System Lookups for DN EIDs | |||
7. Security Considerations . . . . . . . . . . . . . . . . . . . 6 | 5. Example Use Cases | |||
8. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 6 | 6. Name-Collision Considerations | |||
9. Sample LISP Distinguished Name (DN) Deployment Experience . . 6 | 7. Security Considerations | |||
9.1. DNs to Advertise Specific Device Roles or Functions . . . 6 | 8. IANA Considerations | |||
9.2. DNs to Drive xTR On-Boarding Procedures . . . . . . . . . 7 | 9. Sample LISP DN Deployment Experience | |||
9.3. DNs for NAT-Traversal . . . . . . . . . . . . . . . . . . 7 | 9.1. DNs to Advertise Specific Device Roles or Functions | |||
9.4. DNs for Self-Documenting RLOC Names . . . . . . . . . . . 8 | 9.2. DNs to Drive xTR Onboarding Procedures | |||
9.5. DNs used as EID Names . . . . . . . . . . . . . . . . . . 8 | 9.3. DNs for NAT-Traversal | |||
10. References . . . . . . . . . . . . . . . . . . . . . . . . . 8 | 9.4. DNs for Self-Documenting RLOC Names | |||
10.1. Normative References . . . . . . . . . . . . . . . . . . 8 | 9.5. DNs Used as EID Names | |||
10.2. Informative References . . . . . . . . . . . . . . . . . 9 | 10. References | |||
Appendix A. Acknowledgments . . . . . . . . . . . . . . . . . . 10 | 10.1. Normative References | |||
Appendix B. Document Change Log . . . . . . . . . . . . . . . . 10 | 10.2. Informative References | |||
B.1. Changes to draft-ietf-lisp-name-encoding-17 . . . . . . . 10 | Acknowledgments | |||
B.2. Changes to draft-ietf-lisp-name-encoding-16 . . . . . . . 10 | Authors' Addresses | |||
B.3. Changes to draft-ietf-lisp-name-encoding-15 . . . . . . . 10 | ||||
B.4. Changes to draft-ietf-lisp-name-encoding-14 . . . . . . . 11 | ||||
B.5. Changes to draft-ietf-lisp-name-encoding-13 . . . . . . . 11 | ||||
B.6. Changes to draft-ietf-lisp-name-encoding-12 . . . . . . . 11 | ||||
B.7. Changes to draft-ietf-lisp-name-encoding-11 . . . . . . . 11 | ||||
B.8. Changes to draft-ietf-lisp-name-encoding-10 . . . . . . . 11 | ||||
B.9. Changes to draft-ietf-lisp-name-encoding-09 . . . . . . . 11 | ||||
B.10. Changes to draft-ietf-lisp-name-encoding-08 . . . . . . . 11 | ||||
B.11. Changes to draft-ietf-lisp-name-encoding-07 . . . . . . . 12 | ||||
B.12. Changes to draft-ietf-lisp-name-encoding-06 . . . . . . . 12 | ||||
B.13. Changes to draft-ietf-lisp-name-encoding-05 . . . . . . . 12 | ||||
B.14. Changes to draft-ietf-lisp-name-encoding-04 . . . . . . . 12 | ||||
B.15. Changes to draft-ietf-lisp-name-encoding-03 . . . . . . . 12 | ||||
B.16. Changes to draft-ietf-lisp-name-encoding-02 . . . . . . . 12 | ||||
B.17. Changes to draft-ietf-lisp-name-encoding-01 . . . . . . . 13 | ||||
B.18. Changes to draft-ietf-lisp-name-encoding-00 . . . . . . . 13 | ||||
B.19. Changes to draft-farinacci-lisp-name-encoding-15 . . . . 13 | ||||
B.20. Changes to draft-farinacci-lisp-name-encoding-14 . . . . 13 | ||||
B.21. Changes to draft-farinacci-lisp-name-encoding-13 . . . . 13 | ||||
B.22. Changes to draft-farinacci-lisp-name-encoding-12 . . . . 13 | ||||
B.23. Changes to draft-farinacci-lisp-name-encoding-11 . . . . 13 | ||||
B.24. Changes to draft-farinacci-lisp-name-encoding-10 . . . . 14 | ||||
B.25. Changes to draft-farinacci-lisp-name-encoding-09 . . . . 14 | ||||
B.26. Changes to draft-farinacci-lisp-name-encoding-08 . . . . 14 | ||||
B.27. Changes to draft-farinacci-lisp-name-encoding-07 . . . . 14 | ||||
B.28. Changes to draft-farinacci-lisp-name-encoding-06 . . . . 14 | ||||
B.29. Changes to draft-farinacci-lisp-name-encoding-05 . . . . 14 | ||||
B.30. Changes to draft-farinacci-lisp-name-encoding-04 . . . . 14 | ||||
B.31. Changes to draft-farinacci-lisp-name-encoding-03 . . . . 14 | ||||
B.32. Changes to draft-farinacci-lisp-name-encoding-02 . . . . 15 | ||||
B.33. Changes to draft-farinacci-lisp-name-encoding-01 . . . . 15 | ||||
B.34. Changes to draft-farinacci-lisp-name-encoding-00 . . . . 15 | ||||
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 15 | ||||
1. Introduction | 1. Introduction | |||
The LISP architecture and protocols ([RFC9300], [RFC9301]) introduces | LISP ([RFC9300] and [RFC9301]) introduces two new numbering spaces: | |||
two new numbering spaces, Endpoint Identifiers (EIDs) and Routing | Endpoint Identifiers (EIDs) and Routing Locators (RLOCs). To provide | |||
Locators (RLOCs). To provide flexibility for current and future | flexibility for current and future applications, these values can be | |||
applications, these values can be encoded in LISP control messages | encoded in LISP control messages using a general syntax that includes | |||
using a general syntax that includes Address Family Identifier (AFI). | the Address Family Identifier (AFI). | |||
The length of addresses encoded in EID and RLOC records can be easily | The length of addresses encoded in EID-Records and RLOC-Records can | |||
determined by the AFI field, as the size of the address is implicit | easily be determined by the AFI field, as the size of the address is | |||
in its AFI value. For instance, for AFI = 1, which is IP version 4, | implicit in its AFI value. For instance, for AFI equal to 1, which | |||
the address length is known to be 4 octets. However, AFI 17 | is "IP (IP version 4)", the address length is known to be 4 octets. | |||
"Distinguished Name", is a variable length value, so the length | However, AFI 17 "Distinguished Name", is a variable-length value, so | |||
cannot be determined solely from the AFI value 17. This document | the length cannot be determined solely from the AFI value 17 | |||
defines a termination character, an 8-bit value of 0 to be used as a | [ADDRESS-FAMILY]. This document defines a termination character, an | |||
string terminator so the length can be determined. | 8-bit value of 0, to be used as a string terminator so the length can | |||
be determined. | ||||
LISP Distinguished Names are useful when encoded either in EID- | LISP DNs are useful when encoded either in EID-Records or RLOC- | |||
Records or RLOC-records in LISP control messages. As EIDs, they can | Records in LISP control messages. As EIDs, they can be registered in | |||
be registered in the mapping system to find resources, services, or | the Mapping System to find resources, services, or simply be used as | |||
simply used as a self-documenting feature that accompany other | a self-documenting feature that accompanies other address-specific | |||
address specific EIDs. As RLOCs, Distinguished Names, along with | EIDs. As RLOCs, DNs, along with RLOC-specific addresses and | |||
RLOC specific addresses and parameters, can be used as labels to | parameters, can be used as labels to identify equipment type, | |||
identify equipment type, location, or any self-documenting string a | location, or any self-documenting string a registering device desires | |||
registering device desires to convey. | to convey. | |||
The Distinguished Name field in this document has no relationship to | The Distinguished Name field in this document has no relationship to | |||
the similarly named field in the Public-Key Infrastructure using | the similarly named field in the Public-Key Infrastructure using | |||
X.509 (PKIX) specifications [RFC5280]. | X.509 (PKIX) specifications (e.g., [RFC5280]). | |||
2. Definition of Terms | 2. Terminology | |||
2.1. Definition | ||||
Address Family Identifier (AFI): a term used to describe an address | Address Family Identifier (AFI): a term used to describe an address | |||
encoding in a packet. An address family is currently defined for | encoding in a packet. An address family is currently defined for | |||
IPv4 or IPv6 addresses. See [IANA-ADDRESS-FAMILY-REGISTRY] for | IPv4 or IPv6 addresses. See [ADDRESS-FAMILY] for details on other | |||
details on other types of information that can be AFI encoded. | types of information that can be AFI encoded. | |||
2.2. 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. | ||||
3. Distinguished Name Format | 3. Distinguished Name Format | |||
An AFI=17 Distinguished Name is encoded as: | An AFI 17 "Distinguished Name" is encoded as: | |||
0 1 2 3 | 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 | 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 US-ASCII ~ | | AFI = 17 | NULL-Terminated (0x00) ~ | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ String | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ US-ASCII String | | |||
~ | | ~ | | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
The variable length string of characters are encoded as a NULL (0x00) | The variable-length string of characters are encoded as a NULL- | |||
terminated US-ASCII character-set as defined in [RFC3629], where | terminated (0x00) US-ASCII character set as defined in [RFC3629], | |||
UTF-8 has the characteristic of preserving the full US-ASCII range. | where UTF-8 has the characteristic of preserving the full US-ASCII | |||
NULL character MUST be appear only once in the string and MUST be at | range. A NULL character MUST appear only once in the string and MUST | |||
the end of the string. | be at the end of the string. | |||
When Distinguished Names are encoded for EIDs, the EID Mask-Len | When DNs are encoded for EIDs, the EID Mask-Len length of the EID- | |||
length of the EIDs as they appear in EID-Records for all LISP control | Records, for all LISP control messages [RFC9301], is the length of | |||
messages [RFC9301] is the length of the string in bits (including the | the string in bits (including the NULL-terminated 0x00 octet). | |||
terminating NULL 0x00 octet). | ||||
Where Distinguished Names are encoded anywhere else (i.e., nested in | Where DNs are encoded anywhere else (i.e., nested in LISP Canonical | |||
LCAF encodings [RFC8060]), then a explicit length field can be used | Address Format (LCAF) encodings [RFC8060]), an explicit length field | |||
to indicate the length of the ASCII string in octets, the length | can be used to indicate the length of the ASCII string in octets. | |||
field MUST include the NULL 0 octet. The string MUST still be NULL | The length field MUST include the NULL octet (0x00). The string MUST | |||
terminated. If a NULL 0 octet appears before the end of the octet | still be NULL-terminated (0x00). If a NULL octet (0x00) appears | |||
field, i.e., the NULL octet appears before the the last position in | before the end of the octet field, i.e., the NULL octet (0x00) | |||
the octet fields, then the string MAY be accepted and the octets | appears before the last position in the octet fields, then the string | |||
after the NULL 0 octet MUST NOT be used as part of the octet 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 0 octet, the string is a | If the octet after the AFI field is the NULL octet (0x00), the string | |||
NULL string and MUST be accepted. That is, an AFI=17 encoded string | is a NULL string and MUST be accepted. That is, an AFI 17 | |||
MUST be at least 1 octet in length. | "Distinguished Name" encoded string MUST be at least 1 octet in | |||
length. | ||||
4. Mapping System Lookups for Distinguished Name EIDs | 4. Mapping-System Lookups for DN EIDs | |||
Distinguished Name EID lookups MUST carry as an EID Mask-Len length | When performing DN-EID lookups, Map-Request messages MUST carry an | |||
equal to the length of the name string. This instructs the mapping | EID Mask-Len length equal to the length of the name string in bits. | |||
system to do either an exact match or longest match lookup. | This instructs the Mapping System to do either an exact-match or a | |||
longest-match lookup. | ||||
If the Distinguished Name EID is registered with the same length as | If the DN EID is registered with the same length as the length in a | |||
the length in a Map-Request, the Map-Server (when configured for | Map-Request, the Map-Server (when configured for proxy Map-Replying) | |||
proxy Map-Replying) returns an exact match lookup with the same EID | returns an exact-match lookup with the same EID Mask-Len length. If | |||
Mask-Len length. If a less specific name is registered, then the | a less specific name is registered, then the Map-Server returns the | |||
Map-Server returns the registered name with the registered EID Mask- | registered name with the registered EID Mask-Len length. | |||
Len length. | ||||
For example, if the registered EID name is "ietf" with EID Mask-Len | For example, if the registered EID name is "ietf" with an EID Mask- | |||
of 40 bits (the length of string "ietf" plus the null octet is 5 | Len length of 40 bits (the length of the string "ietf" plus the | |||
octets), and a Map-Request is received for EID name "ietf.lisp" with | length of the NULL octet (0x00) makes 5 octets), and a Map-Request is | |||
an EID Mask-Len of 80 bits, the Map-Server will return EID "ietf" | received for EID name "ietf.lisp" with an EID Mask-Len length of 80 | |||
with length of 40 bits. | bits, the Map-Server will return EID "ietf" with a length of 40 bits. | |||
5. Example Use-Cases | 5. Example Use Cases | |||
This section identifies three specific use-cases examples for the | This section identifies three specific use-case examples for the DN | |||
Distinguished Name format. Two are used for an EID encoding and one | format: two are used for an EID encoding and one for an RLOC-Record | |||
for an RLOC-record encoding. When storing public keys in the mapping | encoding. When storing public keys in the Mapping System, as in | |||
system, as in [I-D.ietf-lisp-ecdsa-auth], a well-known format for a | [LISP-ECDSA], a well-known format for a public-key hash can be | |||
public-key hash can be encoded as a Distinguished Name. When street | encoded as a DN. When street-location-to-GPS-coordinate mappings | |||
location to GPS coordinate mappings exist in the mapping system, as | exist in the Mapping System, as in [LISP-GEO], the street location | |||
in [I-D.ietf-lisp-geo], the street location can be a free form UTF-8 | can be a free-form UTF-8 ASCII representation (with whitespace | |||
ASCII representation (with whitespace characters) encoded as a | characters) encoded as a DN. An RLOC that describes an Ingress or | |||
Distinguished Name. An RLOC that describes an Ingress or Egress | Egress Tunnel Router (xTR) behind a NAT device can be identified by | |||
Tunnel Router (xTR) behind a NAT device can be identified by its | its router name, as in [LISPERS-NET-NAT]. In this case, DN encoding | |||
router name, as in [I-D.farinacci-lisp-lispers-net-nat]. In this | is used in NAT Info-Request messages after the EID-prefix field of | |||
case, Distinguished Name encoding is used in NAT Info-Request | the message. | |||
messages after the EID-prefix field of the message. | ||||
6. Name Collision Considerations | 6. Name-Collision Considerations | |||
When a Distinguished Name encoding is used to format an EID, the | When a DN encoding is used to format an EID, the uniqueness and | |||
uniqueness and allocation concerns are no different than registering | allocation concerns are no different than registering IPv4 or IPv6 | |||
IPv4 or IPv6 EIDs to the mapping system. See [RFC9301] for more | EIDs to the Mapping System. See [RFC9301] for more details. Also, | |||
details. Also, the use-case documents specified in Section 5 of this | the use cases documented in Section 5 of this specification provide | |||
specification provide allocation recommendations for their specific | allocation recommendations for their specific uses. | |||
uses. | ||||
It is RECOMMENDED that each use-case register their Distinguished | It is RECOMMENDED that each use case register their DNs with a unique | |||
Names with a unique Instance-ID. For any use-cases which require | Instance-ID. Any use cases that require different uses for DNs | |||
different uses for Distinguish Names within an Instance-ID MUST | within an Instance-ID MUST define their own Instance-ID and syntax | |||
define their own Instance-ID and structure syntax for the name | structure for the name registered to the Mapping System. See the | |||
registered to the Mapping System. See the encoding procedures in | encoding procedures in [LISP-VPN] for an example. | |||
[I-D.ietf-lisp-vpn] for an example. | ||||
7. Security Considerations | 7. Security Considerations | |||
Distinguished Names are used in mappings that are part of the LISP | DNs are used in mappings that are part of the LISP control plane and | |||
control plane and may be encoded using LCAF, as such security | may be encoded using LCAF; thus, the security considerations of | |||
considerations of [RFC9301] and [RFC8060] apply. | [RFC9301] and [RFC8060] apply. | |||
8. IANA Considerations | 8. IANA Considerations | |||
The code-point value in this specification, namely AFI 17, is already | This document has no IANA actions. | |||
allocated in [IANA-ADDRESS-FAMILY-REGISTRY]. | ||||
9. Sample LISP Distinguished Name (DN) Deployment Experience | 9. Sample LISP DN Deployment Experience | |||
Practical implementations of the LISP Distinguished Name | Practical implementations of the LISP DN, defined in this document, | |||
specification have been running in production networks for some time. | have been running in production networks for some time. The | |||
The following sections provide some examples of its usage and lessons | following sections provide some examples of its usage and lessons | |||
gathered out of this experience. | learned out of this experience. | |||
9.1. DNs to Advertise Specific Device Roles or Functions | 9.1. DNs to Advertise Specific Device Roles or Functions | |||
In a practical implementation of | In a practical implementation of [LISP-EXT] on LISP deployments, | |||
[I-D.ietf-lisp-site-external-connectivity] on LISP deployments, | ||||
routers running as Proxy Egress Tunnel Routers (Proxy-ETRs) register | routers running as Proxy Egress Tunnel Routers (Proxy-ETRs) register | |||
their role with the Mapping System in order to attract traffic | their role with the Mapping System in order to attract traffic | |||
destined for external networks. Practical implementations of this | destined for external networks. Practical implementations of this | |||
functionality make use of a Distinguished Name as an EID to identify | functionality make use of a DN as an EID to identify the Proxy-ETR | |||
the Proxy-ETR role in a Map-Registration. | role in a Map-Registration. | |||
In this case all Proxy-ETRs supporting this function register a | In this case, all Proxy-ETRs supporting this function register a | |||
common Distinguished Name together with their own offered locator. | common DN together with their own offered locator. The Mapping | |||
The Mapping-System aggregates the locators received from all Proxy- | System aggregates the locators received from all Proxy-ETRs as a | |||
ETRs as a common locator-set that is associated with this DN EID. | common locator-set that is associated with this DN EID. In this | |||
The Distinguished Name in this case serves as a common reference EID | scenario, the DN serves as a common reference EID that can be | |||
that can be requested (or subscribed as per [RFC9437]) to dynamically | requested (or subscribed as per [RFC9437]) to dynamically gather this | |||
gather this Proxy-ETR list as specified in the LISP Site External | Proxy-ETR list as specified in the LISP Site External Connectivity | |||
Connectivity document. | document [LISP-EXT]. | |||
The use of a Distinguished Name in this case provides descriptive | The use of a DN here provides descriptive information about the role | |||
information about the role being registered and allows the Mapping | being registered and allows the Mapping System to form locator-sets | |||
System to form locator-sets associated to specific role. These | associated with a specific role. These locator-sets can be | |||
locator-sets can be distributed on-demand based on using the shared | distributed on-demand based on using the shared DN as EID. It also | |||
DN as EID. It also allows the network admin and the Mapping System | allows the network admin and the Mapping System to selectively choose | |||
to selectively choose what roles and functions can be registered and | what roles and functions can be registered and distributed to the | |||
distributed to the rest of the participants in the network. | rest of the participants in the network. | |||
9.2. DNs to Drive xTR On-Boarding Procedures | 9.2. DNs to Drive xTR Onboarding Procedures | |||
Following the LISP reliable transport | Following the LISP reliable transport [LISP-MAP], ETRs that plan to | |||
[I-D.ietf-lisp-map-server-reliable-transport], ETRs that plan to | ||||
switch to using reliable transport to hold registrations first need | switch to using reliable transport to hold registrations first need | |||
to start with traditional UDP registrations. The UDP registration | to start with UDP registrations. The UDP registration allows the | |||
allows the Map-Server to perform basic authentication of the ETR and | Map-Server to perform basic authentication of the ETR and to create | |||
create the necessary state to permit the reliable transport session | the necessary state to permit the reliable transport session to be | |||
to be established (e.g., establish a passive open on TCP port 4342 | established (e.g., establish a passive open on TCP port 4342 and add | |||
and add the ETR RLOC to the list allowed to establish a session). | the ETR RLOC to the list allowed to establish a session). | |||
In the basic implementation of this process, the ETRs need to wait | In the basic implementation of this process, the ETRs need to wait | |||
until local mappings are available and ready to be registered with | until local mappings are available and ready to be registered with | |||
the Mapping System. Furthermore, when the mapping system is | the Mapping System. Furthermore, when the Mapping System is | |||
distributed, the ETR requires having one specific mapping ready to be | distributed, the ETR requires having one specific mapping ready to be | |||
registered with each one of the relevant Map-Servers. This process | registered with each one of the relevant Map-Servers. This process | |||
may delay the onboarding of ETRs with the Mapping System so that they | may delay the onboarding of ETRs with the Mapping System so that they | |||
can switch to using reliable transport. This can also lead to | can switch to using reliable transport. This can also lead to | |||
generating unnecessary signaling as a reaction to certain triggers | generating unnecessary signaling as a reaction to certain triggers | |||
like local port flaps and device failures. | like local port flaps and device failures. | |||
The use of dedicated name registrations allows driving this initial | The use of dedicated name registrations allows driving this initial | |||
ETR on-boarding on the Mapping System as a deterministic process that | ETR onboarding on the Mapping System as a deterministic process that | |||
does not depend on the availability of other mappings. It also | does not depend on the availability of other mappings. It also | |||
provides more stability to the reliable transport session to survive | provides more stability to the reliable transport session to survive | |||
through transient events. | through transient events. | |||
In practice, LISP deployments use dedicated Distinguished Names that | In practice, LISP deployments use dedicated DNs that are registered | |||
are registered as soon as xTRs come online with all the necessary | as soon as xTRs come online with all the necessary Map-Servers in the | |||
Map-Servers in the Mapping System. The mapping with the dedicated DN | Mapping System. The mapping with the dedicated DN together with the | |||
together with the RLOCs of each Egress Tunnel Router (ETR) in the | RLOCs of each Egress Tunnel Router (ETR) in the locator-set is used | |||
locator-set is used to drive the initial UDP registration and also to | to drive the initial UDP registration and also to keep the reliable | |||
keep the reliable transport state stable through network condition | transport state stable through network condition changes. On the | |||
changes. On the Map-Server, these DN registrations facilitate | Map-Server, these DN registrations facilitate setting up the | |||
setting up the necessary state to onboard new ETRs rapidly and in a | necessary state to onboard new ETRs rapidly and in a more | |||
more deterministic manner. | deterministic manner. | |||
9.3. DNs for NAT-Traversal | 9.3. DNs for NAT-Traversal | |||
The open source lispers.net NAT-Traversal implementation | At the time of writing, the open-source lispers.net NAT-Traversal | |||
[I-D.farinacci-lisp-lispers-net-nat] has had 10 years of deployment | implementation [LISPERS-NET-NAT] has deployed DNs for documenting | |||
experience using Distinguished Names for documenting xTRs versus Re- | xTRs versus Re-encapsulating Tunnel Routers (RTRs) as they appear in | |||
encapsulating Tunnel Router (RTRs) as they appear in a locator-set. | a locator-set for 10 years. | |||
9.4. DNs for Self-Documenting RLOC Names | 9.4. DNs for Self-Documenting RLOC Names | |||
The open source lispers.net implementation has had 10 years of self- | At the time of writing, the open-source lispers.net implementation | |||
documenting RLOC names in production and pilot environments. The | [LISPERS-NET-NAT] has self-documented RLOC names in production and | |||
RLOC name is encoded with the RLOC address in Distinguished Name | pilot environments for 10 years. The RLOC name is encoded with the | |||
format. | RLOC address in DN format. | |||
9.5. DNs used as EID Names | 9.5. DNs Used as EID Names | |||
The open source lispers.net implementation has had 10 years of | At the time of writing, the open-source lispers.net implementation | |||
deployment experience allowing xTRs to register EIDs as Distinguished | [LISPERS-NET-NAT] has deployed xTRs that are allowed to register EIDs | |||
Names. The LISP Mapping System can be used as a DNS proxy for Name- | as DNs for 10 years. The LISP Mapping System can be used as a DNS | |||
to-EID-address or Name-to-RLOC-address mappings. The implementation | proxy for Name-to-EID-address or Name-to-RLOC-address mappings. The | |||
also supports Name-to-Public-Key mappings to provide key management | implementation also supports Name-to-Public-Key mappings to provide | |||
features in [I-D.ietf-lisp-ecdsa-auth]. | key management features in [LISP-ECDSA]. | |||
10. References | 10. References | |||
10.1. Normative References | 10.1. Normative References | |||
[IANA-ADDRESS-FAMILY-REGISTRY] | [ADDRESS-FAMILY] | |||
IANA, "IANA Address Family Numbers Registry", | IANA, "Address Family Numbers", | |||
https://www.iana.org/assignments/address-family-numbers/, | <https://www.iana.org/assignments/address-family-numbers>. | |||
December 2024. | ||||
[RFC2119] Bradner, S., "Key words for use in RFCs to Indicate | [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate | |||
Requirement Levels", BCP 14, RFC 2119, | Requirement Levels", BCP 14, RFC 2119, | |||
DOI 10.17487/RFC2119, March 1997, | DOI 10.17487/RFC2119, March 1997, | |||
<https://www.rfc-editor.org/info/rfc2119>. | <https://www.rfc-editor.org/info/rfc2119>. | |||
[RFC3629] Yergeau, F., "UTF-8, a transformation format of ISO | [RFC3629] Yergeau, F., "UTF-8, a transformation format of ISO | |||
10646", STD 63, RFC 3629, DOI 10.17487/RFC3629, November | 10646", STD 63, RFC 3629, DOI 10.17487/RFC3629, November | |||
2003, <https://www.rfc-editor.org/info/rfc3629>. | 2003, <https://www.rfc-editor.org/info/rfc3629>. | |||
skipping to change at page 9, line 13 ¶ | skipping to change at line 346 ¶ | |||
<https://www.rfc-editor.org/info/rfc9301>. | <https://www.rfc-editor.org/info/rfc9301>. | |||
[RFC9437] Rodriguez-Natal, A., Ermagan, V., Cabellos, A., Barkai, | [RFC9437] Rodriguez-Natal, A., Ermagan, V., Cabellos, A., Barkai, | |||
S., and M. Boucadair, "Publish/Subscribe Functionality for | S., and M. Boucadair, "Publish/Subscribe Functionality for | |||
the Locator/ID Separation Protocol (LISP)", RFC 9437, | the Locator/ID Separation Protocol (LISP)", RFC 9437, | |||
DOI 10.17487/RFC9437, August 2023, | DOI 10.17487/RFC9437, August 2023, | |||
<https://www.rfc-editor.org/info/rfc9437>. | <https://www.rfc-editor.org/info/rfc9437>. | |||
10.2. Informative References | 10.2. Informative References | |||
[I-D.farinacci-lisp-lispers-net-nat] | [LISP-ECDSA] | |||
Farinacci, D., "lispers.net LISP NAT-Traversal | ||||
Implementation Report", Work in Progress, Internet-Draft, | ||||
draft-farinacci-lisp-lispers-net-nat-08, 17 June 2024, | ||||
<https://datatracker.ietf.org/doc/html/draft-farinacci- | ||||
lisp-lispers-net-nat-08>. | ||||
[I-D.ietf-lisp-ecdsa-auth] | ||||
Farinacci, D. and E. Nordmark, "LISP Control-Plane ECDSA | Farinacci, D. and E. Nordmark, "LISP Control-Plane ECDSA | |||
Authentication and Authorization", Work in Progress, | Authentication and Authorization", Work in Progress, | |||
Internet-Draft, draft-ietf-lisp-ecdsa-auth-13, 18 August | Internet-Draft, draft-ietf-lisp-ecdsa-auth-13, 18 August | |||
2024, <https://datatracker.ietf.org/doc/html/draft-ietf- | 2024, <https://datatracker.ietf.org/doc/html/draft-ietf- | |||
lisp-ecdsa-auth-13>. | lisp-ecdsa-auth-13>. | |||
[I-D.ietf-lisp-geo] | [LISP-EXT] Jain, P., Moreno, V., and S. Hooda, "LISP Site External | |||
Farinacci, D., "LISP Geo-Coordinate Use-Cases", Work in | Connectivity", Work in Progress, Internet-Draft, draft- | |||
Progress, Internet-Draft, draft-ietf-lisp-geo-08, 21 July | ietf-lisp-site-external-connectivity-01, 24 September | |||
2024, <https://datatracker.ietf.org/doc/html/draft-ietf- | 2024, <https://datatracker.ietf.org/doc/html/draft-ietf- | |||
lisp-geo-08>. | lisp-site-external-connectivity-01>. | |||
[I-D.ietf-lisp-map-server-reliable-transport] | [LISP-GEO] Farinacci, D., "LISP Geo-Coordinate Use-Cases", Work in | |||
Venkatachalapathy, B., Portoles-Comeras, M., Lewis, D., | Progress, Internet-Draft, draft-ietf-lisp-geo-09, 15 | |||
January 2025, <https://datatracker.ietf.org/doc/html/ | ||||
draft-ietf-lisp-geo-09>. | ||||
[LISP-MAP] Venkatachalapathy, B., Portoles-Comeras, M., Lewis, D., | ||||
Kouvelas, I., and C. Cassar, "LISP Map Server Reliable | Kouvelas, I., and C. Cassar, "LISP Map Server Reliable | |||
Transport", Work in Progress, Internet-Draft, draft-ietf- | Transport", Work in Progress, Internet-Draft, draft-ietf- | |||
lisp-map-server-reliable-transport-05, 4 November 2024, | lisp-map-server-reliable-transport-05, 4 November 2024, | |||
<https://datatracker.ietf.org/doc/html/draft-ietf-lisp- | <https://datatracker.ietf.org/doc/html/draft-ietf-lisp- | |||
map-server-reliable-transport-05>. | map-server-reliable-transport-05>. | |||
[I-D.ietf-lisp-site-external-connectivity] | [LISP-VPN] Moreno, V. and D. Farinacci, "LISP Virtual Private | |||
Jain, P., Moreno, V., and S. Hooda, "LISP Site External | ||||
Connectivity", Work in Progress, Internet-Draft, draft- | ||||
ietf-lisp-site-external-connectivity-01, 24 September | ||||
2024, <https://datatracker.ietf.org/doc/html/draft-ietf- | ||||
lisp-site-external-connectivity-01>. | ||||
[I-D.ietf-lisp-vpn] | ||||
Moreno, V. and D. Farinacci, "LISP Virtual Private | ||||
Networks (VPNs)", Work in Progress, Internet-Draft, draft- | Networks (VPNs)", Work in Progress, Internet-Draft, draft- | |||
ietf-lisp-vpn-12, 19 September 2023, | ietf-lisp-vpn-12, 19 September 2023, | |||
<https://datatracker.ietf.org/doc/html/draft-ietf-lisp- | <https://datatracker.ietf.org/doc/html/draft-ietf-lisp- | |||
vpn-12>. | vpn-12>. | |||
[LISPERS-NET-NAT] | ||||
Farinacci, D., "lispers.net LISP NAT-Traversal | ||||
Implementation Report", Work in Progress, Internet-Draft, | ||||
draft-farinacci-lisp-lispers-net-nat-09, 8 December 2024, | ||||
<https://datatracker.ietf.org/doc/html/draft-farinacci- | ||||
lisp-lispers-net-nat-09>. | ||||
[RFC5280] Cooper, D., Santesson, S., Farrell, S., Boeyen, S., | [RFC5280] Cooper, D., Santesson, S., Farrell, S., Boeyen, S., | |||
Housley, R., and W. Polk, "Internet X.509 Public Key | Housley, R., and W. Polk, "Internet X.509 Public Key | |||
Infrastructure Certificate and Certificate Revocation List | Infrastructure Certificate and Certificate Revocation List | |||
(CRL) Profile", RFC 5280, DOI 10.17487/RFC5280, May 2008, | (CRL) Profile", RFC 5280, DOI 10.17487/RFC5280, May 2008, | |||
<https://www.rfc-editor.org/info/rfc5280>. | <https://www.rfc-editor.org/info/rfc5280>. | |||
[RFC8060] Farinacci, D., Meyer, D., and J. Snijders, "LISP Canonical | [RFC8060] Farinacci, D., Meyer, D., and J. Snijders, "LISP Canonical | |||
Address Format (LCAF)", RFC 8060, DOI 10.17487/RFC8060, | Address Format (LCAF)", RFC 8060, DOI 10.17487/RFC8060, | |||
February 2017, <https://www.rfc-editor.org/info/rfc8060>. | February 2017, <https://www.rfc-editor.org/info/rfc8060>. | |||
Appendix A. Acknowledgments | Acknowledgments | |||
The author would like to thank the LISP WG for their review and | The authors would like to thank the LISP WG for their review and | |||
acceptance of this draft. And a special thank you goes to Marc | acceptance of this document. A special thank you goes to Marc | |||
Portoles for moving this document through the process and providing | Portoles for moving this document through the process and providing | |||
deployment experience samples. | deployment-experience samples. | |||
Appendix B. Document Change Log | ||||
B.1. Changes to draft-ietf-lisp-name-encoding-17 | ||||
* Submitted 9 December 2024. | ||||
* Refined wording for explicit length usage. | ||||
B.2. Changes to draft-ietf-lisp-name-encoding-16 | ||||
* Submitted 6 December 2024. | ||||
* Fixed wording for explicit length usage. | ||||
B.3. Changes to draft-ietf-lisp-name-encoding-15 | ||||
* Submitted 3 December 2024. | ||||
* Luigi Iannone joined as editor. | ||||
* Re-wording some text for clarification and address Paul Wouters | ||||
concerns. | ||||
* Updated security consideration section. | ||||
* Updated abstract. | ||||
* Moved some references to avoid downref. | ||||
B.4. Changes to draft-ietf-lisp-name-encoding-14 | ||||
* Submitted August 2024. | ||||
* Use Paul Wouters suggestion to draw packet format for AFI=17 | ||||
encoding in Section 3. | ||||
B.5. Changes to draft-ietf-lisp-name-encoding-13 | ||||
* Submitted August 2024. | ||||
* Use Paul Wouters referene suggestion for RFC3629 to point ASCII | ||||
references in this document to UTF-8. | ||||
B.6. Changes to draft-ietf-lisp-name-encoding-12 | ||||
* Submitted August 2024. | ||||
* Made changes based on comments from Mahesh Jethanandani and Paul | ||||
Wouters during IESG review. | ||||
B.7. Changes to draft-ietf-lisp-name-encoding-11 | ||||
* Submitted August 2024. | ||||
* Fix typo found by Erik Kline. | ||||
B.8. Changes to draft-ietf-lisp-name-encoding-10 | ||||
* Submitted August 2024. | ||||
* Change to "EID mask-len" per Roman Danyliw's comments. | ||||
B.9. Changes to draft-ietf-lisp-name-encoding-09 | ||||
* Submitted July 2024. | ||||
* Added editorial suggestions from Acee Lindem. | ||||
B.10. Changes to draft-ietf-lisp-name-encoding-08 | ||||
* Submitted June 2024. | ||||
* Made changes to reflect AD Jim Guichard's comments. | ||||
B.11. Changes to draft-ietf-lisp-name-encoding-07 | ||||
* Submitted May 2024. | ||||
* Changed document status to "Proposed Standard" and some rewording | ||||
per Alberto for the pETR use-case section. | ||||
B.12. Changes to draft-ietf-lisp-name-encoding-06 | ||||
* Submitted April 2024. | ||||
* Add Deployment Experience section for standards track | ||||
requirements. | ||||
* Update references. | ||||
B.13. Changes to draft-ietf-lisp-name-encoding-05 | ||||
* Submitted December 2023. | ||||
* Update IANA AFI reference. | ||||
B.14. Changes to draft-ietf-lisp-name-encoding-04 | ||||
* Submitted December 2023. | ||||
* More comments from Alberto. Change to standard spellings | ||||
throughout. | ||||
* Add RFC 2119 boilerplate. | ||||
* Update reference RFC1700 to RFC3232. | ||||
B.15. Changes to draft-ietf-lisp-name-encoding-03 | ||||
* Submitted December 2023. | ||||
* Address comments from Alberto, document shepherd. | ||||
* Update references. | ||||
B.16. Changes to draft-ietf-lisp-name-encoding-02 | ||||
* Submitted August 2023. | ||||
* Update references and document expiry timer. | ||||
B.17. Changes to draft-ietf-lisp-name-encoding-01 | ||||
* Submitted February 2023. | ||||
* Update references and document expiry timer. | ||||
* Change 68**.bis references to proposed RFC references. | ||||
B.18. Changes to draft-ietf-lisp-name-encoding-00 | ||||
* Submitted August 2022. | ||||
* Move individual submission to LISP WG document. | ||||
B.19. Changes to draft-farinacci-lisp-name-encoding-15 | ||||
* Submitted July 2022. | ||||
* Added more clarity text about how using VPNs (instance-ID | ||||
encoding) addresses name collisions from multiple use-cases. | ||||
* Update references and document expiry timer. | ||||
B.20. Changes to draft-farinacci-lisp-name-encoding-14 | ||||
* Submitted May 2022. | ||||
* Update references and document expiry timer. | ||||
B.21. Changes to draft-farinacci-lisp-name-encoding-13 | ||||
* Submitted November 2021. | ||||
* Update references and document expiry timer. | ||||
B.22. Changes to draft-farinacci-lisp-name-encoding-12 | ||||
* Submitted May 2021. | ||||
* Update references and document expiry timer. | ||||
B.23. Changes to draft-farinacci-lisp-name-encoding-11 | ||||
* Submitted November 2020. | ||||
* Made changes to reflect working group comments. | ||||
* Update references and document expiry timer. | ||||
B.24. Changes to draft-farinacci-lisp-name-encoding-10 | ||||
* Submitted August 2020. | ||||
* Update references and document expiry timer. | ||||
B.25. Changes to draft-farinacci-lisp-name-encoding-09 | ||||
* Submitted March 2020. | ||||
* Update references and document expiry timer. | ||||
B.26. Changes to draft-farinacci-lisp-name-encoding-08 | ||||
* Submitted September 2019. | ||||
* Update references and document expiry timer. | ||||
B.27. Changes to draft-farinacci-lisp-name-encoding-07 | ||||
* Submitted March 2019. | ||||
* Update referenes and document expiry timer. | ||||
B.28. Changes to draft-farinacci-lisp-name-encoding-06 | ||||
* Submitted September 2018. | ||||
* Update document expiry timer. | ||||
B.29. Changes to draft-farinacci-lisp-name-encoding-05 | ||||
* Submitted March 2018. | ||||
* Update document expiry timer. | ||||
B.30. Changes to draft-farinacci-lisp-name-encoding-04 | ||||
* Submitted September 2017. | ||||
* Update document expiry timer. | ||||
B.31. Changes to draft-farinacci-lisp-name-encoding-03 | ||||
* Submitted March 2017. | ||||
* Update document expiry timer. | ||||
B.32. Changes to draft-farinacci-lisp-name-encoding-02 | ||||
* Submitted October 2016. | ||||
* Add a comment that the distinguished-name encoding is restricted | ||||
to ASCII character encodings only. | ||||
B.33. Changes to draft-farinacci-lisp-name-encoding-01 | ||||
* Submitted October 2016. | ||||
* Update document timer. | ||||
B.34. Changes to draft-farinacci-lisp-name-encoding-00 | ||||
* Initial draft submitted April 2016. | ||||
Authors' Addresses | Authors' Addresses | |||
Dino Farinacci | Dino Farinacci | |||
lispers.net | lispers.net | |||
San Jose, CA | San Jose, CA | |||
United States of America | United States of America | |||
Email: farinacci@gmail.com | Email: farinacci@gmail.com | |||
Luigi Iannone (editor) | Luigi Iannone (editor) | |||
End of changes. 58 change blocks. | ||||
513 lines changed or deleted | 236 lines changed or added | |||
This html diff was produced by rfcdiff 1.48. |