RFC2217 TelnetCom端口控制选项

1166次阅读  |  发布于5年以前

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

Network Working Group G. Clark Request for Comments: 2217 Cisco Systems, Inc. Category: Experimental October 1997

RFC 2217 TelnetCom端口控制选项 (RFC2217——Telnet Com Port Control Option)

本备忘录的状态 本备忘录讲述了一种为internet社区定义的试验性协议。本备忘录不指定任何种类的 internet标准。希望大家多给与批评和建议。本备忘录的发布不受任何限制。

摘要 本备忘录提出一项协议,它容许本地网在往外地的拨号过程中能够更多地使用调制解调 器。 目录

  1. com端口控制选项协议 4
  2. com 端口配置命令 4
  3. com 端口和调制解调器线性变化的通知 8
  4. 流量控制 9
  5. 安全性考虑 9 7.作者联系地址 9 8.参考文献 10

讨论 远程登录协议定义了一个面向字符、交互式的通讯对话。它原来设计在一个客户和一运 行远程服务的主机之间建立一对话[5]。 许多新的商业功能要求一个人连接到远程的服务器检索或存放信息。最多的一种方式是 这些远程服务经由异步拨号连接以实现。这一新的服务功能类别包括:

============= | | | 客户端 | \ | | \ < ――― 本地的区域/企业网络 ============= \
\

| 远程登录接口 | | | | | | | | 存取服务器 | | | | | | | | | com端口接口  |

| |

| | | modem | | |

远程服务访问 | 最通用公共交换 ------>| 网络 |

可以是internet 服务 | | 供应商,告示板 | 远程服务 | 或传真机器 | |

命令名和代码: com-port-option 44

              客户端到存取服务器   存取服务器到客户端

signature text text set-baudrate 1 101 set-datasize 2 102 set-parity 3 103 set-stopsize 4 104 set-control 5 105 notify-linestate 6 106 notify-modemstate 7 107 flowcontrol-suspend 8 108 flowcontrol-resume 9 109 set-linestate-mask 10 110 set-modemstate-mask 11 111 purge-data 12 112

