この文書はRFC860の日本語訳(和訳)です。 この文書の翻訳内容の正確さは保障できないため、 正確な知識を求める方は原文を参照してください。 翻訳者はこの文書によって読者が被り得る如何なる損害の責任をも負いません。 この翻訳内容に誤りがある場合、訂正版の公開や、 誤りの指摘は適切です。 翻訳者はこの文書の配布を制限しません。


Network Working Group                                          J. Postel
Request for Comments: 860                                    J. Reynolds
                                                                     ISI
Obsoletes: NIC 16238                                            May 1983

                       TELNET TIMING MARK OPTION
                 TELNETタイミングマークオプション


This RFC specifies a standard for the ARPA community.  Hosts on the ARPA
Internet are expected to adopt and implement this standard.
このRFCはARPA共同体の標準を指定します。ARPAインターネット上の
ホストがこの標準を採用して実装することを期待されます。

1.  Command Name and Code
1.  コマンド名とコード

   TIMING-MARK          6

2.  Command Meanings
2.  コマンドの意味

   IAC DO TIMING-MARK

      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.
      このコマンドの送り主はこのコマンドの受信者が、下の4章で定義される
      ように、「適切な場所」でデータ流でWILL TIMING-MARKを返すことを要請
      します。

   IAC WILL TIMING-MARK

      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.
      このコマンドの送り主はこのコマンドの受信者に、このコマンドの受信者
      によって送られたDO TIMING-MARKを同期を保障するためにデータ流の「適
      切な場所」に挿入することを保証します。

   IAC WON'T TIMING-MARK

      The sender of this command REFUSES to insure that this command is
      inserted in the data stream at the "appropriate place" to insure
      synchronization.
      このコマンドの送り主はこのコマンドが同期保障に「適切な場所」でデー
      タ流に挿入されることを保証することを拒否します。

   IAC DON'T TIMING-MARK

      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.
      このコマンドの送り主はこのコマンドの受信者に(前にこのコマンドの受
      信者によって伝達された)WILL TIMING-MARKが無視されたということを知
      らせます。

3.  Default
3.  デフォルト

   WON'T TIMING-MARK, DON'T TIMING-MARK

      i.e., No explicit attempt is made to synchronize the activities at
      the two ends of the TELNET connection.
      すなわち、TELNET接続の2つの終端の活動を同期させる明白な試み
      がされません。

4.  Motivation for the Option
4.  オプションの動機

   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.
   前に伝達されたデータが完全に処理されるか、印刷されるか、捨てられてか、
   処分された事を確実にすることは、TELNET接続の一方のユーザかプロ
   セスにとって時々有用です。このオプションはこれに対するメカニズムを供
   給します。さらに、たとえオプション要求(DO TIMING-MARK)が(WON'T
   TIMING-MARKによって)拒否されたとしても、要求者はは少なくとも拒否者が
   前のデータを受信した保障を得ます(もし処理なかったとしても)。

   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.
   特定のアプリケーションの例として、物理的に全二重の端末と、サーバーが
   前のユーザ入力を処理している間に、ユーザの「先行入力」を許す「全二重」
   サーバーシステム間のTELNET接続を想像してください。両者がGo
   Ahead抑制に合意し、サーバがエコーを供給することに同意したと考えてくだ
   さい。サーバが、多分ユーザのタイピングエラーのために、解析できないコ
   マンドを発見します。サーバは、ユーザの「先行入力」のすべてを廃棄して
   (1つのコマンドの解析の失敗の後で、次のコマンドが実行されるなら、正
   しくない結果を導く可能性が高いから)、ユーザーにエラーメッセージを送っ
   て、ユーザーがエラーメッセージを見た後でタイプしたコマンドの解釈を再
   開したいです。もしユーザがローカルにいるなら、システムはバッファされ
   た入力を捨てることが可能でしょう;けれども入力がユーザホストや、他の
   ところにバッファされるかもしれません。それ故に、サーバはDO
   TIMING-MARKを送って、そしてデータ流における「適切位置」でユーザから
   WILL TIMING-MARK) を受け取ることを望むかもしれません。

   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.
   「適切な場所」は、従って、(他の情報がなければ)明らかにユーザがエラー
   メッセージを見た後でタイプした最初の文字です。すなわち、タイミングマー
   クがユーザ端末上に「印刷」され、そして、応答で、ユーザが応答タイミン
   グマークをタイプしたように思われるべきです。

   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.
   次に、上記の例で、ユーザがコマンドのつづりを間違えて、サーバがDO
   TIMING-MARKを送るであろうことを悟って、これが起こるのを待たないで再び
   「先行入力」を始めることを望んだと考えてください。彼は自分のシステム
   に、サーバーにWILL TIMING-MARKを送り、そして次に再び「先行入力」を始
   めるよう指示するかもしれません。(実装者は、ユーザのシステムがWILL
   TIMING-MARKを送ったのを覚えていて、返ってきたDO/DON'T TIMING-MARKを捨
   てることを忘れてはなりません。)それで、この場合、WILL TIMING-MARKの
   挿入の「適切な場所」はユーザーによって定義される場所です。

   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".
   両方の例で、望まれない文字を捨てるDO TIMING-MARKを伝達するのはシステ
   ムの責任であることに気づいてください;WILL TIMING-MARKはいずれの文字
   が「望まれない」か決める手助けを供給するだけです。

