home *** CD-ROM | disk | FTP | other *** search
/ Handbook of Infosec Terms 2.0 / Handbook_of_Infosec_Terms_Version_2.0_ISSO.iso / text / rfcs / rfc1372.txt < prev    next >
Text File  |  1996-05-07  |  11KB  |  204 lines

  1.  
  2.  
  3.  
  4.  
  5.  
  6.  
  7. Network Working Group                                         C. Hedrick Request for Comments: 1372                            Rutgers University Obsoletes: RFC 1080                                            D. Borman                                                      Cray Research, Inc.                                                             October 1992 
  8.  
  9.                    Telnet Remote Flow Control Option 
  10.  
  11. Status of This Memo 
  12.  
  13.    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. 
  14.  
  15. Introduction 
  16.  
  17.    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. 
  18.  
  19. 1.  Command Names and Codes 
  20.  
  21.    TOGGLE-FLOW-CONTROL   33        OFF                    0        ON                     1        RESTART-ANY            2        RESTART-XON            3 
  22.  
  23. 2.  Command Meanings 
  24.  
  25.    IAC WILL TOGGLE-FLOW-CONTROL 
  26.  
  27.       Sender is willing to enable and disable flow control upon command. 
  28.  
  29.    IAC WONT TOGGLE-FLOW-CONTROL 
  30.  
  31.       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. 
  32.  
  33.    IAC DO TOGGLE-FLOW-CONTROL 
  34.  
  35.       Sender is willing to send commands to enable and disable flow       control. 
  36.  
  37.  
  38.  
  39.  Hedrick & Borman                                                [Page 1] 
  40.  RFC 1372           Telnet Remote Flow Control Option        October 1992 
  41.  
  42.     IAC DONT TOGGLE-FLOW-CONTROL 
  43.  
  44.       Sender refuses to send command to enable and disable flow control. 
  45.  
  46.    IAC SB TOGGLE-FLOW-CONTROL OFF IAC SE 
  47.  
  48.       Sender requests receiver to disable flow control. 
  49.  
  50.    IAC SB TOGGLE-FLOW-CONTROL ON IAC SE 
  51.  
  52.       Sender requests receiver to enable flow control. 
  53.  
  54.    IAC SB TOGGLE-FLOW-CONTROL RESTART-ANY IAC SE 
  55.  
  56.       Sender requests that when flow control is enabled, the receiver       allow any character (except another XOFF) to restart output. 
  57.  
  58.    IAC SB TOGGLE-FLOW-CONTROL RESTART-XON IAC SE 
  59.  
  60.       Sender requests that when flow control is enabled, the receiver       allows only the XON character to restart output. 
  61.  
  62. 3.  Default Specification 
  63.  
  64.    The default specification for this option is 
  65.  
  66.       WONT TOGGLE-FLOW-CONTROL DONT TOGGLE-FLOW-CONTROL 
  67.  
  68.    meaning flow control information will not be exchanged in either    direction. 
  69.  
  70. 4.  Motivation 
  71.  
  72.    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. 
  73.  
  74.    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 
  75.  
  76.  
  77.  
  78. Hedrick & Borman                                                [Page 2] 
  79.  RFC 1372           Telnet Remote Flow Control Option        October 1992 
  80.  
  81.     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. 
  82.  
  83.    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. 
  84.  
  85. 5.  Description of the Option 
  86.  
  87.    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. 
  88.  
  89.    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. 
  90.  
  91.    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 
  92.  
  93.  
  94.  
  95. Hedrick & Borman                                                [Page 3] 
  96.  RFC 1372           Telnet Remote Flow Control Option        October 1992 
  97.  
  98.     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. 
  99.  
  100.    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. 
  101.  
  102.    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. 
  103.  
  104.    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. 
  105.  
  106.  
  107.  
  108.  
  109.  
  110.  
  111.  
  112.  
  113.  
  114.  
  115.  
  116.  
  117.  
  118.  
  119.  
  120.  
  121.  
  122.  
  123.  
  124. Hedrick & Borman                                                [Page 4] 
  125.  RFC 1372           Telnet Remote Flow Control Option        October 1992 
  126.  
  127.  6.  Example 
  128.  
  129.    Here is an example of the use of this option: 
  130.  
  131.        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 
  132.  
  133.        [ 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 
  134.  
  135. References 
  136.  
  137.    [1] Internet Engineering Task Force, Telnet Working Group,        D. Borman, Editor, "Telnet Linemode Option", RFC 1184,        Cray Research, Inc., October 1990. 
  138.  
  139. Acknowledgments 
  140.  
  141.    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. 
  142.  
  143. Security Considerations 
  144.  
  145.    Security issues are not discussed in this memo. 
  146.  
  147.  
  148.  
  149.  
  150.  
  151.  
  152.  
  153.  
  154.  
  155.  
  156.  
  157.  
  158.  
  159. Hedrick & Borman                                                [Page 5] 
  160.  RFC 1372           Telnet Remote Flow Control Option        October 1992 
  161.  
  162.  Authors' Addresses 
  163.  
  164.    David Borman    Cray Research, Inc.    655F Lone Oak Drive    Eagan, MN 55121 
  165.  
  166.    Phone: (612) 452-6650    Email: dab@CRAY.COM 
  167.  
  168.     Charles Hedrick    Director, LCSR Computing Facility    Rutgers University    227 CORE Building    P.O. Box 879    Piscataway, NJ  08855-0879 
  169.  
  170.    Phone: (908) 932-3088    Email: hedrick@cs.rutgers.edu 
  171.  
  172.    Mailing List: telnet-ietf@CRAY.COM 
  173.  
  174.  
  175.  
  176.  
  177.  
  178.  
  179.  
  180.  
  181.  
  182.  
  183.  
  184.  
  185.  
  186.  
  187.  
  188.  
  189.  
  190.  
  191.  
  192.  
  193.  
  194.  
  195.  
  196.  
  197.  
  198.  
  199.  
  200.  
  201.  
  202. Hedrick & Borman                                                [Page 6] 
  203.  
  204.