RFC752 Universal host table

0752 Universal host table. M.R. Crispin. January 1979. (Format: TXT=33793 bytes) (Status: UNKNOWN)

日本語訳
RFC一覧

参照

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]

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).


THE HOST TABLE:

     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
on the  English names in Postel's  "Assigned Numbers",  RFC 750.   These
names may be changed in the  future (however, some software has come  to
depend on the names  ARPA, CHAOS, and DIAL  for the ARPANET,  Chaos net,
and Dialnet).

     The format of a network text line is:

NET ,

     For example, the ARPANET's entry would look something like:

NET ARPA,10

     Host text lines begin with the  word "HOST" followed by a space  or
tab.  These specify a host name, a host address list, whether this  host
is a "user" or a "server", the name of the host's operating system,  the
name of the host's  machine type, and a  nick name list.  The  operating
system, machine type,  and/or nick name  list may be  omitted, in  which
case they default to unknown or null.



Mark Crispin                                                    [page 2]

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


     The host name is a unique  name string for that host.  For  ARPANET
sites, it is the  official name for  that host as  assigned by the  NIC.
For other  networks,  it is  whatever  name is  in  common use  on  that
network.   So  far   there  haven't   been  any   naming  conflicts   on
multiple-network hosts.

     The host address list is either a single host address, or a list of
host addresses  in square  brackets  and delimited  by commas.   A  host
address consists of a network name,  a space, and the host's address  on
that network.  If the network name is not specified, it defaults to ARPA
(i.e., "ARPA 0/11" and "0/11" are equivalent).  Different networks parse
host addresses in different ways:

          ARPANET addresses are in BBN-style host number slash  IMP
     number notation, with both numbers being decimal.  Hence  host
     2 on IMP 6 is represented as "2/6".  Of course, this format is
     backwards, but it has become  enough of a network standard  to
     force its use.   Old-style octal addresses  are allowed  (e.g.
     "206" for "2/6") but are no longer used or supported.

          CHAOS net  addresses  are  a single  octal  number,  e.g.
     "CHAOS 2026", and specify the host's address on the CHAOS net.

          Dialnet addresses  are a  ten-digit decimal  number,  and
     specify the TelCo (phone) number of the host's Dialnet port.

     The definition  of  user vs.  server  is generally  taken  to  mean
"according to the NIC" for ARPANET hosts.  A server is considered to  be
a host for which making a connection to a remote service is a meaningful
operation.  For some hosts with limited servers, the definition often is
changed  from   the  official   one,  depending   upon  the   individual
circumstances.   For  example,  "users"  who  have  an  FTP  server  and
occasionally a TELNET server may be called "servers".  On the other hand
a "server" which does not accept MAIL and rejects MAIL in a pathological
way (e.g. by hanging) might be labelled a "user".

     The name of  the host's operating  system is a  string much as  the
host name is, such as  "ITS", "TOPS-20", or "MULTICS".  Some  subsystems
use this information to predict  certain behavior of the remote  server.
For example,  a MAIL  user  subsystem knows  that for  operating  system
"MULTICS" it has to  log in as user  NETML before attempting to  deliver
the mail.

     The name of the host's machine type  is a string as well.  For  the
convenience of several subsystems, all DEC "PDP-n" machines are  entered
without the dash, and all PDP-10 like machines (e.g., KL-20, MAXC, etc.)
are considered to be PDP-10's, which by the way gets entered as  "PDP10"
since that is a single 36-bit  word in 7-bit ASCII.  Like the  operating
system name,  several  subsystems use  this  information as  well.   For
example, a PDP-10 FTP  user process will try  to negotiate 36-bit  image



Mark Crispin                                                    [page 3]

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


mode with  another  PDP-10; or  a  Tenex or  Tops-20  site will  try  to
negotiate paged transfers with another Tenex or Tops-20.

     The nick name list is in  square brackets and consists of a  series
of names delimited by commas.  There may be any number of nick names.

     The format of a host text line is:

HOST ,,,,,

     For example, an entry might look something like:

HOST MIT-AI,[ARPA 2/6,CHAOS 2026],SERVER,ITS,PDP10,[AI,MITAI]

this entry describes a host named "MIT-AI" on two networks (ARPANET  and
CHAOS net), with ARPANET address "2/6" and CHAOS net address "2026".  It
is a server site, running an  operating system called  "ITS" on  "PDP10"
hardware.  It has two nicknames, "AI" and "MITAI".


THE HOST TABLE BINARY FILE:

     The host table binary file is  a 36-bit data file; consequently  it
probably is only of  interest to PDP-10 sites.   The format of the  file
is:

     FILE HEADER:

word 0          The name of this file in SIXBIT.  Currently HOSTS2.
word 1          The name of the source file in SIXBIT.  Always HOSTS.
word 2          The version of the source file in SIXBIT  if compiled on
                an ITS site, otherwise the name of the site in SIXBIT.
