we don't need these files either.
This commit is contained in:
parent
5be792e647
commit
6c5a8afbd7
|
@ -1,781 +0,0 @@
|
|||
Network Working Group M. Stahl
|
||||
Request for Comments: 1032 SRI International
|
||||
November 1987
|
||||
|
||||
|
||||
DOMAIN ADMINISTRATORS GUIDE
|
||||
|
||||
|
||||
STATUS OF THIS MEMO
|
||||
|
||||
This memo describes procedures for registering a domain with the
|
||||
Network Information Center (NIC) of Defense Data Network (DDN), and
|
||||
offers guidelines on the establishment and administration of a domain
|
||||
in accordance with the requirements specified in RFC-920. It is
|
||||
intended for use by domain administrators. This memo should be used
|
||||
in conjunction with RFC-920, which is an official policy statement of
|
||||
the Internet Activities Board (IAB) and the Defense Advanced Research
|
||||
Projects Agency (DARPA). Distribution of this memo is unlimited.
|
||||
|
||||
BACKGROUND
|
||||
|
||||
Domains are administrative entities that provide decentralized
|
||||
management of host naming and addressing. The domain-naming system
|
||||
is distributed and hierarchical.
|
||||
|
||||
The NIC is designated by the Defense Communications Agency (DCA) to
|
||||
provide registry services for the domain-naming system on the DDN and
|
||||
DARPA portions of the Internet.
|
||||
|
||||
As registrar of top-level and second-level domains, as well as
|
||||
administrator of the root domain name servers on behalf of DARPA and
|
||||
DDN, the NIC is responsible for maintaining the root server zone
|
||||
files and their binary equivalents. In addition, the NIC is
|
||||
responsible for administering the top-level domains of "ARPA," "COM,"
|
||||
"EDU," "ORG," "GOV," and "MIL" on behalf of DCA and DARPA until it
|
||||
becomes feasible for other appropriate organizations to assume those
|
||||
responsibilities.
|
||||
|
||||
It is recommended that the guidelines described in this document be
|
||||
used by domain administrators in the establishment and control of
|
||||
second-level domains.
|
||||
|
||||
THE DOMAIN ADMINISTRATOR
|
||||
|
||||
The role of the domain administrator (DA) is that of coordinator,
|
||||
manager, and technician. If his domain is established at the second
|
||||
level or lower in the tree, the DA must register by interacting with
|
||||
the management of the domain directly above his, making certain that
|
||||
|
||||
|
||||
|
||||
Stahl [Page 1]
|
||||
|
||||
RFC 1032 DOMAIN ADMINISTRATORS GUIDE November 1987
|
||||
|
||||
|
||||
his domain satisfies all the requirements of the administration under
|
||||
which his domain would be situated. To find out who has authority
|
||||
over the name space he wishes to join, the DA can ask the NIC
|
||||
Hostmaster. Information on contacts for the top-level and second-
|
||||
level domains can also be found on line in the file NETINFO:DOMAIN-
|
||||
CONTACTS.TXT, which is available from the NIC via anonymous FTP.
|
||||
|
||||
The DA should be technically competent; he should understand the
|
||||
concepts and procedures for operating a domain server, as described
|
||||
in RFC-1034, and make sure that the service provided is reliable and
|
||||
uninterrupted. It is his responsibility or that of his delegate to
|
||||
ensure that the data will be current at all times. As a manager, the
|
||||
DA must be able to handle complaints about service provided by his
|
||||
domain name server. He must be aware of the behavior of the hosts in
|
||||
his domain, and take prompt action on reports of problems, such as
|
||||
protocol violations or other serious misbehavior. The administrator
|
||||
of a domain must be a responsible person who has the authority to
|
||||
either enforce these actions himself or delegate them to someone
|
||||
else.
|
||||
|
||||
Name assignments within a domain are controlled by the DA, who should
|
||||
verify that names are unique within his domain and that they conform
|
||||
to standard naming conventions. He furnishes access to names and
|
||||
name-related information to users both inside and outside his domain.
|
||||
He should work closely with the personnel he has designated as the
|
||||
"technical and zone" contacts for his domain, for many administrative
|
||||
decisions will be made on the basis of input from these people.
|
||||
|
||||
THE DOMAIN TECHNICAL AND ZONE CONTACT
|
||||
|
||||
A zone consists of those contiguous parts of the domain tree for
|
||||
which a domain server has complete information and over which it has
|
||||
authority. A domain server may be authoritative for more than one
|
||||
zone. The domain technical/zone contact is the person who tends to
|
||||
the technical aspects of maintaining the domain's name server and
|
||||
resolver software, and database files. He keeps the name server
|
||||
running, and interacts with technical people in other domains and
|
||||
zones to solve problems that affect his zone.
|
||||
|
||||
POLICIES
|
||||
|
||||
Domain or host name choices and the allocation of domain name space
|
||||
are considered to be local matters. In the event of conflicts, it is
|
||||
the policy of the NIC not to get involved in local disputes or in the
|
||||
local decision-making process. The NIC will not act as referee in
|
||||
disputes over such matters as who has the "right" to register a
|
||||
particular top-level or second-level domain for an organization. The
|
||||
NIC considers this a private local matter that must be settled among
|
||||
|
||||
|
||||
|
||||
Stahl [Page 2]
|
||||
|
||||
RFC 1032 DOMAIN ADMINISTRATORS GUIDE November 1987
|
||||
|
||||
|
||||
the parties involved prior to their commencing the registration
|
||||
process with the NIC. Therefore, it is assumed that the responsible
|
||||
person for a domain will have resolved any local conflicts among the
|
||||
members of his domain before registering that domain with the NIC.
|
||||
The NIC will give guidance, if requested, by answering specific
|
||||
technical questions, but will not provide arbitration in disputes at
|
||||
the local level. This policy is also in keeping with the distributed
|
||||
hierarchical nature of the domain-naming system in that it helps to
|
||||
distribute the tasks of solving problems and handling questions.
|
||||
|
||||
Naming conventions for hosts should follow the rules specified in
|
||||
RFC-952. From a technical standpoint, domain names can be very long.
|
||||
Each segment of a domain name may contain up to 64 characters, but
|
||||
the NIC strongly advises DAs to choose names that are 12 characters
|
||||
or fewer, because behind every domain system there is a human being
|
||||
who must keep track of the names, addresses, contacts, and other data
|
||||
in a database. The longer the name, the more likely the data
|
||||
maintainer is to make a mistake. Users also will appreciate shorter
|
||||
names. Most people agree that short names are easier to remember and
|
||||
type; most domain names registered so far are 12 characters or fewer.
|
||||
|
||||
Domain name assignments are made on a first-come-first-served basis.
|
||||
The NIC has chosen not to register individual hosts directly under
|
||||
the top-level domains it administers. One advantage of the domain
|
||||
naming system is that administration and data maintenance can be
|
||||
delegated down a hierarchical tree. Registration of hosts at the
|
||||
same level in the tree as a second-level domain would dilute the
|
||||
usefulness of this feature. In addition, the administrator of a
|
||||
domain is responsible for the actions of hosts within his domain. We
|
||||
would not want to find ourselves in the awkward position of policing
|
||||
the actions of individual hosts. Rather, the subdomains registered
|
||||
under these top-level domains retain the responsibility for this
|
||||
function.
|
||||
|
||||
Countries that wish to be registered as top-level domains are
|
||||
required to name themselves after the two-letter country code listed
|
||||
in the international standard ISO-3166. In some cases, however, the
|
||||
two-letter ISO country code is identical to a state code used by the
|
||||
U.S. Postal Service. Requests made by countries to use the three-
|
||||
letter form of country code specified in the ISO-3166 standard will
|
||||
be considered in such cases so as to prevent possible conflicts and
|
||||
confusion.
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
Stahl [Page 3]
|
||||
|
||||
RFC 1032 DOMAIN ADMINISTRATORS GUIDE November 1987
|
||||
|
||||
|
||||
HOW TO REGISTER
|
||||
|
||||
Obtain a domain questionnaire from the NIC hostmaster, or FTP the
|
||||
file NETINFO:DOMAIN-TEMPLATE.TXT from host SRI-NIC.ARPA.
|
||||
|
||||
Fill out the questionnaire completely. Return it via electronic mail
|
||||
to HOSTMASTER@SRI-NIC.ARPA.
|
||||
|
||||
The APPENDIX to this memo contains the application form for
|
||||
registering a top-level or second-level domain with the NIC. It
|
||||
supersedes the version of the questionnaire found in RFC-920. The
|
||||
application should be submitted by the person administratively
|
||||
responsible for the domain, and must be filled out completely before
|
||||
the NIC will authorize establishment of a top-level or second-level
|
||||
domain. The DA is responsible for keeping his domain's data current
|
||||
with the NIC or with the registration agent with which his domain is
|
||||
registered. For example, the CSNET and UUCP managements act as
|
||||
domain filters, processing domain applications for their own
|
||||
organizations. They pass pertinent information along periodically to
|
||||
the NIC for incorporation into the domain database and root server
|
||||
files. The online file NETINFO:ALTERNATE-DOMAIN-PROCEDURE.TXT
|
||||
outlines this procedure. It is highly recommended that the DA review
|
||||
this information periodically and provide any corrections or
|
||||
additions. Corrections should be submitted via electronic mail.
|
||||
|
||||
WHICH DOMAIN NAME?
|
||||
|
||||
The designers of the domain-naming system initiated several general
|
||||
categories of names as top-level domain names, so that each could
|
||||
accommodate a variety of organizations. The current top-level
|
||||
domains registered with the DDN Network Information Center are ARPA,
|
||||
COM, EDU, GOV, MIL, NET, and ORG, plus a number of top-level country
|
||||
domains. To join one of these, a DA needs to be aware of the purpose
|
||||
for which it was intended.
|
||||
|
||||
"ARPA" is a temporary domain. It is by default appended to the
|
||||
names of hosts that have not yet joined a domain. When the system
|
||||
was begun in 1984, the names of all hosts in the Official DoD
|
||||
Internet Host Table maintained by the NIC were changed by adding
|
||||
of the label ".ARPA" in order to accelerate a transition to the
|
||||
domain-naming system. Another reason for the blanket name changes
|
||||
was to force hosts to become accustomed to using the new style
|
||||
names and to modify their network software, if necessary. This
|
||||
was done on a network-wide basis and was directed by DCA in DDN
|
||||
Management Bulletin No. 22. Hosts that fall into this domain will
|
||||
eventually move to other branches of the domain tree.
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
Stahl [Page 4]
|
||||
|
||||
RFC 1032 DOMAIN ADMINISTRATORS GUIDE November 1987
|
||||
|
||||
|
||||
"COM" is meant to incorporate subdomains of companies and
|
||||
businesses.
|
||||
|
||||
"EDU" was initiated to accommodate subdomains set up by
|
||||
universities and other educational institutions.
|
||||
|
||||
"GOV" exists to act as parent domain for subdomains set up by
|
||||
government agencies.
|
||||
|
||||
"MIL" was initiated to act as parent to subdomains that are
|
||||
developed by military organizations.
|
||||
|
||||
"NET" was introduced as a parent domain for various network-type
|
||||
organizations. Organizations that belong within this top-level
|
||||
domain are generic or network-specific, such as network service
|
||||
centers and consortia. "NET" also encompasses network
|
||||
management-related organizations, such as information centers and
|
||||
operations centers.
|
||||
|
||||
"ORG" exists as a parent to subdomains that do not clearly fall
|
||||
within the other top-level domains. This may include technical-
|
||||
support groups, professional societies, or similar organizations.
|
||||
|
||||
One of the guidelines in effect in the domain-naming system is that a
|
||||
host should have only one name regardless of what networks it is
|
||||
connected to. This implies, that, in general, domain names should
|
||||
not include routing information or addresses. For example, a host
|
||||
that has one network connection to the Internet and another to BITNET
|
||||
should use the same name when talking to either network. For a
|
||||
description of the syntax of domain names, please refer to Section 3
|
||||
of RFC-1034.
|
||||
|
||||
VERIFICATION OF DATA
|
||||
|
||||
The verification process can be accomplished in several ways. One of
|
||||
these is through the NIC WHOIS server. If he has access to WHOIS,
|
||||
the DA can type the command "whois domain <domain name><return>".
|
||||
The reply from WHOIS will supply the following: the name and address
|
||||
of the organization "owning" the domain; the name of the domain; its
|
||||
administrative, technical, and zone contacts; the host names and
|
||||
network addresses of sites providing name service for the domain.
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
Stahl [Page 5]
|
||||
|
||||
RFC 1032 DOMAIN ADMINISTRATORS GUIDE November 1987
|
||||
|
||||
|
||||
Example:
|
||||
|
||||
@whois domain rice.edu<Return>
|
||||
|
||||
Rice University (RICE-DOM)
|
||||
Advanced Studies and Research
|
||||
Houston, TX 77001
|
||||
|
||||
Domain Name: RICE.EDU
|
||||
|
||||
Administrative Contact:
|
||||
Kennedy, Ken (KK28) Kennedy@LLL-CRG.ARPA (713) 527-4834
|
||||
Technical Contact, Zone Contact:
|
||||
Riffle, Vicky R. (VRR) rif@RICE.EDU
|
||||
(713) 527-8101 ext 3844
|
||||
|
||||
Domain servers:
|
||||
|
||||
RICE.EDU 128.42.5.1
|
||||
PENDRAGON.CS.PURDUE.EDU 128.10.2.5
|
||||
|
||||
|
||||
Alternatively, the DA can send an electronic mail message to
|
||||
SERVICE@SRI-NIC.ARPA. In the subject line of the message header, the
|
||||
DA should type "whois domain <domain name>". The requested
|
||||
information will be returned via electronic mail. This method is
|
||||
convenient for sites that do not have access to the NIC WHOIS
|
||||
service.
|
||||
|
||||
The initial application for domain authorization should be submitted
|
||||
via electronic mail, if possible, to HOSTMASTER@SRI-NIC.ARPA. The
|
||||
questionnaire described in the appendix may be used or a separate
|
||||
application can be FTPed from host SRI-NIC.ARPA. The information
|
||||
provided by the administrator will be reviewed by hostmaster
|
||||
personnel for completeness. There will most likely be a few
|
||||
exchanges of correspondence via electronic mail, the preferred method
|
||||
of communication, prior to authorization of the domain.
|
||||
|
||||
HOW TO GET MORE INFORMATION
|
||||
|
||||
An informational table of the top-level domains and their root
|
||||
servers is contained in the file NETINFO:DOMAINS.TXT online at SRI-
|
||||
NIC.ARPA. This table can be obtained by FTPing the file.
|
||||
Alternatively, the information can be acquired by opening a TCP or
|
||||
UDP connection to the NIC Host Name Server, port 101 on SRI-NIC.ARPA,
|
||||
and invoking the command "ALL-DOM".
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
Stahl [Page 6]
|
||||
|
||||
RFC 1032 DOMAIN ADMINISTRATORS GUIDE November 1987
|
||||
|
||||
|
||||
The following online files, all available by FTP from SRI-NIC.ARPA,
|
||||
contain pertinent domain information:
|
||||
|
||||
- NETINFO:DOMAINS.TXT, a table of all top-level domains and the
|
||||
network addresses of the machines providing domain name
|
||||
service for them. It is updated each time a new top-level
|
||||
domain is approved.
|
||||
|
||||
- NETINFO:DOMAIN-INFO.TXT contains a concise list of all
|
||||
top-level and second-level domain names registered with the
|
||||
NIC and is updated monthly.
|
||||
|
||||
- NETINFO:DOMAIN-CONTACTS.TXT also contains a list of all the
|
||||
top level and second-level domains, but includes the
|
||||
administrative, technical and zone contacts for each as well.
|
||||
|
||||
- NETINFO:DOMAIN-TEMPLATE.TXT contains the questionnaire to be
|
||||
completed before registering a top-level or second-level
|
||||
domain.
|
||||
|
||||
For either general or specific information on the domain system, do
|
||||
one or more of the following:
|
||||
|
||||
1. Send electronic mail to HOSTMASTER@SRI-NIC.ARPA
|
||||
|
||||
2. Call the toll-free NIC hotline at (800) 235-3155
|
||||
|
||||
3. Use FTP to get background RFCs and other files maintained
|
||||
online at the NIC. Some pertinent RFCs are listed below in
|
||||
the REFERENCES section of this memo.
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
Stahl [Page 7]
|
||||
|
||||
RFC 1032 DOMAIN ADMINISTRATORS GUIDE November 1987
|
||||
|
||||
|
||||
REFERENCES
|
||||
|
||||
The references listed here provide important background information
|
||||
on the domain-naming system. Path names of the online files
|
||||
available via anonymous FTP from the SRI-NIC.ARPA host are noted in
|
||||
brackets.
|
||||
|
||||
1. Defense Communications Agency DDN Defense Communications
|
||||
System, DDN Management Bulletin No. 22, Domain Names
|
||||
Transition, March 1984.
|
||||
[ DDN-NEWS:DDN-MGT-BULLETIN-22.TXT ]
|
||||
|
||||
2. Defense Communications Agency DDN Defense Communications
|
||||
System, DDN Management Bulletin No. 32, Phase I of the Domain
|
||||
Name Implementation, January 1987.
|
||||
[ DDN-NEWS:DDN-MGT-BULLETIN-32.TXT ]
|
||||
|
||||
3. Harrenstien, K., M. Stahl, and E. Feinler, "Hostname
|
||||
Server", RFC-953, DDN Network Information Center, SRI
|
||||
International, October 1985. [ RFC:RFC953.TXT ]
|
||||
|
||||
4. Harrenstien, K., M. Stahl, and E. Feinler, "Official DoD
|
||||
Internet Host Table Specification", RFC-952, DDN Network
|
||||
Information Center, SRI International, October 1985.
|
||||
[ RFC:RFC952.TXT ]
|
||||
|
||||
5. ISO, "Codes for the Representation of Names of Countries",
|
||||
ISO-3166, International Standards Organization, May 1981.
|
||||
[ Not online ]
|
||||
|
||||
6. Lazear, W.D., "MILNET Name Domain Transition", RFC-1031,
|
||||
Mitre Corporation, October 1987. [ RFC:RFC1031.TXT ]
|
||||
|
||||
7. Lottor, M.K., "Domain Administrators Operations Guide",
|
||||
RFC-1033, DDN Network Information Center, SRI International,
|
||||
July 1987. [ RFC:RFC1033.TXT ]
|
||||
|
||||
8. Mockapetris, P., "Domain Names - Concepts and Facilities",
|
||||
RFC-1034, USC Information Sciences Institute, October 1987.
|
||||
[ RFC:RFC1034.TXT ]
|
||||
|
||||
9. Mockapetris, P., "Domain Names - Implementation and
|
||||
Specification", RFC-1035, USC Information Sciences Institute,
|
||||
October 1987. [ RFC:RFC1035.TXT ]
|
||||
|
||||
10. 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
|
||||
|
||||
|
||||
|
||||
Stahl [Page 8]
|
||||
|
||||
RFC 1032 DOMAIN ADMINISTRATORS GUIDE November 1987
|
||||
|
||||
|
||||
1984. [ Not online ]
|
||||
|
||||
11. 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. [ Not online ]
|
||||
|
||||
12. Partridge, C., "Mail Routing and the Domain System", RFC-974,
|
||||
CSNET-CIC, BBN Laboratories, January 1986.
|
||||
[ RFC:RFC974.TXT ]
|
||||
|
||||
13. Postel, J., "The Domain Names Plan and Schedule", RFC-881,
|
||||
USC Information Sciences Institute, November 1983.
|
||||
[ RFC:RFC881.TXT ]
|
||||
|
||||
14. Reynolds, J., and Postel, J., "Assigned Numbers", RFC-1010
|
||||
USC Information Sciences Institute, May 1986.
|
||||
[ RFC:RFC1010.TXT ]
|
||||
|
||||
15. Romano, S., and Stahl, M., "Internet Numbers", RFC-1020,
|
||||
SRI, November 1987.
|
||||
[ RFC:RFC1020.TXT ]
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
Stahl [Page 9]
|
||||
|
||||
RFC 1032 DOMAIN ADMINISTRATORS GUIDE November 1987
|
||||
|
||||
|
||||
APPENDIX
|
||||
|
||||
The following questionnaire may be FTPed from SRI-NIC.ARPA as
|
||||
NETINFO:DOMAIN-TEMPLATE.TXT.
|
||||
|
||||
---------------------------------------------------------------------
|
||||
|
||||
To establish a domain, the following information must be sent to the
|
||||
NIC Domain Registrar (HOSTMASTER@SRI-NIC.ARPA):
|
||||
|
||||
NOTE: The key people must have electronic mailboxes and NIC
|
||||
"handles," unique NIC database identifiers. If you have access to
|
||||
"WHOIS", please check to see if you are registered and if so, make
|
||||
sure the information is current. Include only your handle and any
|
||||
changes (if any) that need to be made in your entry. If you do not
|
||||
have access to "WHOIS", please provide all the information indicated
|
||||
and a NIC handle will be assigned.
|
||||
|
||||
(1) The name of the top-level domain to join.
|
||||
|
||||
For example: COM
|
||||
|
||||
(2) The NIC handle of the administrative head of the organization.
|
||||
Alternately, the person's name, title, mailing address, phone number,
|
||||
organization, and network mailbox. 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.
|
||||
|
||||
For example:
|
||||
|
||||
Administrator
|
||||
|
||||
Organization The NetWorthy Corporation
|
||||
Name Penelope Q. Sassafrass
|
||||
Title President
|
||||
Mail Address The NetWorthy Corporation
|
||||
4676 Andrews Way, Suite 100
|
||||
Santa Clara, CA 94302-1212
|
||||
Phone Number (415) 123-4567
|
||||
Net Mailbox Sassafrass@ECHO.TNC.COM
|
||||
NIC Handle PQS
|
||||
|
||||
(3) The NIC handle of the technical contact for the domain.
|
||||
Alternately, the person's name, title, mailing address, phone number,
|
||||
organization, and network mailbox. This is the contact point for
|
||||
problems concerning the domain or zone, as well as for updating
|
||||
information about the domain or zone.
|
||||
|
||||
|
||||
|
||||
|
||||
Stahl [Page 10]
|
||||
|
||||
RFC 1032 DOMAIN ADMINISTRATORS GUIDE November 1987
|
||||
|
||||
|
||||
For example:
|
||||
|
||||
Technical and Zone Contact
|
||||
|
||||
Organization The NetWorthy Corporation
|
||||
Name Ansel A. Aardvark
|
||||
Title Executive Director
|
||||
Mail Address The NetWorthy Corporation
|
||||
4676 Andrews Way, Suite 100
|
||||
Santa Clara, CA. 94302-1212
|
||||
Phone Number (415) 123-6789
|
||||
Net Mailbox Aardvark@ECHO.TNC.COM
|
||||
NIC Handle AAA2
|
||||
|
||||
(4) The name of the domain (up to 12 characters). This is the name
|
||||
that will be used in tables and lists associating the domain with the
|
||||
domain server addresses. [While, from a technical standpoint, domain
|
||||
names can be quite long (programmers beware), shorter names are
|
||||
easier for people to cope with.]
|
||||
|
||||
For example: TNC
|
||||
|
||||
(5) A description of the servers that provide the domain service for
|
||||
translating names to addresses 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 one operated by
|
||||
the NIC; it will be installed and made operational on
|
||||
1 November 1987.
|
||||
|
||||
(6) Domains must provide at least two independent servers for the
|
||||
domain. Establishing the servers in physically separate locations
|
||||
and on different PSNs is strongly recommended. A description of the
|
||||
server machine and its backup, including
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
Stahl [Page 11]
|
||||
|
||||
RFC 1032 DOMAIN ADMINISTRATORS GUIDE November 1987
|
||||
|
||||
|
||||
(a) Hardware and software (using keywords from the Assigned
|
||||
Numbers RFC).
|
||||
|
||||
(b) Host domain name and network addresses (which host on which
|
||||
network for each connected network).
|
||||
|
||||
(c) Any domain-style nicknames (please limit your domain-style
|
||||
nickname request to one)
|
||||
|
||||
For example:
|
||||
|
||||
- Hardware and software
|
||||
|
||||
VAX-11/750 and UNIX, or
|
||||
IBM-PC and MS-DOS, or
|
||||
DEC-1090 and TOPS-20
|
||||
|
||||
- Host domain names and network addresses
|
||||
|
||||
BAR.FOO.COM 10.9.0.193 on ARPANET
|
||||
|
||||
- Domain-style nickname
|
||||
|
||||
BR.FOO.COM (same as BAR.FOO.COM 10.9.0.13 on ARPANET)
|
||||
|
||||
(7) Planned mapping of names of any other network hosts, other than
|
||||
the server machines, into the new domain's naming space.
|
||||
|
||||
For example:
|
||||
|
||||
BAR-FOO2.ARPA (10.8.0.193) -> FOO2.BAR.COM
|
||||
BAR-FOO3.ARPA (10.7.0.193) -> FOO3.BAR.COM
|
||||
BAR-FOO4.ARPA (10.6.0.193) -> FOO4.BAR.COM
|
||||
|
||||
|
||||
(8) An estimate of the number of hosts that will be in the domain.
|
||||
|
||||
(a) Initially
|
||||
(b) Within one year
|
||||
(c) Two years
|
||||
(d) Five years.
|
||||
|
||||
For example:
|
||||
|
||||
(a) Initially = 50
|
||||
(b) One year = 100
|
||||
(c) Two years = 200
|
||||
(d) Five years = 500
|
||||
|
||||
|
||||
|
||||
Stahl [Page 12]
|
||||
|
||||
RFC 1032 DOMAIN ADMINISTRATORS GUIDE November 1987
|
||||
|
||||
|
||||
(9) The date you expect the fully qualified domain name to become
|
||||
the official host name in HOSTS.TXT.
|
||||
|
||||
Please note: If changing to a fully qualified domain name (e.g.,
|
||||
FOO.BAR.COM) causes a change in the official host name of an
|
||||
ARPANET or MILNET host, DCA approval must be obtained beforehand.
|
||||
Allow 10 working days for your requested changes to be processed.
|
||||
|
||||
ARPANET sites should contact ARPANETMGR@DDN1.ARPA. MILNET sites
|
||||
should contact HOSTMASTER@SRI-NIC.ARPA, 800-235-3155, for
|
||||
further instructions.
|
||||
|
||||
(10) Please describe your organization briefly.
|
||||
|
||||
For example: The NetWorthy Corporation is a consulting
|
||||
organization of people working with UNIX and the C language in an
|
||||
electronic networking environment. It sponsors two technical
|
||||
conferences annually and distributes a bimonthly newsletter.
|
||||
|
||||
---------------------------------------------------------------------
|
||||
|
||||
This example of a completed application corresponds to the examples
|
||||
found in the companion document RFC-1033, "Domain Administrators
|
||||
Operations Guide."
|
||||
|
||||
(1) The name of the top-level domain to join.
|
||||
|
||||
COM
|
||||
|
||||
(2) The NIC handle of the administrative contact person.
|
||||
|
||||
NIC Handle JAKE
|
||||
|
||||
(3) The NIC handle of the domain's technical and zone
|
||||
contact person.
|
||||
|
||||
NIC Handle DLE6
|
||||
|
||||
(4) The name of the domain.
|
||||
|
||||
SRI
|
||||
|
||||
(5) A description of the servers.
|
||||
|
||||
Our server is the TOPS20 server JEEVES supplied by ISI; it
|
||||
will be installed and made operational on 1 July 1987.
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
Stahl [Page 13]
|
||||
|
||||
RFC 1032 DOMAIN ADMINISTRATORS GUIDE November 1987
|
||||
|
||||
|
||||
(6) A description of the server machine and its backup:
|
||||
|
||||
(a) Hardware and software
|
||||
|
||||
DEC-1090T and TOPS20
|
||||
DEC-2065 and TOPS20
|
||||
|
||||
(b) Host domain name and network address
|
||||
|
||||
KL.SRI.COM 10.1.0.2 on ARPANET, 128.18.10.6 on SRINET
|
||||
STRIPE.SRI.COM 10.4.0.2 on ARPANET, 128.18.10.4 on SRINET
|
||||
|
||||
(c) Domain-style nickname
|
||||
|
||||
None
|
||||
|
||||
(7) Planned mapping of names of any other network hosts, other than
|
||||
the server machines, into the new domain's naming space.
|
||||
|
||||
SRI-Blackjack.ARPA (128.18.2.1) -> Blackjack.SRI.COM
|
||||
SRI-CSL.ARPA (192.12.33.2) -> CSL.SRI.COM
|
||||
|
||||
(8) An estimate of the number of hosts that will be directly within
|
||||
this domain.
|
||||
|
||||
(a) Initially = 50
|
||||
(b) One year = 100
|
||||
(c) Two years = 200
|
||||
(d) Five years = 500
|
||||
|
||||
(9) A date when you expect the fully qualified domain name to become
|
||||
the official host name in HOSTS.TXT.
|
||||
|
||||
31 September 1987
|
||||
|
||||
(10) Brief description of organization.
|
||||
|
||||
SRI International is an independent, nonprofit, scientific
|
||||
research organization. It performs basic and applied research
|
||||
for government and commercial clients, and contributes to
|
||||
worldwide economic, scientific, industrial, and social progress
|
||||
through research and related services.
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
Stahl [Page 14]
|
||||
|
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
|
@ -1,787 +0,0 @@
|
|||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
Network Working Group P. Mockapetris
|
||||
Request for Comments: 1101 ISI
|
||||
Updates: RFCs 1034, 1035 April 1989
|
||||
|
||||
|
||||
DNS Encoding of Network Names and Other Types
|
||||
|
||||
|
||||
1. STATUS OF THIS MEMO
|
||||
|
||||
This RFC proposes two extensions to the Domain Name System:
|
||||
|
||||
- A specific method for entering and retrieving RRs which map
|
||||
between network names and numbers.
|
||||
|
||||
- Ideas for a general method for describing mappings between
|
||||
arbitrary identifiers and numbers.
|
||||
|
||||
The method for mapping between network names and addresses is a
|
||||
proposed standard, the ideas for a general method are experimental.
|
||||
|
||||
This RFC assumes that the reader is familiar with the DNS [RFC 1034,
|
||||
RFC 1035] and its use. The data shown is for pedagogical use and
|
||||
does not necessarily reflect the real Internet.
|
||||
|
||||
Distribution of this memo is unlimited.
|
||||
|
||||
2. INTRODUCTION
|
||||
|
||||
The DNS is extensible and can be used for a virtually unlimited
|
||||
number of data types, name spaces, etc. New type definitions are
|
||||
occasionally necessary as are revisions or deletions of old types
|
||||
(e.g., MX replacement of MD and MF [RFC 974]), and changes described
|
||||
in [RFC 973]. This RFC describes changes due to the general need to
|
||||
map between identifiers and values, and a specific need for network
|
||||
name support.
|
||||
|
||||
Users wish to be able to use the DNS to map between network names and
|
||||
numbers. This need is the only capability found in HOSTS.TXT which
|
||||
is not available from the DNS. In designing a method to do this,
|
||||
there were two major areas of concern:
|
||||
|
||||
- Several tradeoffs involving control of network names, the
|
||||
syntax of network names, backward compatibility, etc.
|
||||
|
||||
- A desire to create a method which would be sufficiently
|
||||
general to set a good precedent for future mappings,
|
||||
for example, between TCP-port names and numbers,
|
||||
|
||||
|
||||
|
||||
Mockapetris [Page 1]
|
||||
|
||||
RFC 1101 DNS Encoding of Network Names and Other Types April 1989
|
||||
|
||||
|
||||
autonomous system names and numbers, X.500 Relative
|
||||
Distinguished Names (RDNs) and their servers, or whatever.
|
||||
|
||||
It was impossible to reconcile these two areas of concern for network
|
||||
names because of the desire to unify network number support within
|
||||
existing IP address to host name support. The existing support is
|
||||
the IN-ADDR.ARPA section of the DNS name space. As a result this RFC
|
||||
describes one structure for network names which builds on the
|
||||
existing support for host names, and another family of structures for
|
||||
future yellow pages (YP) functions such as conversions between TCP-
|
||||
port numbers and mnemonics.
|
||||
|
||||
Both structures are described in following sections. Each structure
|
||||
has a discussion of design issues and specific structure
|
||||
recommendations.
|
||||
|
||||
We wish to avoid defining structures and methods which can work but
|
||||
do not because of indifference or errors on the part of system
|
||||
administrators when maintaining the database. The WKS RR is an
|
||||
example. Thus, while we favor distribution as a general method, we
|
||||
also recognize that centrally maintained tables (such as HOSTS.TXT)
|
||||
are usually more consistent though less maintainable and timely.
|
||||
Hence we recommend both specific methods for mapping network names,
|
||||
addresses, and subnets, as well as an instance of the general method
|
||||
for mapping between allocated network numbers and network names.
|
||||
(Allocation is centrally performed by the SRI Network Information
|
||||
Center, aka the NIC).
|
||||
|
||||
3. NETWORK NAME ISSUES AND DISCUSSION
|
||||
|
||||
The issues involved in the design were the definition of network name
|
||||
syntax, the mappings to be provided, and possible support for similar
|
||||
functions at the subnet level.
|
||||
|
||||
3.1. Network name syntax
|
||||
|
||||
The current syntax for network names, as defined by [RFC 952] is an
|
||||
alphanumeric string of up to 24 characters, which begins with an
|
||||
alpha, and may include "." and "-" except as first and last
|
||||
characters. This is the format which was also used for host names
|
||||
before the DNS. Upward compatibility with existing names might be a
|
||||
goal of any new scheme.
|
||||
|
||||
However, the present syntax has been used to define a flat name
|
||||
space, and hence would prohibit the same distributed name allocation
|
||||
method used for host names. There is some sentiment for allowing the
|
||||
NIC to continue to allocate and regulate network names, much as it
|
||||
allocates numbers, but the majority opinion favors local control of
|
||||
|
||||
|
||||
|
||||
Mockapetris [Page 2]
|
||||
|
||||
RFC 1101 DNS Encoding of Network Names and Other Types April 1989
|
||||
|
||||
|
||||
network names. Although it would be possible to provide a flat space
|
||||
or a name space in which, for example, the last label of a domain
|
||||
name captured the old-style network name, any such approach would add
|
||||
complexity to the method and create different rules for network names
|
||||
and host names.
|
||||
|
||||
For these reasons, we assume that the syntax of network names will be
|
||||
the same as the expanded syntax for host names permitted in [HR].
|
||||
The new syntax expands the set of names to allow leading digits, so
|
||||
long as the resulting representations do not conflict with IP
|
||||
addresses in decimal octet form. For example, 3Com.COM and 3M.COM
|
||||
are now legal, although 26.0.0.73.COM is not. See [HR] for details.
|
||||
|
||||
The price is that network names will get as complicated as host
|
||||
names. An administrator will be able to create network names in any
|
||||
domain under his control, and also create network number to name
|
||||
entries in IN-ADDR.ARPA domains under his control. Thus, the name
|
||||
for the ARPANET might become NET.ARPA, ARPANET.ARPA or Arpa-
|
||||
network.MIL., depending on the preferences of the owner.
|
||||
|
||||
3.2. Mappings
|
||||
|
||||
The desired mappings, ranked by priority with most important first,
|
||||
are:
|
||||
|
||||
- Mapping a IP address or network number to a network name.
|
||||
|
||||
This mapping is for use in debugging tools and status displays
|
||||
of various sorts. The conversion from IP address to network
|
||||
number is well known for class A, B, and C IP addresses, and
|
||||
involves a simple mask operation. The needs of other classes
|
||||
are not yet defined and are ignored for the rest of this RFC.
|
||||
|
||||
- Mapping a network name to a network address.
|
||||
|
||||
This facility is of less obvious application, but a
|
||||
symmetrical mapping seems desirable.
|
||||
|
||||
- Mapping an organization to its network names and numbers.
|
||||
|
||||
This facility is useful because it may not always be possible
|
||||
to guess the local choice for network names, but the
|
||||
organization name is often well known.
|
||||
|
||||
- Similar mappings for subnets, even when nested.
|
||||
|
||||
The primary application is to be able to identify all of the
|
||||
subnets involved in a particular IP address. A secondary
|
||||
|
||||
|
||||
|
||||
Mockapetris [Page 3]
|
||||
|
||||
RFC 1101 DNS Encoding of Network Names and Other Types April 1989
|
||||
|
||||
|
||||
requirement is to retrieve address mask information.
|
||||
|
||||
3.3. Network address section of the name space
|
||||
|
||||
The network name syntax discussed above can provide domain names
|
||||
which will contain mappings from network names to various quantities,
|
||||
but we also need a section of the name space, organized by network
|
||||
and subnet number to hold the inverse mappings.
|
||||
|
||||
The choices include:
|
||||
|
||||
- The same network number slots already assigned and delegated
|
||||
in the IN-ADDR.ARPA section of the name space.
|
||||
|
||||
For example, 10.IN-ADDR.ARPA for class A net 10,
|
||||
2.128.IN-ADDR.ARPA for class B net 128.2, etc.
|
||||
|
||||
- Host-zero addresses in the IN-ADDR.ARPA tree. (A host field
|
||||
of all zero in an IP address is prohibited because of
|
||||
confusion related to broadcast addresses, et al.)
|
||||
|
||||
For example, 0.0.0.10.IN-ADDR.ARPA for class A net 10,
|
||||
0.0.2.128.IN-ADDR.arpa for class B net 128.2, etc. Like the
|
||||
first scheme, it uses in-place name space delegations to
|
||||
distribute control.
|
||||
|
||||
The main advantage of this scheme over the first is that it
|
||||
allows convenient names for subnets as well as networks. A
|
||||
secondary advantage is that it uses names which are not in use
|
||||
already, and hence it is possible to test whether an
|
||||
organization has entered this information in its domain
|
||||
database.
|
||||
|
||||
- Some new section of the name space.
|
||||
|
||||
While this option provides the most opportunities, it creates
|
||||
a need to delegate a whole new name space. Since the IP
|
||||
address space is so closely related to the network number
|
||||
space, most believe that the overhead of creating such a new
|
||||
space is overwhelming and would lead to the WKS syndrome. (As
|
||||
of February, 1989, approximately 400 sections of the
|
||||
IN-ADDR.ARPA tree are already delegated, usually at network
|
||||
boundaries.)
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
Mockapetris [Page 4]
|
||||
|
||||
RFC 1101 DNS Encoding of Network Names and Other Types April 1989
|
||||
|
||||
|
||||
4. SPECIFICS FOR NETWORK NAME MAPPINGS
|
||||
|
||||
The proposed solution uses information stored at:
|
||||
|
||||
- Names in the IN-ADDR.ARPA tree that correspond to host-zero IP
|
||||
addresses. The same method is used for subnets in a nested
|
||||
fashion. For example, 0.0.0.10.IN-ADDR.ARPA. for net 10.
|
||||
|
||||
Two types of information are stored here: PTR RRs which point
|
||||
to the network name in their data sections, and A RRs, which
|
||||
are present if the network (or subnet) is subnetted further.
|
||||
If a type A RR is present, then it has the address mask as its
|
||||
data. The general form is:
|
||||
|
||||
<reversed-host-zero-number>.IN-ADDR.ARPA. PTR <network-name>
|
||||
<reversed-host-zero-number>.IN-ADDR.ARPA. A <subnet-mask>
|
||||
|
||||
For example:
|
||||
|
||||
0.0.0.10.IN-ADDR.ARPA. PTR ARPANET.ARPA.
|
||||
|
||||
or
|
||||
|
||||
0.0.2.128.IN-ADDR.ARPA. PTR cmu-net.cmu.edu.
|
||||
A 255.255.255.0
|
||||
|
||||
In general, this information will be added to an existing
|
||||
master file for some IN-ADDR.ARPA domain for each network
|
||||
involved. Similar RRs can be used at host-zero subnet
|
||||
entries.
|
||||
|
||||
- Names which are network names.
|
||||
|
||||
The data stored here is PTR RRs pointing at the host-zero
|
||||
entries. The general form is:
|
||||
|
||||
<network-name> ptr <reversed-host-zero-number>.IN-ADDR.ARPA
|
||||
|
||||
For example:
|
||||
|
||||
ARPANET.ARPA. PTR 0.0.0.10.IN-ADDR.ARPA.
|
||||
|
||||
or
|
||||
|
||||
isi-net.isi.edu. PTR 0.0.9.128.IN-ADDR.ARPA.
|
||||
|
||||
In general, this information will be inserted in the master
|
||||
file for the domain name of the organization; this is a
|
||||
|
||||
|
||||
|
||||
Mockapetris [Page 5]
|
||||
|
||||
RFC 1101 DNS Encoding of Network Names and Other Types April 1989
|
||||
|
||||
|
||||
different file from that which holds the information below
|
||||
IN-ADDR.ARPA. Similar PTR RRs can be used at subnet names.
|
||||
|
||||
- Names corresponding to organizations.
|
||||
|
||||
The data here is one or more PTR RRs pointing at the
|
||||
IN-ADDR.ARPA names corresponding to host-zero entries for
|
||||
networks.
|
||||
|
||||
For example:
|
||||
|
||||
ISI.EDU. PTR 0.0.9.128.IN-ADDR.ARPA.
|
||||
|
||||
MCC.COM. PTR 0.167.5.192.IN-ADDR.ARPA.
|
||||
PTR 0.168.5.192.IN-ADDR.ARPA.
|
||||
PTR 0.169.5.192.IN-ADDR.ARPA.
|
||||
PTR 0.0.62.128.IN-ADDR.ARPA.
|
||||
|
||||
4.1. A simple example
|
||||
|
||||
The ARPANET is a Class A network without subnets. The RRs which
|
||||
would be added, assuming the ARPANET.ARPA was selected as a network
|
||||
name, would be:
|
||||
|
||||
ARPA. PTR 0.0.0.10.IN-ADDR.ARPA.
|
||||
|
||||
ARPANET.ARPA. PTR 0.0.0.10.IN-ADDR.ARPA.
|
||||
|
||||
0.0.0.10.IN-ADDR.ARPA. PTR ARPANET.ARPA.
|
||||
|
||||
The first RR states that the organization named ARPA owns net 10 (It
|
||||
might also own more network numbers, and these would be represented
|
||||
with an additional RR per net.) The second states that the network
|
||||
name ARPANET.ARPA. maps to net 10. The last states that net 10 is
|
||||
named ARPANET.ARPA.
|
||||
|
||||
Note that all of the usual host and corresponding IN-ADDR.ARPA
|
||||
entries would still be required.
|
||||
|
||||
4.2. A complicated, subnetted example
|
||||
|
||||
The ISI network is 128.9, a class B number. Suppose the ISI network
|
||||
was organized into two levels of subnet, with the first level using
|
||||
an additional 8 bits of address, and the second level using 4 bits,
|
||||
for address masks of x'FFFFFF00' and X'FFFFFFF0'.
|
||||
|
||||
Then the following RRs would be entered in ISI's master file for the
|
||||
ISI.EDU zone:
|
||||
|
||||
|
||||
|
||||
Mockapetris [Page 6]
|
||||
|
||||
RFC 1101 DNS Encoding of Network Names and Other Types April 1989
|
||||
|
||||
|
||||
; Define network entry
|
||||
isi-net.isi.edu. PTR 0.0.9.128.IN-ADDR.ARPA.
|
||||
|
||||
; Define first level subnets
|
||||
div1-subnet.isi.edu. PTR 0.1.9.128.IN-ADDR.ARPA.
|
||||
div2-subnet.isi.edu. PTR 0.2.9.128.IN-ADDR.ARPA.
|
||||
|
||||
; Define second level subnets
|
||||
inc-subsubnet.isi.edu. PTR 16.2.9.128.IN-ADDR.ARPA.
|
||||
|
||||
in the 9.128.IN-ADDR.ARPA zone:
|
||||
|
||||
; Define network number and address mask
|
||||
0.0.9.128.IN-ADDR.ARPA. PTR isi-net.isi.edu.
|
||||
A 255.255.255.0 ;aka X'FFFFFF00'
|
||||
|
||||
; Define one of the first level subnet numbers and masks
|
||||
0.1.9.128.IN-ADDR.ARPA. PTR div1-subnet.isi.edu.
|
||||
A 255.255.255.240 ;aka X'FFFFFFF0'
|
||||
|
||||
; Define another first level subnet number and mask
|
||||
0.2.9.128.IN-ADDR.ARPA. PTR div2-subnet.isi.edu.
|
||||
A 255.255.255.240 ;aka X'FFFFFFF0'
|
||||
|
||||
; Define second level subnet number
|
||||
16.2.9.128.IN-ADDR.ARPA. PTR inc-subsubnet.isi.edu.
|
||||
|
||||
This assumes that the ISI network is named isi-net.isi.edu., first
|
||||
level subnets are named div1-subnet.isi.edu. and div2-
|
||||
subnet.isi.edu., and a second level subnet is called inc-
|
||||
subsubnet.isi.edu. (In a real system as complicated as this there
|
||||
would be more first and second level subnets defined, but we have
|
||||
shown enough to illustrate the ideas.)
|
||||
|
||||
4.3. Procedure for using an IP address to get network name
|
||||
|
||||
Depending on whether the IP address is class A, B, or C, mask off the
|
||||
high one, two, or three bytes, respectively. Reverse the octets,
|
||||
suffix IN-ADDR.ARPA, and do a PTR query.
|
||||
|
||||
For example, suppose the IP address is 10.0.0.51.
|
||||
|
||||
1. Since this is a class A address, use a mask x'FF000000' and
|
||||
get 10.0.0.0.
|
||||
|
||||
2. Construct the name 0.0.0.10.IN-ADDR.ARPA.
|
||||
|
||||
3. Do a PTR query. Get back
|
||||
|
||||
|
||||
|
||||
Mockapetris [Page 7]
|
||||
|
||||
RFC 1101 DNS Encoding of Network Names and Other Types April 1989
|
||||
|
||||
|
||||
0.0.0.10.IN-ADDR.ARPA. PTR ARPANET.ARPA.
|
||||
|
||||
4. Conclude that the network name is "ARPANET.ARPA."
|
||||
|
||||
Suppose that the IP address is 128.9.2.17.
|
||||
|
||||
1. Since this is a class B address, use a mask of x'FFFF0000'
|
||||
and get 128.9.0.0.
|
||||
|
||||
2. Construct the name 0.0.9.128.IN-ADDR.ARPA.
|
||||
|
||||
3. Do a PTR query. Get back
|
||||
|
||||
0.0.9.128.IN-ADDR.ARPA. PTR isi-net.isi.edu
|
||||
|
||||
4. Conclude that the network name is "isi-net.isi.edu."
|
||||
|
||||
4.4. Procedure for finding all subnets involved with an IP address
|
||||
|
||||
This is a simple extension of the IP address to network name method.
|
||||
When the network entry is located, do a lookup for a possible A RR.
|
||||
If the A RR is found, look up the next level of subnet using the
|
||||
original IP address and the mask in the A RR. Repeat this procedure
|
||||
until no A RR is found.
|
||||
|
||||
For example, repeating the use of 128.9.2.17.
|
||||
|
||||
1. As before construct a query for 0.0.9.128.IN-ADDR.ARPA.
|
||||
Retrieve:
|
||||
|
||||
0.0.9.128.IN-ADDR.ARPA. PTR isi-net.isi.edu.
|
||||
A 255.255.255.0
|
||||
|
||||
2. Since an A RR was found, repeat using mask from RR
|
||||
(255.255.255.0), constructing a query for
|
||||
0.2.9.128.IN-ADDR.ARPA. Retrieve:
|
||||
|
||||
0.2.9.128.IN-ADDR.ARPA. PTR div2-subnet.isi.edu.
|
||||
A 255.255.255.240
|
||||
|
||||
3. Since another A RR was found, repeat using mask
|
||||
255.255.255.240 (x'FFFFFFF0'). constructing a query for
|
||||
16.2.9.128.IN-ADDR.ARPA. Retrieve:
|
||||
|
||||
16.2.9.128.IN-ADDR.ARPA. PTR inc-subsubnet.isi.edu.
|
||||
|
||||
4. Since no A RR is present at 16.2.9.128.IN-ADDR.ARPA., there
|
||||
are no more subnet levels.
|
||||
|
||||
|
||||
|
||||
Mockapetris [Page 8]
|
||||
|
||||
RFC 1101 DNS Encoding of Network Names and Other Types April 1989
|
||||
|
||||
|
||||
5. YP ISSUES AND DISCUSSION
|
||||
|
||||
The term "Yellow Pages" is used in almost as many ways as the term
|
||||
"domain", so it is useful to define what is meant herein by YP. The
|
||||
general problem to be solved is to create a method for creating
|
||||
mappings from one kind of identifier to another, often with an
|
||||
inverse capability. The traditional methods are to search or use a
|
||||
precomputed index of some kind.
|
||||
|
||||
Searching is impractical when the search is too large, and
|
||||
precomputed indexes are possible only when it is possible to specify
|
||||
search criteria in advance, and pay for the resources necessary to
|
||||
build the index. For example, it is impractical to search the entire
|
||||
domain tree to find a particular address RR, so we build the IN-
|
||||
ADDR.ARPA YP. Similarly, we could never build an Internet-wide index
|
||||
of "hosts with a load average of less than 2" in less time than it
|
||||
would take for the data to change, so indexes are a useless approach
|
||||
for that problem.
|
||||
|
||||
Such a precomputed index is what we mean by YP, and we regard the
|
||||
IN-ADDR.ARPA domain as the first instance of a YP in the DNS.
|
||||
Although a single, centrally-managed YP for well-known values such as
|
||||
TCP-port is desirable, we regard organization-specific YPs for, say,
|
||||
locally defined TCP ports as a natural extension, as are combinations
|
||||
of YPs using search lists to merge the two.
|
||||
|
||||
In examining Internet Numbers [RFC 997] and Assigned Numbers [RFC
|
||||
1010], it is clear that there are several mappings which might be of
|
||||
value. For example:
|
||||
|
||||
<assigned-network-name> <==> <IP-address>
|
||||
<autonomous-system-id> <==> <number>
|
||||
<protocol-id> <==> <number>
|
||||
<port-id> <==> <number>
|
||||
<ethernet-type> <==> <number>
|
||||
<public-data-net> <==> <IP-address>
|
||||
|
||||
Following the IN-ADDR example, the YP takes the form of a domain tree
|
||||
organized to optimize retrieval by search key and distribution via
|
||||
normal DNS rules. The name used as a key must include:
|
||||
|
||||
1. A well known origin. For example, IN-ADDR.ARPA is the
|
||||
current IP-address to host name YP.
|
||||
|
||||
2. A "from" data type. This identifies the input type of the
|
||||
mapping. This is necessary because we may be mapping
|
||||
something as anonymous as a number to any number of
|
||||
mnemonics, etc.
|
||||
|
||||
|
||||
|
||||
Mockapetris [Page 9]
|
||||
|
||||
RFC 1101 DNS Encoding of Network Names and Other Types April 1989
|
||||
|
||||
|
||||
3. A "to" data type. Since we assume several symmetrical
|
||||
mnemonic <==> number mappings, this is also necessary.
|
||||
|
||||
This ordering reflects the natural scoping of control, and hence the
|
||||
order of the components in a domain name. Thus domain names would be
|
||||
of the form:
|
||||
|
||||
<from-value>.<to-data-type>.<from-data-type>.<YP-origin>
|
||||
|
||||
To make this work, we need to define well-know strings for each of
|
||||
these metavariables, as well as encoding rules for converting a
|
||||
<from-value> into a domain name. We might define:
|
||||
|
||||
<YP-origin> :=YP
|
||||
<from-data-type>:=TCP-port | IN-ADDR | Number |
|
||||
Assigned-network-number | Name
|
||||
<to-data-type> :=<from-data-type>
|
||||
|
||||
Note that "YP" is NOT a valid country code under [ISO 3166] (although
|
||||
we may want to worry about the future), and the existence of a
|
||||
syntactically valid <to-data-type>.<from-data-type> pair does not
|
||||
imply that a meaningful mapping exists, or is even possible.
|
||||
|
||||
The encoding rules might be:
|
||||
|
||||
TCP-port Six character alphanumeric
|
||||
|
||||
IN-ADDR Reversed 4-octet decimal string
|
||||
|
||||
Number decimal integer
|
||||
|
||||
Assigned-network-number
|
||||
Reversed 4-octet decimal string
|
||||
|
||||
Name Domain name
|
||||
|
||||
6. SPECIFICS FOR YP MAPPINGS
|
||||
|
||||
6.1. TCP-PORT
|
||||
|
||||
$origin Number.TCP-port.YP.
|
||||
|
||||
23 PTR TELNET.TCP-port.Number.YP.
|
||||
25 PTR SMTP.TCP-port.Number.YP.
|
||||
|
||||
$origin TCP-port.Number.YP.
|
||||
|
||||
TELNET PTR 23.Number.TCP-port.YP.
|
||||
|
||||
|
||||
|
||||
Mockapetris [Page 10]
|
||||
|
||||
RFC 1101 DNS Encoding of Network Names and Other Types April 1989
|
||||
|
||||
|
||||
SMTP PTR 25.Number.TCP-port.YP.
|
||||
|
||||
Thus the mapping between 23 and TELNET is represented by a pair of
|
||||
PTR RRs, one for each direction of the mapping.
|
||||
|
||||
6.2. Assigned networks
|
||||
|
||||
Network numbers are assigned by the NIC and reported in "Internet
|
||||
Numbers" RFCs. To create a YP, the NIC would set up two domains:
|
||||
|
||||
Name.Assigned-network-number.YP and Assigned-network-number.YP
|
||||
|
||||
The first would contain entries of the form:
|
||||
|
||||
$origin Name.Assigned-network-number.YP.
|
||||
|
||||
0.0.0.4 PTR SATNET.Assigned-network-number.Name.YP.
|
||||
0.0.0.10 PTR ARPANET.Assigned-network-number.Name.YP.
|
||||
|
||||
The second would contain entries of the form:
|
||||
|
||||
$origin Assigned-network-number.Name.YP.
|
||||
|
||||
SATNET. PTR 0.0.0.4.Name.Assigned-network-number.YP.
|
||||
ARPANET. PTR 0.0.0.10.Name.Assigned-network-number.YP.
|
||||
|
||||
These YPs are not in conflict with the network name support described
|
||||
in the first half of this RFC since they map between ASSIGNED network
|
||||
names and numbers, not those allocated by the organizations
|
||||
themselves. That is, they document the NIC's decisions about
|
||||
allocating network numbers but do not automatically track any
|
||||
renaming performed by the new owners.
|
||||
|
||||
As a practical matter, we might want to create both of these domains
|
||||
to enable users on the Internet to experiment with centrally
|
||||
maintained support as well as the distributed version, or might want
|
||||
to implement only the allocated number to name mapping and request
|
||||
organizations to convert their allocated network names to the network
|
||||
names described in the distributed model.
|
||||
|
||||
6.3. Operational improvements
|
||||
|
||||
We could imagine that all conversion routines using these YPs might
|
||||
be instructed to use "YP.<local-domain>" followed by "YP." as a
|
||||
search list. Thus, if the organization ISI.EDU wished to define
|
||||
locally meaningful TCP-PORT, it would define the domains:
|
||||
|
||||
<TCP-port.Number.YP.ISI.EDU> and <Number.TCP-port.YP.ISI.EDU>.
|
||||
|
||||
|
||||
|
||||
Mockapetris [Page 11]
|
||||
|
||||
RFC 1101 DNS Encoding of Network Names and Other Types April 1989
|
||||
|
||||
|
||||
We could add another level of indirection in the YP lookup, defining
|
||||
the <to-data-type>.<from-data-type>.<YP-origin> nodes to point to the
|
||||
YP tree, rather than being the YP tree directly. This would enable
|
||||
entries of the form:
|
||||
|
||||
IN-ADDR.Netname.YP. PTR IN-ADDR.ARPA.
|
||||
|
||||
to splice in YPs from other origins or existing spaces.
|
||||
|
||||
Another possibility would be to shorten the RDATA section of the RRs
|
||||
which map back and forth by deleting the origin. This could be done
|
||||
either by allowing the domain name in the RDATA portion to not
|
||||
identify a real domain name, or by defining a new RR which used a
|
||||
simple text string rather than a domain name.
|
||||
|
||||
Thus, we might replace
|
||||
|
||||
$origin Assigned-network-number.Name.YP.
|
||||
|
||||
SATNET. PTR 0.0.0.4.Name.Assigned-network-number.YP.
|
||||
ARPANET. PTR 0.0.0.10.Name.Assigned-network-number.YP.
|
||||
|
||||
with
|
||||
|
||||
$origin Assigned-network-number.Name.YP.
|
||||
|
||||
SATNET. PTR 0.0.0.4.
|
||||
ARPANET. PTR 0.0.0.10.
|
||||
|
||||
or
|
||||
|
||||
$origin Assigned-network-number.Name.YP.
|
||||
|
||||
SATNET. PTT "0.0.0.4"
|
||||
ARPANET. PTT "0.0.0.10"
|
||||
|
||||
where PTT is a new type whose RDATA section is a text string.
|
||||
|
||||
7. ACKNOWLEDGMENTS
|
||||
|
||||
Drew Perkins, Mark Lottor, and Rob Austein contributed several of the
|
||||
ideas in this RFC. Numerous contributions, criticisms, and
|
||||
compromises were produced in the IETF Domain working group and the
|
||||
NAMEDROPPERS mailing list.
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
Mockapetris [Page 12]
|
||||
|
||||
RFC 1101 DNS Encoding of Network Names and Other Types April 1989
|
||||
|
||||
|
||||
8. REFERENCES
|
||||
|
||||
[HR] Braden, B., editor, "Requirements for Internet Hosts",
|
||||
RFC in preparation.
|
||||
|
||||
[ISO 3166] ISO, "Codes for the Representation of Names of
|
||||
Countries", 1981.
|
||||
|
||||
[RFC 882] Mockapetris, P., "Domain names - Concepts and
|
||||
Facilities", RFC 882, USC/Information Sciences Institute,
|
||||
November 1983.
|
||||
|
||||
Superseded by RFC 1034.
|
||||
|
||||
[RFC 883] Mockapetris, P.,"Domain names - Implementation and
|
||||
Specification", RFC 883, USC/Information Sciences
|
||||
Institute, November 1983.
|
||||
|
||||
Superceeded by RFC 1035.
|
||||
|
||||
[RFC 920] Postel, J. and J. Reynolds, "Domain Requirements", RFC
|
||||
920, October 1984.
|
||||
|
||||
Explains the naming scheme for top level domains.
|
||||
|
||||
[RFC 952] Harrenstien, K., M. Stahl, and E. Feinler, "DoD Internet
|
||||
Host Table Specification", RFC 952, SRI, October 1985.
|
||||
|
||||
Specifies the format of HOSTS.TXT, the host/address table
|
||||
replaced by the DNS
|
||||
|
||||
[RFC 973] Mockapetris, P., "Domain System Changes and
|
||||
Observations", RFC 973, USC/Information Sciences
|
||||
Institute, January 1986.
|
||||
|
||||
Describes changes to RFCs 882 and 883 and reasons for
|
||||
them.
|
||||
|
||||
[RFC 974] Partridge, C., "Mail routing and the domain system", RFC
|
||||
974, CSNET CIC BBN Labs, January 1986.
|
||||
|
||||
Describes the transition from HOSTS.TXT based mail
|
||||
addressing to the more powerful MX system used with the
|
||||
domain system.
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
Mockapetris [Page 13]
|
||||
|
||||
RFC 1101 DNS Encoding of Network Names and Other Types April 1989
|
||||
|
||||
|
||||
[RFC 997] Reynolds, J., and J. Postel, "Internet Numbers", RFC 997,
|
||||
USC/Information Sciences Institute, March 1987
|
||||
|
||||
Contains network numbers, autonomous system numbers, etc.
|
||||
|
||||
[RFC 1010] Reynolds, J., and J. Postel, "Assigned Numbers", RFC
|
||||
1010, USC/Information Sciences Institute, May 1987
|
||||
|
||||
Contains socket numbers and mnemonics for host names,
|
||||
operating systems, etc.
|
||||
|
||||
|
||||
[RFC 1034] Mockapetris, P., "Domain names - Concepts and
|
||||
Facilities", RFC 1034, USC/Information Sciences
|
||||
Institute, November 1987.
|
||||
|
||||
Introduction/overview of the DNS.
|
||||
|
||||
[RFC 1035] Mockapetris, P., "Domain names - Implementation and
|
||||
Specification", RFC 1035, USC/Information Sciences
|
||||
Institute, November 1987.
|
||||
|
||||
DNS implementation instructions.
|
||||
|
||||
Author's Address:
|
||||
|
||||
Paul Mockapetris
|
||||
USC/Information Sciences Institute
|
||||
4676 Admiralty Way
|
||||
Marina del Rey, CA 90292
|
||||
|
||||
Phone: (213) 822-1511
|
||||
|
||||
Email: PVM@ISI.EDU
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
Mockapetris [Page 14]
|
||||
|
|
@ -1,798 +0,0 @@
|
|||
|
||||
|
||||
Network Working Group J. Postel
|
||||
Request for Comments: 920 J. Reynolds
|
||||
ISI
|
||||
October 1984
|
||||
|
||||
Domain Requirements
|
||||
|
||||
|
||||
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.
|
||||
This is an official policy statement of the IAB and the DARPA.
|
||||
Distribution of this memo is unlimited.
|
||||
|
||||
Introduction
|
||||
|
||||
This memo restates and refines the requirements on establishing a
|
||||
Domain first described in RFC-881 [1]. It adds considerable detail
|
||||
to that discussion, and introduces the limited set of top level
|
||||
domains.
|
||||
|
||||
The Purpose of Domains
|
||||
|
||||
Domains are administrative entities. The purpose and expected use of
|
||||
domains is to divide the name management required of a central
|
||||
administration and assign it to sub-administrations. There are no
|
||||
geographical, topological, or technological constraints on a domain.
|
||||
The hosts in a domain need not have common hardware or software, nor
|
||||
even common protocols. Most of the requirements and limitations on
|
||||
domains are designed to ensure responsible administration.
|
||||
|
||||
The domain system is a tree-structured global name space that has a
|
||||
few top level domains. The top level domains are subdivided into
|
||||
second level domains. The second level domains may be subdivided
|
||||
into third level domains, and so on.
|
||||
|
||||
The administration of a domain requires controlling the assignment of
|
||||
names within that domain and providing access to the names and name
|
||||
related information (such as addresses) to users both inside and
|
||||
outside the domain.
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
Postel & Reynolds [Page 1]
|
||||
|
||||
|
||||
|
||||
RFC 920 October 1984
|
||||
Domain Requirements
|
||||
|
||||
|
||||
General Purpose Domains
|
||||
|
||||
While the initial domain name "ARPA" arises from the history of the
|
||||
development of this system and environment, in the future most of the
|
||||
top level names will be very general categories like "government",
|
||||
"education", or "commercial". The motivation is to provide an
|
||||
organization name that is free of undesirable semantics.
|
||||
|
||||
After a short period of initial experimentation, all current
|
||||
ARPA-Internet hosts will select some domain other than ARPA for their
|
||||
future use. The use of ARPA as a top level domain will eventually
|
||||
cease.
|
||||
|
||||
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
|
||||
|
||||
The English two letter code (alpha-2) identifying a country
|
||||
according the the ISO Standard for "Codes for the
|
||||
Representation of Names of Countries" [5].
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
Postel & Reynolds [Page 2]
|
||||
|
||||
|
||||
|
||||
RFC 920 October 1984
|
||||
Domain Requirements
|
||||
|
||||
|
||||
Multiorganizations
|
||||
|
||||
A multiorganization may be a top level domain if it is large,
|
||||
and is composed of other organizations; particularly if the
|
||||
multiorganization can not 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, any
|
||||
similarity to the real world is coincidental.
|
||||
|
||||
The UC Domain
|
||||
|
||||
It might be that a large state wide university with, say, nine
|
||||
campuses and several laboratories 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.
|
||||
However, the administrators at this university may see no need for
|
||||
the outside world to be aware of 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
|
||||
|
||||
|
||||
Postel & Reynolds [Page 3]
|
||||
|
||||
|
||||
|
||||
RFC 920 October 1984
|
||||
Domain Requirements
|
||||
|
||||
|
||||
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, but rather a computer mail exchange using a variety of
|
||||
protocols and network systems. Therefore, CSNET is not a network
|
||||
in the sense of the ARPANET, or an Ethernet, or even the
|
||||
ARPA-Internet, but rather 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 might
|
||||
have membership that cuts 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, and who 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.
|
||||
|
||||
|
||||
Postel & Reynolds [Page 4]
|
||||
|
||||
|
||||
|
||||
RFC 920 October 1984
|
||||
Domain Requirements
|
||||
|
||||
|
||||
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. The database can be prepared and copied to each domain
|
||||
server. But, the servers should be in separate machines on
|
||||
independent power supplies, et cetera; basically 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 the
|
||||
acquisition and maintenance of 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.
|
||||
|
||||
|
||||
Postel & Reynolds [Page 5]
|
||||
|
||||
|
||||
|
||||
RFC 920 October 1984
|
||||
Domain Requirements
|
||||
|
||||
|
||||
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 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
|
||||
|
||||
|
||||
Postel & Reynolds [Page 6]
|
||||
|
||||
|
||||
|
||||
RFC 920 October 1984
|
||||
Domain Requirements
|
||||
|
||||
|
||||
details of all the sub-domains and hosts to the Nth degree, but
|
||||
simply 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
|
||||
|
||||
There are very few top level domains, each of these may have many
|
||||
second level domains.
|
||||
|
||||
An initial set of top level names has been identified. Each of these
|
||||
has an administrator and an agent.
|
||||
|
||||
The top level domains:
|
||||
|
||||
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
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
Postel & Reynolds [Page 7]
|
||||
|
||||
|
||||
|
||||
RFC 920 October 1984
|
||||
Domain Requirements
|
||||
|
||||
|
||||
ORG = Organization
|
||||
|
||||
Administrator: DARPA
|
||||
Agent: The Network Information Center
|
||||
Mailbox: HOSTMASTER@SRI-NIC.ARPA
|
||||
|
||||
Countries
|
||||
|
||||
The English two letter code (alpha-2) identifying a country
|
||||
according the the ISO Standard for "Codes for the
|
||||
Representation of Names of Countries" [5].
|
||||
|
||||
As yet no country domains have been established. As they are
|
||||
established information about the administrators and agents
|
||||
will be made public, and will be listed in subsequent editions
|
||||
of this memo.
|
||||
|
||||
Multiorganizations
|
||||
|
||||
A multiorganization may be a top level domain if it is large,
|
||||
and is composed of other organizations; particularly if the
|
||||
multiorganization can not be easily classified into one of the
|
||||
categories and is international in scope.
|
||||
|
||||
As yet no multiorganization domains have been established. As
|
||||
they are established information about the administrators and
|
||||
agents will be made public, and will be listed in subsequent
|
||||
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 be registered with a top level domain
|
||||
administrator.
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
Postel & Reynolds [Page 8]
|
||||
|
||||
|
||||
|
||||
RFC 920 October 1984
|
||||
Domain Requirements
|
||||
|
||||
|
||||
Third through Nth Level Domain Requirements
|
||||
|
||||
Each second level domain may have many third level domains, etc.
|
||||
Every third level domain (through Nth level domain) must meet the
|
||||
requirements set by the administrator of the immediately higher level
|
||||
domain. Note that these may be more or less strict than the general
|
||||
requirements. One would expect the minimum size requirements to
|
||||
decrease at each level.
|
||||
|
||||
The ARPA Domain
|
||||
|
||||
At the time the implementation of the domain concept was begun it was
|
||||
thought that the set of hosts under the administrative authority of
|
||||
DARPA would make up a domain. Thus the initial domain selected was
|
||||
called ARPA. Now it is seen that there is no strong motivation for
|
||||
there to be a top level ARPA domain. 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. It is likely that for experimental purposes
|
||||
there will 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 do not desire to participate in this domain naming
|
||||
system will continue to use the HOSTS.TXT data file maintained by the
|
||||
NIC for name to address translations. This file will be kept up to
|
||||
date for the DDN hosts. However, all DDN hosts will change their
|
||||
names from "host.ARPA" to (for example) "host.DDN.MIL" some time in
|
||||
the future. The schedule for changes required in DDN hosts will be
|
||||
established by the DDN-PMO.
|
||||
|
||||
Impact on Hosts
|
||||
|
||||
What is a host administrator 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
|
||||
consider the options, then select a domain to join. Plan
|
||||
carefully for the impact that changing your host name will have on
|
||||
both your local users and on their remote correspondents.
|
||||
|
||||
For a new host, careful thought should be given (as discussed
|
||||
below). Some guidance can be obtained by comparing notes on what
|
||||
other hosts with similar administrative properties have done.
|
||||
|
||||
The owner of a host may decide which domain to join, and the
|
||||
|
||||
|
||||
Postel & Reynolds [Page 9]
|
||||
|
||||
|
||||
|
||||
RFC 920 October 1984
|
||||
Domain Requirements
|
||||
|
||||
|
||||
administrator of a domain may decide which hosts to accept into his
|
||||
domain. Thus the owner of a host and a domain administrator must
|
||||
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 possible be considered as a
|
||||
candidate for becoming any of XYZ.ARPA.ORG, XYZ.CSNET, or
|
||||
XYZ.MIT.EDU.
|
||||
|
||||
The owner of host XYZ may choose which domain to join,
|
||||
depending on which domain administrators are willing to have
|
||||
him.
|
||||
|
||||
The domain is part of the host name. Thus if USC-ISIA.ARPA changes
|
||||
its domain affiliation to DDN.MIL to become USC-ISIA.DDN.MIL, it has
|
||||
changed its name. This means that any previous references to
|
||||
USC-ISIA.ARPA are now out of date. Such old references may include
|
||||
private host name to address tables, and any recorded information
|
||||
about mailboxes such as mailing lists, the headers of old messages,
|
||||
printed directories, and peoples' memories.
|
||||
|
||||
The experience of the DARPA community suggests that changing the name
|
||||
of a host is somewhat painful. It is recommended that careful
|
||||
thought be given to choosing a new name for a host - which includes
|
||||
selecting 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 investigating 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 of these domains. This means the NIC is
|
||||
responsible for the management of these domains and the
|
||||
registration of the second level domains or hosts (if at the
|
||||
second level) in these domains.
|
||||
|
||||
|
||||
|
||||
Postel & Reynolds [Page 10]
|
||||
|
||||
|
||||
|
||||
RFC 920 October 1984
|
||||
Domain Requirements
|
||||
|
||||
|
||||
It may be reasonable for the administration of some of these
|
||||
domains to be taken on by other authorities in the future. It is
|
||||
certainly not desired that the NIC be the administrator of all top
|
||||
level domains forever.
|
||||
|
||||
Prototypical Questions
|
||||
|
||||
To establish a domain, the following information must be provided to
|
||||
the NIC Domain Registrar (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
|
||||
|
||||
2) 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
|
||||
|
||||
3) 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.
|
||||
|
||||
|
||||
|
||||
Postel & Reynolds [Page 11]
|
||||
|
||||
|
||||
|
||||
RFC 920 October 1984
|
||||
Domain Requirements
|
||||
|
||||
|
||||
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
|
||||
|
||||
4) 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
|
||||
|
||||
5) 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
|
||||
|
||||
6) 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.
|
||||
|
||||
|
||||
|
||||
Postel & Reynolds [Page 12]
|
||||
|
||||
|
||||
|
||||
RFC 920 October 1984
|
||||
Domain Requirements
|
||||
|
||||
|
||||
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.
|
||||
|
||||
7) 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
|
||||
|
||||
8) 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
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
Postel & Reynolds [Page 13]
|
||||
|
||||
|
||||
|
||||
RFC 920 October 1984
|
||||
Domain Requirements
|
||||
|
||||
|
||||
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.
|
||||
|
||||
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.
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
Postel & Reynolds [Page 14]
|
||||
|
|
@ -1,399 +0,0 @@
|
|||
|
||||
|
||||
Network Working Group Craig Partridge
|
||||
Request for Comments: 974 CSNET CIC BBN Laboratories Inc
|
||||
January 1986
|
||||
|
||||
MAIL ROUTING AND THE DOMAIN SYSTEM
|
||||
|
||||
|
||||
Status of this Memo
|
||||
|
||||
This RFC presents a description of how mail systems on the Internet
|
||||
are expected to route messages based on information from the domain
|
||||
system described in RFCs 882, 883 and 973. Distribution of this memo
|
||||
is unlimited.
|
||||
|
||||
Introduction
|
||||
|
||||
The purpose of this memo is to explain how mailers are to decide how
|
||||
to route a message addressed to a given Internet domain name. This
|
||||
involves a discussion of how mailers interpret MX RRs, which are used
|
||||
for message routing. Note that this memo makes no statement about
|
||||
how mailers are to deal with MB and MG RRs, which are used for
|
||||
interpreting mailbox names.
|
||||
|
||||
Under RFC-882 and RFC-883 certain assumptions about mail addresses
|
||||
have been changed. Up to now, one could usually assume that if a
|
||||
message was addressed to a mailbox, for example, at LOKI.BBN.COM,
|
||||
that one could just open an SMTP connection to LOKI.BBN.COM and pass
|
||||
the message along. This system broke down in certain situations,
|
||||
such as for certain UUCP and CSNET hosts which were not directly
|
||||
attached to the Internet, but these hosts could be handled as special
|
||||
cases in configuration files (for example, most mailers were set up
|
||||
to automatically forward mail addressed to a CSNET host to
|
||||
CSNET-RELAY.ARPA).
|
||||
|
||||
Under domains, one cannot simply open a connection to LOKI.BBN.COM,
|
||||
but must instead ask the domain system where messages to LOKI.BBN.COM
|
||||
are to be delivered. And the domain system may direct a mailer to
|
||||
deliver messages to an entirely different host, such as SH.CS.NET.
|
||||
Or, in a more complicated case, the mailer may learn that it has a
|
||||
choice of routes to LOKI.BBN.COM. This memo is essentially a set of
|
||||
guidelines on how mailers should behave in this more complex world.
|
||||
|
||||
Readers are expected to be familiar with RFCs 882, 883, and the
|
||||
updates to them (e.g., RFC-973).
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
Partridge [Page 1]
|
||||
|
||||
|
||||
|
||||
RFC 974 January 1986
|
||||
Mail Routing and the Domain System
|
||||
|
||||
|
||||
What the Domain Servers Know
|
||||
|
||||
The domain servers store information as a series of resource records
|
||||
(RRs), each of which contains a particular piece of information about
|
||||
a given domain name (which is usually, but not always, a host). The
|
||||
simplest way to think of a RR is as a typed pair of datum, a domain
|
||||
name matched with relevant data, and stored with some additional type
|
||||
information to help systems determine when the RR is relevant. For
|
||||
the purposes of message routing, the system stores RRs known as MX
|
||||
RRs. Each MX matches a domain name with two pieces of data, a
|
||||
preference value (an unsigned 16-bit integer), and the name of a
|
||||
host. The preference number is used to indicate in what order the
|
||||
mailer should attempt deliver to the MX hosts, with the lowest
|
||||
numbered MX being the one to try first. Multiple MXs with the same
|
||||
preference are permitted and have the same priority.
|
||||
|
||||
In addition to mail information, the servers store certain other
|
||||
types of RR's which mailers may encounter or choose to use. These
|
||||
are: the canonical name (CNAME) RR, which simply states that the
|
||||
domain name queried for is actually an alias for another domain name,
|
||||
which is the proper, or canonical, name; and the Well Known Service
|
||||
(WKS) RR, which stores information about network services (such as
|
||||
SMTP) a given domain name supports.
|
||||
|
||||
General Routing Guidelines
|
||||
|
||||
Before delving into a detailed discussion of how mailers are expected
|
||||
to do mail routing, it would seem to make sense to give a brief
|
||||
overview of how this memo is approaching the problems that routing
|
||||
poses.
|
||||
|
||||
The first major principle is derived from the definition of the
|
||||
preference field in MX records, and is intended to prevent mail
|
||||
looping. If the mailer is on a host which is listed as an MX for the
|
||||
destination host, the mailer may only deliver to an MX which has a
|
||||
lower preference count than its own host.
|
||||
|
||||
It is also possible to cause mail looping because routing information
|
||||
is out of date or incomplete. Out of date information is only a
|
||||
problem when domain tables are changed. The changes will not be
|
||||
known to all affected hosts until their resolver caches time out.
|
||||
There is no way to ensure that this will not happen short of
|
||||
requiring mailers and their resolvers to always send their queries to
|
||||
an authoritative server, and never use data stored in a cache. This
|
||||
is an impractical solution, since eliminating resolver caching would
|
||||
make mailing inordinately expensive. What is more, the out-of-date
|
||||
RR problem should not happen if, when a domain table is changed,
|
||||
|
||||
|
||||
Partridge [Page 2]
|
||||
|
||||
|
||||
|
||||
RFC 974 January 1986
|
||||
Mail Routing and the Domain System
|
||||
|
||||
|
||||
affected hosts (those in the list of MXs) have their resolver caches
|
||||
flushed. In other words, given proper precautions, mail looping as a
|
||||
result of domain information should be avoidable, without requiring
|
||||
mailers to query authoritative servers. (The appropriate precaution
|
||||
is to check with a host's administrator before adding that host to a
|
||||
list of MXs).
|
||||
|
||||
The incomplete data problem also requires some care when handling
|
||||
domain queries. If the answer section of a query is incomplete
|
||||
critical MX RRs may be left out. This may result in mail looping, or
|
||||
in a message being mistakenly labelled undeliverable. As a result,
|
||||
mailers may only accept responses from the domain system which have
|
||||
complete answer sections. Note that this entire problem can be
|
||||
avoided by only using virtual circuits for queries, but since this
|
||||
situation is likely to be very rare and datagrams are the preferred
|
||||
way to interact with the domain system, implementors should probably
|
||||
just ensure that their mailer will repeat a query with virtual
|
||||
circuits should the truncation bit ever be set.
|
||||
|
||||
Determining Where to Send a Message
|
||||
|
||||
The explanation of how mailers should decide how to route a message
|
||||
is discussed in terms of the problem of a mailer on a host with
|
||||
domain name LOCAL trying to deliver a message addressed to the domain
|
||||
name REMOTE. Both LOCAL and REMOTE are assumed to be syntactically
|
||||
correct domain names. Furthermore, LOCAL is assumed to be the
|
||||
official name for the host on which the mailer resides (i.e., it is
|
||||
not a alias).
|
||||
|
||||
Issuing a Query
|
||||
|
||||
The first step for the mailer at LOCAL is to issue a query for MX RRs
|
||||
for REMOTE. It is strongly urged that this step be taken every time
|
||||
a mailer attempts to send the message. The hope is that changes in
|
||||
the domain database will rapidly be used by mailers, and thus domain
|
||||
administrators will be able to re-route in-transit messages for
|
||||
defective hosts by simply changing their domain databases.
|
||||
|
||||
Certain responses to the query are considered errors:
|
||||
|
||||
Getting no response to the query. The domain server the mailer
|
||||
queried never sends anything back. (This is distinct from an
|
||||
answer which contains no answers to the query, which is not an
|
||||
error).
|
||||
|
||||
Getting a response in which the truncation field of the header is
|
||||
|
||||
|
||||
|
||||
Partridge [Page 3]
|
||||
|
||||
|
||||
|
||||
RFC 974 January 1986
|
||||
Mail Routing and the Domain System
|
||||
|
||||
|
||||
set. (Recall discussion of incomplete queries above). Mailers
|
||||
may not use responses of this type, and should repeat the query
|
||||
using virtual circuits instead of datagrams.
|
||||
|
||||
Getting a response in which the response code is non-zero.
|
||||
|
||||
Mailers are expected to do something reasonable in the face of an
|
||||
error. The behaviour for each type of error is not specified here,
|
||||
but implementors should note that different types of errors should
|
||||
probably be treated differently. For example, a response code of
|
||||
"non-existent domain" should probably cause the message to be
|
||||
returned to the sender as invalid, while a response code of "server
|
||||
failure" should probably cause the message to be retried later.
|
||||
|
||||
There is one other special case. If the response contains an answer
|
||||
which is a CNAME RR, it indicates that REMOTE is actually an alias
|
||||
for some other domain name. The query should be repeated with the
|
||||
canonical domain name.
|
||||
|
||||
If the response does not contain an error response, and does not
|
||||
contain aliases, its answer section should be a (possibly zero
|
||||
length) list of MX RRs for domain name REMOTE (or REMOTE's true
|
||||
domain name if REMOTE was a alias). The next section describes how
|
||||
this list is interpreted.
|
||||
|
||||
Interpreting the List of MX RRs
|
||||
|
||||
NOTE: This section only discusses how mailers choose which names to
|
||||
try to deliver a message to, working from a list of RR's. It does
|
||||
not discuss how the mailers actually make delivery. Where ever
|
||||
delivering a message is mentioned, all that is meant is that the
|
||||
mailer should do whatever it needs to do to transfer a message to a
|
||||
remote site, given a domain name for that site. (For example, an
|
||||
SMTP mailer will try to get an address for the domain name, which
|
||||
involves another query to the domain system, and then, if it gets an
|
||||
address, connect to the SMTP TCP port). The mechanics of actually
|
||||
transferring the message over the network to the address associated
|
||||
with a given domain name is not within the scope of this memo.
|
||||
|
||||
It is possible that the list of MXs in the response to the query will
|
||||
be empty. This is a special case. If the list is empty, mailers
|
||||
should treat it as if it contained one RR, an MX RR with a preference
|
||||
value of 0, and a host name of REMOTE. (I.e., REMOTE is its only
|
||||
MX). In addition, the mailer should do no further processing on the
|
||||
list, but should attempt to deliver the message to REMOTE. The idea
|
||||
|
||||
|
||||
|
||||
|
||||
Partridge [Page 4]
|
||||
|
||||
|
||||
|
||||
RFC 974 January 1986
|
||||
Mail Routing and the Domain System
|
||||
|
||||
|
||||
here is that if a domain fails to advertise any information about a
|
||||
particular name we will give it the benefit of the doubt and attempt
|
||||
delivery.
|
||||
|
||||
If the list is not empty, the mailer should remove irrelevant RR's
|
||||
from the list according to the following steps. Note that the order
|
||||
is significant.
|
||||
|
||||
For each MX, a WKS query should be issued to see if the domain
|
||||
name listed actually supports the mail service desired. MX RRs
|
||||
which list domain names which do not support the service should be
|
||||
discarded. This step is optional, but strongly encouraged.
|
||||
|
||||
If the domain name LOCAL is listed as an MX RR, all MX RRs with a
|
||||
preference value greater than or equal to that of LOCAL's must be
|
||||
discarded.
|
||||
|
||||
After removing irrelevant RRs, the list can again be empty. This is
|
||||
now an error condition and can occur in several ways. The simplest
|
||||
case is that the WKS queries have discovered that none of the hosts
|
||||
listed supports the mail service desired. The message is thus deemed
|
||||
undeliverable, though extremely persistent mail systems might want to
|
||||
try a delivery to REMOTE's address (if it exists) before returning
|
||||
the message. Another, more dangerous, possibility is that the domain
|
||||
system believes that LOCAL is handling message for REMOTE, but the
|
||||
mailer on LOCAL is not set up to handle mail for REMOTE. For
|
||||
example, if the domain system lists LOCAL as the only MX for REMOTE,
|
||||
LOCAL will delete all the entries in the list. But LOCAL is
|
||||
presumably querying the domain system because it didn't know what to
|
||||
do with a message addressed to REMOTE. Clearly something is wrong.
|
||||
How a mailer chooses to handle these situations is to some extent
|
||||
implementation dependent, and is thus left to the implementor's
|
||||
discretion.
|
||||
|
||||
If the list of MX RRs is not empty, the mailer should try to deliver
|
||||
the message to the MXs in order (lowest preference value tried
|
||||
first). The mailer is required to attempt delivery to the lowest
|
||||
valued MX. Implementors are encouraged to write mailers so that they
|
||||
try the MXs in order until one of the MXs accepts the message, or all
|
||||
the MXs have been tried. A somewhat less demanding system, in which
|
||||
a fixed number of MXs is tried, is also reasonable. Note that
|
||||
multiple MXs may have the same preference value. In this case, all
|
||||
MXs at with a given value must be tried before any of a higher value
|
||||
are tried. In addition, in the special case in which there are
|
||||
several MXs with the lowest preference value, all of them should be
|
||||
tried before a message is deemed undeliverable.
|
||||
|
||||
|
||||
|
||||
Partridge [Page 5]
|
||||
|
||||
|
||||
|
||||
RFC 974 January 1986
|
||||
Mail Routing and the Domain System
|
||||
|
||||
|
||||
Minor Special Issues
|
||||
|
||||
There are a couple of special issues left out of the preceding
|
||||
section because they complicated the discussion. They are treated
|
||||
here in no particular order.
|
||||
|
||||
Wildcard names, those containing the character '*' in them, may be
|
||||
used for mail routing. There are likely to be servers on the network
|
||||
which simply state that any mail to a domain is to be routed through
|
||||
a relay. For example, at the time that this RFC is being written, all
|
||||
mail to hosts in the domain IL is routed through RELAY.CS.NET. This
|
||||
is done by creating a wildcard RR, which states that *.IL has an MX
|
||||
of RELAY.CS.NET. This should be transparent to the mailer since the
|
||||
domain servers will hide this wildcard match. (If it matches *.IL
|
||||
with HUJI.IL for example, a domain server will return an RR
|
||||
containing HUJI.IL, not *.IL). If by some accident a mailer receives
|
||||
an RR with a wildcard domain name in its name or data section it
|
||||
should discard the RR.
|
||||
|
||||
Note that the algorithm to delete irrelevant RRs breaks if LOCAL has
|
||||
a alias and the alias is listed in the MX records for REMOTE. (E.g.
|
||||
REMOTE has an MX of ALIAS, where ALIAS has a CNAME of LOCAL). This
|
||||
can be avoided if aliases are never used in the data section of MX
|
||||
RRs.
|
||||
|
||||
Implementors should understand that the query and interpretation of
|
||||
the query is only performed for REMOTE. It is not repeated for the
|
||||
MX RRs listed for REMOTE. You cannot try to support more extravagant
|
||||
mail routing by building a chain of MXs. (E.g. UNIX.BBN.COM is an MX
|
||||
for RELAY.CS.NET and RELAY.CS.NET is an MX for all the hosts in .IL,
|
||||
but this does not mean that UNIX.BBN.COM accepts any responsibility
|
||||
for mail for .IL).
|
||||
|
||||
Finally, it should be noted that this is a standard for routing on
|
||||
the Internet. Mailers serving hosts which lie on multiple networks
|
||||
will presumably have to make some decisions about which network to
|
||||
route through. This decision making is outside the scope of this
|
||||
memo, although mailers may well use the domain system to help them
|
||||
decide. However, once a mailer decides to deliver a message via the
|
||||
Internet it must apply these rules to route the message.
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
Partridge [Page 6]
|
||||
|
||||
|
||||
|
||||
RFC 974 January 1986
|
||||
Mail Routing and the Domain System
|
||||
|
||||
|
||||
Examples
|
||||
|
||||
To illustrate the discussion above, here are three examples of how
|
||||
mailers should route messages. All examples work with the following
|
||||
database:
|
||||
|
||||
A.EXAMPLE.ORG IN MX 10 A.EXAMPLE.ORG
|
||||
A.EXAMPLE.ORG IN MX 15 B.EXAMPLE.ORG
|
||||
A.EXAMPLE.ORG IN MX 20 C.EXAMPLE.ORG
|
||||
A.EXAMPLE.ORG IN WKS 10.0.0.1 TCP SMTP
|
||||
|
||||
B.EXAMPLE.ORG IN MX 0 B.EXAMPLE.ORG
|
||||
B.EXAMPLE.ORG IN MX 10 C.EXAMPLE.ORG
|
||||
B.EXAMPLE.ORG IN WKS 10.0.0.2 TCP SMTP
|
||||
|
||||
C.EXAMPLE.ORG IN MX 0 C.EXAMPLE.ORG
|
||||
C.EXAMPLE.ORG IN WKS 10.0.0.3 TCP SMTP
|
||||
|
||||
D.EXAMPLE.ORG IN MX 0 D.EXAMPLE.ORG
|
||||
D.EXAMPLE.ORG IN MX 0 C.EXAMPLE.ORG
|
||||
D.EXAMPLE.ORG IN WKS 10.0.0.4 TCP SMTP
|
||||
|
||||
In the first example, an SMTP mailer on D.EXAMPLE.ORG is trying to
|
||||
deliver a message addressed to A.EXAMPLE.ORG. From the answer to its
|
||||
query, it learns that A.EXAMPLE.ORG has three MX RRs. D.EXAMPLE.ORG
|
||||
is not one of the MX RRs and all three MXs support SMTP mail
|
||||
(determined from the WKS entries), so none of the MXs are eliminated.
|
||||
The mailer is obliged to try to deliver to A.EXAMPLE.ORG as the
|
||||
lowest valued MX. If it cannot reach A.EXAMPLE.ORG it can (but is
|
||||
not required to) try B.EXAMPLE.ORG. and if B.EXAMPLE.ORG is not
|
||||
responding, it can try C.EXAMPLE.ORG.
|
||||
|
||||
In the second example, the mailer is on B.EXAMPLE.ORG, and is again
|
||||
trying to deliver a message addressed to A.EXAMPLE.ORG. There are
|
||||
once again three MX RRs for A.EXAMPLE.ORG, but in this case the
|
||||
mailer must discard the RRs for itself and C.EXAMPLE.ORG (because the
|
||||
MX RR for C.EXAMPLE.ORG has a higher preference value than the RR for
|
||||
B.EXAMPLE.ORG). It is left only with the RR for A.EXAMPLE.ORG, and
|
||||
can only try delivery to A.EXAMPLE.ORG.
|
||||
|
||||
In the third example, consider a mailer on A.EXAMPLE.ORG trying to
|
||||
deliver a message to D.EXAMPLE.ORG. In this case there are only two
|
||||
MX RRs, both with the same preference value. Either MX will accept
|
||||
messages for D.EXAMPLE.ORG. The mailer should try one MX first (which
|
||||
one is up to the mailer, though D.EXAMPLE.ORG seems most reasonable),
|
||||
and if that delivery fails should try the other MX (e.g.
|
||||
C.EXAMPLE.ORG).
|
||||
|
||||
|
||||
Partridge [Page 7]
|
||||
|
Loading…
Reference in New Issue