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