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

  1.  Network Working Group                                          J. Postel Request for Comments: 857                                    J. Reynolds                                                                      ISI Obsoletes: NIC 15390                                            May 1983 
  2.  
  3.                            TELNET ECHO OPTION 
  4.  
  5.  This RFC specifies a standard for the ARPA Internet community.  Hosts on the ARPA Internet are expected to adopt and implement this standard. 
  6.  
  7. 1. Command Name and Code 
  8.  
  9.    ECHO       1 
  10.  
  11. 2. Command Meanings 
  12.  
  13.    IAC WILL ECHO 
  14.  
  15.       The sender of this command REQUESTS to begin, or confirms that it       will now begin, echoing data characters it receives over the       TELNET connection back to the sender of the data characters. 
  16.  
  17.    IAC WON'T ECHO 
  18.  
  19.       The sender of this command DEMANDS to stop, or refuses to start,       echoing the data characters it receives over the TELNET connection       back to the sender of the data characters. 
  20.  
  21.    IAC DO ECHO 
  22.  
  23.       The sender of this command REQUESTS that the receiver of this       command begin echoing, or confirms that the receiver of this       command is expected to echo, data characters it receives over the       TELNET connection back to the sender. 
  24.  
  25.    IAC DON'T ECHO 
  26.  
  27.       The sender of this command DEMANDS the receiver of this command       stop, or not start, echoing data characters it receives over the       TELNET connection. 
  28.  
  29. 3. Default 
  30.  
  31.    WON'T ECHO 
  32.  
  33.    DON'T ECHO 
  34.  
  35.       No echoing is done over the TELNET connection. 
  36.  
  37. 4. Motivation for the Option 
  38.  
  39.  Postel & Reynolds                                               [Page 1] 
  40.  
  41.  
  42.  RFC 857                                                         May 1983 
  43.  
  44.     The NVT has a printer and a keyboard which are nominally    interconnected so that "echoes" need never traverse the network; that    is to say, the NVT nominally operates in a mode where characters    typed on the keyboard are (by some means) locally turned around and    printed on the printer.  In highly interactive situations it is    appropriate for the remote process (command language interpreter,    etc.) to which the characters are being sent to control the way they    are echoed on the printer.  In order to support such interactive    situations, it is necessary that there be a TELNET option to allow    the parties at the two ends of the TELNET connection to agree that    characters typed on an NVT keyboard are to be echoed by the party at    the other end of the TELNET connection. 
  45.  
  46. 5. Description of the Option 
  47.  
  48.    When the echoing option is in effect, the party at the end performing    the echoing is expected to transmit (echo) data characters it    receives back to the sender of the data characters.  The option does    not require that the characters echoed be exactly the characters    received (for example, a number of systems echo the ASCII ESC    character with something other than the ESC character).  When the    echoing option is not in effect, the receiver of data characters    should not echo them back to the sender; this, of course, does not    prevent the receiver from responding to data characters received. 
  49.  
  50.    The normal TELNET connection is two way.  That is, data flows in each    direction on the connection independently; and neither, either, or    both directions may be operating simultaneously in echo mode.  There    are five reasonable modes of operation for echoing on a connection    pair: 
  51.  
  52.                        <----------------              Process 1                   Process 2                 ---------------->                  Neither end echoes 
  53.  
  54.                        <----------------                    \       Process 1    /              Process 2                 ---------------->              One end echoes for itself 
  55.  
  56.  
  57.  
  58.  
  59.  
  60.  Postel & Reynolds                                               [Page 2] 
  61.  
  62.  
  63.  RFC 857                                                         May 1983 
  64.  
  65.                         <----------------                              \       Process 1              /    Process 2                 ---------------->           One end echoes for the other 
  66.  
  67.                        <----------------                    \         /       Process 1    /         \    Process 2                 ---------------->           Both ends echo for themselves 
  68.  
  69.                        <----------------                    \ /       Process 1    / \            Process 2                 ---------------->            One end echoes for both ends 
  70.  
  71.    This option provides the capability to decide on whether or not    either end will echo for the other.  It does not, however, provide    any control over whether or not an end echoes for itself;  this    decision must be left to the sole discretion of the systems at each    end (although they may use information regarding the state of    "remote" echoing negotiations in making this decision). 
  72.  
  73.    It should be noted that if BOTH hosts enter the mode of echoing    characters transmitted by the other host, then any character    transmitted in either direction will be "echoed" back and forth    indefinitely.  Therefore, care should be taken in each implementation    that if one site is echoing, echoing is not permitted to be turned on    at the other. 
  74.  
  75.    As discussed in the TELNET Protocol Specification, both parties to a    full-duplex TELNET connection initially assume each direction of the    connection is being operated in the default mode which is non-echo    (non-echo is not using this option, and the same as DON'T ECHO, WON'T    ECHO). 
  76.  
  77.    If either party desires himself to echo characters to the other party    or for the other party to echo characters to him, that party gives    the appropriate command (WILL ECHO or DO ECHO) and waits (and hopes)    for acceptance of the option.  If the request to operate the    connection in echo mode is refused, then the connection continues to    operate in non-echo mode.  If the request to operate the connection    in echo mode is accepted, the connection is operated in echo mode. 
  78.  
  79.  Postel & Reynolds                                               [Page 3] 
  80.  
  81.  
  82.  RFC 857                                                         May 1983 
  83.  
  84.     After a connection has been changed to echo mode, either party may    demand that it revert to non-echo mode by giving the appropriate    DON'T ECHO or WON'T ECHO command (which the other party must confirm    thereby allowing the connection to operate in non-echo mode).  Just    as each direction of the TELNET connection may be put in remote    echoing mode independently, each direction of the TELNET connection    must be removed from remote echoing mode separately. 
  85.  
  86.    Implementations of the echo option, as implementations of all other    TELNET options, must follow the loop preventing rules given in the    General Considerations section of the TELNET Protocol Specification.    Also, so that switches between echo and non-echo mode can be made    with minimal confusion (momentary double echoing, etc.), switches in    mode of operation should be made at times precisely coordinated with    the reception and transmission of echo requests and demands.  For    instance, if one party responds to a DO ECHO with a WILL ECHO, all    data characters received after the DO ECHO should be echoed and the    WILL ECHO should immediately precede the first of the echoed    characters. 
  87.  
  88.    The echoing option alone will normally not be sufficient to effect    what is commonly understood to be remote computer echoing of    characters typed on a terminal keyboard--the SUPPRESS-GO AHEAD option    will normally have to be invoked in conjunction with the ECHO option    to effect character-at-a-time remote echoing. 
  89.  
  90. 6. A Sample Implementation of the Option 
  91.  
  92.    The following is a description of a possible implementation for a    simple user system called "UHOST". 
  93.  
  94.    A possible implementation could be that for each user terminal, the    UHOST would keep three state bits: whether the terminal echoes for    itself (UHOST ECHO always) or not (ECHO mode possible), whether the    (human) user prefers to operate in ECHO mode or in non-ECHO mode, and    whether the connection from this terminal to the server is in ECHO or    non-ECHO mode.  We will call these three bits P(hysical), D(esired),    and A(ctual). 
  95.  
  96.    When a terminal dials up the UHOST the P-bit is set appropriately,    the D-bit is set equal to it, and the A-bit is set to non-ECHO.  The    P-bit and D-bit may be manually reset by direct commands if the user    so desires.  For example, a user in Hawaii on a "full-duplex"    terminal, would choose not to operate in ECHO mode, regardless of the    preference of a mainland server.  He should direct the UHOST to    change his D-bit from ECHO to non-ECHO. 
  97.  
  98.    When a connection is opened from the UHOST terminal to a server, the 
  99.  
  100.  Postel & Reynolds                                               [Page 4] 
  101.  
  102.  
  103.  RFC 857                                                         May 1983 
  104.  
  105.     UHOST would send the server a DO ECHO command if the MIN (with    non-ECHO less than ECHO) of the P- and D-bits is different from the    A-bit.  If a WON'T ECHO or WILL ECHO arrives from the server, the    UHOST will set the A-bit to the MIN of the received request, the    P-bit, and the D-bit.  If this changes the state of the A-bit, the    UHOST will send off the appropriate acknowledgment; if it does not,    then the UHOST will send off the appropriate refusal if not changing    meant that it had to deny the request (i.e., the MIN of the P-and    D-bits was less than the received A-request). 
  106.  
  107.    If while a connection is open, the UHOST terminal user changes either    the P-bit or D-bit, the UHOST will repeat the above tests and send    off a DO ECHO or DON'T ECHO, if necessary.  When the connection is    closed, the UHOST would reset the A-bit to indicate UHOST echoing. 
  108.  
  109.    While the UHOST's implementation would not involve DO ECHO or DON'T    ECHO commands being sent to the server except when the connection is    opened or the user explicitly changes his echoing mode, bigger hosts    might invoke such mode switches quite frequently.  For instance,    while a line-at-a-time system were running, the server might attempt    to put the user in local echo mode by sending the WON'T ECHO command    to the user; but while a character-at-a-time system were running, the    server might attempt to invoke remote echoing for the user by sending    the WILL ECHO command to the user.  Furthermore, while the UHOST will    never send a WILL ECHO command and will only send a WON'T ECHO to    refuse a server sent DO ECHO command, a server host might often send    the WILL and WON'T ECHO commands. 
  110.  
  111.  
  112.  
  113.  
  114.  
  115.  
  116.  
  117.  
  118.  
  119.  
  120.  
  121.  
  122.  
  123.  
  124.  
  125.  
  126.  
  127.  
  128.  
  129.  
  130.  
  131.  
  132.  
  133. Postel & Reynolds                                               [Page 5] 
  134.  
  135.