RFC 920

Domain requirements

πŸ“… published October 1984, from ietf

Domain Requirements πŸŽ€

RFC 920: Domain Requirements πŸ’– Okay bestie, here's the tea. It was written by J. Postel and J. Reynolds at ISI for the Network Working Group, and it's dated October 1984 πŸ“…. It's a policy statement, not a normal protocol spec. It's an official policy statement of the IAB and the DARPA πŸ›οΈ. The header doesn't list anything it obsoletes or updates.


Status of this Memo πŸ“‹

This memo is a policy statement on the requirements of establishing a new domain in the ARPA-Internet and the DARPA research community. It's an official policy statement of the IAB and the DARPA, and distribution is unlimited 🌈 (anyone can read it, no cap).

Introduction πŸ¦‹

This memo restates and refines the requirements on establishing a Domain first described in RFC-881 [1]. It adds a whole lot of detail to that discussion and introduces the limited set of top level domains πŸ’….

The Purpose of Domains 🧚

Domains are administrative entities, and that's lowkey the whole point. Their purpose and expected use is to split the name management a central administration has to do and hand chunks of it to sub-administrations. There are no geographical, topological, or technological constraints on a domain 🌍. The hosts in a domain don't need common hardware or software, or even common protocols, which is wild ngl. Most of the requirements and limitations on domains exist to make sure administration is responsible 🫢.

The domain system is a tree-structured global name space with a few top level domains. The top level domains get subdivided into second level domains, which may be subdivided into third level domains, and so on 🌳.

The administration of a domain means controlling how names get assigned inside it, and giving users both inside and outside the domain access to the names and name-related info (like addresses) πŸ“‡.

General Purpose Domains 🌸

The name "ARPA" comes from the history of how this system and environment got built. In the future, though, most top level names will be very general categories like "government", "education", or "commercial". The point is an organization name that doesn't carry undesirable semantics πŸ™…β€β™€οΈ.

After a short period of initial experimentation, all current ARPA-Internet hosts will pick a domain other than ARPA for their future use. ARPA as a top level domain will eventually stop being used πŸ‘‹.

Initial Set of Top Level Domains πŸ‘‘

The initial top level domain names are:

      Temporary

         ARPA  =  The current ARPA-Internet hosts.

      Categories

         GOV  =  Government, any government related domains meeting the
                 second level requirements.

         EDU  =  Education, any education related domains meeting the
                 second level requirements.

         COM  =  Commercial, any commercial related domains meeting the
                 second level requirements.

         MIL  =  Military, any military related domains meeting the
                 second level requirements.

         ORG  =  Organization, any other domains meeting the second
                 level requirements.

Countries 🌎 This is the English two letter code (alpha-2) identifying a country, according to the ISO Standard for "Codes for the Representation of Names of Countries" [5].

Multiorganizations 🧩 A multiorganization MAY be a top level domain if it is large and is composed of other organizations. It's especially a fit if it can't be easily classified into one of the categories and is international in scope.

Possible Examples of Domains πŸ”

The following examples are fictions of the authors' creation, and any similarity to the real world is coincidental πŸ™ˆ.

The UC Domain πŸŽ“

Picture a large state wide university with, say, nine campuses and several laboratories. It may want to form a domain. Each campus or major off-campus laboratory might then be a subdomain, and within each subdomain, each department could be further distinguished. This university might be a second level domain in the education category πŸ’œ.

One might see domain style names for hosts in this domain like these:

LOCUS.CS.LA.UC.EDU
CCN.OAC.LA.UC.EDU
ERNIE.CS.CAL.UC.EDU
A.S1.LLNL.UC.EDU
A.LAND.LANL.UC.EDU
NMM.LBL.CAL.UC.EDU

The MIT Domain 🏫

Another large university may have many hosts using a variety of machine types, some even using several families of protocols. Still, the administrators there may see no need for the outside world to know about these internal differences. This university might be a second level domain in the education category πŸ€“.

One might see domain style names for hosts in this domain like these:

APIARY-1.MIT.EDU
BABY-BLUE.MIT.EDU
CEZANNE.MIT.EDU
DASH.MIT.EDU
MULTICS.MIT.EDU
TAC.MIT.EDU
XX.MIT.EDU

