📄 rfc2217.txt
字号:
客户到服务端,设置stop bits,也可用于查询,为1个字节。客户到服务端,设置停止位,
也可用于查询,为1个字节。以下是value值的一个表格:
值 停止位大小
0 请求当前的数据大小
1 1
2 2
3 1.5
4-127 可用为未来使用
讨论:
仅当数据大小设置成5位时,停止位1.5 被大多数com 端口支持。现在已经不常用了。
3. 特殊的com 口控制命令
客户可以通过远程登录会话在任何时候、任何次数地往存取服务器发送这一命令。存取
服务器会对每个命令回复一个确认信息,这个信息包含了命令和实际值集合。客户希望在一
合理的时间以内得到一响应 (比如两倍延时)。否则,客户可能希望重新发送没被确认的命
令或终止对话。
iac sb com-port-option set-control <value> 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 <value> 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 <value> 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 <value> iac se
这一命令是从客户端发送给存取服务器,要求存取服务器立即清除所有涉及缓冲的数
据。值大小位一个字节。
值 清除数据缓冲区
0 可用为未来使用
1 清除存取服务器接收数据缓冲区
2 清除存取服务器传送数据缓冲区
3 清除存取服务器接收数据缓冲区和传送数据缓冲区
4-127 可用为未来使用
4. com 端口和调制解调器线性变化的通知
存取服务器的发送不受时间和次数限制。一旦com 端口或调制解调器线性变化,存取服
务器应该立即发送适当的命令到客户。客户不必对命令发出响应。
iac sb com-port-option notify-linestate <value> 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 <value> 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
5. 流量控制
客户端和(或)存取服务器可以通过远程登录会话在任何时候、任何次数地往存取服务
器发送这一命令。
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个问题。首先,流控制字符可能是有效的数据。其次,流控制字符可能被用
来终端之间的流控制在结束使用 (客户应用程序到远程服务器的拨号)。
6. 安全性考虑
有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文档中文翻译计划
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -