RFC 1279 EXPERIMENTAL DIRECTORY · DNS · NAMING

X.500 and Domains

How the X.500 directory could sit above the Domain Name System, and how domain data could be stored in it.

On rfc-editor.org ↗
PUBLISHED
November 1991
AUTHORS
S.E. Hardcastle-Kille
STREAM
IETF
NEW ATTRIBUTE
DomainComponent
NEW OBJECT CLASSES
Domain, RFC822Mailbox, DNSDomain, Network, IPNetwork
DNS RECORD ENCODING
Text, in IA5 characters
DOI
10.17487/RFC1279

RFC text

Contents
Original text · RFC Editor View on rfc-editor.org ↗
Network Working Group                            S.E. Hardcastle-Kille
Requests for Comments 1279                   University College London
                                                         November 1991







                          X.500 and Domains









Status of this Memo
    This memo defines an Experimental Protocol for the Internet
    community.  Discussion and suggestions for improvement are
    requested.  Please refer to the current edition of the ``IAB
    Official Protocol Standards'' for the standardization state and
    status of this protocol.  Distribution of this memo is unlimited.
Abstract

    This RFCconsiders X.500 in relation to Internet and UK Domains.
    A basic model of X.500 providing a higher level and more
    descriptive naming structure is emphasised.  In addition, a
    mapping of domains onto X.500 is proposed, which gives a range of
    new management and user facilities over and above those currently
    available.  This specification proposes an experimental new
    mechanism to access and manage domain information on the Internet
    and in the UK Academic Community.  There is no current intention
    to provide an operational replacement for DNS.

1  The Domain Name System

The Domain (Nameserver) System (DNS) provides a hierarchical resource
labelling system [Moc87a] [Moc87b] [Lar83].  Example domains are:

MIT.EDU
VENERA.ISI.EDU
CS.UCL.AC.UK


Entries usually have a single name, although pointers to entries (not
subtrees) may be provided by CNAME records.  Information (resource
records) is associated with each entry.  Name components are typically
chosen to be shortish (e.g., ``CS'').
RFC 822 mailbox names are closely related [Cro82].  For example:


    <S.Kille@CS.UCL.AC.UK>

The local-part of the RFC 822 mailbox can be considered as one level
lower in the domain hierarchy.


2  X.500

The OSI Directory, usually known as X.500, provides a very general
naming framework [CCI88].  A basic usage of X.500 is to provide
Organisationally Structured Names.  A Schema for this is defined
within the standard.  Name components will typically have longish
values.  This is an example directory name represented in Tabular
form:


           Country              GB
           Organisation         University College London
           Organisational Unit  Computer Science
           Common Name          Stephen E. Hardcastle-Kille

This can also be written in the ``User Friendly Name'' notation
defined in [HK91].  This syntax is used for names in the rest of this
document:


    Stephen E. Hardcastle-Kille, Computer Science,

Hardcastle-Kille                                                Page 1

    University College London, GB

This type of structure is termed ``organisational X.500''.  This is a
subset of the general capabilities.


3  The basic model

    X.500 has as much relation to the DNS as DNS has to ARP. Paul
    Mockapetris


This is, essentially, the position adopted here.  The basic model is
that organisational X.500 is providing a layer of naming at the level
above domain names.  These structured names can be considered to form
a naming layer above domain names.  There are the following key
differences:

 o  Organisational X.500 tends to use longer and more descriptive
    values

 o  The organisational X.500 DIT is slightly shallower than the DNS
    tree

 o  X.500 has a richer information framework than DNS


These differences suggest that the following should NOT be done:

 o  Represent X.500 information in the DNS

 o  Have an algorithmic mapping between the two hierarchies

This note proposes to represent DNS information in the DIT, and to
provide for a loose coupling between the two trees.  This note does
not propose an equivalencing of X.500 and Domains.

The proposed model is illustrated in Figure 1.  Both an organisational
and domain structure is represented in the DIT, by use of appropriate
object classes and attribute types.  A weak linkage is provided
between the two parts of the tree by use of special attributes.  Here,
the linkage is 1:1, but it may be more complex for some parts of the
organisational DIT or domain namespace.  The linkage is achieved by
use of special attributes, as described in Section 11.