The CSNET Domain πŸ“‘

There may be a consortium of universities and industry research laboratories called, say, "CSNET". This CSNET is not a network per se. It's more like a computer mail exchange using a variety of protocols and network systems. So CSNET is not a network in the sense of the ARPANET, or an Ethernet, or even the ARPA-Internet. It's more of a community πŸ«‚. Yet it does, in fact, have the key property needed to form a domain: it has a responsible administration πŸ‘.

This consortium might be large enough, and its membership might cut across the categories in such a way that it qualifies under the "multiorganization rule" to be a top level domain πŸ”₯.

One might see domain style names for hosts in this domain like these:

CIC.CSNET
EMORY.CSNET
GATECH.CSNET
HP-LABS.CSNET
SJ.IBM.CSNET
UDEL.CSNET
UWISC.CSNET

General Requirements on a Domain πŸ’…

There are several requirements that MUST be met to establish a domain. In general, it MUST be responsibly managed. There MUST be a responsible person to serve as an authoritative coordinator for domain related questions. There MUST be a robust domain name lookup service, it MUST be of at least a minimum size, and the domain MUST be registered with the central domain administrator (the Network Information Center (NIC) Domain Registrar) πŸ“£.

Responsible Person 🫑

An individual MUST be identified who has authority for the administration of the names within the domain. This person seriously takes on the responsibility for the behavior of the hosts in the domain, plus their interactions with hosts outside the domain. This person MUST have some technical expertise and the authority within the domain to see that problems are fixed πŸ› οΈ.

If a host in a given domain somehow misbehaves in its interactions with hosts outside the domain (e.g., consistently violates protocols), the responsible person for the domain MUST be competent and available to receive reports of problems, take action on the reported problems, and follow through to eliminate the problems 🚨.

Domain Servers πŸ–₯️

A robust and reliable domain server MUST be provided. One way of meeting this requirement is to provide at least two independent domain servers for the domain. The database can, of course, be the same, and it can be prepared and copied to each domain server. But the servers SHOULD be in separate machines on independent power supplies, et cetera. Basically, they should be as physically independent as can be. They SHOULD have no common point of failure 🧱.

Some domains may find that providing a robust domain service can most easily be done by cooperating with another domain, where each domain provides an additional server for the other 🀝.

In other situations, it may be desirable for a domain to arrange for domain service to be provided by a third party, perhaps on hosts located outside the domain 🌐.

One of the difficult problems in operating a domain server is acquiring and maintaining the data. In this case, the data are the host names and addresses. In some environments this information changes fairly rapidly, and keeping up-to-date data may be difficult πŸ˜΅β€πŸ’«. This is one motivation for sub-domains. One may wish to create sub-domains until the rate of change of the data in a sub-domain domain server database is easily managed 🧩.

In the technical language of the domain server implementation, the data is divided into zones. Domains and zones are not necessarily one-to-one. It may be reasonable for two or more domains to combine their data in a single zone πŸ“š.

The responsible person or an identified technical assistant MUST understand in detail the procedures for operating a domain server, including the management of master files and zones πŸ“‚.

The operation of a domain server SHOULD NOT be taken on lightly. There are some difficult problems in providing an adequate service, primarily the problems in keeping the database up to date, and keeping the service operating 😀.

The concepts and implementation details of the domain server are given in RFC-882 [2] and RFC-883 [3] πŸ“–.

Minimum Size πŸ“

The domain MUST be of at least a minimum size. There is no requirement to form a domain just because some set of hosts is above the minimum size πŸ™…β€β™€οΈ.

Top level domains MUST be specially authorized. In general, they will only be authorized for domains expected to have over 500 hosts πŸ‘‘.

The general guideline for a second level domain is that it have over 50 hosts. This is a very soft "requirement". It makes sense that any major organization, such as a university or corporation, be allowed as a second level domain, even if it has just a few hosts πŸ₯°.

Registration πŸ“

Top level domains MUST be specially authorized and registered with the NIC domain registrar πŸ”.

