Ken Harrenstien
Vic White
Elizabeth Feinler
Network Information Center
SRI International
RFC-811
1 March 1982
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)

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 :

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 :

  1. 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 :

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.