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