讨论: 正如前面的建议,com 端口配置命令仅从客户发送到存取服务器。存取服务器没有 com 端口初始化配置命令, 仅有通知命令。然而,为了允许服务器初始化com端口配置,已经建 立了不同的命令值。

  1. com端口控制选项协议 com 的控制选项协议使用标准的远程登录机制: iac will com-port-option 发送者愿意发送com 端口控制选项命令 iac wont com-port-option 发送者不愿意发送com 端口控制选项命令 iac do com-port-option 发送者愿意接受com 端口控制选项命令 iac dont com-port-option     发送者不愿意接受com 端口控制选项命令 典型地,客户使用will 和wont,存取服务器使用do和dont。
  2. com 端口配置命令 一旦协议达成,客户可以不受时间和次数限制地发送命令。一旦命令被存取服务器处理 了,从客户传送到存取服务器的每条命令必须被承认。这种确认在命令的处理以后将把在存 取服务器设定的值通知客户端。这种确认在命令的处理以后将把在存取服务器设定的值通知 客户端。这与在tcp 协议层处理的收到命令的确认是不同的。它的目的是通知客户正在使用 的值与客户请求的值的不同。例如,客户可能要求存取服务器提供超过它所能提供的波特率。 如果客户在一合理的时间内收不到这一回复 (比如两倍延时), 客户可能希望重新发送命令, 或终止对话。 虽然可从存取服务器发送任何序列的命令到客户端,然而不同的序列命令可能会产生无 效的com端口配置。(例如:数据大小在8位以下时偶数校验有效,推荐按下列顺序发送命令: 1. set-baudrate 2. set-datasize 3. set-parity 4. set-stopsize

iac sb com-port-option signature iac se 客户与存取服务器之间互相交换识别标志的命令如果没有 选项,它是发送者要 求接收端提供识别标志的命令。可以包含任何字符。 选项没有固定的格式。它 可以包含制造商信息,版本号信息,或任何另外的信息。如果有iac 字符在出现,必须转 换成iac-iac以避免命令终止。 iac sb com-port-option set-baud <value(4)> iac se 是由客户端发送给存取服务器请求设置com口波特率的命令。是4个八位二进 制数 (4字节)。value是用网络标准格式来表示的。value是请求的波特率,一种特殊情形value 为0。如果value是零,则客户请求存取服务器com 端口当前的波特率。 讨论: 由于当今波特率的使用形成了一个非常广泛的空间,并且在提议的初始版本中使用了基 于波特率表的索引。经过多次讨论之后,决定采用实际中使用的波特率。有两个主要的原因:

  1. 它限制了最新的波特率的使用,直到value选项更新,2) 它在波特比率的选择方面的灵活性 是最大的。 iac sb com-port-option set-datasize iac se 这是由客户发送到存取服务器设置数据位数的命令。它也可以用来查询当前的数据位大 小。值是1个八位二进制数 (字节)。以下是value值的一个表格: 值 数据比特大小 0 请求当前的数据位大小 1 可用为未来使用 2 可用为未来使用 3 可用为未来使用 4 可用为未来使用 5 5 6 6 7 7 8 8 9-127 可用为未来使用 讨论:数据位大小仅有8个可能的值,曾经有4个被使用过,只有2个现在常用。命令参数 的格式推荐保持一致。它也减少了命令在协议中定义的次数,允许将来扩展。 iac sb com-port-option set-parity iac se 客户到服务端,设置奇偶校验,也可用于查询。是1位八位二进制数的(字节)。以下是 value值的一个表格: 值 奇偶性 [1] 0 请求当前的数据大小 1 没有 2 奇数 3 偶数 4 标记 5 空格校验 6-127 可用为未来使用 讨论: 现在常用的仅有5个值。命令参数的格式推荐同其他命令保持一致。 iac sb com-port-option set-stopsize iac se 客户到服务端,设置stop bits,也可用于查询,为1个字节。客户到服务端,设置停止位, 也可用于查询,为1个字节。以下是value值的一个表格: 值 停止位大小 0 请求当前的数据大小 1 1 2 2 3 1.5 4-127 可用为未来使用 讨论: 仅当数据大小设置成5位时,停止位1.5 被大多数com 端口支持。现在已经不常用了。
  1. 特殊的com 口控制命令 客户可以通过远程登录会话在任何时候、任何次数地往存取服务器发送这一命令。存取 服务器会对每个命令回复一个确认信息,这个信息包含了命令和实际值集合。客户希望在一 合理的时间以内得到一响应 (比如两倍延时)。否则,客户可能希望重新发送没被确认的命 令或终止对话。 iac sb com-port-option set-control iac se 这一命令是从客户端发送给存取服务器以设置特殊的com口选项。这一命令也可用来 查询当前选项值,值为一个字节。以下是value值的一个表格: 值 控制命令 0 com口流控制设置请求(outbound/both) 1 不使用流控制 (outbound/both) 2 使用xon/xoff 流控制 (outbound/both) 3 使用硬件流控制 (outbound/both) 4 请求中断状态 5 设置中断状态 on 6 设置中断状态 off 7 请求dtr 信号状态 8 设置dtr 信号状态 on 9 设置dtr 信号状态 off 10 请求rts 信号状态 11 设置rts 信号状态 on 12 设置rts 信号状态 off 13 com口流控制设置请求(inbound) 14 不使用流控制 (inbound) 15 使用xon/xoff 流控制 (inbound) 16 使用硬件流控制 (inbound) 13 com口流控制设置请求(inbound) 14 不使用流控制 (inbound) 15 使用xon/xoff 流控制 (inbound) 16 使用硬件流控制 (inbound) 16 使用dcd 流控制 (outbound/both) 18 使用dtr 流控制 (inbound) 19 使用dsr 流控制 (outbound/both) 20-127 可用为未来使用 讨论: 流控制选项划分inbound和outbound, outbound充分利用现有的程序设计界面和存取服 务器能力。 讨论: outbound值应该将流控制设置为出和入。如果入可以分开设置它应该在出的设置后设 置。 讨论: 如果存取服务器无法区分入与出的流控制,它应忽略入的流控制命令,并且应基于出的 流控制命令来设置流控制选项。 iac sb com-port-option set-linestate-mask iac se 这一命令是从客户端发送给存取服务器,为了发送notify-linestate选项以设置一比特掩 码 (参阅第4部分)。当 存取服务器的linestate 改变时, 存取服务器会将新的 linestate 和 linestate-mask进行"与"处理,如果结果非零,存取服务器将发送与结果。如果大于一位满足 linestate-mask,只有1个notify-linestate,与所有的满足的位,将被送到客户端。set-linestate-mask 可以是以下组合。这些值和在notify-linestate 选项中使用的是一样的。set-linestate-mask 值 基于目前最流行的uart (com 端口控制芯片) [1]。 比特位 值 含义 7 128 超时错误 6 64 传送移位寄存器为空 5 32 传送保持寄存器为空  4 16 中断检测错误 3 8 帧错误 2 4 奇偶校验错误 1 2 超载错误 0 1 数据就绪 讨论: set-linestate-mask 值置0时阻止存取服务器将notify-linestate 选项送至客户。 讨论: set-linestate-mask 值为255时,允许存取服务器当每次存取服务器的linestate变化时, 送一notify-linestate 选项到客户。 讨论: 存取服务器的linestate-mask初始值是0。 讨论: 在收到一notify-linestate 以后,客户不必须发送一新的set-linestate-mask。linestate-mask 在存取服务器的值将保持直到被客户设置或重建对话时重置。linestate-mask在存取服务器的 值将保持直到被客户设置或重建对话时重置。 iac sb com-port-option set-modemstate-mask iac se 这一命令是从客户端发送给存取服务器,为了发送notify-modemstate选项设置一比特掩 码。当modemstate 在存取服务器上变化时,存取服务器将原有modemstate-mask和新的 modemstate进行与运算。如果结果非零,存取服务器将发送与结果到notify-modemstate选项。 如果多于一个位满足modemstate-mask,仅有1个notify-modemstate,与所有的满足的位,将被送 到客户。set-modemstate-mask 可为下列任何组合。值和notify-modemstate 选项一样。 set-modemstate-mask 值基于目前最流行的uart (com 端口控制芯片) [1]。 比特位 值 含义 7 128 接收线性信号检测(即载波检测) 6 64 来访指示(敲门) 5 32 data-set-ready 信号状态 4 16 clear-to-send 信号状态 3 8 delta接收线性信号检测 2 4 trailing-edge ring 检测器 1 2 delta data-set-ready 0 1 delta clear-to-send 讨论: 0的set-modemstate-mask 值将阻止存取服务器送notify-modemstate 选项到客户。 讨论: set-modemstate-mask 值为 255时 允许存取服务器当每次存取服务器的modemstate变 化时,送notify-modemstate 选项到客户。 讨论: 存取服务器的modemstate-mask初始值是255。 讨论: 在收到一notify-modemstate 以后,客户不必须发送一新的set-modemstate-mask modemstate-mask在存取服务器的值将保持直到被客户设置或重建对话时重置。 iac sb com-port-option purge-data iac se 这一命令是从客户端发送给存取服务器,要求存取服务器立即清除所有涉及缓冲的数 据。值大小位一个字节。 值 清除数据缓冲区 0 可用为未来使用 1 清除存取服务器接收数据缓冲区 2 清除存取服务器传送数据缓冲区 3 清除存取服务器接收数据缓冲区和传送数据缓冲区 4-127 可用为未来使用
  2. com 端口和调制解调器线性变化的通知 存取服务器的发送不受时间和次数限制。一旦com 端口或调制解调器线性变化,存取服 务器应该立即发送适当的命令到客户。客户不必对命令发出响应。 iac sb com-port-option notify-linestate iac se 值的大小是一个字节。值是从以下值表中的多个比特层构成的。多比特值可以在一次传 送中设置。值是基于最流行的uart (com 端口控制芯片)[1]。 比特位 值 含义 7 128 超时错误 6 64 传送移位寄存器为空 5 32 传送保持寄存器为空 4 16 中断检测错误 3 8 帧错误 2 4 奇偶校验错误 1 2 超载错误 0 1 数据就绪 讨论: linestate 是在存取服务器上的uart 的线性状态。 iac sb com-port-option notify-modemstate iac se 值的大小是一个字节。值是从以下值表中的多个比特层构成的。多比特值可以在一次传 送中设置。值是基于最流行的uart (com 端口控制芯片)[1]。 比特位 值 含义 7 128 接收线性信号检测(即载波检测) 6 64 来访指示(敲门) 5 32 data-set-ready 信号状态 4 16 clear-to-send 信号状态 3 8 delta接收线性信号检测 2 4 trailing-edge ring 检测器 1 2 delta data-set-ready 0 1 delta clear-to-send
  3. 流量控制 客户端和(或)存取服务器可以通过远程登录会话在任何时候、任何次数地往存取服务 器发送这一命令。 iac sb com-port-option flowcontrol-suspend iac se 这命令的发送端请求接收器推迟数据及命令的传输直到发送端发flowcontrol-resume 命 令。 iac sb com-port-option flowcontrol-resume iac se 这命令的发送端请求接收器恢复发送数据和命令 讨论: 远程登录在客户和存取服务器之间最初被初始化为重用状态。没有需要在初始化期间发 送resume命令。 讨论: 可以同时发送多个并行的暂停命令。第二个暂停命令可以被忽略。当遇到第一个单一个 的resume命令时传送恢复。 讨论: 流控制选项是为了处理客户到存取服务器Telnet对话的流控制而设计的。这选项加在 RFC 1372中:远程登录的流控制选项[2]。RFC 1372使用一单字符xon/xoff 技术来实现流 控制。这导致2个问题。首先,流控制字符可能是有效的数据。其次,流控制字符可能被用 来终端之间的流控制在结束使用 (客户应用程序到远程服务器的拨号)。
  4. 安全性考虑 有2项安全问题需要讨论:验证和资源的重置。 认证可以遵循kerberos身份验证协议(见RFC 1411)[3] 或SPX身份验证协议(见RFC 1412)[4]。 对话终止时,存取服务器必须确保断开连接,同时com口设置(波特率,数据大小, 停止位,奇偶校验和流量控制)恢复到定义值。这确保com 端口在一已知状态,准备建立下 一客户对话。这将使操作更具有可预测性,同时避免可能从与随机的com 端口配置开始一 新建的的拨号对话发生的问题。 7.作者联系地址 Glen Clark, Software Architect Cisco Systems, Inc. 170 West Tasman Drive San Jose, CA 96134 USA

EMail: glenc@cisco.com WEB: www.cisco.com 8.参考文献 [1] Joe Campbell. C Programmer's Guide to Serial Communications, Second Edition. Indianapolis: SAMS Publishing, 1993. 213-224. [2] Hedrick, C., and D. Borman, "Telnet Remote Flow Control Option", RFC 1372, Cray Research, Inc., October 1992. [3] Borman, D., "Telnet Authentication: Kerberos Version 4", RFC 1411, Cray Research, Inc., January 1993. [4] Alagappan, K., "Telnet Authentication: SPX", RFC 1412, Digital Equipment Corporation, January 1993. [5] D. E. Comer and David Stevens. Internetworking with TCP/IP, Volume III. Prentice Hall, 1993. [6] Andrew Margolis. The FAX Modem Sourcebook. John Wiley & Sons.1995. RFC2217——Telnet Com Port Control Option TelnetCom端口控制选项

1 RFC文档中文翻译计划

Copyright© 2013-2020

All Rights Reserved 京ICP备2023019179号-8