The administrator of a level N domain MUST register with the registrar (or responsible person) of the level N-1 domain. This upper level authority MUST be satisfied that the requirements are met before authorization for the domain is granted βœ….

The registration procedure involves answering specific questions about the prospective domain. A prototype of what the NIC Domain Registrar may ask for the registration of a second level domain is shown below. These questions may change from time to time. It is the responsibility of domain administrators to keep this information current πŸ—‚οΈ.

The administrator of a domain is REQUIRED to make sure that host and sub-domain names within that jurisdiction conform to the standard name conventions and are unique within that domain 🏷️.

If sub-domains are set up, the administrator may wish to pass along some of his authority and responsibility to a sub-domain administrator. Even if sub-domains are established, the responsible person for the top-level domain is ultimately responsible for the whole tree of sub-domains and hosts 🌲.

This does not mean that a domain administrator has to know the details of all the sub-domains and hosts to the Nth degree. It simply means that if a problem occurs, he can get it fixed by calling on the administrator of the sub-domain containing the problem πŸ“žβœ¨.

Top Level Domain Requirements ✨

Okay so, there are very few top level domains, but each one can have tons of second level domains underneath it 🌸

An initial set of top level names has been identified πŸŽ€ Each one has an administrator and an agent, and here's the whole lineup:

ARPA =  The ARPA-Internet   *** TEMPORARY ***

   Administrator:  DARPA
   Agent:          The Network Information Center
   Mailbox:        HOSTMASTER@SRI-NIC.ARPA

GOV  =  Government

   Administrator:  DARPA
   Agent:          The Network Information Center
   Mailbox:        HOSTMASTER@SRI-NIC.ARPA

EDU  =  Education

   Administrator:  DARPA
   Agent:          The Network Information Center
   Mailbox:        HOSTMASTER@SRI-NIC.ARPA

COM  =  Commercial

   Administrator:  DARPA
   Agent:          The Network Information Center
   Mailbox:        HOSTMASTER@SRI-NIC.ARPA

MIL  =  Military

   Administrator:  DDN-PMO
   Agent:          The Network Information Center
   Mailbox:        HOSTMASTER@SRI-NIC.ARPA

ORG  =  Organization

   Administrator:  DARPA
   Agent:          The Network Information Center
   Mailbox:        HOSTMASTER@SRI-NIC.ARPA
Heads up: ARPA is marked * TEMPORARY * 😭 More on that in a sec.

Countries 🌍

Country domains use the English two letter code (alpha-2) that identifies a country, taken from the ISO Standard for "Codes for the Representation of Names of Countries" [5].

As yet, no country domains have been established 🫢 Once they are, info about their administrators and agents will be made public, and it'll be listed in later editions of this memo.

Multiorganizations πŸ¦‹

A multiorganization may be a top level domain if it is large and is made up of other organizations. Extra points if it's hard to put into one of the categories above and is international in scope ✨

As yet, no multiorganization domains have been established. When they are, info about their administrators and agents will be made public, and it'll be listed in later editions of this memo.

Note: The NIC is listed as the agent and registrar for all the currently allowed top level domains. If there are other entities that would be more appropriate agents and registrars for some or all of these domains, then it would be desirable to reassign the responsibility πŸ’…

Second Level Domain Requirements

Each top level domain may have many second level domains πŸ’– Every second level domain must meet the general requirements on a domain specified above, and it must be registered with a top level domain administrator.

Third through Nth Level Domain Requirements

Each second level domain may have many third level domains, and so on 🧚 Every third level domain (through Nth level domain) must meet the requirements set by the administrator of the immediately higher level domain. These may be more or less strict than the general requirements, so don't assume they match. One would expect the minimum size requirements to decrease at each level 🌈

The ARPA Domain

When the domain concept was first being implemented, people thought the set of hosts under DARPA's administrative authority would make up a domain. So the first domain picked was called ARPA πŸ›Έ

Now it's clear there isn't a strong motivation for a top level ARPA domain, so the plan is for the current ARPA domain to go out of business as soon as possible 😭 Hosts that are currently members of the ARPA domain should make arrangements to join another domain. For experimental purposes, there will likely be a second level domain called ARPA in the ORG domain (i.e., there will probably be an ARPA.ORG domain) πŸ”¬

