RFC 3401

Dynamic Delegation Discovery System (DDDS) Part One: The Comprehensive DDDS

πŸ“… published October 2002, from ietf

RFC 3401: Dynamic Delegation Discovery System (DDDS) Part One: The Comprehensive DDDS πŸ’–

Okay bestie, here are the deets πŸŽ€ This is RFC 3401, written by Michael Mealling at VeriSign for the Network Working Group, dated October 2002. It's Informational, so it's giving info, not a standard πŸ’… It updates RFC 2276 and obsoletes RFC 2915 and RFC 2168, and it's the first part of the DDDS series πŸ¦‹


Status of This Memo ✨

This memo is here to give info to the Internet community. It doesn't specify an Internet standard of any kind, and distribution of this memo is unlimited 🌸

Copyright (C) The Internet Society (2002). All Rights Reserved.

Abstract πŸ’œ

This document spells out the exact documents that make up the complete Dynamic Delegation Discovery System (DDDS) 🧚 DDDS is an abstract algorithm for applying dynamically retrieved string transformation rules to an application-unique string. Lowkey the whole thing in one sentence 😭

This document, along with RFC 3402, RFC 3403 and RFC 3404, obsoletes RFC 2168 and RFC 2915, and also updates RFC 2276 🫢

1. Intended Audience πŸŽ€

This document and the documents it references are for anyone trying to implement or understand the generic DDDS algorithm, URI Resolution, ENUM telephone number to URI resolution, and the NAPTR DNS resource record. The reader is warned that reading one document in this series without reading the others will probably lead to misunderstandings and interoperability problems. Bestie, read the whole series πŸ’€

2. Introduction πŸ¦‹

The Dynamic Delegation Discovery System is used to implement lazy binding of strings to data, so it can support dynamically configured delegation systems ✨ It works by mapping some unique string to data stored in a DDDS Database, applying string transformation rules over and over until a terminal condition is reached. This document defines the entire DDDS by listing the documents that make up the complete specification at this time πŸ‘‘

This document, along with RFC 3402, RFC 3403 and RFC 3404, obsoletes RFC 2168 [8] and RFC 2915 [6], and also updates RFC 2276 [5]. This document will be updated and or obsoleted when changes are made to the DDDS specifications. So the reader is strongly encouraged to check the IETF RFC repository for any documents that obsolete or update this one πŸ”₯

3. The Algorithm 🧚

The DDDS algorithm is defined by RFC 3402 [1]. That document defines the following DDDS concepts:

  • The basic DDDS vocabulary.
  • The algorithm.
  • The requirements on applications using the algorithm.
  • The requirements on databases that store DDDS rules.

RFC 3402 is the actual DDDS Algorithm specification. But the spec by itself is useless without some extra document that defines how and why the algorithm gets used. Those documents are called Applications, and they aren't part of the DDDS core spec πŸ’… Applications need databases to store their Rules. These databases are called DDDS Databases and are usually specified in separate documents. Again, those Database specs aren't included in the DDDS core spec itself πŸŽ€

4. DDDS Applications πŸ’–

No implementation can start without an Application specification, because that's what gives the concrete instantiation details for the DDDS Algorithm. Without it, the DDDS is just a general algorithm, and that's giving incomplete 😭 Application documents define the following:

  • the Application Unique String (the thing the delegation rules act on).
  • the First Well Known Rule (the Rule that says where the process starts).
  • the list of valid Databases (you can't just use any Database).
  • the final expected output.

Some sample Applications are documented in:

  • "E.164 number and DNS" (RFC 2916) [7]. This Application uses the DDDS to map a telephone number to service endpoints such as SIP or email πŸ“ž
  • "Dynamic Delegation Discovery System (DDDS) Part Four: The Uniform Resource Identifiers (URI) Resolution Application" (RFC 3404) [3]. This Application uses the DDDS to resolve any URI to a set of endpoints or 'resolvers' that can give additional information about the URI, independent of its particular URI scheme πŸ¦‹

5. Currently Standardized Databases 🌸

Any DDDS Application must use some type of DDDS Database. Database documents define the following:

  • the general spec for how the Database works.
  • formats for Keys.
  • formats for Rules.
  • Key lookup process.
  • rule insertion procedures.
  • collision avoidance measures.

A Database can't be used on its own. There must be at least one Application that uses it. Multiple Databases and Applications are defined, and some Databases will support multiple Applications. However, not every Application uses each Database, and vice versa. So compliance is defined by the combination of a Database and Application specification, which is giving teamwork 🫢

One sample Database specification is documented in:

  • "Dynamic Delegation Discovery System (DDDS) Part Three: The Domain Name System (DNS) Database" (RFC 3402) [1]. (This document is the official specification for the NAPTR DNS Resource Record.) 🧚

6. Security Considerations πŸ”₯

Any known security issues that come from the use of algorithms and databases must be specified in the respective specifications. They must be completely and fully described πŸ™ˆ It is not required that the database and algorithms be secure or free from risks. What's required is that the known risks be identified. Publishing a new database type or algorithm does require a security review, and the security considerations section should be subject to continuing evaluation. Additional security considerations should be addressed by publishing revised versions of the database and algorithm specifications. This section is literally the most serious part of the whole doc, so read it carefully πŸ’€

7. IANA Considerations πŸ‘‘

This document doesn't create any new requirements for the IANA itself, but the documents in this series create many varied requirements. The IANA Considerations sections in those documents should be reviewed by the IANA to work out the complete set of new registries and requirements. Any new algorithms, databases or applications should take great care in what they ask the IANA to do in the future πŸ“

References πŸ“š

[1] Mealling, M., "Dynamic Delegation Discovery System (DDDS) Part Two: The Algorithm", RFC 3402, October 2002.

[2] Mealling, M., "Dynamic Delegation Discovery System (DDDS) Part Three: The Doman Name System (DNS) Database", RFC 3403, October 2002.

[3] Mealling, M., "Dynamic Delegation Discovery System (DDDS) Part Four: The Uniform Resource Identifiers (URI) Resolution Application", RFC 3404, October 2002.

[4] Mealling, M., "Dynamic Delegation Discovery System (DDDS) Part Five: URI.ARPA Assignment Procedures", RFC 3405, October 2002.

[5] Sollins, K., "Architectural Principles of Uniform Resource Name Resolution", RFC 2276, January 1998.

[6] Mealling, M. and R. Daniel, "The Naming Authority Pointer (NAPTR) DNS Resource Record", RFC 2915, August 2000.

[7] Faltstrom, P., "E.164 number and DNS", RFC 2916, September 2000.

[8] Daniel, R. and M. Mealling, "Resolution of Uniform Resource Identifiers using the Domain Name System", RFC 2168, June 1997.

Author's Address πŸ¦‹

Michael Mealling
VeriSign
21345 Ridgetop Circle
Sterling, VA  20166
US

EMail: michael@neonym.net
URI:   http://www.verisignlabs.com

The legal text stays word for word, so here it is, verbatim 🫢

Copyright (C) The Internet Society (2002).  All Rights Reserved.

This document and translations of it may be copied and furnished to
others, and derivative works that comment on or otherwise explain it
or assist in its implementation may be prepared, copied, published
and distributed, in whole or in part, without restriction of any
kind, provided that the above copyright notice and this paragraph are
included on all such copies and derivative works.  However, this
document itself may not be modified in any way, such as by removing
the copyright notice or references to the Internet Society or other
Internet organizations, except as needed for the purpose of
developing Internet standards in which case the procedures for
copyrights defined in the Internet Standards process must be
followed, or as required to translate it into languages other than
English.

The limited permissions granted above are perpetual and will not be
revoked by the Internet Society or its successors or assigns.

This document and the information contained herein is provided on an
"AS IS" basis and THE INTERNET SOCIETY AND THE INTERNET ENGINEERING
TASK FORCE DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING
BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION
HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF
MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.

Acknowledgement πŸ’–

Funding for the RFC Editor function is currently provided by the Internet Society ✨

πŸ“¦ where this page comes from