5.  Description of the Option
5.  オプションの記述

   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.
   図1のプロセスAがプロセスBと同期を願っていると思ってください。DO
   TIMING-MARKはAからBに送られます。BはWON'T TIMING-MARKを返事するこ
   とで拒否することも可能で、あるいはタイミングマークを「出力」バッファ
   BUF2に流すことで許可に同意できます。それから、端末に送る代わりに、B
   がAに向かって送るためマークを「入力」バッファBUF1に入れるでしょう。
   マークがBの入力バッファを通して来た時、BがTELNET接続の上でA
   にWILL TIMING-MARKを返します。

      PROCESS A    TELNETconnection    PROCESS B           Terminal
      +-----------+                +---------------+ Timing+-------+
      |           |WILL TIMING MARK|     BUF 1     |  Mark |       |
      |           |<---------------|--|-|-|-|-|-|--|<------|       |
      |           |                |  |-|-|-|-|-|  |   ^   |       |
      |           |                |     BUF 2     |   ^   |       |
      |           |--------------->|--|-|-|-|-|-|--|------>|       |
      |           | DO TIMING MARK |  |-|-|-|-|-|  |       |       |
      +-----------+                +---------------+       +-------+
                                     (NVT process).ME;
                         Figure 1
                           図1

   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.
   AがWILL TIMING-MARKを受け取る時、タイミングマークを送る前にBに送っ
   た情報と、タイミングマークが返ってくる前の全てのBからAに送られてく
   る情報を、知っています。

   Three typical applications are:
   3つの典型的なアプリケーションが以下です:

      A. Measure round-trip delay between a process and a terminal or
         another process.
      A. プロセスと端末あるいはもう1つのプロセスの間の往復遅延の測定。

      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:
      B. 上記4章で記述されるように、相互同期。AがBの端末から転送され
         るコマンドを解釈するプロセスです。Aが誤ったコマンドを見つける
         と以下の様にします:

         i.   Sends <carriage return>, <line feed>, <question mark>.
         i.   <carriage return>, <line feed>, <question mark>を送信。

         ii.  Sends DO TIMING-MARK.
         ii.  DO TIMING-MARKを送信

         iii. Sends an error message.
         iii. エラーメッセージを送信

         iv.  Starts reading input and throwing it away until it
              receives a WILL TIMING-MARK.
         iv.  入力を読み始めWILL TIMING-MARKを受信するまで捨てます。

         v.   Resumes interpretation of input.
         v.   入力の解釈を再開します。

         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.
         これは、誤ったコマンドの後、ユーザが実際に疑問符を見た時まで、
         「先行入力」を洗い流す効果を成し遂げます。

      C.  The dual of B above.  The terminal user wants to throw away
         unwanted output from A.
      C.  上記にBの二重。端末ユーザーはAからの望まれない出力の廃棄を
         望みます。

         i.   B sends DO TIMING-MARK, followed by some new command.
         i.   BはDO TIMING-MARKを送り、続けて新しいコマンドを送ります。

         ii.  B starts reading output from A and throwing it away until
              it receives WILL TIMING-MARK.
         ii.  BはWILL TIMING-MARKがあるまでAからの出力を捨てます。

         iii. B resumes forwarding A's output to the terminal.
         iii. BはAの出力を端末に送るのを再開します。

         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.
         これは、誤ったコマンドの後、ユーザが実際に疑問符を見た時までの
         出力を洗い流し、続くコマンドの生成した出力を捨てない効果を成し
         遂げます。

Japanese translation by Ishida So