RFC 3401 INFORMATIONAL NAMING · DNS · RESOLUTION

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

The document map for the Dynamic Delegation Discovery System.

On rfc-editor.org ↗
PUBLISHED
October 2002
AUTHORS
M. Mealling
STREAM
IETF
BUILDS ON
RFC 2168 — URI Resolution via DNS, RFC 2915 — NAPTR, RFC 2276 — Architectural Principles of Uniform Resource Name Resolution
ALGORITHM SPECIFICATION
RFC 3402
SERIES DOCUMENTS NAMED
RFCs 3401 through 3404
RFCS OBSOLETED BY THE SERIES
RFC 2168 and RFC 2915
RFC UPDATED BY THE SERIES
RFC 2276
DOI
10.17487/RFC3401
ERRATA
Reported errata

RFC text

Contents
Original text · RFC Editor View on rfc-editor.org ↗
Network Working Group                                        M. Mealling
Request for Comments: 3401                                      VeriSign
Updates: 2276                                               October 2002
Obsoletes: 2915, 2168
Category: Informational


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

Status of this Memo

   This memo provides information for the Internet community.  It does
   not specify an Internet standard of any kind.  Distribution of this
   memo is unlimited.

Copyright Notice

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

Abstract

   This document specifies 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.

   This document along with RFC 3402, RFC 3403 and RFC 3404 obsolete RFC
   2168 and RFC 2915, as well as updates RFC 2276.

1. Intended Audience

   This document and the documents that it references are intended for
   anyone attempting 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 of the documents in this series without reading the others will
   probably lead to misunderstandings and interoperability problems.

2. Introduction

   The Dynamic Delegation Discovery System is used to implement lazy
   binding of strings to data, in order to support dynamically
   configured delegation systems.  The DDDS functions by mapping some
   unique string to data stored within a DDDS Database by iteratively
   applying string transformation rules 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], as well as updates RFC 2276 [5].  This
   document will be updated and or obsoleted when changes are made to
   the DDDS specifications.  Thus the reader is strongly encouraged to
   check the IETF RFC repository for any documents that obsoletes or
   updates this one.

3. The Algorithm

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

   o  The basic DDDS vocabulary.

   o  The algorithm.

   o  The requirements on applications using the algorithm.

   o  The requirements on databases that store DDDS rules.

   RFC 3402 is the actual DDDS Algorithm specification.  But the
   specification by itself is useless without some additional document
   that defines how and why the algorithm is used.  These documents are
   called Applications and do not actually make up part of the DDDS core
   specification.  Applications require databases in which to store
   their Rules.  These databases are called DDDS Databases and are
   usually specified in separate documents.  But again, these Database
   specifications are not included in the DDDS core specification
   itself.

4. DDDS Applications

   No implementation can begin without an Application specification, as
   this is what provides the concrete instantiation details for the DDDS
   Algorithm.  Without them the DDDS is nothing more than a general
   algorithm.  Application documents define the following:

   o  the Application Unique String (the thing the delegation rules act
      on).

   o  the First Well Known Rule (the Rule that says where the process
      starts).

   o  the list of valid Databases (you can't just use any Database).

   o  the final expected output.

   Some sample Applications are documented in:

   o  "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.

   o  "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:

   o  the general spec for how the Database works.

   o  formats for Keys.

   o  formats for Rules.

   o  Key lookup process.

   o  rule insertion procedures.

   o  collision avoidance measures.

   A Database cannot 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.
   Thus, compliance is defined by the combination of a Database and
   Application specification.

   One sample Database specification is documented in:

   o  "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 arise 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 that it be free from risks, but
   that the known risks be identified.  Publication of 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.

7. IANA Considerations

   While this document itself does not create any new requirements for
   the IANA, the documents in this series create many varied
   requirements.  The IANA Considerations sections in those documents
   should be reviewed by the IANA to determine the complete set of new
   registries and requirements.  Any new algorithms, databases or
   applications should take great care in what they require 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

Full Copyright Statement

   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.

ISO Plain Language

On this page
PROBLEMThe Dynamic Delegation Discovery System is described across several documents, and readers need to know how the parts fit together.
MECHANISMRFC 3401 identifies the core algorithm document, application documents that give the algorithm a purpose, and database documents that store its rules.
WHY IT MATTERSRFC 3401 and RFCs 3402 through 3404 obsolete RFCs 2168 and 2915 and update RFC 2276.

§2What DDDS Does

DDDS maps an application-specific unique string to data in a DDDS Database. It repeatedly applies string transformation rules until it reaches a terminal condition. RFC 3401 is an overview that lists the documents making up the complete specification.

The RFC is intended for people implementing or studying the generic algorithm, URI resolution, ENUM telephone-number resolution, or the NAPTR DNS resource record. It warns that reading only one document in the series can cause misunderstandings and interoperability problems.

DDDS starts with a unique string, looks up a rule, and applies the rule to find the next value. RFC 3401 identifies the documents needed to understand that process.

§3The Algorithm and the Core Documents

RFC 3402 defines the generic algorithm, its vocabulary, and requirements for applications and databases. The algorithm by itself does not say what task to perform or where to store its rules.

Application documents provide the task-specific details. DDDS Database documents define how a database works, including key and rule formats, lookup, rule insertion, and collision avoidance. Applications and database specifications are outside the DDDS core specification, but an implementation needs both.

The algorithm gives general steps. An application says what those steps should accomplish, and a database specification explains where and how the rules are stored.

THE THREE DOCUMENT ROLES IN DDDS
  1. ApplicationDefines the unique string, starting rule, valid databases, and final output.
  2. DDDS algorithmDefines the vocabulary, algorithm, and requirements. RFC 3402.
  3. DatabaseDefines how keys and rules are stored, found, and added.

§4What an Application Defines

An Application specification gives the concrete details needed to use DDDS. It defines the Application Unique String, the First Well Known Rule that starts the process, the valid databases, and the expected final output.

The RFC names two application examples. RFC 2916 maps E.164 telephone numbers to service endpoints such as SIP or email. RFC 3404 describes an application for resolving URIs to endpoints or resolvers that can provide further information.

An application specifies the starting string, the first rule, which databases can be used, and what final result is expected. The RFC gives telephone-number and URI resolution as examples.

§5DDDS Databases

Every DDDS Application must use a DDDS Database. A database specification defines its operation, the formats of its keys and rules, how a key is looked up, how rules are inserted, and how collisions are avoided.

A database cannot be used on its own; at least one application must use it. A database may support multiple applications, and an application may use only selected databases. Compliance therefore depends on the combination of an application specification and a database specification. RFC 3403 specifies the DNS database and the NAPTR DNS resource record.

A DDDS database stores rules for an application. To know whether a system follows DDDS, consider both the application and database specifications it uses.

§6Security and IANA Considerations

Known security issues related to an algorithm or database must be described in its specification. New database types and algorithms require security review, and their security considerations should continue to be evaluated.

RFC 3401 creates no new IANA requirements. Other documents in the series do have IANA considerations, so the RFC asks the IANA to review those documents for the complete set of registries and requirements.

Specifications for new algorithms and databases must describe known security risks and receive security review. RFC 3401 itself adds no IANA requirements.

§6References