Ken Harrenstien                                           RFC-811
Vic White                                            1 March 1982
Elizabeth Feinler
Network Information Center
SRI International

                       HOSTNAMES SERVER




INTRODUCTION

  The NIC Internet Hostnames Server is an NCP/TCP-based host
  information program and protocol running on the SRI-NIC
  machine.  It is one of a series of ARPANET/Internet name
  services maintained by the Network Information Center (NIC) at
  SRI International on behalf of the Defense Communications
  Agency (DCA).  The function of this particular server is to
  deliver machine-readable name/address information describing
  networks, gateways, hosts, and eventually domains, within the
  internet environment.  As currently implemented, the server
  provides the information outlined in the DoD Internet Host
  Table Specification (RFC 810).

QUERY/RESPONSE FORMAT

  The name server accepts simple text query requests of the form

     <command key> <argument(s)> [<options>]

  where square brackets ("[]") indicate an optional field.  The
  command key is a keyword indicating the nature of the request.
  The defined keys are explained below.

  The response, on the other hand, is of the form

     <response key> : <rest of response>

  where <response key> is a keyword indicating the nature of the
  response, and the rest of the response is interpreted in the
  context of the key.

COMMAND/RESPONSE KEYS

  The currently defined keywords are:

     Command Keys:

        HNAME   (find entry with given name)
        HADDR   (find entry with given address)
        ALL     (return entire host table)




                                                        [Page 1]


                                                           1 March 1982
RFC 811                                                 Hostnames Server


     Response Keys:

        ERR     (entry not found, nature of error follows)
        NET     (entry found, rest of entry follows)
        GATEWAY (entry found, rest of entry follows)
        HOST    (entry found, rest of entry follows)
        BEGIN   (followed by multiple entries)
        END     (done with BEGIN block of entries)

  More keywords will be added as new needs are recognized.  A
  more detailed description of the allowed requests/responses
  will follow.

PROTOCOL

  To access this server from a program, connect to service host
  (SRI-NIC)

     TCP: port 101 decimal
     NCP: socket 101 decimal for ICP

  send the information query, and await the response.

  Note:  Care should be taken to interpret the nature of the
  reply (e.g, single record or multiple record), so that no
  confusion about the state of the reply results.  An "ALL"
  request will likely return several hundred or more records of
  all types (see RFC 810), whereas "HNAME" or "HADDR" will
  usually return one HOST record, or "BEGIN:", list of host
  records, "END:", if there is more than one match.

QUERY/RESPONSE EXAMPLES

  1. HNAME Query - Given a name, find the entry or entries that
  match
     the name.  For example:

        HNAME SRI-NIC <CRLF>   ;where <CRLF> is a carriage
     return/
                                linefeed, and 'SRI-NIC' is a
     host name

     The likely response is:

        HOST : 10.0.0.73 : SRI-NIC,NIC : FOONLY-F3 : TENEX : NCP :

     A response may stretch across more than one line.
     Continuation lines always begin with at least one space.
     For example:

     HOST : 10.0.0.73 : SRI-NIC,NIC : FOONLY-F3 : TENEX : NCP :

[Page 2]


1 March 1982
Hostnames Server                                           RFC 811



  2. HADDR Query - Given an internet address (as specified in
  RFC
     796) find the entry or entries that match that address.
     For example:

        HADDR 10.0.0.73 <CRLF>   ;where <CRLF> is a carriage
     return/
                                  linefeed, and '10.0.0.73' is a
     host
                                  address

     The likely response is the same as for the HNAME request:

        HOST : 10.0.0.73 : SRI-NIC,NIC : FOONLY-F3 : TENEX : NCP :


  3. ALL Query - Deliver the entire internet host table in a
     machine-readable form.  For example:

        ALL <CRLF>   ;where <CRLF> is a carriage return/linefeed

     The likely response is the keyword 'BEGIN' followed by a
     colon ':', followed by the entire internet host table in
     the format specified in RFC 810, followed by 'END:'.  For
     example:

        BEGIN:
        NET : 10.0.0.0 : ARPANET :
        NET : 18.0.0.0 : LCSNET :
        GATEWAY : 10.0.0.77, 18.8.0.4 : MIT-GW :: MOS : IP/GW :
        HOST : 10.0.0.73 : SRI-NIC,NIC : TENEX : FOONLY-F3
           NCP/TELNET, NCP/FTP, TCP :
        HOST : 10.2.0.11 : SU-TIP, FELT-TIP ::
        END:

ERROR HANDLING

  1. ERR Reply - may occur on any query, and should be permitted
  in
     any access program using the name server.  Errors are of
  the form

     ERR : <code> : <string> :

        as in

     ERR : NAMNFD : Name not found :




                                                          [Page 3]


                                                          1 March 1982
RFC 811                                                Hostnames Server


  The error code is a unique descriptor, limited to 8 characters
  in length for any given error.  It may be used by the access
  program to identify the error and, in some cases, to handle it
  automatically.  The string is an accompanying message for a
  given error for that case where the access program simply logs
  the error message.  Current codes and their associated
  interpretations are

     NAMNFD        --     Name not found; name not in table
     ADRNFD        --     Address not found; address not in
     table
     ILLCOM        --     Illegal command; command key not
     recognized
     TMPSYS        --     Temporary system failure, try again
     later

REMARKS

  The host name server described above runs over a single global
  internet host name/address data base.  This data base is an
  extension of the old ARPANET Hosts.txt file, and is being
  maintained by the NIC to provide continuity during the
  transition and expansion to the internet environment.  We view
  the central administration of a global host name data base,
  along with this simple name server, as an interim solution on
  the way to a decentralized, distributed name/address
  translation service.  The NIC welcomes your comments and
  suggestions for such an expanded service.  Send comments to
  NIC@SRI-NIC.

REFERENCES

  1. Feinler, E., Harrenstien, K., Su, Z. and White, V.
  Official
     DoD Internet Host Table Specification, RFC 810, Network
     Information Center, SRI International, March 1, 1982.

  2. Postel, J.  Address Mappings, RFC 796, Information Sciences
     Inst., Univ. of Southern Calif., Marina Del Rey, Sept.
  1981.

  3. Pickens, J., Feinler, E., and Mathis, J.  The NIC Name
  Server,
     A Datagram-based Information Utility, Network Information
     Center, SRI International, July 1979.







[Page 4]