Hardcastle-Kille                                                Page 2

                  j jZ Z

               j j       ZZ
            jj              Z Z
        jjj                    ZZ

Domain Component=UK          Country Name=GB
                                |
                                |
                                |
Domain Component=AC       Organisation Name=Univeristy College London

                        *        BB
              ss                  BBB

Domain Component=UCL      Org Unit Name=Computer Science
      |                *

      ||     ss
Domain Component=CS       Common Name=Steve Kille

     |                  *
     |        ss

Domain Component=S.Kille
                    Figure 1:  Example X.500 tree











Hardcastle-Kille                                                Page 3

4  Representing Domains in X.500

Domains are at the level below X.500 names of the form illustrated in
the previous section.  However, it is also possible to use X.500 in
other ways.  In particular, there are benefits from representing
Domains in X.500.  Note that this is very different to equivalencing,
as no attempt is made to represent X.500 information within the domain
scheme.  There are the following potential advantages:


 o  Domain Services (DNS and NRS) could be replaced with an OSI
    service (some may not view this as an advantage).  This is
    particularly attractive for OSI services, where use of a non-OSI
    directory may be inappropriate.

 o  For Internet sites, access to domain information (beyond MX
    records) could be provided for systems registered remotely.  For
    UK Academic Community sites, access to domain information for
    domains not registered in the NRS could be given.  For sites
    neither on the Internet nor in the UK Academic Community there
    will usually be even more of an advantage, as they usually have
    very limited information on domains.

 o  Assuming that information is downloaded from an X.500 database
    into a DNS or NRS system, the remote management facilities of
    X.500 could be used.  This is possible because of the extra
    security features of X.500.

    Note: For initial work, the converse situation of information
        being mastered in Domain Databases and uploaded into the X.500
        DIT is more likely.

 o  User access to the domain data, and in particular searching, could
    be provided.  This would allow users to browse the domain
    namespace, and to determine information associated with the
    domains.

 o  The X.500 framework would allow for additional management
    information to be stored, and to relate the domain names into a
    more complex structure of information.  For example, this might
    allow for the managers of a system to be identified, and
    information on how to contact the manager.



Hardcastle-Kille                                                Page 4

 o  A facility to map RFC 822 mailbox into a Directory Name (and thus
    access other user information on the basis of this key) could be
    provided.  This may be useful for the user to determine
    information about a message originator.

 o  This technique may be useful to facilitate introduction of
    security, as it will enable certificates to be associated with
    domains and mailboxes.  This may be very useful for the privacy
    enchanced mail work [Lin89].


5  Representing Domain Names

A new attribute syntax is defined:


CaseIgnoreIA5StringSyntax ATTRIBUTE-SYNTAX
    IA5String
    MATCHES FOR EQUALITY SUBSTRINGS ORDERING


A new attribute and two new object classes are defined:


DomainComponent ATTRIBUTE
    WITH ATTRIBUTE-SYNTAX caseIgnoreIA5StringSyntax
    SINGLE VALUE

Domain OBJECT-CLASS
    SUBCLASS OF top
    MUST CONTAIN -DomainComponent"
    MAY CONTAIN -AssociatedName,
        organizationName,
        organizationalAttributeSet,
        manager"

RFC822Mailbox OBJECT-CLASS
    SUBCLASS OF Domain
    MAY CONTAIN -commonName,
       surname,
       description,
       telephoneNumber,
       postalAttributeSet,
       telecommunicationAttributeSet "

Hardcastle-Kille                                                Page 5

Note that the attribute AssociatedName is defined in Section 11.  The
manager attribute is defined in the COSINE and Internet naming
architecture [BHK91].  It allows a manager to be associated with the
domain, which is useful where the manager of the domain is different
to the manager of the object defined by the AssociatedName.  This will
allow any domain to be represented in an X.500 hierarchy.  The local
part of an RFC 822 mailbox is treated as a special sort of domain
component, and so these can be represented in the tree as a natural
extension of the hierarchy.
For example, consider the mailbox S.Kille@cs.ucl.ac.uk.  This will
lead to the following structure in the DIT:

             ___________________________________________
             |_Object_Class__|RDN_Type________|RDN_Value_|
             | Domain        |DomainComponent |UK        |
             | Domain        |DomainComponent |AC        |
             | Domain        |DomainComponent |UCL       |
             | Domain        |DomainComponent |CS        |
             |_RFC822Mailbox_|DomainComponent_|S.Kille__ |