The DDN Hosts

DDN hosts that don't want to take part in this domain naming system will keep using the HOSTS.TXT data file maintained by the NIC for name to address translations. That file will be kept up to date for the DDN hosts πŸ“‚

However, all DDN hosts will eventually change their names from host.ARPA to (for example) host.DDN.MIL. The schedule for those changes will be set by the DDN-PMO πŸ—“οΈ

Impact on Hosts

What is a host administrator supposed to do about all this? πŸ€”

For existing hosts already operating in the ARPA-Internet, the best advice is to sit tight for now. Take a few months to think about your options, then pick a domain to join. Plan carefully for how changing your host name will affect both your local users and their remote correspondents 🧠

For a new host, give careful thought to it (as discussed below). You can get some guidance by comparing notes with other hosts that have similar administrative properties ✨

The owner of a host may decide which domain to join, and the administrator of a domain may decide which hosts to accept into their domain. So the owner of a host and the domain administrator have to come to an understanding about the host being in the domain. This is the foundation of responsible administration πŸ‘‘

For example, a host XYZ at MIT might possibly be considered as a candidate for becoming any of:

XYZ.ARPA.ORG
XYZ.CSNET
XYZ.MIT.EDU

The owner of host XYZ may choose which domain to join, depending on which domain administrators are willing to have it πŸŽ€

The domain is part of the host name. So if USC-ISIA.ARPA changes its domain affiliation to DDN.MIL to become USC-ISIA.DDN.MIL, it has changed its name πŸ’€ That means any previous references to USC-ISIA.ARPA are now out of date. Old references can hide in private host name to address tables, in any recorded info about mailboxes such as mailing lists, in the headers of old messages, in printed directories, and in people's memories πŸ™ˆ

The experience of the DARPA community suggests that changing a host's name is kind of painful 😭 It is recommended that careful thought go into choosing a new name for a host, and that includes picking its place in the domain hierarchy πŸ“

The Roles of the Network Information Center

The NIC plays two types of roles in the administration of domains πŸ’… First, the NIC is the registrar of all top level domains. Second, the NIC is the administrator of several top level domains (and the registrar for second level domains in these).

Top Level Domain Registrar πŸ“‹

As the registrar for top level domains, the NIC is the contact point for looking into the possibility of establishing a new top level domain πŸ”

Top Level Domain Administrator πŸ‘‘

