NWG/RFC# 752 MRC 2-Jan-79 01:22 nnnnn
A Universal Host Table
Network Working Group Mark Crispin
Request for Comments 752 SU-AI
NIC nnnnn 2 January 1979
A Universal Host Table
ABSTRACT:
The network host table in use at MIT and Stanford is described.
This host table is superior to the NIC and Tenex host tables in several
ways. A binary file, compiled from this host table, is also described.
This file is used by subsystems on MIT's ITS and Stanford's WAITS
timesharing systems for efficiency in host and network lookups.
HISTORY:
As with many other sites on the Arpanet, we found the NIC's host
table unsuited to our needs. Part of the problem was because the NIC
host table was often inaccurate and all too often failed to include
several nicknames in common usage in our communities. In addition, the
NIC host table's format was awkward for user programs to use, especially
those which wanted to have the host table mapped into memory in some
sort of structured binary form for efficient lookups. Finally, the NIC
host table neglects to include some essential information.
The ITS host table was originally designed to be compiled along
with a network handling program (MIDAS, the PDP-10 assembler used, has a
pseudo-op to insert a file into an assembly). In order to make the host
table palatable to the assembler, every comment line began with a
semicolon, and every actual data line began with the word HOST. Each
program which used the host table defined HOST as an assembly macro
before inserting the host table into the assembly.
This worked well for a long while, but as the network grew, hosts
changed their status more frequently and more network programs required
reassembly when the host table was updated. If the appropriate person
for a particular subsystem was not around, it could be a while before
that subsystem updated its host table.
In the spring of 1977, design started on a binary file which would
be placed on a system directory and which all subsystems which wanted to
access host table information would read in. The format was carefully
designed to be general enough to satisfy the needs of all the diverse
subsystems. All of these subsystems required modification to use the
new format but these modifications turned out to be trivial compared to
the benefits from not having to recompile every subsystem.
Later the host table and binary file were imported to the WAITS
Mark Crispin [page 1]