This can be represented in User Friendly Name format as:


DomainComponent=S.Kille, DomainComponent=CS, DomainComponent=UCL,
DomainComponent=AC, DomainComponent=UK

Note that the RFC822Mailbox Object Class is a subclass of Domain.
Some attributes are allowed to be associated with these objects.
There may be other additional management attributes which it is useful
to define (e.g., Machine Type, Owner, Location etc.).  This allows
some information which truly belongs to the domain to be represented
there.  It also allows for further information to be associated with
the domain/mailbox when there is not a relevant part of the
organisationally structure DIT to be pointed at.  When there is an
associated part of the DIT, information from that part of the DIT
should not be duplicated in the domain entry.


6  Wildcards


Wildcards are supported by having "*" as a special domain component
name.  If there is a need to emulate wildcard matching using the
directory, the following algorithm must be employed.  For example, the

Hardcastle-Kille                                                Page 6

wildcard entry for *.*.PODUNK.COM would be represented in the DIT as:

    DomainComponent=*, DomainComponent=*,
    DomainComponent=MIT, DomainComponent=COM


If A.B.PODUNK.COM is looked up in the directory, the query will fail
and indicate that two components are matched.  A substitution should
be made, and *.*.PODUNK.COM looked up explicitly to identify the
associated information.


7  DNS Information

DNS information can be associated with an entry in the DIT. It is
important that this is done in a manner which is exactly equivalent to
the information stored in the DNS. This will allow the DIT to have
information loaded from the DNS or vice versa.  All (authoritative)
records associated with a domain will be stored in the DIT. There is
no attempt made by the OSI Directory to emulate DNS caching or TTL
handling.  It is assumed that the master entries are maintained by use
of DNS Zone Transfer (or equivalent), and that they can be treated as
authoritative.  There is a need to define an attribute syntax which
represents a DNS record.  This then allows DNS records to be stored in
the DIT. There are three possible encodings of this record:

ASN.1 Encoded This is the most natural approach in terms of X.500.
    However, it would require all users of this service to handle the
    new syntax, which would be awkward.  There is a problem with
    handling the resource format in a general manner.

DNS Binary Encoded Use the formally defined record syntax.  This
    would be convenient for access to the data by DNS related
    software, but would be an awkward encoding for independent X.500
    DUAs.

Text encoded Use of a text encoding derived from the DNS
    specifications.  This is straightforward to map onto DNS protocol,
    and easy to support in a naive X.500 DUA. This approach is chosen.


The syntax is defined in IA5 characters.  The BNF of the record uses
the definitions of section 5.1 of RFC 1035.  It is


Hardcastle-Kille                                                Page 7

    <rr> [ ";" <comment> ]

Three examples of this (for domain C.ISI.EDU) might be:


500 A   10.1.0.52                        ; Basic address record
IN 600 MX  10 VENERA.ISI.EDU.                ; MX record
600 IN MX  10 VENERA.ISI.EDU.                ; MX record - other order

Note that:


 o  The class and TTL may be in either order (following RFC 1035)

 o  The class defaults to IN

 o  Domains must always be fully specified (i.e., master file
    abbreviate rules are not used).

 o  The TTL for a record must always be present (this saves looking at
    the parent entry to find the SOA record).

 o  Records (e.g., SOA) may be multiline.  Lines should be separated
    with the two IA5 characters <CR><LF>.

CNAME records are mapped symmetrically onto Directory Aliases.

This is now defined in terms of attribute and object class
definitions.  A single record type is defined, as opposed to one
attribute type per record type.  This allows the definition to not
require extension when new DNS Record types are define.  However,
there is some loss of efficiency if only a single record type is
needed, as filtering must be done by the DUA.
Similarly, no distinction is made on the basis of DNS class.  This
means that if there are two class hierarchies, that they must be
represented in a single DIT, and that information for different
classes must be separated by DUA filtering.