word 3          The directory name of the source, usually in SIXBIT.
word 4          The name of the site in SIXBIT.
word 5          The user name who compiled the file, usually in SIXBIT.
word 6          Date of compilation as SIXBIT YYMMDD.
word 7          Time of compilation as SIXBIT HHMMSS.
word 8          Address in file of NAME table.
word 9          Address in file of SITE table.
word 10         Address in file of NETWORK table.
                

     NETWORK table:

word 0          Number of entries in table.
word 1          Number of words per entry, currently 2.
 entry word 0   Network number assigned by Postel.
 entry word 1   Left half: Address in file of name of network in ASCIZ.
                Right half: Address in file of network's  ADDRESS table
                 (zero means no ADDRESS table, i.e. no hosts).



Mark Crispin                                                    [page 4]

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


     ADDRESS table (one per network):

word 0          Number of entries in table.
word 1          Number of words per entry, currently 2.
 entry word 0   Network address of this entry, including network number.
                 For ARPANET addresses this is in the format:
                  xxx000,,000000  Network number
                  000xxx,,xxx000  IMP number
                  000000,,000xxx  Host number
                  Each number is right justified.
                 For CHAOS net addresses it is an octal number.
                 For Dialnet addresses it is the address in the file  of
                 the TelCo number in ASCIZ.
 entry word 1   Left half: Address in file of SITE table entry.
                Right half: Address in file of next ADDRESS table  entry
                 for this site (zero means end of list).

     SITE table:

word 0          Number of entries in table.
word 1          Number of words per entry, currently 3.
 entry word 0   Left half: Address in file of official name in ASCIZ.
                Right half: Address in file of first ADDRESS table entry
                 for this site.
 entry word 1   Left half: Address in file of  operating system name  in
                 ASCIZ (zero means unknown).
                Right half: Address in file of  machine  type  in  ASCIZ
                 (zero means unknown).
 entry word 2   Left half: Flags.  The 400000 bit means a server site.
                Right half: reserved

     NAMES table:

word 0          Number of entries in table.
word 1          Number of words per entry, currently 1.
 entry word 0   Left half: Address in file of SITE table entry for  this
                 host.
                Right half: Address in file of host name in ASCIZ.


CONCLUSION:

     A host table capable of supporting the full host addressing of  the
ARPANET and additional networks has been presented, along with a  binary
file format for efficient manipulation of this host table data.

     We are  documenting this  format  in order  to  present it  to  the
outside world as  a suggested  replacement for the  current host  table.
The advantage of our host table is that it has  already been implemented
and is in use at MIT and Stanford.  We have established some conventions



Mark Crispin                                                    [page 5]

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


for network names, as there are currently no network names assigned.  So
this RFC is also a request for some discussion about getting some  names
assigned for the networks for the benefit of host tables.

     Anybody who is interested in importing our host table to their  own
system should contact  David Moon  (MOON@MIT-MC) or  me (MRC@SU-AI)  for
more information.


ACKNOWLEDGEMENTS:

     Many people have been involved in the design and implementation  of
the current host table.  They include,  in no particular order,  Richard
Stallman, David Moon, Ken Harrenstien, and Mark Crispin.  I won't bother
to list the contributions individually, since it's hard to determine who
did what and that sort of stuff is boring to read anyway.





































Mark Crispin                                                    [page 6]

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


                                APPENDIX

     The host table as of this writing is listed in this appendix.

;                   ITS/SAIL Host Table

; Last updated: MRC 1/2/79

;  Although the file HOSTS.TXT at SRI-KL is the
; official NIC host table, it is occasionally delayed in
; reflecting actual network status, and does not include
; colloquial-usage nicknames, operating system names,
; machine types, or networks...

;  Hence this file, which is manually updated as necessary.
; The "official" version is maintained as AI:SYSENG;HOSTS >
; and copies are kept on SYSENG;HOSTS > on the other ITS
; systems.  SAIL's version is kept on HOSTS.TXT[NET,MRC].

;  Modifications should be made to the AI file and a note of
; the change sent to Info-Hosts@AI and Info-Net@SAIL.  If
; you're going to modify it, you should warn MRC@SAIL and
; SWG@DM, who normally maintain it, to avoid timing errors.

;  The easy way to compile the binary file and install it is
; to run the batch command files:

; :XFILE SYSENG;HOSTS XFILE at AI or

; .BATCH /NOW @HOSTS.[NET,MRC] at SAIL.

;  If you want to do it the hard way, read those files.

; The network table is in the format of one line entries looking like:

; NET ,

; sorted alphabetically by network name.  All fields should be
; in upper case.  The fields are:

;         official name of this network (whenever such
;                names get assigned; currently whatever sounds
;                good).
;
;               The convention I have established is to
;                abbreviate "packet radio network" to "-PR".
;                "NET" is generally not part of the name unless
;                it is a proper name.  The three networks
;                currently used by MIT and Stanford don't have
;                "NET" in them.



Mark Crispin                                                  [page A-1]






        

スポンサーリンク

Colorクラスでの色指定

ホームページ製作・web系アプリ系の製作案件募集中です。

上に戻る