RFC953:HOSTNAME SERVER,October 1985
本备忘录的状态
此 RFC 是主机名服务器协议的官方规范。此版本的规范包括对 RFC 811 的小修订,使其保持最新状态。本备忘录的分发不受限制。
介绍
NIC Internet Hostname Server 是运行在 SRI-NIC 机器上的基于 TCP 的主机信息程序和协议。它是由 SRI International 的 DDN 网络信息中心 (Network Information Center,NIC) 代表国防通信局 (Defense Communications Agency,DCA) 维护的一系列互联网名称服务之一。这个特定服务器的功能是在互联网环境中提供机器可读的名称/地址信息,描述网络、网关、主机和最终的域。按照目前的实施,服务器提供 DoD 互联网主机表规范 [参见 RFC-952] 中概述的信息。有关未来发展的讨论,另请参阅有关域名系统的 RFC-921。
协议
要从程序访问此服务器,请在服务主机 SRI-NIC.ARPA(26.0.0.73 或 10.0.0.51)上建立到端口 101(十进制)的 TCP 连接。发送信息请求(单行),并读取结果响应。服务器在响应完成后关闭连接,因此每个连接只能发出一个请求。
查询/响应格式
名称服务器接受表单的简单文本查询请求
<command key> <argument(s)> [<options>]
其中方括号 ("[]") 表示可选字段。命令关键字是指示请求性质的关键字。定义的关键字解释如后文。
另一方面,响应的形式是
<response key> : <rest of response>
其中 <response key> 是指示响应性质的关键字,响应的其余部分在关键字的上下文中进行解释。
注意:应注意解释回复的性质(例如,单条记录或多条记录),以免混淆回复结果的状态。“ALL”请求可能会返回数百或更多所有类型的记录,而“HNAME”或“HADDR”通常会返回一个 HOST 记录。
命令/响应关键字
下面列出了当前定义的命令关键字。注意:因为服务器和可用的功能会随着时间的推移而发展,所以应该使用 HELP 命令来获取已实现的功能、更改或新命令的最新摘要。
请记住,服务器只接受一个命令行,并且在关闭连接之前只返回一个响应。HNAME 和 HADDR 可用于按名称或地址查找特定主机;VERSION 可由自动化进程使用,以查看是否存在主机表的“新”版本,而无需传输整个表。但是请注意,返回的版本字符串仅保证对每个版本都是唯一的,目前不应假设其格式。
响应关键字:
随着新需求被认可,将添加更多关键字。允许的请求/响应的更详细描述如下。
查询/响应示例
1. HNAME 查询
给定一个名称,找到与该名称匹配的一个或多个条目。例如:
HNAME SRI-NIC.ARPA <CRLF>
其中 <CRLF> 是回车/换行,'SRI-NIC.ARPA' 是主机名
可能的响应是:
HOST : 26.0.0.73, 10.0.0.51 : SRI-NIC.ARPA,SRI-NIC,NIC : DEC-2060 : TOPS20 : TCP/TELNET,TCP/SMTP,TCP/TIME,TCP/FTP, TCP/ECHO,ICMP :
响应可能跨越多行。连续行总是以至少一个空格开始。
2. HADDR 查询
给定一个 Internet 地址(如 RFC 796 中指定的),找到与该地址匹配的一个或多个条目。例如:
HADDR 26.0.0.73 <CRLF>
其中 <CRLF> 是回车/换行,'26.0.0.73' 是主机地址。
可能的响应与之前的 HNAME 请求相同。
3. ALL Query
以机器可读的形式提供整个互联网主机表。例如:
ALL <CRLF>
其中 <CRLF> 是回车/换行。
可能的响应是关键字“BEGIN”后跟冒号“:”,后跟 RFC-952 中指定格式的整个 Internet 主机表,然后是“END:”。
错误处理
ERR Reply - 可能发生在任何查询上,并且应该在使用名称服务器的任何访问程序中被允许。错误的形式
ERR : <code> : <string> :
例如:
ERR : NAMNFD : Name not found :
错误代码是一个唯一的描述符,对于任何给定的错误,长度限制为 8 个字符。访问程序可以使用它来识别错误,并在某些情况下自动处理它。在访问程序简单地记录错误消息的情况下,该字符串是给定错误的伴随消息。当前的代码及其相关解释是
NAMNFD Name not found; 域名不在表中 ADRNFD Address not found; 地址不在表中 ILLCOM Illegal command; 无法识别命令 TMPSYS Temporary system failure,暂时系统故障,稍后重试
参考
1. Harrenstien, K., Stahl, M., and Feinler, E., "Official DoD Internet Host Table Specification," RFC-952, DDN Network Information Center, SRI International, October 1985. 2. Pickens, J., Feinler, E., and Mathis, J., "The NIC Name Server," A Datagram-based Information Utility, RFC-756, Network Information Center, SRI International, July 1979. 3. Postel, J., "Address Mappings," RFC-796, Information Sciences Institute, University of Southern California, Marina del Rey, September 1981. 4. Postel, J., "Domain Name System Implementation Schedule", RFC-921, Information Sciences Institute, University of Southern California, Marina del Rey, October 1984.