DNSDomain OBJECT-CLASS
    SUBCLASS OF Domain
    MAY CONTAIN -
        DNSRecord "


Hardcastle-Kille                                                Page 8

DNSRecord ATTRIBUTE
    ATTRIBUTE-SYNTAX IA5String
    MATCHES FOR EQUALITY


Lookup of a domain is achieved by translating it algorithmically to a
Distinguished Name (DN), and reading back attributes desired.  This
information can be managed and searched in a straightforward fashion.

The information may also be downloaded into a DNS database.  This
should be done by use of zone transfer.  A tool to perform zone
transfer (in both directions) between a DNS Server and a DSA would
seem to be both straightforward and useful.  This would be a key tool
in a transition to X.500 based management of the DNS. It would also
allow a large part of the DNS namespace to be rapidly made available
in an X.500 pilot.
Inverse information can be derived by the usual IN-ADDR domain, which
will be represented in the same manner in the DIT.


8  NRS Information

Information associated with the UK NRS (Name Registration Scheme) can
be handled in a similar manner [Lar83].  This is being developed in a
separate document by Alan Turland.


9  Application Entity Titles

In many cases, Application entities will be closely related to
domains.  In some cases, it may be appropriate to give Application
Entities names which are related to the DNS part of the DIT. In this
case, the Domain Name will be used to identify the application, and
the entry for the domain will also be of object class Application
Process.  The children of this entry will identify Application
Entities, with names such as ``FTAM Service''.


10  Networks


It is clearly useful to represent networks within the DIT. A short
note on how to do this is given here.  It is likely that this
specification will later be evolved in a separate document.  This

Hardcastle-Kille                                                Page 9

defines an Object Class for a general network, and shows how it can be
subclassed to define technology specific networks.

Network OBJECT-CLASS
    SUBCLASS OF TOP
    MAY CONTAIN -
      Manager,
      Locality,
      Description "

IPNetwork OBJECT-CLASS
    SUBCLASS OF Network
    MUST CONTAIN -AssociatedDomain"


The Network Object Class allows networks to be defined, and for useful
attributes to be associated with the entry.  A network will often
appear in more than one organisational structure, and this linkage
should be achieved by use of aliases.  This grouping can facilitate
management of networks.
The subclass IPNetwork mandates linkage into the DNS part of the DIT.
This will be represented in the DIT using the structures of RFC 1101
[Moc89].  Both of the domains which identify the network should be
represented in the Object Class.  For example, a network might have
the (user friendly) name:

 UCL-Ethernet, University College London, GB


This would have associated domains 0.0.40.128.IN-ADDR.ARPA and
UCL-ETHERNET.UCL.AC.UK. These would both have the analogous DIT
representations.  For example:

DomainComponent=0, DomainComponent=0, DomainComponent=40,
DomainComponent=128, DomainComponent=IN-ADDR, DomainComponent=ARPA


11  Linkage


There is a need to associate the organisational X.500 DIT and the DNS
tree.  The objects represented are different (Domain 6= Organisation;
Person 6= RFC 822 Mailbox).  Therefore aliasing is not an appropriate
linkage.  However, in many cases, there is a linkage which is rather

Hardcastle-Kille                                               Page 10

stronger than that implied by the seeAlso attribute.  Therefore, we
define new attributes, which represent this stronger cross-linkage.
The same mechanism can be used to link a domains with an Application
Entity or an Application Process.
Links from the organisational X.500 DIT to the DNS tree are provided
by a new attribute, which could be present in Organisation or
Organisational Unit entries.


ObjectWithAssociatedDomain OBJECT-CLASS
  SUBCLASS OF top
  MUST CONTAIN -AssociatedDomain"

AssociatedDomain ATTRIBUTE
  WITH ATTRIBUTE-SYNTAX ia5StringSyntax

For example, the organisational entry:

    University College London, GB


would have an attribute:

    AssociatedDomain = UCL.AC.UK


Similarly, an RFC 822 mailbox attribute is used to link entries of
Person Object Class to their associated DNS entry.  This attribute is
defined in the Cosine and Internet Naming Architecture [BHK91].
Conversely, there are pointers from the DNS represented tree into the
organisational X.500 DIT:


