Suggestions for improved host table distribution
A request for comments on how to improve the distribution and updating of host name tables across the Internet.
Crispin, M.R., "Suggestions for improved host table distribution", RFC 849, DOI 10.17487/RFC0849, May 1983, <https://www.rfc-editor.org/info/rfc849>.
@misc{rfc849,
series = {Request for Comments},
number = 849,
howpublished = {RFC 849},
publisher = {RFC Editor},
doi = {10.17487/RFC0849},
url = {https://www.rfc-editor.org/info/rfc849},
author = {M.R. Crispin},
title = {{Suggestions for improved host table distribution}},
pagetotal = 2,
year = 1983,
month = may,
} RFC text
Network Working Group Mark Crispin
Request for Comments: 849 Stanford
May 1983
SUGGESTIONS FOR IMPROVED HOST TABLE DISTRIBUTION
This RFC may be something unique among modern-day RFC's, an RFC
that actually is a request for comments. The issue dealt with is that
of a naming registry update procedure, both as exists currently and what
could exist in the future. None of the proposed solutions are intended
as standards at this time; rather it is hoped that a general consensus
will emerge as the appropriate solution, leaving eventually to the
adoption of standards.
THE PROBLEM
I am somewhat dissatisfied with the current level of Internet name
service and name registry updating. Each site is expected to
individually maintain a copy of the [SRI-NIC]<NETINFO>HOSTS.TXT file,
and in fact has to, since SRI-NIC is simply not reliable enough to
depend upon as a name server. Neither the Tenex operating system nor
the Foonly computer are known for exceptional reliability or
performance. Probably they serve the NIC's internal operations well;
that is not at issue. What is needed is a name service that is
available at all times. Only then could a site sacrifice maintaining
its own local copy of "the host table".
The NIC indirectly acknowledges this, by providing a service by
which the entire Internet name registry can be dumped, as well as
ANONYMOUS FTP access to the <NETINFO>HOSTS.TXT file. The problem is,
some individual has to know to retrieve the latest version of the file
from the NIC. The NIC has not always been careful to announce updates
to the name registry. My experience with maintaining an independent
name registry from the NIC's in the past leads me to appreciate the
NIC's problems.
There also seems to be no good automated way to cross-check the
version at the local site with the NIC's. It is clearly inefficient to
go to the effort of retrieving the same version of the host table that
already has been installed on site.
SOME SOLUTIONS
One could argue that a solution is to replace or augment the
present SRI-NIC system with VAX Unix system(s) dedicated to name service
and network information. A reliable and highly-responsive name service
would ultimately lead to the elimination of the necessity to maintain
copies of the registry locally. This solution requires money, time, and
effort, which may or may not be immediately available; it must therefore
be considered a longer-term solution.
A more short-term solution is to make possible faster and more
thorough updating of the various local copies of the name tables. I
have several suggestions in this area, and would like to hear comments
(I said this was an RFC that requested comments!):
(1) a new protocol by which the NIC could ship updated name
registries to the hosts itself. This would take the form of a server
process on each site listening on a registered port for updates from
certain "trusted" sites (specifically SRI-NIC but possibly other sites
as well). This would allow for nearly immediate updates for cooperating
sites, provided that the hosts in question are up. There should be some
sort of checksum applied to the updated name registry, to make sure it
arrived complete and intact.
(2) a new protocol by which the NIC will report the current
"version" of the host table. Tenex and TOPS-20 sites would find the use
of the file generation number natural. I presently maintain a
SYSTEM:HOSTS.TXT with the same generation as it existed on the NIC, and
just check at the NIC from time to time to see if the generation number
changed there. I would like to automate this.
(3) A variation on (1), whereby the NIC would mail the updated host
table to a mailing list of "host table update" recepients and each site
would establish its own update procedures. This is the simplest to
implement for the NIC, but is fraught with all sorts of problems. Mail
is not a good means for bulk-shipping files to many recepients,
especially when the files are likely to become hugh.
I like (1) best of these three, because that would guarantee
immediate updating without a local necessity to periodically poll the
NIC. That does place the burden on the NIC to make sure all sites
receive the update, and also requires that the NIC remember which sites
are dead to retry the update later. This leads me to what I think is
the best solution, which is:
(4) A combination of (1) and (2). The NIC will ship updates to all
hosts which are registered with it to receive the updates, and will try
only once. Each site, as part of its system startup procedure, will run
a program to poll the NIC for a possible update and if one is available
retrieve it. As a backup, there could also be a periodic poll on, say,
a daily basis.
AI ELI5
On this page
§1The Problem with Host Table Updates
In 1983, each Internet site was expected to maintain its own copy of the master HOSTS.TXT file from the NIC (SRI-NIC). However, SRI-NIC was not reliable enough to depend on as a live name server, so sites could not simply query it for each lookup. The NIC ran on Tenex and Foonly systems that, while serving internal NIC needs, lacked the high availability and performance required for a critical network service.
The NIC offered both a service to dump the entire name registry and anonymous FTP access to HOSTS.TXT, but someone at each site had to know to retrieve the latest version. The NIC did not reliably announce updates, and there was no automated way for a site to check whether its local copy was current.
The NIC had the right list, but their computer was not fast enough to answer everyone. So everyone copied the list locally. But no one knew when the copy was out of date.
§2Four Proposed Solutions
The author proposes four solutions, in order of increasing complexity and automation. Solution (1) is a new push protocol: a server process on each site listens on a registered port, and the NIC ships updates directly to registered sites, with a checksum to verify integrity. Solution (2) is a version-checking protocol where the NIC reports the current version of the host table, allowing sites to check if their copy is current without transferring the entire file.
Solution (3) uses email to mail updated host tables to a list of recipients, but the author notes this is impractical for large files. Solution (4) combines approaches (1) and (2): the NIC pushes updates to registered sites (trying once), and each site runs a program at startup and periodically (e.g., daily) to poll the NIC for possible updates as a backup mechanism.
Option one: NIC sends you updates whenever it changes something. Option two: you call and ask if anything changed. Option three: it emails you (not great). Option four: it tries to send but you also call to check—the best plan.
§3The Long-Term Solution
The author also notes that a longer-term solution would be to replace or augment the SRI-NIC system with reliable, dedicated VAX Unix systems offering a highly responsive name service. Such a service would eventually eliminate the need for sites to maintain local copies of the registry. However, this solution required money, time, and effort that might not be immediately available.
The RFC explicitly states that none of the proposed solutions are intended as standards at the time; rather, the hope is that discussion will lead to a general consensus on the appropriate solution. The document is a genuine request for comments from the community on the best path forward.
The real fix might be to build a really reliable central name service so no one needs local copies. But that would take time and money. For now, the author asks everyone: which of these ideas is best?