diff options
Diffstat (limited to 'doc/rfc/rfc1372.txt')
-rw-r--r-- | doc/rfc/rfc1372.txt | 339 |
1 files changed, 339 insertions, 0 deletions
diff --git a/doc/rfc/rfc1372.txt b/doc/rfc/rfc1372.txt new file mode 100644 index 0000000..f617821 --- /dev/null +++ b/doc/rfc/rfc1372.txt @@ -0,0 +1,339 @@ + + + + + + +Network Working Group C. Hedrick +Request for Comments: 1372 Rutgers University +Obsoletes: RFC 1080 D. Borman + Cray Research, Inc. + October 1992 + + Telnet Remote Flow Control Option + +Status of This Memo + + This RFC specifies an IAB standards track protocol for the Internet + community, and requests discussion and suggestions for improvements. + Please refer to the current edition of the "IAB Official Protocol + Standards" for the standardization state and status of this protocol. + Distribution of this memo is unlimited. + +Introduction + + This document specifies an extended version of the Telnet Remote Flow + Control Option, RFC 1080, with the addition of the RESTART-ANY and + RESTART-XON suboptions. + +1. Command Names and Codes + + TOGGLE-FLOW-CONTROL 33 + OFF 0 + ON 1 + RESTART-ANY 2 + RESTART-XON 3 + +2. Command Meanings + + IAC WILL TOGGLE-FLOW-CONTROL + + Sender is willing to enable and disable flow control upon command. + + IAC WONT TOGGLE-FLOW-CONTROL + + Sender refuses to enable and disable flow control. Nothing is + implied about whether sender does or does not use flow control. + It is simply unwilling to enable and disable it using this + protocol. + + IAC DO TOGGLE-FLOW-CONTROL + + Sender is willing to send commands to enable and disable flow + control. + + + + +Hedrick & Borman [Page 1] + +RFC 1372 Telnet Remote Flow Control Option October 1992 + + + IAC DONT TOGGLE-FLOW-CONTROL + + Sender refuses to send command to enable and disable flow control. + + IAC SB TOGGLE-FLOW-CONTROL OFF IAC SE + + Sender requests receiver to disable flow control. + + IAC SB TOGGLE-FLOW-CONTROL ON IAC SE + + Sender requests receiver to enable flow control. + + IAC SB TOGGLE-FLOW-CONTROL RESTART-ANY IAC SE + + Sender requests that when flow control is enabled, the receiver + allow any character (except another XOFF) to restart output. + + IAC SB TOGGLE-FLOW-CONTROL RESTART-XON IAC SE + + Sender requests that when flow control is enabled, the receiver + allows only the XON character to restart output. + +3. Default Specification + + The default specification for this option is + + WONT TOGGLE-FLOW-CONTROL DONT TOGGLE-FLOW-CONTROL + + meaning flow control information will not be exchanged in either + direction. + +4. Motivation + + This memo describes a method of remotely toggling flow control + between a user telnet process and the attached terminal. Only flow + control of data being transmitted from the telnet process to the + terminal is considered. Many systems will also allow flow control of + data from the terminal to the telnet process, however there is seldom + need to change this behavior repeatedly during the session. + + There are two common ways of doing flow control: hardware and + software. Hardware flow control uses signals on wires dedicated for + this purpose. Software flow control uses one or two specific + characters sent along the same path as normal input data. Most + commonly, XOFF (control-S) and XON (control-Q) are used to stop and + start output, respectively. The option described herein is useful + primarily where software flow control is being used. (Since hardware + flow control does not preempt any characters, there is normally no + + + +Hedrick & Borman [Page 2] + +RFC 1372 Telnet Remote Flow Control Option October 1992 + + + need to disable it.) It should also be noted that flow control can + either be generated automatically by the terminal when its buffers + are close to overflowing, or manually by the user, when he/she cannot + read the information as fast as it is being displayed, and unread + information will start scrolling off the screen. + + The primary difficulty with software flow control is that it preempts + one or two characters. Host software often requires the user to be + able to input every possible ASCII character. (Certain editors are + notorious for having XOFF and XON as commonly-used commands.) For + this reason, operating systems often allow programs to disable flow + control. While it is disabled, the characters that normally signal + flow control may be read as normal input. In a telnet environment, + flow control is normally done by the user telnet process, not by the + host computer. In addition, many operating systems, when flow + control is enabled, the user may specify whether the XOFF character + is the only character that is allowed to re-enable the output of + data, or whether any typed character should re-enable the flow of + data. Thus this RFC defines a way to propagate flow control status + from the host computer to the user telnet process. + +5. Description of the Option + + Use of the option requires two phases. In the first phase, the + telnet processes agree that one of them will TOGGLE-FLOW-CONTROL. + WILL and DO are used only in this first phase. In general there will + be only one exchange of WILL and DO for a session. Subnegotiations + must not be issued until DO and WILL have been exchanged. It is + permissible for either side to turn off the option by sending a WONT + or DONT. Should this happen, no more subnegotiations may be sent, + unless the option is re-enabled by another exchange of DO and WILL. + + Once the hosts have exchanged a WILL and a DO, the sender of the DO + TOGGLE-FLOW-CONTROL is free to send subnegotiations to enable and + disable flow control in the other process, and to send + subnegotiations for recommendations on when to restart output. + Normally, the sender of the DO will be a host, and the other end will + be a user telnet process, which is connected to a terminal. Thus the + protocol is normally asymmetric, however it may be used in both + directions without confusion should need for this arise. + + As soon as the DO and WILL have been exchanged, the sender of the + WILL must enable flow control. This allows flow control to begin in + a known state. The decision of whether to restart output only when + the XON character is received, or when any character received, starts + in a system dependent state. (This is to make it consistent with + older implementations of the TOGGLE-FLOW-CONTROL option that do not + understand the RESTART-ANY and RESTART-XON suboptions.) The sender + + + +Hedrick & Borman [Page 3] + +RFC 1372 Telnet Remote Flow Control Option October 1992 + + + of the DO should send either a RESTART-ANY or RESTART-XON suboption + to put the restart characteristics to a know state. Some clients + might not be able to support both of the RESTART-ANY and RESTART-XON + modes due to system limitations, and would then choose to ignore + these commands. There is no way for the server to be notified of + this condition, but a client should make every attempt to honor the + state requested by the RESTART-ANY and RESTART-XON modes. Should the + option be disabled by exchange of DONT and WONT, flow control may + revert to an implementation-defined default state. It is not safe to + assume that flow control will remain in the state requested by the + most recent subnegotiation. + + In most implementations of software flow control, when enabled, the + XOFF and XON characters are never propagated to the server; they are + typically eaten by the terminal driver between the telnet client and + the attached terminal. In most implementations that support the + RESTART-ANY functionality, the typed character that re-enables the + output is not eaten by the terminal driver, unless it is the XON + character. + + Currently, only four command codes are defined for the + subnegotiations: flow control off (code 0), flow control on (code 1), + restart output on any character (code 2) and restart output only on + XON (code 3). None of these codes requires any additional data, + however it is possible that additional commands may be added. Thus + subnegotiations having command codes other than those defined in this + document should be silently ignored. + + This option does not deal with the issue of allowing the DO side of + the connection to inform the WILL side which characters should be + used for XON and XOFF. That functionality is already supplied by the + LINEMODE [1] option. + + + + + + + + + + + + + + + + + + + +Hedrick & Borman [Page 4] + +RFC 1372 Telnet Remote Flow Control Option October 1992 + + +6. Example + + Here is an example of the use of this option: + + Client Server + IAC DO TOGGLE-FLOW-CONTROL + IAC WILL TOGGLE-FLOW-CONTROL + [ The server is now free to send commands to change flow control. + Note that the client must now have enabled flow control, but + that whether it is restart on XON only or on any character is + client specific. ] + IAC SB TOGGLE-FLOW-CONTROL + RESTART-ANY IAC SE + + [ The client should now switch to allowing output to restart when + the user types any character, if the client is able to support + that functionality. ] + IAC SB TOGGLE-FLOW-CONTROL OFF + IAC SE + IAC SB TOGGLE-FLOW-CONTROL ON + IAC SE + +References + + [1] Internet Engineering Task Force, Telnet Working Group, + D. Borman, Editor, "Telnet Linemode Option", RFC 1184, + Cray Research, Inc., October 1990. + +Acknowledgments + + The original specification for this option was written by Charles + Hedrick, and published as RFC 1080. The RESTART-ANY and RESTART-XON + suboptions were defined and added to this version of the document by + David Borman. + +Security Considerations + + Security issues are not discussed in this memo. + + + + + + + + + + + + + +Hedrick & Borman [Page 5] + +RFC 1372 Telnet Remote Flow Control Option October 1992 + + +Authors' Addresses + + David Borman + Cray Research, Inc. + 655F Lone Oak Drive + Eagan, MN 55121 + + Phone: (612) 452-6650 + Email: dab@CRAY.COM + + + Charles Hedrick + Director, LCSR Computing Facility + Rutgers University + 227 CORE Building + P.O. Box 879 + Piscataway, NJ 08855-0879 + + Phone: (908) 932-3088 + Email: hedrick@cs.rutgers.edu + + Mailing List: telnet-ietf@CRAY.COM + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +Hedrick & Borman [Page 6] +
\ No newline at end of file |