DoD Internet host table specification
Specifies the format for a central host table to map network names and addresses.
Feinler, E.J., Harrenstien, K., Su, Z., and V. White, "DoD Internet host table specification", RFC 810, DOI 10.17487/RFC0810, March 1982, <https://www.rfc-editor.org/info/rfc810>.
@misc{rfc810,
series = {Request for Comments},
number = 810,
howpublished = {RFC 810},
publisher = {RFC Editor},
doi = {10.17487/RFC0810},
url = {https://www.rfc-editor.org/info/rfc810},
author = {E.J. Feinler and K. Harrenstien and Z. Su and V. White},
title = {{DoD Internet host table specification}},
pagetotal = 8,
year = 1982,
month = mar,
} RFC text
Contents
Elizabeth Feinler RFC 810 Ken Harrenstien 1 March 1982 Zaw-Sing Su References: RFC 811, 796 Vic White Obsoletes: RFC 608 Network Information Center SRI International DoD INTERNET HOST TABLE SPECIFICATION INTRODUCTION The ARPANET Official Network Host Table, as outlined in RFC 608, no longer suits the needs of the DoD community, nor does it follow a format suitable for internetting. This paper specifies a new host table format applicable to both ARPANET and Internet needs. In addition to host name to host address translation and selected protocol information, we have also included network and gateway name to address correspondence, and host operating system information. This Host Table is utilized by the DoD Host Name Server maintained by the ARPANET Network Information Center (NIC) on behalf of the Defense Communications Agency (DCA) (RFC 811). It obsoletes the host table described in RFC 608. LOCATION OF THE STANDARD DoD ONLINE HOST TABLE A machine-translatable ASCII text version of the new DoD Host Table is online in the file <NETINFO>HOSTS.TXT on the SRI-NIC host. It can be obtained by connecting to host SRI-NIC (10.0.0.73) from your local FTP server, logging in as user=ANONYMOUS, password=GUEST, and doing a 'get' on <NETINFO>HOSTS.TXT. The same table may also be obtained via the NIC Host Name Server. NOTE: See Appendix A. for timeframe for cutover. ASSUMPTIONS 1. A "name" (Net, Host, Gateway, or Domain name) is a text string up to 24 characters drawn from the alphabet (A-Z), digits (0-9), and the minus sign (-) and period (.). No blank or space characters are permitted as part of a name. No distinction is made between upper and lower case. The first character must be a letter. The last character must not be a minus sign or period. A host which serves as a GATEWAY should have "-GATEWAY" or "-GW" as part of its name. A host which is a TIP or a TAC should have "-TIP" or "-TAC" as part of its host name, if it is an ARPANET or DoD host. 2. Internet Addresses are 32-bit addresses (RFC 796). In the host table described herein each address is represented by four decimal numbers separated by a period. Each decimal number represents 1 octet. Host Table Specification 3. If the first bit of the first octet of the address is 0 (zero), then the next 7 bits of the first octet indicate the network number (Class A Address). If the first two bits are 1,0 (one,zero), then the next 14 bits define the net number (Class B Address). If the first 3 bits are 1,1,0 (one,one,zero), then the next 21 bits define the net number (Class C Address) (RFC 796). This is depicted in the following diagram: +--------------+-----------------------------------------------+ |0| NET <-7-> | LOCAL ADDRESS <-24-> | +--------------+-----------------------------------------------+ +---+--------------------------+-------------------------------+ |1 0| NET <-14-> | LOCAL ADDRESS <-16-> | +---+--------------------------+-------------------------------+ +-----+----------------------------------------+---------------+ |1 1 0| NET <-21-> | LOCAL ADDRESS | +-----+----------------------------------------+---------------+ 4. The LOCAL ADDRESS portion of the internet address identifies a host within the network specified by the NET portion of the address. 5. For the ARPANET (a Class A network), the NET address is 10 (decimal) and the LOCAL ADDRESS maps as follows: the second octet defines the physical host, the third octet defines the logical host, and the fourth defines the IMP. +-+-------------+---------------+--------------+---------------+ |0| 10 | HOST | LOGICAL HOST | IMP | +-+-------------+---------------+--------------+---------------+ (NOTE: RFC 796 describes the local address mappings for several other networks.) 6. It is the responsibility of the user using this host table to translate it into whatever format is needed for his or her purposes. 7. Names and Addresses for DoD networks, gateways, and hosts will be negotiated and registered with the Network Information Center (NIC@SRI-NIC or (415) 859-4775) before being used and before traffic is passed by a DoD host. For an interim period the NIC will attempt to keep similar information for non-DoD networks and hosts if this information is provided, and as long as it is needed, i.e., until intercommunicating network name servers are in place. EXAMPLE OF NEW HOST TABLE FORMAT NET : 10.0.0.0 : ARPANET : Host Table Specification 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 : FOONLY-F3 : TENEX : NCP/TELNET,NCP/FTP, TCP/TELNET, TCP/FTP : HOST: 10.2.0.11 : SU-TIP,FELT-TIP ::: SYNTAX AND CONVENTIONS ; (semicolon) is used to denote the beginning of a comment. Any text on a given line following a ';' is comment, and not part of the host table. NET keyword introducing a network name/address entry GATEWAY keyword introducing a gateway name/address entry HOST keyword introducing a host name/address entry : (colon) is used as a field delimiter :: (2 colons) indicates a null field , (comma) is used as a data element delimiter XXX/YYY indicates protocol information of the type TRANSPORT/SERVICE. where TRANSPORT/SERVICE options are specified as "FOO/BAR" - both transport and service known "FOO" - transport known; services not known or not running, OR "BAR" - name is known, what it does is not NOTE: See Appendices B and C for specific options and acronyms. Each host table entry is an ASCII text string comprised of 6 fields, where Field 1 = KEYWORD indicating whether this entry pertains to a NET, GATEWAY, or HOST. NET entries cannot have alternate addresses or nicknames. Field 2 = Internet Address of Network, Gateway, or Host followed by alternate addresses Field 3 = Official Name of Network, Gateway, or Host (with optional nicknames) Field 4 = Machine Type Field 5 = Operating System Field 6 = Protocol List Host Table Specification Fields 4, 5 and 6 are optional. Fields 3-6, if available, pertain to the first address in Field 2. 'Blanks' (spaces and tabs) are ignored between data elements or fields, but are disallowed within a data element. Each entry ends with a colon. The host table will be sorted by internet address. GRAMMATICAL HOST TABLE SPECIFICATION A. Parsing grammar <entry> ::= <keyword> ":" <addresses> ":" <names> [":" [<cputype>] [":" [<opsys>] [":" [<protocol list>] ]]] ":" <addresses> ::= <address> *["," <address>] <address> ::= <octet> "." <octet> "." <octet> "." <octet> <octet> ::= <0 to 255 decimal> <names> ::= <netname> | <gatename> | <official hostname> *["," <nicknames>] <netname> ::= <name> <gatename> ::= <name> <official hostname> ::= <name> <nickname> ::= <name> <protocol list> ::= <protocol spec> *["," <protocol spec>] <protocol spec> ::= <transport name> "/" <service name> | <raw protocol name> B. Lexical grammar <entry-field> ::= <entry-text> [<cr><lf> <blank> <entry-field>] <blank> ::= <space or tab> <keyword> ::= NET | GATEWAY | HOST <name> ::= <letter>[*[<letter-or-digit-or-hyphen>]<letter-or-digit>] <cputype> ::= PDP-11/70 | DEC-1080 | C/30 | CDC-6400...etc. <opsys> ::= ITS | MULTICS | TOPS20 | UNIX...etc. <transport name> ::= TCP | NCP | UDP | IP...etc. <service name> ::= TELNET | FTP | SMTP | MTP...etc. <raw protocol name> ::= <name> <comment> ::= ";" <arbitrary text><cr><lf> Notes: 1. Zero or more 'blanks' between separators " , : " are allowed. 'Blanks' are spaces and tabs. 2. Continuation lines are lines that begin with at least one blank. They may be used anywhere 'blanks' are legal to split an entry across lines. Host Table Specification BIBLIOGRAPHY 1. Feinler, E. and Kudlick, M. Host Names Online, RFC 608, Network Information Center, SRI International, Jan. 1973. 2. Postel, J. Assigned Numbers, RFC 790, Information Sciences Inst., Univ. of Southern Calif., Marina Del Rey, Sept. 1981. 3. Postel, J. Internet Protocol, RFC 791, Information Sciences Inst., Univ. of Southern Calif., Marina Del Rey, Sept. 1981. 4. Postel, J. Address Mappings, RFC 796, Information Sciences Inst., Univ. of Southern Calif., Marina Del Rey, Sept. 1981. 5. 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. Host Table Specification APPENDIX A. CUTOVER DETAILS The cutover date for use of the new host table is 1 May 1982. The table below indicates which files will contain the old or the new versions of the host table for what period of time. After 1 August 1982, the old format for <NETINFO>HOSTS.TXT (specified in RFC-608) will no longer be supported. -------------------------------------------------------------------- May 1982 June-July 1982 August 1982 on -------------------------------------------------------------------- <NETINFO>HOSTS.TXT <NETINFO>HOSTS.TXT <NETINFO>HOSTS.TXT old version new version new version <NETINFO>NHOSTS.TXT <NETINFO>NHOSTS.TXT old version new version (test) new version discontinued <NETINFO>OHOSTS.TXT <NETINFO>OHOSTS.TXT old version old version -------------------------------------------------------------------- These periods of overlap should give implementors time to make the necessary changes to programs accessing this file. Host Table Specification APPENDIX B. TRANSPORT/SERVICE OPTIONS AND ACRONYMS Current TRANSPORT/SERVICE options are: IP TCP/FTP IP/GW TCP/MTP NCP TCP/NNS NCP/FTP TCP/RJE NCP/RJE TCP/SMTP NCP/SMTP TCP/TELNET NCP/TELNET TCP/TFTP NCP/NNS UDP NVP TCP Note: "TCP" implies IP is also implemented Acronym definitions for the above protocol options are: FTP - File Transfer Protocol GW - Gateway Protocol IP - Internet Protocol MTP - Mail Transfer Protocol NCP - Network Control Protocol NNP - NIC Internet Name Server Protocol NVP - Network Voice Protocol RJE - Remote Job Entry Protocol SMTP - Simple Mail Transfer Protocol TELNET - TELNET Protocol TCP - Transmission Control Protocol TFTP - Trivial File Transfer Protocol UDP - User Datagram Protocol Host Table Specification APPENDIX C. OPERATING SYSTEM ACRONYMS Current operating system acronyms are: ASP KRONOS RSX11M VMS AUGUST MCP RT11 WAITS BKY MOS SCOPE CCP MPX-RT SIGNAL DOS/360 MULTICS SINTRAN ELF MVT TENEX EPOS NOS TOPS10 EXEC-8 NOS/BE TOPS20 GCOS OS/MVS TSS GPOS OS/MVT UNIX ITS RIG VM/370 INTERCOM RSX11 VM/CMS
AI ELI5
On this page
§1The DoD Host Table
RFC 810 defines a standard format for a host table used across the ARPANET and early Internet. The host table is a central, machine-readable list of all known hosts, networks, gateways, and their associated addresses and capabilities.
The purpose is to provide name-to-address translation and information about what each machine is, what operating system it runs, and which protocols and services it supports. The table is maintained by the DoD Host Name Server at the SRI Network Information Center (NIC) and distributed to all participating systems. This specification replaces the format in RFC 608.
Think of it like a telephone directory: it lists computers by name, gives their address (like 10.0.0.73), and notes whether they handle FTP, TELNET, or other services.
§2Host Table Entry Structure
Each entry in the host table is an ASCII text string with six fields separated by colons:
- Field 1: Keyword indicating the entry type: NET, GATEWAY, or HOST
- Field 2: Internet address (and optional alternate addresses)
- Field 3: Official name and optional nicknames
- Field 4: Machine type (optional)
- Field 5: Operating system (optional)
- Field 6: Protocol list (optional)
Fields 4, 5, and 6 are optional. Fields 3 through 6 apply only to the first address in Field 2. Each entry ends with a colon. NET entries cannot have alternate addresses or nicknames.
Each line in the list is like a note card: first you say what it is (HOST, NETWORK, or GATEWAY), then the computer's number, then its name, and optionally what operating system it runs and what services it has.
§3Syntax and Data Format
The syntax uses specific delimiters and conventions. A semicolon begins a comment; anything after it on a line is ignored. Colons separate fields, with double colons indicating a null (empty) field. Commas separate elements within a field, such as multiple addresses or protocol specifications.
Protocol information is written as TRANSPORT/SERVICE (for example, TCP/TELNET or TCP/FTP). Some entries may specify only the transport (like TCP) or only a service name. Blanks (spaces and tabs) are allowed between elements but not within a single element. Continuation lines beginning with at least one blank character can split an entry across multiple lines.
The format is like a simple spreadsheet row: fields separated by colons, multiple items in one field separated by commas, and services written as type/name like TCP/FTP.
§4Internet Addresses and Naming Rules
Internet addresses are 32-bit values represented as four decimal numbers separated by periods (for example, 10.0.0.73). Each number is one octet (0 to 255).
Names (for networks, gateways, and hosts) are text strings up to 24 characters using letters, digits, the minus sign, and the period. No blanks are allowed. The first character must be a letter, and the last must not be a minus sign or period. Gateways have -GATEWAY or -GW in their name; TIP or TAC machines have -TIP or -TAC. No distinction is made between uppercase and lowercase letters.
Every computer gets a number like 10.0.0.73 and a name like SRI-NIC. Names can have letters, numbers, and hyphens, but must start with a letter.
| Class | First bit(s) | Network bits | Host bits |
|---|---|---|---|
| Class A | 0 | 7 bits | 24 bits |
| Class B | 10 | 14 bits | 16 bits |
| Class C | 110 | 21 bits | 8 bits |
§5Example Entries and Machine Information
The RFC includes example entries. A network entry looks like NET : 10.0.0.0 : ARPANET :. A gateway entry lists both addresses where it connects (for example, GATEWAY : 10.0.0.77, 18.8.0.4 : MIT-GW :: MOS : IP/GW :). A host entry might be HOST : 10.0.0.73 : SRI-NIC,NIC : FOONLY-F3 : TENEX : NCP/TELNET,NCP/FTP,TCP/TELNET,TCP/FTP :.
Machine types (Field 4) include names like PDP-11/70, DEC-1080, or CDC-6400. Operating systems (Field 5) include ITS, MULTICS, TOPS20, UNIX, TENEX, and others. The protocol list specifies both transport and service protocols available on that host.
Each entry shows what the computer is, where to find it, its nickname, what kind of machine it is, what operating system it runs, and what services it offers.