组织:中国互动出版网(http://www.china-pub.com/)
RFC文档中文翻译计划(http://www.china-pub.com/compters/emook/aboutemook.htm)
E-mail:ouyang@china-pub.com
译者:   (  )
译文发布时间:2001-10-23
版权:本中文翻译文档版权归中国互动出版网所有。可以用于非商业用途自由转载,但必须
保留本文档的翻译及版权信息。




Network Working Group                                                 J. Postel
Request for Comments: 855                                           J. Reynolds
                                                                           ISI
Obsoletes: NIC 18640                                                  May 1983


TELNET选项规范
(RFC855——TELNET OPTION SPECIFICATIONS)


本RFC指定了一个ARPA互联网社区的标准。在ARPA互联网上的主机应该采纳与实
现该标准。

给TELNET协议提供一些选项的目的是,使相互通信的主机在解决不同设备之间的通
信问题时获得比由网络虚拟终端(NVT)提供的可能框架更好的方案。它可以让主机自由地
创建,测试或者丢弃某些选项。当然,可以想象,那些普遍有用的选项最终大部分的主机都
应该支持。因此,应该仔细地设计这些选项的文档,并且尽可能地公布它们。另外,确保不
在不同的选项中使用相同的选项代码也是必要的。

本文档指定了一个选项代码的分配和选项的文档标准方面的方法。在进行试验时,可能
只需要选项代码分配而不需要完整的文档,不过一般来说,在分配选项代码之前都需要一个
文档。我们通过把一个选项的文档作为一个RFC文档来发布,从而发布该选项。当然,选
项的创建者也可以用其他的方式发布选项。

    选项代码由下面人员分配:
      Jonathan B。 Postel
      University of Southern California
      Information Sciences Institute (USC-ISI)
      4676 Admiralty Way
      Marina Del Rey, California 90291
      (213) 822-1511

      Mailbox = POSTEL@USC-ISIF

选项的文档至少要包含下面几个小节:

第1节 - - 命令的名称和选项的代码

第2节 - - 命令的意义

    应该描述同该选项相关的每一个TELNET命令的意义。需要注意的是,对于复杂的选
项,“子谈判”是必需的,因此可能有许多相关的命令。“子谈判”的原理在下面有更详细的
描述。

第3节 - 缺省的规范

    对那些没有实现,或者没有使用该选项的主机,必须描述这些选项在这些主机中的缺省
假定值。

第4节 - 动机

    对创建一个特殊的选项,或者对某种选项选择一种特殊的格式的动机进行详细的描述,
对那些还没有碰到(或者虽然已经碰到,但没有认识到)该选项被设计来解决什么的问题的
人,是非常有用的。

第5节 - 描述(或者实现规则)

为了确保一个命令的两个不同实现相互之间能够通讯,仅仅定义命令的意义和对该命令的意
图进行说明有时候是远远不够的。因此,在许多情况下,我们需要给一个命令提供一个完整
的描述。这个描述可以用文本来表示,也可以是一个示例性的实现,或者是实现的线索等等。

对“子谈判”的解释

在主机之间传递选项时,除了一个选项编码外可能还需要更多其他信息。例如,要求一个参
数的那些选项就属于这种情况。在主机之间传递除了选项代码外的其他信息的策略包含两个
步骤:双方都同意去”商讨“该参数,第二,对参数进行”商讨“。

在第一步中,同意去商讨参数以一种普通的方式来进行。一方通过发送一个带有选项代码的
DO(或WILL)命令来建议使用选项,另一方发送一个带有选项代码的DO(或WILL)命令来表
示接受这个建议。一旦双方都同意使用这选项,通过在SB命令的后面跟上相应的选项代码,
参数和命令SE来开始子谈判。每一方都被假设为能够解析该参数。因为在最初通过交换
WILL和DO命令,双方都表明可以支持该选项。另外,即使接收方不能解析该参数,接收
方也可以通过搜索SE命令(如字符串IAC SE)来定位参数字符串的结束位置。当然,在
任何时候,任何一方都可以给另一方发送WON'T或DON'T来拒绝继续进行进一步的子谈
判。

因此,对需要进行子谈判的选项“ABC”来说,TELNET的格式为:
      IAC WILL ABC
         提议使用选项ABC(或者赞成另一方使用该选项的请求)

      IAC DO ABC
         要求另一方去使用选项ABC(或者赞成另一方使用该选项的提议)

      IAC SB ABC  IAC SE
         子谈判的一步,双方都要使用

      设计那些需要进行“子谈判”的选项的设计者必须小心避免子谈判过程中的无穷尽的
循环。比如,
    如果每一方都可以接受一个参数的任何值,而每一方都给该参数提出一个不同的值,那
么一方可能将进入无穷的“应答”过程中(因为每一个接收者都认为只要应答另一方的提议)。
最后,如果在一个“子谈判”中的参数包含一个值为255的字节,对应于TELNET的通用
规则,必须把该值加倍。


RFC855——TELNET OPTION SPECIFICATIONS                      TELNET选项规范


3
RFC文档中文翻译计划