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]