1. RFC 0752
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


     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.


     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]