AssociatedName ATTRIBUTE
  WITH ATTRIBUTE-SYNTAX distinguishedNameSyntax

This attribute is associated with the Domain object class.

This entry is used to provide linkage from the DNS X.500 Hierarchy
into the organisational X.500 hierarchy.  Where such entries do not
exist, attributes in the DNS entry (such as phone number) may be used.
It is recommended that information is not duplicated.  The preferred
setup is for the DNS attributes to be rather skeletal, with pointers
into the organisational X.500 DIT.

Hardcastle-Kille                                               Page 11

For example, the domain UCL.AC.UK would be represented in the DIT as:

    DomainComponent=UCL, DomainComponent=AC,
    DomainComponent=UK


This entry would have in it an AssociatedName attribute with value:

    University College London, GB


This example shows a simple case with 1:1 linkage.  There are cases
where a domain might be associated with multiple organisations, or an
organisation with multiple domains.


12  Conclusions and proposals for evaluation

Experiments should be undertaken to determine the practicality and
utility of this scheme, in a pilot environment.  A possible approach
to this experimentation is described in Appendix A.
Object Identifiers have been assigned for this purpose in the Cosine
and Internet Naming Architecture [BHK91].


References

[BHK91]  P. Barker and S.E. Hardcastle-Kille. The COSINE and Internet
         X.500 schema. Request for Comments RFC 1274, Department of
         Computer Science, University College London, November 1991.

[CCI88]  The Directory --- overview of concepts, models and services,
         December 1988. CCITT X.500 Series Recommendations.

[Cro82]  D.H. Crocker. Standard of the format of ARPA internet text
         messages. Request for Comments 822, University of Delaware,
         August 1982.

[HK91]   S.E. Hardcastle-Kille. Using the OSI directory to achieve
         user friendly naming. Request for Comments in preparation,
         Department of Computer Science, University College London,
         November 1991.



Hardcastle-Kille                                               Page 12

[Lar83]  J. Larmouth. JNT name registration technical guide, April
         1983.

[Lin89]  J. Linn. Privacy Enhancement for Internet Electronic Mail:
         Part 1 --- Message Encipherment and Authentication
         Procedures. Request for Comments 1113, Bolt, Beranek, and
         Newman, August 1989.

[Moc87a] P. Mockapetris. Domain names - concepts and facilities.
         Request for Comments RFC 1034, USC/Information Sciences
         Institute, November 1987.

[Moc87b] P. Mockapetris. Domain names - implementation and
         specification. Request for Comments RFC 1035,
         USC/Information Sciences Institute, November 1987.

[Moc89]  P. Mockapetris. DNS encoding of network names and other
         types. Request for Comments RFC 1101, USC/Information
         Sciences Institute, April 1989.


13  Security Considerations

This memo does not directly address security issues.  However, due to
the facilities of X.500, this proposal could lead to a more secure way
to access and manage domain information.


14  Author's Address

    Steve Hardcastle-Kille
    Department of Computer Science
    University College London
    Gower Street
    WC1E 6BT
    England

    Phone:  +44-71-380-7294


    EMail:  S.Kille@CS.UCL.AC.UK




Hardcastle-Kille                                               Page 13

A  Possible Deployment Approach

This appendix notes a possible approach to deploying an experiment to
evaluate this mechanism.  The following components of a possible
experiment are noted.


1.  User tool.  This will take a domain or mailbox as input.  This
    will be looked up in the DIT. This tool should be capable of:

     o  Attempting to correct user input

     o  Helping browsing

     o  Looking up information associated with the domain (or mailbox)
        and associated name, in particular the manager (of both domain
        and associated name) and information on the manager (e.g.,
        phone number and mailbox).

     o  Supply DNS records

     o  Handle IN-ADDR.ARPA inverse lookups if supplied with an IP
        Address

     o  Look up networks

2.  A procedural library to allow user interfaces to make easy use of
    these facilities.

3.  Zone transfer tool.  This will use the zone transfer protocol to
    transfer information between a DSA and Domain Nameserver.  When
    writing to the DSA, attributes in an entry which are not DNS
    records should remain untouched.

4.  Linkage patching tool.  When the organisational DIT is
    established, associated domain pointers are usually inserted.  A
    tool can be written to search the DIT and insert the reverse
    pointers.

