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)
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 :
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 : 220.127.116.11 : LCSNET : GATEWAY : 10.0.0.77, 18.104.22.168 : 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 :
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.