Universal host table
RFC 752

Document Type RFC - Unknown (January 1979; No errata)
Last updated 2013-03-02
Stream Legacy
Formats plain text html pdf htmlized bibtex
Stream Legacy state (None)
Consensus Boilerplate Unknown
RFC Editor Note (None)
IESG IESG state RFC 752 (Unknown)
Telechat date
Responsible AD (None)
Send notices to (None)
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]

NWG/RFC# 752                                   MRC 2-Jan-79 01:22  nnnnn
A Universal Host Table

system at Stanford, where it eventually replaced the former host  table.
Recently, support  for  multiple  networks  has  been  added,  including
allowing hosts  to be  on more  than one  network, and  a more  flexible
compiler than assembler macros was written (the program which  generates
the binary file now does the compiling).


     In the descriptions below, angle  brackets and lower case are  used
as a meta-linguistic device.   It should be noted  that spaces and  tabs
are often ignored  and may be  used freely in  the source format,  while
commas are always  explicit delimiters.  In  addition, semicolon  always
begins a commentary and  everything after the semicolon  on the line  is
ignored; however, any text before the semicolon on the line is processed
as usual.  The syntax rules should  be obvious by examining the text  of
the host  table  in  the  appendix.   Names  are  alphanumeric  strings,
consisting of the set (A-Z, 0-9, and - (i.e., dash)).   Quoting is  used
to separate examples from the text and is not part of the example.

     The host table consists of commentary and two types of text  lines.
The commentary  lines begin  with a  semicolon and  are ignored  by  the
compiler.  They are intended to  provide information for a human  reader
or editor of the host table.  The commentary lines may be in mixed case,
however the text lines are by  tradition entirely in upper case.   There
are two kinds of text lines:  host and network.

     Network text lines begin with the word "NET" followed by a space or
tab.  These specify a network name  and the network number (as  assigned
by Postel)  for that  network.   As there  currently are  no  officially
assigned network names, suitable names were assigned more or less  based
Show full document text