5.  DNS Manager Tool.  This will allow user addition of additional
    information into the DNS part of the DIT. A standard DUA can
    probably be used for this.



Hardcastle-Kille                                               Page 14

6.  Mailbox download tool.  This will allow download of local
    mailboxes, with pointers to the user entries.

7.  Emulation DNS Server, using the Directory as a database.  The
    server should maintain a permanent connection to its local DSA. As
    there is no OSI bind, the response of this server can be at least
    as fast as a normal DNS server.  There can be two variants of this
    server.

   (a)  Using a local DSA as a local database but using DNS
        distributed operations.

   (b)  Do all lookups in the directory (using Directory Distributed
        Operations).

An initial experiment is straightforward.  The Zone Transfer Tool (3)
can be used to download a large part of the DNS space into a single
DSA (there will be some restrictions, as parts of the DNS hierarchy do
not permit zone transfer).  This can be used repeatedly to maintain
the information.  The linkage patching tool (4) can be used to put in
pointers to parts of the DIT. The user tool can then be used (by all
sites participation the the directory pilot) to look up domain
information.  This will allow the utility of the approach to be
evaluated.  The manager tool (5) will allow extra information to be
added to parts of the DNS tree.

The next stage will be to distribute the DNS part of the DIT over
multiple DSAs using Directory distribution techniques.
The emulation DNS Server (7) will be useful to ensure that equivalent
functionality is being offered by the Directory.  It can also be used
to examine performance differences.
A final step is to master some parts of the DNS hierarchy in the DIT.
Because of the zone transfer technique, this will be entirely
transparent to the DNS user.  Management benefits can then be
examined.










Hardcastle-Kille                                               Page 15

AI ELI5

On this page
PROBLEMInternet domain names are short and flat in meaning, while the X.500 Directory offers longer, descriptive names and a richer information model. The RFC asks how the two naming worlds should relate.
MECHANISMIt proposes storing domains and RFC 822 mailboxes in the X.500 tree using new object classes and attributes, with DNS records kept as text, and linking the tree of descriptive names to the tree of domains by special attributes.
STATUS TODAYAn Experimental proposal only. The author says there is no current intention to provide an operational replacement for DNS.

§1Two Naming Systems

The Domain Name System (DNS) labels resources in a hierarchy, such as MIT.EDU or CS.UCL.AC.UK. Entries usually have one name, and information is attached to each entry as resource records. Name components tend to be short, such as CS. The local part of an RFC 822 mailbox can be seen as one level lower in the same hierarchy.

The OSI Directory, usually called X.500, is a very general naming framework. Its basic use is Organisationally Structured Names, where components tend to have longer values. One example is Country GB, Organisation University College London, Organisational Unit Computer Science, Common Name Stephen E. Hardcastle-Kille. The RFC calls this organisational X.500.

One system gives places short nicknames like CS. The other uses full, long names like Computer Science at University College London. Both are ways to find things.

§2The Basic Model: A Layer Above Domains

The RFC quotes Paul Mockapetris: X.500 has as much relation to the DNS as DNS has to ARP. Organisational X.500 is a naming layer above domain names. Its values are longer and more descriptive, its tree is slightly shallower than the DNS tree, and it has a richer information framework.

From those differences the RFC concludes that two things should NOT be done: representing X.500 information in the DNS, and having an algorithmic mapping between the two hierarchies. Instead it proposes representing DNS information in the X.500 tree (the DIT) and giving the two parts of the tree a loose, weak linkage. It does not propose treating X.500 and domains as equivalent.

The RFC lists the possible benefits of putting domains in X.500: domain data reachable beyond MX records, remote management using X.500 security, user searching and browsing of the domain name space, room for extra management information such as who runs a system, mapping an RFC 822 mailbox to a Directory Name, and a place to attach certificates for privacy enhanced mail.

The big book should not copy the little book, and the two should not be forced to match line by line. Instead they just have sticky notes pointing at each other.

§3Domains as Directory Entries

The RFC defines a new attribute, DomainComponent, and two new object classes. A Domain entry must contain a DomainComponent and may contain AssociatedName, organizationName, organizationalAttributeSet and manager. RFC822Mailbox is a subclass of Domain for mailboxes.

