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

  1.  Network Working Group                                          J. Postel Request for Comments: 860                                    J. Reynolds                                                                      ISI Obsoletes: NIC 16238                                            May 1983 
  2.  
  3.                        TELNET TIMING MARK OPTION 
  4.  
  5.  This RFC specifies a standard for the ARPA community.  Hosts on the ARPA Internet are expected to adopt and implement this standard. 
  6.  
  7. 1.  Command Name and Code 
  8.  
  9.    TIMING-MARK          6 
  10.  
  11. 2.  Command Meanings 
  12.  
  13.    IAC DO TIMING-MARK 
  14.  
  15.       The sender of this command REQUESTS that the receiver of this       command return a WILL TIMING-MARK in the data stream at the       "appropriate place" as defined in section 4 below. 
  16.  
  17.    IAC WILL TIMING-MARK 
  18.  
  19.       The sender of this command ASSURES the receiver of this command       that it is inserted in the data stream at the "appropriate place"       to insure synchronization with a DO TIMING-MARK transmitted by the       receiver of this command. 
  20.  
  21.    IAC WON'T TIMING-MARK 
  22.  
  23.       The sender of this command REFUSES to insure that this command is       inserted in the data stream at the "appropriate place" to insure       synchronization. 
  24.  
  25.    IAC DON'T TIMING-MARK 
  26.  
  27.       The sender of this command notifies the receiver of this command       that a WILL TIMING-MARK (previously transmitted by the receiver of       this command) has been IGNORED. 
  28.  
  29. 3.  Default 
  30.  
  31.    WON'T TIMING-MARK, DON'T TIMING-MARK 
  32.  
  33.       i.e., No explicit attempt is made to synchronize the activities at       the two ends of the TELNET connection. 
  34.  
  35. 4.  Motivation for the Option 
  36.  
  37.  
  38.  
  39. Postel & Reynolds                                               [Page 1] 
  40.  
  41.  
  42.  RFC 860                                                         May 1983 
  43.  
  44.     It is sometimes useful for a user or process at one end of a TELNET    connection to be sure that previously transmitted data has been    completely processed, printed, discarded, or otherwise disposed of.    This option provides a mechanism for doing this.  In addition, even    if the option request (DO TIMING-MARK) is refused (by WON'T    TIMING-MARK) the requester is at least assured that the refuser has    received (if not processed) all previous data. 
  45.  
  46.    As an example of a particular application, imagine a TELNET    connection between a physically full duplex terminal and a "full    duplex" server system which permits the user to "type ahead" while    the server is processing previous user input.  Suppose that both    sides have agreed to Suppress Go Ahead and that the server has agreed    to provide echoes.  The server now discovers a command which it    cannot parse, perhaps because of a user typing error.  It would like    to throw away all of the user's "type-ahead" (since failure of the    parsing of one command is likely to lead to incorrect results if    subsequent commands are executed), send the user an error message,    and resume interpretation of commands which the user typed after    seeing the error message.  If the user were local, the system would    be able to discard the buffered input; but input may be buffered in    the user's host or elsewhere.  Therefore, the server might send a DO    TIMING-MARK and hope to receive a WILL TIMING-MARK from the user at    the "appropriate place" in the data stream. 
  47.  
  48.    The "appropriate place", therefore (in absence of other information)    is clearly just before the first character which the user typed after    seeing the error message.  That is, it should appear that the timing    mark was "printed" on the user's terminal and that, in response, the    user typed an answering timing mark. 
  49.  
  50.    Next, suppose that the user in the example above realized that he had    misspelled a command, realized that the server would send a DO    TIMING-MARK, and wanted to start "typing ahead" again without waiting    for this to occur.  He might then instruct his own system to send a    WILL TIMING-MARK to the server and then begin "typing ahead" again.    (Implementers should remember that the user's own system must    remember that it sent the WILL TIMING-MARK so as to discard the    DO/DON'T TIMING-MARK when it eventually arrives.)  Thus, in this case    the "appropriate place" for the insertion of the WILL TIMING-MARK is    the place defined by the user. 
  51.  
  52.    It should be noted, in both of the examples above, that it is the    responsibility of the system which transmits the DO TIMING-MARK to    discard any unwanted characters; the WILL TIMING-MARK only provides    help in deciding which characters are "unwanted". 
  53.  
  54. 5.  Description of the Option 
  55.  
  56.  Postel & Reynolds                                               [Page 2] 
  57.  
  58.  
  59.  RFC 860                                                         May 1983 
  60.  
  61.     Suppose that Process A of Figure 1 wishes to synchronize with B. The    DO TIMING-MARK is sent from A to B.  B can refuse by replying WON'T    TIMING-MARK, or agree by permitting the timing mark to flow through    his "outgoing" buffer, BUF2.  Then, instead of delivering it to the    terminal, B will enter the mark into his "incoming" buffer BUF1, to    flow through toward A.  When the mark has propagated through B's    incoming buffer, B returns the WILL TIMING-MARK over the TELNET    connection to A. 
  62.  
  63.       PROCESS A    TELNETconnection    PROCESS B           Terminal       +-----------+                +---------------+ Timing+-------+       |           |WILL TIMING MARK|     BUF 1     |  Mark |       |       |           |<---------------|--|-|-|-|-|-|--|<------|       |       |           |                |  |-|-|-|-|-|  |   ^   |       |       |           |                |     BUF 2     |   ^   |       |       |           |--------------->|--|-|-|-|-|-|--|------>|       |       |           | DO TIMING MARK |  |-|-|-|-|-|  |       |       |       +-----------+                +---------------+       +-------+                                      (NVT process).ME;                          Figure 1 
  64.  
  65.    When A receives the WILL TIMING-MARK, he knows that all the    information he sent to B before sending the timing mark been    delivered, and all the information sent from B to A before turnaround    of the timing mark has been delivered. 
  66.  
  67.    Three typical applications are: 
  68.  
  69.       A. Measure round-trip delay between a process and a terminal or          another process. 
  70.  
  71.       B. Resynchronizing an interaction as described in section 4 above.          A is a process interpreting commands forwarded from a terminal          by B. When A sees an illegal command it: 
  72.  
  73.          i.   Sends <carriage return>, <line feed>, <question mark>. 
  74.  
  75.          ii.  Sends DO TIMING-MARK. 
  76.  
  77.          iii. Sends an error message. 
  78.  
  79.          iv.  Starts reading input and throwing it away until it               receives a WILL TIMING-MARK. 
  80.  
  81.          v.   Resumes interpretation of input. 
  82.  
  83.  
  84.  
  85.  
  86.  
  87. Postel & Reynolds                                               [Page 3] 
  88.  
  89.  
  90.  RFC 860                                                         May 1983 
  91.  
  92.           This achieves the effect of flushing all "type ahead" after the          erroneous command, up to the point when the user actually saw          the question mark. 
  93.  
  94.       C.  The dual of B above.  The terminal user wants to throw away          unwanted output from A. 
  95.  
  96.          i.   B sends DO TIMING-MARK, followed by some new command. 
  97.  
  98.          ii.  B starts reading output from A and throwing it away until               it receives WILL TIMING-MARK. 
  99.  
  100.          iii. B resumes forwarding A's output to the terminal. 
  101.  
  102.          This achieves the effect of flushing all output from A, up to          the point where A saw the timing mark, but not output generated          in response to the following command. 
  103.  
  104.  
  105.  
  106.  
  107.  
  108.  
  109.  
  110.  
  111.  
  112.  
  113.  
  114.  
  115.  
  116.  
  117.  
  118.  
  119.  
  120.  
  121.  
  122.  
  123.  
  124.  
  125.  
  126.  
  127.  
  128.  
  129.  
  130.  
  131.  
  132.  
  133.  
  134.  
  135.  
  136. Postel & Reynolds                                               [Page 4] 
  137.  
  138.