For the top level domains designated so far, the NIC is the administrator of each one. That means the NIC is responsible for managing these domains and for registering the second level domains (or hosts, if they're at the second level) in them 🫢

It may make sense for other authorities to take over administration of some of these domains in the future. It is certainly not desired that the NIC be the administrator of all top level domains forever πŸ¦‹

Prototypical Questions ✨

okay bestie, before anything gets registered, the NIC Domain Registrar needs a few things from you. Send it all to HOSTMASTER@SRI-NIC.ARPA πŸ’Œ

Note: The key people must have computer mail mailboxes and NIC-Idents. If they do not at present, please remedy the situation at once. A NIC-Ident may be established by contacting NIC@SRI-NIC.ARPA. 🚨

  1. The name of the top level domain to join. 🌸

For example: EDU

  1. The name, title, mailing address, phone number, and organization of the administrative head of the organization. This is the contact point for administrative and policy questions about the domain. In the case of a research project, this should be the Principal Investigator. The online mailbox and NIC-Ident of this person should also be included. πŸ‘‘

For example:

Administrator

   Organization  USC/Information Sciences Institute
   Name          Keith Uncapher
   Title         Executive Director
   Mail Address  USC/ISI
                 4676 Admiralty Way, Suite 1001
                 Marina del Rey, CA. 90292-6695
   Phone Number  213-822-1511
   Net Mailbox   Uncapher@USC-ISIB.ARPA
   NIC-Ident     KU
  1. The name, title, mailing address, phone number, and organization of the domain technical contact. The online mailbox and NIC-Ident of the domain technical contact should also be included. This is the contact point for problems with the domain and for updating information about the domain. Also, the domain technical contact may be responsible for hosts in this domain. πŸ¦‹

For example:

Technical Contact

   Organization  USC/Information Sciences Institute
   Name          Craig Milo Rogers
   Title         Researcher
   Mail Address  USC/ISI
                 4676 Admiralty Way, Suite 1001
                 Marina del Rey, CA. 90292-6695
   Phone Number  213-822-1511
   Net Mailbox   Rogers@USC-ISIB.ARPA
   NIC-Ident     CMR
  1. The name, title, mailing address, phone number, and organization of the zone technical contact. The online mailbox and NIC-Ident of the zone technical contact should also be included. This is the contact point for problems with the zone and for updating information about the zone. In many cases the zone technical contact and the domain technical contact will be the same person. 🧚

For example:

Technical Contact

   Organization  USC/Information Sciences Institute
   Name          Craig Milo Rogers
   Title         Researcher
   Mail Address  USC/ISI
                 4676 Admiralty Way, Suite 1001
                 Marina del Rey, CA. 90292-6695
   Phone Number  213-822-1511
   Net Mailbox   Rogers@USC-ISIB.ARPA
   NIC-Ident     CMR
  1. The name of the domain (up to 12 characters). This is the name that will be used in tables and lists associating the domain and the domain server addresses. [While technically domain names can be quite long (programmers beware), shorter names are easier for people to cope with.] πŸ’…

For example: ALPHA-BETA

  1. A description of the servers that provides the domain service for translating name to address for hosts in this domain, and the date they will be operational. 🌈

A good way to answer this question is to say "Our server is supplied by person or company X and does whatever their standard issue server does".

For example:

Our server is a copy of the server operated by the NIC, and will be
installed and made operational on 1-November-84.
  1. A description of the server machines, including:

(a) hardware and software (using keywords from the Assigned Numbers)

(b) addresses (what host on what net for each connected net) πŸ–₯️

For example:

(a) hardware and software

    VAX-11/750  and  UNIX,    or
    IBM-PC      and  MS-DOS,  or
    DEC-1090    and  TOPS-20

(b) address

    10.9.0.193 on ARPANET
  1. An estimate of the number of hosts that will be in the domain.

(a) initially, (b) within one year, (c) two years, and (d) five years. πŸ’–

For example:

(a) initially  =   50
(b) one year   =  100
(c) two years  =  200
(d) five years =  500

Acknowledgment 🫢

We would like to thank the many people who contributed to this memo, including the participants in the Namedroppers Group, the ICCB, the PCCB, and especially the staff of the Network Information Center, particularly J. Feinler and K. Harrenstien. Iconic cast, honestly. πŸ‘‘βœ¨

References πŸ“š

[1]  Postel, J., "The Domain Names Plan and Schedule", RFC-881, USC
     Information Sciences Institute, November 1983.

[2]  Mockapetris, P., "Domain Names - Concepts and Facilities",
     RFC-882, USC Information Sciences Institute, November 1983.

[3]  Mockapetris, P., "Domain Names - Implementation and
     Specification", RFC-883, USC Information Sciences Institute,
     November 1983.

[4]  Postel, J., "Domain Name System Implementation Schedule",
     RFC-897, USC Information Sciences Institute, February 1984.

[5]  ISO, "Codes for the Representation of Names of Countries",
     ISO-3166, International Standards Organization, May 1981.

[6]  Postel, J., "Domain Name System Implementation Schedule -
     Revised", RFC-921, USC Information Sciences Institute, October
     1984.

[7]  Mockapetris, P., "The Domain Name System", Proceedings of the
     IFIP 6.5 Working Conference on Computer Message Services,
     Nottingham, England, May 1984.  Also as ISI/RS-84-133,
     June 1984.

[8]  Mockapetris, P., J. Postel, and P. Kirton, "Name Server Design
     for Distributed Systems", Proceedings of the Seventh
     International Conference on Computer Communication, October 30
     to November 3 1984, Sidney, Australia.  Also as ISI/RS-84-132,
     June 1984.
πŸ“¦ where this page comes from