The mailbox S.Kille@cs.ucl.ac.uk becomes a chain of entries with DomainComponent values UK, AC, UCL, CS and finally S.Kille, the last one being of class RFC822Mailbox. The local part of a mailbox is thus treated as a special sort of domain component.

Wildcards are supported by using an asterisk as a special domain component name. A wildcard entry for two wildcard labels above PODUNK.COM is stored as two asterisk components above the remaining components. If a lookup of A.B.PODUNK.COM fails and reports two components matched, the client substitutes and looks up the wildcard entry explicitly.

Each part of an address, like UK then AC then UCL, becomes a folder inside the previous folder. A mailbox is just the last folder in the chain.

§4Storing DNS Records

DNS information stored in the directory must be exactly equivalent to what is in the DNS, so the directory can be loaded from the DNS or the other way round. All authoritative records for a domain are stored. The directory does not emulate DNS caching or TTL handling, and master entries are assumed to be kept in step by DNS Zone Transfer or something equivalent.

The RFC considers three encodings for a record: ASN.1, the DNS binary format, and text. It chooses text, in IA5 characters, using the record syntax of section 5.1 of RFC 1035. The class and TTL may come in either order, the class defaults to IN, domains are always fully specified, and the TTL is always present. A DNSDomain object class holds a single DNSRecord attribute type, so new DNS record types need no new definitions, at the cost of the client doing the filtering. CNAME records map onto Directory Aliases.

A domain is looked up by translating it algorithmically to a Distinguished Name and reading the wanted attributes. Reverse information uses the usual IN-ADDR domain, represented the same way.

Instead of inventing a new secret code for each kind of note, the book just copies the notes in plain writing, so anyone can read them and copy them back.

THREE POSSIBLE ENCODINGS FOR A DNS RECORD
EncodingAssessment in the RFC
ASN.1 encodedMost natural for X.500, but all users would have to handle a new syntax
DNS binary encodedConvenient for DNS software, awkward for independent X.500 DUAs
Text encoded THIS RFCEasy to map onto DNS protocol and easy for a naive DUA; chosen
EXAMPLE DNS RECORDS FOR C.ISI.EDU (FROM THE RFC)
Text-encoded DNS records
500 A   10.1.0.52                        ; Basic address record
IN 600 MX  10 VENERA.ISI.EDU.                ; MX record
600 IN MX  10 VENERA.ISI.EDU.                ; MX record - other order

§5Networks and Linking the Two Trees

The RFC sketches a Network object class, with an IPNetwork subclass that must have an AssociatedDomain. A network such as UCL-Ethernet, University College London, GB would have two domains, 0.0.40.128.IN-ADDR.ARPA and UCL-ETHERNET.UCL.AC.UK, both represented in the tree, following the structures of RFC 1101.

Aliases are not suitable for linking the organisational tree to the domain tree, because a domain is not an organisation and a person is not a mailbox. So the RFC defines stronger links. An AssociatedDomain attribute on an organisation entry points into the DNS part, for example UCL.AC.UK for University College London, GB. An AssociatedName attribute on a domain entry points back to the organisational entry. The preferred setup keeps domain entries skeletal and avoids duplicating information. The example is 1:1, but a domain may relate to several organisations or the reverse.

Each entry in one book carries a note saying where to look in the other book, so you can hop between the long name and the short one.

§6Proposed Pilot and Security

The RFC calls for experiments in a pilot environment and describes a possible approach in an appendix. The tools it lists are a user lookup tool, a procedural library, a zone transfer tool between a DSA and a nameserver, a tool that patches in the reverse linkage pointers, a DNS manager tool, a mailbox download tool, and an emulation DNS server that uses the Directory as its database.

The first step is to use zone transfer to load a large part of the DNS into a single DSA and let pilot sites look up domain information. Later steps spread the data over several DSAs and finally master some parts of the DNS hierarchy in the directory.

On security, the memo does not directly address it, but says that because of X.500 facilities the proposal could lead to a more secure way to access and manage domain information.

Before changing anything for real, the author suggests a small test run: copy the nickname book into the big book, see if people like it, and only then think about going further.

§7References