RFC908 日本語訳

0908 Reliable Data Protocol. D. Velten, R.M. Hinden, J. Sax. July 1984. (Format: TXT=97646 bytes) (Updated by RFC1151) (Status: EXPERIMENTAL)
プログラムでの自動翻訳です。
RFC一覧
英語原文

                          Reliable Data Protocol

確実な資料プロトコル

                                  RFC-908

RFC-908

                               David Velten

デヴィッド・フェルテン

                               Robert Hinden

ロバートHinden

                                 Jack Sax

ジャックSax

                      BBN Communications Corporation

BBNコミュニケーション社

                                July 1984

1984年7月

Status of This Memo

このメモの状態

   This RFC specifies a proposed protocol for the ARPA Internet
   community, and requests discussion and suggestions for
   improvements.  Distribution of this memo is unlimited.

このRFCはARPAインターネットコミュニティ、要求議論、および提案のための提案されたプロトコルを改良に指定します。 このメモの分配は無制限です。



     RDP Specification

RDP仕様

                             Table of Contents

目次

     1   Introduction.......................................... 1

1つの序論… 1

     2   General Description................................... 3
     2.1   Motivation.......................................... 3
     2.2   Relation to Other Protocols......................... 5

2 一般記述… 3 2.1動機… 3 他のプロトコルとの2.2関係… 5

     3   Protocol Operation.................................... 7
     3.1   Protocol Service Objectives......................... 7
     3.2   RDP Connection Management........................... 7
     3.2.1   Opening a Connection.............................. 8
     3.2.2   Ports............................................. 8
     3.2.3   Connection States................................. 8
     3.2.4   Connection Record................................ 11
     3.2.5   Closing a Connection............................. 13
     3.2.6   Detecting an Half-Open Connection................ 14
     3.3   Data Communication................................. 14
     3.4   Reliable Communication............................. 15
     3.4.1   Segment Sequence Numbers......................... 15
     3.4.2   Checksums........................................ 16
     3.4.3   Positive Acknowledgement of Segments............. 16
     3.4.4   Retransmission Timeout........................... 17
     3.5   Flow Control and Window Management................. 17
     3.6   User Interface..................................... 19
     3.7   Event Processing................................... 20
     3.7.1   User Request Events.............................. 21
     3.7.2   Segment Arrival Events........................... 24
     3.7.3   Timeout Events................................... 29

3 操作について議定書の中で述べてください… 7 3.1 サービス目的について議定書の中で述べてください… 7 3.2 RDP接続管理… 7 3.2 .1 接続を開きます… 8 3.2 .2 移植します。 8 3.2 .3 接続州… 8 3.2 .4接続記録… 11 3.2 .5 接続を終えます… 13 3.2 .6 半開きな接続を検出します… 14 3.3データ通信… 14 3.4 信頼できるコミュニケーション… 15 3.4 .1 セグメント一連番号… 15 3.4 .2のチェックサム… 16 3.4 .3 セグメントの積極的な承認… 16 3.4 .4 Retransmissionタイムアウト… 17 3.5フロー制御とウィンドウ管理… 17 3.6ユーザーインタフェース… 19 3.7 イベント処理… 20 3.7 .1 ユーザ要求イベント… 21 3.7 .2 セグメント到着イベント… 24 3.7 .3 タイムアウトイベント… 29

     4   RDP Segments and Formats............................. 31
     4.1   IP Header Format................................... 31
     4.2   RDP Header Format.................................. 32
     4.2.1   RDP Header Fields................................ 33
     4.3   SYN Segment........................................ 36
     4.3.1   SYN Segment Format............................... 36
     4.3.2   SYN Segment Fields............................... 37
     4.4   ACK Segment........................................ 38
     4.4.1   ACK Segment Format............................... 38
     4.4.2   ACK Segment Fields............................... 39
     4.5   Extended ACK Segment............................... 40
     4.5.1   EACK Segment Format.............................. 40
     4.5.2   EACK Segment Fields.............................. 40

4 RDPセグメントと形式… 31 4.1 IPヘッダー形式… 31 4.2 RDPヘッダー形式… 32 4.2 .1 RDPヘッダーフィールド… 33 4.3SYNセグメント… 36 4.3 .1 SYNセグメント形式… 36 4.3 .2 SYNセグメント分野… 37 4.4ACKセグメント… 38 4.4 .1 ACKセグメント形式… 38 4.4 .2 ACKセグメント分野… 39 4.5の拡張ACKセグメント… 40 4.5 .1 EACKセグメント形式… 40 4.5 .2 EACKセグメント分野… 40

                                                                Page i

ページi


     RFC-908                                                 July 1984

RFC-908 1984年7月

     4.6   RST Segment........................................ 42
     4.6.1   RST Segment Format............................... 42
     4.7   NUL Segment........................................ 43
     4.7.1   NUL segment format............................... 43

4.6RSTセグメント… 42 4.6 .1 RSTセグメント形式… 42 4.7NULセグメント… 43 4.7 .1 NULセグメント形式… 43

     5   Examples of Operation................................ 45
     5.1   Connection Establishment........................... 45
     5.2   Simultaneous Connection Establishment.............. 46
     5.3   Lost Segments...................................... 47
     5.4   Segments Received Out of Order..................... 48
     5.5   Communication Over Long Delay Path................. 49
     5.6   Communication Over Long Delay Path With Lost
       Segments
          .................................................... 50
     5.7   Detecting a Half-Open  Connection  on  Crash
       Recovery
          .................................................... 51
     5.8   Detecting a Half-Open  Connection  from  the
       Active Side
          .................................................... 52

操作に関する5つの例… 45 5.1 接続設立… 45 5.2 同時接続設立… 46 5.3 セグメントを失います… 47 5.4のセグメントが故障していた状態で受信されました… 48 長時間の遅延経路の上の5.5コミュニケーション… 49 無くなっているセグメントがある長時間の遅延経路の上の5.6コミュニケーション… 50 5.7 クラッシュリカバリに半開きな接続を検出します… 51 5.8 アクティブ側から半開きな接続を検出します… 52

     A   Implementing a Minimal RDP........................... 53

実装するa最小量のRDP… 53

     Page ii

ページii


     RDP Specification

RDP仕様

                                  FIGURES

     1  Relation to Other Protocols............................ 5
     2  Form of Data Exchange Between Layers................... 6
     3  RDP Connection State Diagram.......................... 10
     4  Segment Format........................................ 31
     5  RDP Header Format..................................... 32
     6  SYN Segment Format.................................... 37
     7  ACK Segment Format.................................... 38
     8  EACK Segment Format................................... 41
     9  RST Segment Format.................................... 42
     10  NUL Segment Format................................... 43

他のプロトコルとの1つの関係… 層の間のデータ交換の5 2フォーム… 6 3RDP接続州のダイヤグラム… 10 4 セグメント形式… 31 5 RDPヘッダー形式… 32 6 SYNセグメント形式… 37 7 ACKセグメント形式… 38 8 EACKセグメント形式… 41 9 RSTセグメント形式… 42 10NULセグメント形式… 43

                                                              Page iii

ページiii



                                 CHAPTER 1

第1章

                               Introduction

序論

          The Reliable Data Protocol (RDP) is designed  to  provide  a
     reliable  data  transport  service  for packet-based applications
     such as remote loading and debugging.  The protocol  is  intended
     to  be simple to implement but still be efficient in environments
     where there may be long transmission  delays  and  loss  or  non-
     sequential delivery of message segments.

Reliable Dataプロトコル(RDP)は、リモートローディングやデバッグなどのパケットベースの応用のための確実な資料輸送サービスを提供するように設計されています。 メッセージ・セグメントの長いトランスミッション遅れと損失か非連続した配送があるかもしれないところで環境でまだ効率的であるのを除いて、実装するのがプロトコルが簡単であることを意図します。

          Although this protocol was designed with  applications  such
     as  remote  loading and debugging in mind, it may be suitable for
     other applications that require reliable message  services,  such
     as computer mail, file transfer, transaction processing, etc.

このプロトコルはリモートローディングやデバッグなどの応用で念頭に設計されましたが、それは信頼できるメッセージサービスを必要とする他のアプリケーションに適するかもしれません、コンピュータメール、ファイル転送、トランザクション処理などのように

          Some of the concepts used come from a  variety  of  sources.
     The  authors  wish credit to be given to Eric Rosen, Rob Gurwitz,
     Jack Haverty, and to acknowledge material adapted from  "RFC-793,
     The Transmission Control Protocol", edited by Jon Postel.  Thanks
     to John Linn for the checksum algorithm.

使用される概念のいくつかがさまざまなソースから来ます。 作者は、クレジットがエリック・ローゼンに与えられていて欲しいです、ロブGurwitz、ジャックHaverty、そして、材料を承認するのがジョン・ポステルによって編集された「RFC-793、通信制御プロトコル」から適合しました。 チェックサムアルゴリズムをジョン・リンをありがとうございます。

                                                                Page 1

1ページ


     RFC-908                                                 July 1984

RFC-908 1984年7月

     Page 2

2ページ


     RDP Specification                             General Description

RDP仕様一般記述

                                 CHAPTER 2

第2章

                            General Description

概説

     2.1  Motivation

2.1 動機

          RDP is a transport protocol designed to efficiently  support
     the  bulk  transfer  of data for such host monitoring and control
     applications  as  loading/dumping  and  remote   debugging.    It
     attempts to provide only those services necessary, in order to be
     efficient in operation and small in size.  Before  designing  the
     protocol,  it  was  necessary  to  consider  what  minimum set of
     transport  functions  would  satisfy  the  requirements  of   the
     intended applications.

RDPは嵩がロードするか、またはどさっと落とすようなホストモニターと制御アプリケーションのためのデータ転送とリモートデバッグであると効率的にサポートするように設計されたトランスポート・プロトコルです。 それは、稼働中であり効率的であって、サイズが小さくなるように必要な状態でそれらのサービスだけを提供するのを試みます。 プロトコルを設計する前に、何の最小のセットの輸送機能が意図しているアプリケーションの要件を満たすかを考えるのが必要でした。

          The following is a list of requirements for such a transport
     protocol:

↓これはそのようなトランスポート・プロトコルのための要件のリストです:

         o   Reliable delivery of packets is required.   When  loading
             or  dumping  a  memory  image,  it  is necessary that all
             memory segments be  delivered.   A  'hole'  left  in  the
             memory  image  is  not acceptable.  However, the internet
             environment is a lossy  one  in  which  packets  can  get
             damaged  or  lost.   So  a  positive  acknowledgement and
             retransmission mechanism is a necessary component of  the
             protocol.

o 信頼できるパケットの配信が必要です。 メモリイメージをロードするか、またはどさっと落とすとき、すべてのメモリセグメントが提供されるのが必要です。 メモリイメージで残っている'穴'は許容できません。 しかしながら、インターネット環境は破損する場合があるか、またはパケットが失われる場合がある損失性1です。 それで、積極的な承認と「再-トランスミッション」メカニズムはプロトコルの必要な成分です。

         o   Since loading and  dumping  of  memory  images  over  the
             internet  involves  the bulk transfer of large amounts of
             data over a lossy network with potentially  long  delays,
             it  is necessary that the protocol move data efficiently.
             In particular,  unnecessary  retransmission  of  segments
             should be avoided.  If a single segment has been lost but
             succeeding  segments  correctly  received,  the  protocol
             should  not  require  the  retransmission  of  all of the
             segments.

o プロトコルが効率的にデータを動かすのが以来インターネットの上でメモリイメージをロードして、どさっと落とすと多量のデータのバルク転送が損失性ネットワークの上で潜在的に長い遅れにかかわるのが必要です。 特に、セグメントの不要な「再-トランスミッション」は避けられるべきです。 ただ一つのセグメントが失われましたが、続くセグメントが正しく受信されるなら、プロトコルはセグメントのすべてを「再-トランスミッション」に要求しないでしょうに。

         o   Loading  and  dumping  are  applications  that   do   not
             necessarily  require  sequenced  delivery of segments, as
             long as all segments eventually are  delivered.   So  the
             protocol  need  not  force sequenced delivery.  For these
             types of applications, segments may be delivered  in  the
             order in which they arrive.

o ローディングとダンピングは必ずセグメントの配列された配送を必要とするというわけではないアプリケーションです、すべてのセグメントが結局提供される限り。 それで、プロトコルは配列された配送を強制する必要はありません。 これらのタイプのアプリケーションにおいて、セグメントはそれらが到達するオーダーで提供されるかもしれません。

                                                                Page 3

3ページ


     RFC-908                                                 July 1984

RFC-908 1984年7月

         o   However, some  applications  may  need  to  know  that  a
             particular  piece  of  data  has  been  delivered  before
             sending the next.  For example, a debugger will  want  to
             know  that  a  command inserting a breakpoint into a host
             memory  image  has  been  delivered  before   sending   a
             "proceed"  command.   If  those  segments  arrived out of
             sequence, the intended results  would  not  be  achieved.
             The  protocol  should  allow a user to optionally specify
             that a connection  must  deliver  segments  in  sequence-
             number order.

o しかしながら、いくつかのアプリケーションが、次を送る前に特定のデータが提供されたのを知る必要があるかもしれません。 例えば、デバッガは、「続き」コマンドを送る前にホストメモリイメージに区切り点を挿入するコマンドが提供されたのを知りたくなるでしょう。 それらのセグメントが順序が狂って到着するなら、意図した結果は獲得されないでしょうに。 プロトコルで、ユーザは、接続が系列数のオーダーにおけるセグメントを提供しなければならないと任意に指定できるべきです。

         o   The loading/dumping and debugging applications are  well-
             defined  and lend themselves to easy packetization of the
             transferred data.  They do not require  a  complex  byte-
             stream transfer mechanism.

o ローディング/ダンピングとアプリケーションをデバッグするのは、よく定義されて、わたっているデータの簡単なpacketizationに自分たちを与えます。 彼らは複雑なバイトストリームトランスファ・メカニズムを必要としません。

          In order to combine the requirements for bulk  transfers  of
     data   and  reliable  delivery,  it  is  necessary  to  design  a
     connection-oriented  protocol  using  a  three-way  handshake  to
     synchronize   sequence   numbers.    The  protocol  seems  to  be
     approaching TCP in complexity, so  why  was  TCP  not,  in  fact,
     chosen?   The answer is that TCP has some disadvantages for these
     applications.  In particular:

データと信頼できる配信のバルク転送のための要件を結合するために、一連番号を同期させるのに3方向ハンドシェイクを使用する接続指向のプロトコルを設計するのが必要です。 プロトコルは複雑さでTCPにアプローチしているように思えて、非常に、TCPはなぜ事実上選ばれませんでしたか? 答えはTCPにはこれらのアプリケーションのためのいくつかの損失があるということです。 特に:

         o   TCP  is  oriented  toward  a  more  general  environment,
             supporting  the transfer of a stream of bytes between two
             communicating  parties.   TCP  is  best  suited   to   an
             environment where there is no obvious demarcation of data
             in a communications exchange.  Much of the difficulty  in
             developing a TCP implementation stems from the complexity
             of supporting this general byte-stream transfer, and thus
             a  significant  amount  of  complexity  can be avoided by
             using  another   protocol.    This   is   not   just   an
             implementation consideration, but also one of efficiency.

o 2の間のパーティーを伝えるバイトのストリームの転送をサポートして、TCPは、より一般的な環境に向かって適応します。 コミュニケーション交換における、データのどんな明白な画定もない環境にTCPを合わせるのは最も良いです。 TCP実装を開発することにおける、困難の多くがこの一般的なバイト・ストリームが転送であるとサポートする複雑さによります、そして、その結果、別のプロトコルを使用することによって、かなりの量の複雑さは避けることができます。 これは実装の考慮だけではなく、1でもあります。効率について。

         o   Since TCP does not allow a byte to be acknowledged  until
             all  prior  bytes have been acknowledged, it often forces
             unnecessary retransmission of data.  Therefore,  it  does
             not meet another of the requirements stated above.

o すべての先のバイトが承認されるまでTCPが、1バイトが承認されるのを許容しないので、それはしばしば不要なデータの再伝送を強制します。 したがって、それは上に述べられた要件の別のものに会いません。

         o   TCP  provides  sequenced  delivery   of   data   to   the
             application.   If  the  application does not require such
             sequenced delivery,  a  large  amount  of  resources  are
             wasted in providing it.  For example, buffers may be tied
             up  buffering  data  until  a  segment  with  an  earlier
             sequence  number  arrives.  The protocol should not force
             its segment-sequencing desires on the application.

o TCPはデータの配列された配送をアプリケーションに提供します。 アプリケーションがそのような配列された配送を必要としないなら、多量のリソースがそれを提供する際に浪費されます。 例えば、バッファは、以前の一連番号があるセグメントが到着するまでデータをバッファリングしながら、タイアップされるかもしれません。 プロトコルはセグメントを配列する願望をアプリケーションに押しつけるべきではありません。

     Page 4

4ページ


     RDP Specification                             General Description

RDP仕様一般記述

          RDP supports a much simpler set of functions than TCP.   The
     flow control, buffering, and connection management schemes of RDP
     are considerably  simpler  and  less  complex.   The  goal  is  a
     protocol  that can be easily and efficiently implemented and that
     will serve a range of applications.

RDPはTCPよりはるかに簡単な関数群を支えます。 RDPのフロー制御、バッファリング、および接続管理体系は、かなり簡単であって、それほど複雑ではありません。 目標は簡単に効率的に実装することができて、さまざまなアプリケーションに役立つプロトコルです。

          RDP functions can also be subset to further reduce the  size
     of  a particular implementation.  For example, a target processor
     requiring down-loading from another host might implement  an  RDP
     module  supporting  only  the  passive Open function and a single
     connection.  The module might also choose not to  implement  out-
     of-sequence acknowledgements.

また、RDP機能は特定の実装のサイズをさらに減少させる部分集合であるかもしれません。 例えば、別のホストからダウンロードするのを必要とする目標プロセッサはRDPモジュールが受け身のオープン機能だけをサポートして、単独結合であると実装するかもしれません。 また、モジュールは、系列の出ている承認を実装しないのを選ぶかもしれません。

     2.2  Relation to Other Protocols

2.2 他のプロトコルとの関係

          RDP is a transport  protocol  that  fits  into  the  layered
     internet protocol environment.  Figure 1 illustrates the place of
     RDP in the protocol hierarchy:

RDPは層にされたインターネットプロトコル環境に収まるトランスポート・プロトコルです。 図1はプロトコル階層でRDPの場所を例証します:

      +------+   +-----+     +-----+      +------+
      |TELNET|   | FTP |     |Debug|  ... |Loader|  Application Layer
      +------+   +-----+     +-----+      +------+
         |          |           |             |
         +-----+----+           +------+------+
               |                       |
            +------+               +-------+
            |  TCP |               |  RDP  |        Transport Layer
            +------+               +-------+
               |                     |
      +--------------------------------+
      | Internet Protocol & ICMP       |            Internetwork Layer
      +--------------------------------+
                             |
                   +-------------------------+
                   | Network Access Protocol |      Network Layer
                   +-------------------------+

+------+ +-----+ +-----+ +------+ |telnet| | FTP| |デバッグ| ... |荷物を積む人| 応用層+------+ +-----+ +-----+ +------+ | | | | +-----+----+ +------+------+ | | +------+ +-------+ | TCP| | RDP| トランスポート層+------+ +-------+ | | +--------------------------------+ | インターネットプロトコルとICMP| インターネットワーク層+--------------------------------+ | +-------------------------+ | ネットワークアクセス・プロトコル| ネットワーク層+-------------------------+

                        Relation to Other Protocols
                                 Figure 1

他のプロトコルとの関係は1について計算します。

                                                                Page 5

5ページ


     RFC-908                                                 July 1984

RFC-908 1984年7月

          RDP provides the application layer with a  reliable  message
     transport service.  The interface between users and RDP transfers
     data in units of messages.   When  implemented  in  the  internet
     environment,  RDP is layered on the Internet Protocol (IP), which
     provides an unreliable datagram service to RDP.  Data  is  passed
     across  the  RDP/IP  interface in the form of segments.  RDP uses
     the standard IP interface primitives  to  send  and  receive  RDP
     segments  as  IP  datagrams.  At the internet level, IP exchanges
     datagrams with the network layer.  An internet packet may contain
     an entire datagram or a fragment of a datagram.

RDPは信頼できるメッセージ輸送サービスを応用層に提供します。 ユーザとRDPとのインタフェースはユニットのメッセージのデータを移します。 インターネット環境で実装されると、RDPはインターネットプロトコル(IP)で層にされます。(それは、RDPへの頼り無いデータグラムサービスを提供します)。 データはセグメントの形でRDP/IPインタフェースの向こう側に通過されます。 RDPは、IPデータグラムとしてRDPセグメントを送って、受けるのに標準のIPインタフェース基関数を使用します。インターネットレベルでは、IPはネットワーク層とデータグラムを交換します。 インターネットパケットは全体のデータグラムかデータグラムの断片を含むかもしれません。

                                                        #        %
                                                          ?  *     !
                                                                 @  )
       +------+         +-----+         +----+          $  =   ^   +
       |      |Messages |     |Segments |    | Datagrams   *
       | User |<------->| RDP |<------->| IP |<------->    Internet
       |      |         |     |         |    |          ,            ?
       +------+         +-----+         +----+               !    )
                                                          *   %     $
                                                        @    ^   !

# % ? * ! @ ) +------+ +-----+ +----+ $ = ^ + | |メッセージ| |セグメント| | データグラム*| ユーザ| <、-、-、-、-、-、--、>| RDP| <、-、-、-、-、-、--、>| IP| <、-、-、-、-、-、-->インターネット| | | | | | , ? +------+ +-----+ +----+ ! ) * % $ @ ^ !

                   Form of Data Exchange Between Layers
                                 Figure 2

層の間のデータ交換のフォームは2について計算します。

          If internetwork services are  not  required,  it  should  be
     possible  to  use  the  RDP without the IP layer.  As long as the
     encapsulating protocol  provides  the  RDP  with  such  necessary
     information  as addressing and protocol demultiplexing, it should
     be possible  to  run  RDP  layered  on  a  variety  of  different
     protocols.

相互ネットワーク・サービスは必要でないなら、IP層なしでRDPを使用するのが可能であるべきです。 要約プロトコルがアドレシングとプロトコル逆多重化のような必要事項をRDPに提供する限り、さまざまな異なったプロトコルで層にされたRDPを実行するのは可能であるべきです。

     Page 6

6ページ


     RDP Specification                              Protocol Operation

RDP仕様プロトコル操作

                                 CHAPTER 3

第3章

                            Protocol Operation

プロトコル操作

     3.1  Protocol Service Objectives

3.1 プロトコルサービス目的

          The RDP protocol has the following goals:

RDPプロトコルには、以下の目標があります:

         o   RDP will provide  a  full-duplex  communications  channel
             between the two ports of each transport connection.

o RDPはそれぞれの輸送接続の2つのポートの間に全二重通信チャンネルを供給するでしょう。

         o   RDP will attempt to reliably deliver  all  user  messages
             and  will  report  a  failure  to  the  user if it cannot
             deliver a message.  RDP extends the datagram  service  of
             IP to include reliable delivery.

o RDPはすべてのユーザメッセージを確かに提供するのを試みて、伝言をもたらすことができないなら、失敗をユーザに報告するでしょう。 RDPは、信頼できる配信を含むようにIPのデータグラムサービスを広げています。

         o   RDP will attempt to detect and discard  all  damaged  and
             duplicate  segments.  It will use a checksum and sequence
             number in each segment header to achieve this goal.

o RDPはすべての破損するのと写しセグメントを検出して、捨てるのを試みるでしょう。 それは、この目標を達成するのにそれぞれのセグメントヘッダーでチェックサムと一連番号を使用するでしょう。

         o   RDP  will  optionally  provide  sequenced   delivery   of
             segments.    Sequenced   delivery  of  segments  must  be
             specified when the connection is established.

o RDPは任意にセグメントの配列された配送を提供するでしょう。 接続が確立されると、セグメントの配列された配送は指定していなければなりません。

         o   RDP will acknowledge segments received out  of  sequence,
             as  they  arrive.   This  will  free  up resources on the
             sending side.

o RDPは到着するので順序が狂って受け取られたセグメントを承認するでしょう。 これは送付側でリソースを開けるでしょう。

     3.2  RDP Connection Management

3.2 RDP接続管理

          RDP  is  a  connection-oriented  protocol  in   which   each
     connection  acts  as  a full-duplex communication channel between
     two processes.  Segments from a sender are directed to a port  on
     the  destination host.  The two 8-bit source and destination port
     identifiers in the RDP header are used in  conjunction  with  the
     network  source  and  destination  addresses to uniquely identify
     each connection.

RDPは2の間の全二重通信チャンネルが処理するとき各接続が行動する接続指向のプロトコルです。 送付者からのセグメントはあて先ホストの上のポートに向けられます。 RDPヘッダーの2の8ビットのソースと仕向港識別子は、唯一各接続を特定するのにネットワークソースと送付先アドレスに関連して使用されます。

                                                                Page 7

7ページ


     RFC-908                                                 July 1984

RFC-908 1984年7月

     3.2.1  Opening a Connection

3.2.1 接続を開くこと。

          Connections are opened by issuing the  Open  request,  which
     can be either active or passive.  A passive Open request puts RDP
     into the Listen state, during which it passively  listens  for  a
     request to open a connection from a remote site.  The active Open
     request attempts to establish a connection with a specified  port
     at a remote site.

コネクションズは、オープン要求を出すことによって、開かれます。(活発であるか、または要求は受け身である場合があります)。 受け身のオープン要求はListen状態にRDPを入れます。(それはそれの間、リモートサイトから接続を開くという要求の受け身に聞こうとします)。 活発なオープン要求は、指定されたポートがリモートサイトにある状態で取引関係を築くのを試みます。

          The active Open request requires that a specific remote port
     and host address be specified with the request.  The passive Open
     may  optionally  specify  a  specific  remote  port  and  network
     address,  or it may specify that an open be accepted from anyone.
     If a specific remote port and host  address  were  specified,  an
     arriving  request  to  open  a  connection must exactly match the
     specified remote port and address.

活発なオープン要求は、特定の遠く離れたポートとホスト・アドレスが要求で指定されるのを必要とします。 受け身のオープンが任意に特定の遠く離れたポートとネットワーク・アドレスを指定するかもしれませんか、またはだれからも戸外を受け入れるのは指定するかもしれません。 特定の遠く離れたポートとホスト・アドレスが指定されたなら、接続を開くという到着要求はまさに指定された遠く離れたポートとアドレスに合わなければなりません。

     3.2.2  Ports

3.2.2 ポート

          Valid port numbers range from 1 to 255 (decimal). There  are
     two  types  of  ports:  "well known" ports and "allocable" ports.
     Well-known ports have numbers in the range 1 to 63 (decimal)  and
     allocable ports are given numbers in the range 64 to 255.

有効なポートナンバーは1〜255まで及びます(10進)。 2つのタイプのポートがあります: 「よく知られている」ポートと"allocable"ポート。 ウェルノウンポートは範囲に1〜63(10進)に数を持っています、そして、範囲で64〜255にallocableポートに数を与えます。

          The user, when issuing an active Open request, must  specify
     both  the  remote  host  and  port and may optionally specify the
     local port.  If the local port was not specified, RDP will select
     an  unused port from the range of allocable ports. When issuing a
     passive Open request,  the  user  must  specify  the  local  port
     number.   Generally,  in this case the local port will be a well-
     known port.

活発なオープン要求を出すとき、ユーザは、リモートホストとポートの両方を指定しなければならなくて、任意に地方のポートを指定するかもしれません。 地方のポートが指定されなかったなら、RDPはallocableポートの範囲から未使用のポートを選択するでしょう。 受け身のオープン要求を出すとき、ユーザは地方のポートナンバーを指定しなければなりません。 一般に、この場合、地方のポートはよく知られているポートになるでしょう。

     3.2.3  Connection States

3.2.3 接続州

          An RDP connection will progress through a series  of  states
     during  its  lifetime.   The states are shown in Figure 3 and are
     individually described below.  In Figure 3, the  boxes  represent
     the  states  of  the  RDP  FSM  and the arcs represent changes in
     state.  Each arc is annotated with the event  causing  the  state
     change and the resulting output.

RDP接続は生涯一連の州を通って進歩をするでしょう。 州は、図3で見せられて、以下で個別に説明されます。 図3では、箱はRDP FSMの州を代表します、そして、アークは状態に変化を表します。 イベントが州の変化と結果として起こる出力を引き起こしていて、各アークは注釈されます。

     Page 8

8ページ


     RDP Specification                              Protocol Operation

RDP仕様プロトコル操作

     CLOSED

閉じられます。

          The CLOSED state exists when no connection exists and  there
          is no connection record allocated.

どんな接続も存在していなくて、また割り当てられた接続記録が全くないとき、CLOSED状態は存在しています。

     LISTEN

聴いてください。

          The LISTEN state is entered after a passive Open request  is
          processed.   A  connection record is allocated and RDP waits
          for an active request  to  establish  a  connection  from  a
          remote site.

受け身のオープン要求が処理された後にLISTEN状態は入られます。 接続記録を割り当てます、そして、RDPはリモートサイトから取引関係を築くという活発な要求を待っています。

     SYN-SENT

SYNによって送られます。

          The SYN-SENT state is entered  after  processing  an  active
          Open  request.  A connection record is allocated, an initial
          sequence number is generated, and a SYN segment is  sent  to
          the  remote  site.  RDP then waits in the SYN-SENT state for
          acknowledgement of its Open request.

活発なオープン要求を処理した後に、SYN-SENT状態は入られます。 接続記録を割り当てます、そして、初期シーケンス番号は発生しています、そして、SYNセグメントをリモートサイトに送ります。 そして、RDPはSYN-SENT状態でオープン要求の承認を待っています。

     SYN-RCVD

SYN-RCVD

          The SYN-RCVD state may be reached  from  either  the  LISTEN
          state  or from the SYN-SENT state.  SYN-RCVD is reached from
          the LISTEN state when a SYN segment requesting a  connection
          is  received  from  a  remote host.  In reply, the local RDP
          generates an initial sequence number for  its  side  of  the
          connection,  and  then  sends  the  sequence  number  and an
          acknowledgement of the SYN segment to the remote  site.   It
          then waits for an acknowledgement.

SYN-RCVD状態にLISTENが述べるどちらかかSYN-SENT状態から達するかもしれません。 リモートホストから接続を要求するSYNセグメントを受け取るとき、SYN-RCVDにLISTEN状態から達しています。 回答では、地方のRDPは接続の側面の初期シーケンス番号を生成して、次に、SYNセグメントの一連番号と承認をリモートサイトに送ります。 そして、それは承認を待っています。

          The SYN-RCVD state is reached from the SYN-SENT state when a
          SYN  segment  is  received  from  the remote host without an
          accompanying acknowledgement of the SYN segment sent to that
          remote  host  by the local RDP.  This situation is caused by
          simultaneous attempts to open a  connection,  with  the  SYN
          segments  passing  each  other in transit.  The action is to
          repeat the SYN segment with the same  sequence  number,  but
          now  including  an  ACK  of the remote host's SYN segment to
          indicate acceptance of the Open request.

リモートホストから地方のRDPによってそのリモートホストに送られたSYNセグメントの付随の承認なしでSYNセグメントを受け取るとき、SYN-RCVD状態にSYN-SENT状態から達しています。 この状況はトランジットで互いを通過するSYNセグメントとの関係を開く同時の試みで引き起こされます。 同じ一連番号でSYNセグメントを繰り返しますが、動作はオープン要求の承認を示すためにリモートホストのSYNセグメントのACKを含んでいて、現在繰り返すことです。

                                                                Page 9

9ページ


     RFC-908                                                 July 1984

RFC-908 1984年7月

                             +------------+
              Passive Open   |            |<-------------------------+
            +----------------|   CLOSED   |                          |
            |   Request      |            |---------------+          |
            V                +------------+               |          |
     +------------+                                       |          |
     |            |                                       |          |
     |   LISTEN   |                                       |          |
     |            |                                       |          |
     +------------+                                       |          |
            |                                   Active    |          |
            |  rcv SYN                       Open Request |          |
            | -----------                    ------------ |          |
            | snd SYN,ACK                      snd SYN    |          |
            V                   rcv SYN                   V          |
     +------------+          -----------           +------------+    |
     |            |          snd SYN,ACK           |            |    |
     |  SYN-RCVD  |<-------------------------------|  SYN-SENT  |    |
     |            |                                |            |    |
     +------------+                                +------------+    |
            |  rcv ACK                       rcv SYN,ACK  |          |
            | ----------                    ------------- |          |
            |    xxx         +------------+    snd ACK    |          |
            |                |            |               |          |
            +--------------->|    OPEN    |<--------------+          |
                             |            |                          |
                             +------------+                          |
                         rcv RST   |   Close request                 |
                       ----------- |  ---------------                |
                           xxx     |     snd RST                     |
                                   V                                 |
                             +------------+                          |
                             |            |                          |
                             | CLOSE-WAIT |--------------------------+
                             |            |  After a Delay
                             +------------+

+------------+ 開いている受動態| | <、-、-、-、-、-、-、-、-、-、-、-、-、-、-、-、-、-、-、-、-、-、-、-、--+ +----------------| 閉じられます。| | | 要求| |---------------+ | +に対して------------+ | | +------------+ | | | | | | | 聴いてください。| | | | | | | +------------+ | | | アクティブ| | | rcv SYNオープンRequest| | | ----------- ------------ | | | snd SYN、ACK snd SYN| | V rcv SYN V| +------------+ ----------- +------------+ | | | snd SYN、ACK| | | | SYN-RCVD|<-------------------------------| SYNによって送られます。| | | | | | | +------------+ +------------+ | | rcv ACK rcv SYN、ACK| | | ---------- ------------- | | | xxx+------------+ snd ACK| | | | | | | +--------------->| 戸外| <、-、-、-、-、-、-、-、-、-、-、-、-、--+ | | | | +------------+ | rcv RST| 要求を終えてください。| ----------- | --------------- | xxx| snd RST| V| +------------+ | | | | | 厳密な待ち|--------------------------+ | | 遅れ+の後に------------+

                       RDP Connection State Diagram
                                 Figure 3

RDP接続州のダイヤグラムの数値3

     Page 10

10ページ


     RDP Specification                              Protocol Operation

RDP仕様プロトコル操作

     OPEN

戸外

          The OPEN state exists when a connection has been established
          by  the successful exchange of state information between the
          two sides of the connection.  Each side  has  exchanged  and
          received  such  data  as  initial  sequence  number, maximum
          segment size, and maximum number of unacknowledged  segments
          that may be outstanding.  In the Open state data may be sent
          between the two parties of the connection.

接続が接続の2つの側面の間の州の情報のうまくいっている交換で確立されたとき、オープン状態は存在しています。 それぞれの側は、初期シーケンス番号(最大のセグメントサイズ、および最大数の傑出するかもしれない不承認のセグメント)としてそのようなデータを交換して、受け取りました。 オープン状態では、接続の2回のパーティーの間にデータを送るかもしれません。

     CLOSE-WAIT

厳密な待ち

          The CLOSE-WAIT state is entered from either a Close  request
          or  from the receipt of an RST segment from the remote site.
          RDP has sent an RST segment and is waiting  a  delay  period
          for activity on the connection to complete.

CLOSE-WAIT状態はClose要求かリモートサイトからのRSTセグメントの受領から入られます。 RDPはRSTセグメントを送って、接続の活動が完成する遅れの期間を待っています。

     3.2.4  Connection Record

3.2.4 接続記録

          The variables that define the  state  of  a  connection  are
     stored  in  a  connection  record maintained for each connection.
     The following describes some  of  the  variables  that  would  be
     stored in a typical RDP connection record.  It is not intended to
     be  an  implementation  specification  nor  is  it   a   complete
     description.   The  purpose  of naming and describing some of the
     connection record fields is to simplify the  description  of  RDP
     protocol operation, particularly event processing.

接続の状態を定義する変数は各接続のために保守された接続記録に保存されます。 以下は典型的なRDP接続記録に保存される変数のいくつかについて説明します。 それは実装仕様であることを意図しません、そして、完全な記述ではありません。 接続記録分野のいくつかを命名して、説明する目的はRDPプロトコル操作(特にイベント処理)の記述を簡素化することです。

          The connection record fields and their descriptions follow:

接続記録野原と彼らの記述は続きます:

     STATE

状態

          The current state of the connection.  Legal values are OPEN,
          LISTEN, CLOSED, SYN-SENT, SYN-RCVD,  and CLOSE-WAIT.

接続の現状。 正当な値は、オープンと、LISTENと、CLOSEDと、SYN-SENTと、SYN-RCVDと、CLOSE-WAITです。

     Send Sequence Number Variables:

一連番号変数を送ってください:

     SND.NXT

SND.NXT

          The sequence number of the next segment that is to be sent.

送られることになっている次のセグメントの一連番号。

                                                               Page 11

11ページ


     RFC-908                                                 July 1984

RFC-908 1984年7月

     SND.UNA

SND.UNA

          The sequence number of the oldest unacknowledged segment.

最も古い不承認のセグメントの一連番号。

     SND.MAX

SND.MAX

          The maximum number of outstanding (unacknowledged)  segments
          that can be sent.  The sender should not send more than this
          number of segments without getting an acknowledgement.

送ることができる傑出している(不承認の)セグメントの最大数。 承認を得ないで、送付者はこの数のセグメントほど発信するべきではありません。

     SND.ISS

SND.ISS

          The initial send sequence  number.   This  is  the  sequence
          number that was sent in the SYN segment.

初期は一連番号を送ります。 これはSYNセグメントで送られた一連番号です。

     Receive Sequence Number Variables:

一連番号変数を受け取ってください:

     RCV.CUR

RCV.CUR

          The sequence number of the last segment  received  correctly
          and in sequence.

正しく連続して受け取られた最後のセグメントの一連番号。

     RCV.MAX

RCV.MAX

          The maximum number of segments that can be buffered for this
          connection.

この接続のためにバッファリングできるセグメントの最大数。

     RCV.IRS

RCV.IRS

          The initial receive sequence number.  This is  the  sequence
          number of the SYN segment that established this connection.

初期は一連番号を受けます。 これはこの接続を確立したSYNセグメントの一連番号です。

     RCVDSEQNO[n]

RCVDSEQNO[n]

          The array of sequence numbers of  segments  that  have  been
          received and acknowledged out of sequence.

順序が狂って受け取られて、承認されたセグメントの一連番号の勢ぞろい。

     Other Variables:

他の変数:

     CLOSEWAIT

CLOSEWAIT

          A timer used to time out the CLOSE-WAIT state.

タイマはCLOSE-WAIT状態をタイムアウトに使用しました。

     SBUF.MAX

SBUF.MAX

          The largest possible segment (in octets) that can legally be
          sent.  This variable is specified by the foreign host in the

法的に送ることができる可能な限り大きいセグメント(八重奏における)。 この変数は中で異種宿主によって指定されます。

     Page 12

12ページ


     RDP Specification                              Protocol Operation

RDP仕様プロトコル操作

          SYN segment during connection establishment.

コネクション確立の間のSYNセグメント。

     RBUF.MAX

RBUF.MAX

          The  largest  possible  segment  (in  octets)  that  can  be
          received.   This  variable is specified by the user when the
          connection is opened.  The variable is sent to  the  foreign
          host in the SYN segment.

受け取ることができる可能な限り大きいセグメント(八重奏における)。 接続が開かれるとき、この変数はユーザによって指定されます。 SYNセグメントで変数を異種宿主に送ります。

     Variables from Current Segment:

現在のセグメントからの変数:

     SEG.SEQ

SEG.SEQ

          The  sequence  number  of  the   segment   currently   being
          processed.

現在処理されるセグメントの一連番号。

     SEG.ACK

SEG.ACK

          The acknowledgement sequence number in the segment currently
          being processed.

現在処理されるセグメントの承認一連番号。

     SEG.MAX

SEG.MAX

          The maximum number of outstanding segments the  receiver  is
          willing  to  hold,  as  specified  in  the  SYN segment that
          established the connection.

受信機が接続を確立したSYNセグメントで指定されるように保持しても構わないと思っている傑出しているセグメントの最大数。

     SEG.BMAX

SEG.BMAX

          The maximum segment size (in octets) accepted by the foreign
          host  on  a connection, as specified in the SYN segment that
          established the connection.

最大のセグメントサイズ(八重奏における)は異種宿主で接続に受け入れました、接続を確立したSYNセグメントで指定されるように。

     3.2.5  Closing a Connection

3.2.5 接続を終えること。

          The closing of a connection can  be  initiated  by  a  Close
     request  from  the  user  process or by receipt of an RST segment
     from the other end of the connection.  In the case of  the  Close
     request,  RDP  will  send an RST segment to the other side of the
     connection and then enter the CLOSE-WAIT state for  a  period  of
     time.   While  in the CLOSE-WAIT state, RDP will discard segments
     received from the other side of the connection.  When  the  time-
     out  period expires, the connection record is deallocated and the
     connection ceases  to  exist.   This  simple  connection  closing
     facility  requires  that  users  determine that all data has been

ユーザ・プロセスからのClose要求か接続のもう一方の端からのRSTセグメントの受領で接続の閉鎖を開始できます。 Close要求の場合では、RDPはRSTセグメントを接続の反対側に送って、次に、しばらく、CLOSE-WAIT状態に入れるでしょう。 RDPはCLOSE-WAIT状態で接続の反対側から受け取られたセグメントを捨てるでしょうが。 時間アウトの期間が期限が切れるとき、接続記録は「反-割り当て」られます、そして、接続は消滅します。 この接続の簡単な閉鎖施設は、ユーザが、すべてのデータがあったと決心しているのを必要とします。

                                                               Page 13

13ページ


     RFC-908                                                 July 1984

RFC-908 1984年7月

     reliably delivered before requesting a close of the connection.

接続の閉鎖を要求する前に、確かに渡します。

     3.2.6  Detecting an Half-Open Connection

3.2.6 半開きな接続を検出すること。

          If one side of a connection crashes, the connection  may  be
     left  with the other side still active.  This situation is termed
     to be an half-open connection.  For many cases,  the  active  RDP
     will  eventually  detect the half-open connection and reset.  Two
     examples of recovery from half-open connections are  provided  in
     sections  5.7  and  5.8.   Recovery  is  usually achieved by user
     activity or by the crashed host's attempts  to  re-establish  the
     connection.

接続の半面がクラッシュするなら、接続は反対側がまだアクティブな状態でおかれるかもしれません。 この状況は、半開きな接続になるように呼ばれます。 多くのケースのために、アクティブなRDPは結局、半開きな接続とリセットを検出するでしょう。 セクション5.7と5.8で半開きな接続からの回復に関する2つの例を提供します。 通常、回復はユーザ活動か接続を復職させる墜落しているホストの試みで達成されます。

          However, there are cases  where  recovery  is  not  possible
     without action by the RDP itself.  For example, if all connection
     blocks are in use, attempts to re-establish a  broken  connection
     will  be  rejected.   In  this  case, the RDP may attempt to free
     resources by verifying  that connections are fully open. It  does
     this  by  sending  a  NUL  segment to each of the other RDPs.  An
     acknowledgement indicates the connection is still open and valid.

しかしながら、ケースが回復がRDP自身による動作なしで可能でないところにあります。 例えば、すべての接続ブロックが使用中であるなら、失意の接続を復職させる試みは拒絶されるでしょう。 この場合、RDPは、接続が完全にオープンであることを確かめることによってリソースを解放するのを試みるかもしれません。 それは、それぞれの他のRDPsにNULセグメントを送ることによって、これをします。 承認は、接続がまだオープンであって、有効であることを示します。

          To minimize network overhead,  verification  of  connections
     should  only  be  done  when  necessary  to  prevent  a  deadlock
     situation.  Only inactive connections  should  be  verified.   An
     inactive  connection  is  defined  to be a connection that has no
     outstanding unacknowledged segments, has no segments in the  user
     input or output queues, and that has not had any traffic for some
     period of time.

行き詰まり状況を防ぐのに必要であるときにだけ、ネットワークオーバーヘッドを最小にするために、接続の検証をするべきです。 不活発な接続だけが確かめられるべきです。 不活発な接続は、どんな傑出している不承認のセグメントも持っていなくて、またユーザ入力か出力キューでセグメントを全く持っていなくて、またいつかの期間の間に少しの交通も持っていない接続になるように定義されます。

     3.3  Data Communication

3.3 データ通信

          Data  flows  through  an  RDP  connection  in  the  form  of
     segments.   Each  user  message  submitted with a Send request is
     packaged for transport as a single RDP segment.  Each RDP segment
     is packaged as an RDP header and one or more octets of data.  RDP
     will not attempt to fragment a large user  message  into  smaller
     segments  and re-assemble the message on the receiving end.  This
     differs from a byte-stream protocol such as  TCP  which  supports
     the  transfer  of  an indeterminate length stream of data between
     ports, buffering data until it is requested by the receiver.

データはセグメントの形のRDP接続で流れます。 Send要求で提出されたそれぞれのユーザメッセージは輸送のためにただ一つのRDPセグメントとしてパッケージされます。 それぞれのRDPセグメントはデータのRDPヘッダーと1つ以上の八重奏としてパッケージされます。 RDPは大きいユーザメッセージをより小さいセグメントに断片化して、受ける側になってメッセージを組み立て直すのを試みないでしょう。 これはポートの間のデータの不確定の長さのストリームの転送を支持するTCPなどのバイト・ストリームプロトコルと異なっています、それが受信機によって要求されるまでデータをバッファリングして。

     Page 14

14ページ


     RDP Specification                              Protocol Operation

RDP仕様プロトコル操作

          At the RDP level, outgoing segments, as  they  are  created,
     are queued as input to the IP layer.  Each segment is held by the
     sending RDP  until  it  is  acknowledged  by  the  foreign  host.
     Incoming segments are queued as input to the user process through
     the user interface.  Segments are  acknowledged  when  they  have
     been accepted by the receiving RDP.

RDPレベルでは、それらが作成されるとき、外向的なセグメントはIP層に入力されるように列に並ばせられます。 それが異種宿主によって承認されるまで、各セグメントは発信しているRDPによって保持されます。 入って来るセグメントはユーザーインタフェースを通してユーザ・プロセスに入力されるように列に並ばせられます。 それらが受信RDPによって受け入れられたとき、セグメントは承認されます。

          The receiving end of each connection specifies  the  maximum
     segment  size  it  will  accept.   Any  attempt  by the sender to
     transmit a larger segment is an error.  If RDP determines that  a
     buffer  submitted  with  a  Send request exceeds the maximum size
     segment permitted on the connection, RDP will return an error  to
     the  user.   In addition, RDP will abort a connection with an RST
     segment if an  incoming  segment  contains  more  data  than  the
     maximum  acceptable  segment  size.   No  attempt will be made to
     recover from or otherwise overcome this error condition.

それぞれの接続の犠牲者はそれが受け入れる最大のセグメントサイズを指定します。 より大きいセグメントを伝える送付者によるどんな試みも誤りです。 RDPが、Send要求で提出されたバッファが接続のときに受入れられた最大サイズセグメントを超えていることを決定すると、RDPは誤りをユーザに返すでしょう。 さらに、入って来るセグメントが最大の許容できるセグメントサイズより多くのデータを含んでいると、RDPはRSTセグメントとの関係を中止するでしょう。 どんな試みも、あるために回復するために人工であることで望んでもいませんし、そうでなければ、このエラー条件に打ち勝ちもしません。

          If  sequenced  delivery  of  segments  is  necessary  for  a
     connection, the requirement must be stated when the connection is
     established.  Sequenced  delivery  is  specified  when  the  Open
     request is made.  Sequenced delivery of segments will then be the
     mode of delivery for the life of the connection.

セグメントの配列された配送が接続に必要であるなら、接続が確立されると、要件は述べなければなりません。 オープン要求をすると、配列された配送は指定しています。 そしてセグメントの配列された配送は接続の人生のための配送の方法になるでしょう。

     3.4  Reliable Communication

3.4 信頼できるコミュニケーション

          RDP implements a reliable message service through  a  number
     of  mechanisms.   These include the insertion of sequence numbers
     and checksums into  segments,  the  positive  acknowledgement  of
     segment  receipt,  and  timeout  and  retransmission  of  missing
     segments.

RDPは多くのメカニズムを通した信頼できるメッセージサービスを実行します。これらはなくなったセグメントのセグメントへの一連番号とチェックサムの挿入、セグメント領収書の積極的な承認、タイムアウト、および「再-トランスミッション」を含んでいます。

     3.4.1  Segment Sequence Numbers

3.4.1 セグメント一連番号

          Each segment transporting data has a  sequence  number  that
     uniquely  identifies  it  among  all  other  segments in the same
     connection.  The initial  sequence  number  is  chosen  when  the
     connection  is  opened  and is selected by reading a value from a
     monotonically increasing clock.  Each time a  segment  containing
     data   is   transmitted,  the  sequence  number  is  incremented.
     Segments containing no data do not increment the sequence number.
     However, the SYN and NUL segments, which cannot contain data, are
     exceptions.  The  SYN  segment  is  always  sent  with  a  unique
     sequence number, the initial sequence number.  The NUL segment is

データを輸送する各セグメントが同じ接続における他のすべてのセグメントの中で唯一それを特定する一連番号を持っています。 初期シーケンス番号はいつかが選ばれて、接続が開かれて、単調に増加する時計から値を読むことによって選ばれるということです。 データを含むセグメントが伝えられるたびに一連番号は増加されています。 データを全く含まないセグメントが一連番号を増加しません。 しかしながら、SYNとNULセグメント(データを含むことができない)は例外です。 ユニーク配列番号、初期シーケンス番号と共にSYNセグメントをいつも送ります。 NULセグメントはそうです。

                                                               Page 15

15ページ


     RFC-908                                                 July 1984

RFC-908 1984年7月

     sent with the next valid sequence number.

次の有効な一連番号と共に発信しました。

     3.4.2  Checksums

3.4.2 チェックサム

          Each RDP segment contains a checksum to allow  the  receiver
     to  detect  damaged  segments.   RDP  uses  a non-linear checksum
     algorithm to compute a checksum that is 32-bits wide and operates
     on  data  in  units  of  four octets (32 bits).  The area that is
     covered by the checksum includes both the RDP header and the  RDP
     data area.

それぞれのRDPセグメントは破損しているセグメントを検出するために受信機を許容するチェックサムを含んでいます。 RDPは幅32ビットであるチェックサムを計算するのに非線形のチェックサムアルゴリズムを使用して、4つの八重奏(32ビット)のユニットのデータを作動させます。 チェックサムでカバーされている領域はRDPヘッダーとRDPデータ領域の両方を含んでいます。

          If a segment contains a number of  header  and  data  octets
     that  is  not an integral multiple of 4 octets, the last octet is
     padded on the right with zeros to  form  a  32-bit  quantity  for
     computation  purposes.   The padding zeros are not transmitted as
     part of the segment.  While computing the checksum, the  checksum
     field  itself  is  replaced  with zeros.  The actual algorithm is
     described in Section 4.2.1.

セグメントが4つの八重奏の不可欠の倍数でない多くのヘッダーとデータ八重奏を含んでいるなら、最後の八重奏は右でゼロで水増しされて、計算目的のための32ビットの量を形成します。 そっと歩いているゼロはセグメントの一部として伝えられません。 チェックサムを計算している間、チェックサム野原自体をゼロに取り替えます。 実際のアルゴリズムはセクション4.2.1で説明されます。

     3.4.3  Positive Acknowledgement of Segments

3.4.3 セグメントの積極的な承認

          RDP assumes it has only an unreliable  datagram  service  to
     deliver  segments.   To  guarantee  delivery  of segments in this
     environment, RDP uses positive acknowledgement and retransmission
     of  segments.   Each  segment containing data and the SYN and NUL
     segments are acknowledged when they are  correctly  received  and
     accepted  by  the  destination host.  Segments containing only an
     acknowledgement  are  not  acknowledged.   Damaged  segments  are
     discarded  and  are not acknowledged.  Segments are retransmitted
     when there is no timely acknowledgement of  the  segment  by  the
     destination host.

RDPは、セグメントを伝達するためにそれには頼り無いデータグラムサービスしかないと仮定します。 この環境における、セグメントの配送を保証するために、RDPはセグメントの積極的な承認と「再-トランスミッション」を使用します。 それらがあて先ホストによって正しく受け取られて、受け入れられるとき、データを含む各セグメント、SYN、およびNULセグメントは承認されます。 承認だけを含むセグメントが承認されません。 破損しているセグメントは、捨てられて、承認されません。 あて先ホストによるセグメントのどんなタイムリーな承認もないとき、セグメントは再送されます。

          RDP allows  two  types  of  acknowledgement.   A  cumulative
     acknowledgement  is  used  to  acknowledge  all  segments up to a
     specified sequence number.  This type of acknowledgement  can  be
     sent   using   fixed   length   fields  within  the  RDP  header.
     Specifically,  the  ACK  control  flag  is  set  and   the   last
     acknowledged  sequence  number  is  placed in the Acknowledgement
     Number field.

RDPは2つのタイプの承認を許します。 累積している承認は、すべてのセグメントを指定された一連番号まで承認するのに使用されます。 このタイプの承認にRDPヘッダーの中に固定長電界を使用させることができます。 明確に、ACK指揮旗は設定されます、そして、最後に承認された一連番号はAcknowledgement Number分野に置かれます。

          The extended or non-cumulative  acknowledgement  allows  the
     receiver  to  acknowledge segments out of sequence.  This type of
     acknowledgement is sent using  the  EACK  control  flag  and  the

広げられたか非累積している承認は、順序が狂ってセグメントを承認するために受信機を許容します。 そしてこのタイプの承認にEACK指揮旗を使用させる。

     Page 16

16ページ


     RDP Specification                              Protocol Operation

RDP仕様プロトコル操作

     variable  length  fields in the RDP segment header.  The variable
     length header fields are used to hold the sequence numbers of the
     acknowledged out-of-sequence segments.

RDPセグメントヘッダーの可変長フィールド。 可変長ヘッダーフィールドは、承認の一連番号が順序が狂ってセグメントであることを保持するのに使用されます。

          The type of acknowledgement used is simply a function of the
     order  in which segments arrive.  Whenever possible, segments are
     acknowledged using the cumulative acknowledgement segment.   Only
     out-of-sequence  segments  are  acknowledged  using  the extended
     acknowledgement option.

使用される承認のタイプは単にセグメントが到達するオーダーの機能です。 可能であるときはいつも、セグメントは、累積している承認セグメントを使用することで承認されます。 順序が狂ってだけセグメントは、拡張承認オプションを使用することで承認されます。

          The user process, when  initiating  the  connection,  cannot
     restrict the type of acknowledgement used on the connection.  The
     receiver   may   choose   not   to   implement    out-of-sequence
     acknowledgements.   On  the  other hand, the sender may choose to
     ignore out-of-sequence acknowledgements.

接続を開始するとき、ユーザ・プロセスは接続のときに使用された承認のタイプを制限しない場合があります。 受信機は、順序が狂って承認を実行しないのを選ぶかもしれません。 他方では、送付者は、順序が狂って承認を無視するのを選ぶかもしれません。

     3.4.4  Retransmission Timeout

3.4.4 再送タイムアウト

          Segments may be lost in transmission for two  reasons:  they
     may  be  lost  or  damaged  due  to  the  effects  of  the  lossy
     transmission media; or they may be  discarded  by  the  receiving
     RDP.   The  positive acknowledgement policy requires the receiver
     to acknowledge a segment only when the segment has been correctly
     received and accepted.

セグメントは2つの理由のためのトランスミッションで失われるかもしれません: それらは、損失性トランスミッションメディアの効果のため失われているか、または破損するかもしれません。 または、それらは受信RDPによって捨てられるかもしれません。 積極的な承認方針は、セグメントを正しく受け取って、受け入れたときだけ、セグメントを承認するために受信機を必要とします。

          To detect missing segments,  the  sending  RDP  must  use  a
     retransmission  timer for each segment transmitted.  The timer is
     set to a value approximating the transmission time of the segment
     in  the  network.   When  an  acknowledgement  is  received for a
     segment, the timer is cancelled for that segment.  If  the  timer
     expires before an acknowledgement is received for a segment, that
     segment is retransmitted and the timer is restarted.

なくなったセグメント、RDPが使用しなければならない発信を検出するために、各セグメントのための再送信タイマーは送られました。 タイマはネットワークにおける、セグメントのトランスミッション時間に近似する値に設定されます。 セグメントのために承認を受けるとき、そのセグメントのためにタイマを取り消します。 セグメントのために承認を受ける前にタイマが期限が切れるなら、そのセグメントは再送されます、そして、タイマは再開されます。

     3.5  Flow Control and Window Management

3.5フロー制御とウィンドウ管理

          RDP employs a simple flow control mechanism that is based on
     the  number  of  unacknowledged  segments  sent  and  the maximum
     allowed number of outstanding  (unacknowledged)  segments.   Each
     RDP  connection  has an associated set of flow control parameters
     that include the maximum number of outstanding segments for  each
     side  of  a  connection.  These parameters are specified when the
     connection is opened with the Open request, with each side of the
     connection   specifying  its  own parameters.  The parameters are

RDPは送られた不承認のセグメントの数と傑出している(不承認の)セグメントの最大の許容数に基づいている簡単なフロー制御メカニズムを使います。 それぞれのRDP接続には、接続の各側面への傑出しているセグメントの最大数を含んでいる関連セットのフロー制御パラメタがあります。 接続がオープン要求で開かれると、これらのパラメタは指定されています、接続の各側面がそれ自身のパラメタを指定していて。 パラメタはそうです。

                                                               Page 17

17ページ


     RFC-908                                                 July 1984

RFC-908 1984年7月

     passed from  one  host  to  another  in  the  initial  connection
     segments.

初期の接続セグメントで1人のホストから別のホストまで通過されます。

          The values specified for these parameters should be based on
     the  amount  and  size  of  buffers  that  the  RDP is willing to
     allocate to a connection.  The particular RDP implementation  can
     set  the  parameters to values that are optimal for its buffering
     scheme.  Once these parameters  are  set  they  remain  unchanged
     throughout the life of the connection.

これらのパラメタに指定された値はRDPが割り当てても構わないと接続と思っているバッファの量とサイズに基づくべきです。 特定のRDP実現はバッファリング方式に、最適の値にパラメタを設定できます。 これらのパラメタがいったん設定されると、それらは接続の人生の間中変わりがありません。

          RDP employs the concept of  a  sequence  number  window  for
     acceptable segment sequence numbers.  The left edge of the window
     is the number  of  the  last  in-sequence  acknowledged  sequence
     number  plus  one.   The right edge of the window is equal to the
     left edge plus twice the allowed maximum  number  of  outstanding
     segments.   The allowed maximum number of outstanding segments is
     the number of segments the transmitting RDP software  is  allowed
     to send without receiving any acknowledgement.

RDPは許容できるセグメント一連番号に一連番号ウィンドウの概念を使います。 窓の左の縁は最後に連続して承認された一連番号と1の数です。 窓の正しい縁は左の縁と許容最大数の2倍の傑出しているセグメントと等しいです。 許容最大数の傑出しているセグメントは伝わっているRDPソフトウェアがどんな承認も受けないで送ることができるセグメントの数です。

          The flow control and window management parameters  are  used
     as  follows.   The  RDP  module  in  the  transmitting host sends
     segments  until  it  reaches  the  connection's   segment   limit
     specified  by the receiving process.  Once this limit is reached,
     the transmitting RDP module may only send a new segment for  each
     acknowledged segment.

フロー制御と窓の管理パラメタは以下の通り使用されます。 それが受信工程で指定された接続のセグメント限界に達するまで、伝わっているホストのRDPモジュールはセグメントを送ります。 この限界にいったん達していると、伝わっているRDPモジュールはそれぞれの承認されたセグメントのために新しいセグメントを送るだけであるかもしれません。

          When a received segment has a  sequence  number  that  falls
     within  the  acceptance  window,  it  is  acknowledged.   If  the
     sequence number is equal to the left-hand edge (i.e., it  is  the
     next  sequence number expected), the segment is acknowledged with
     a cumulative acknowledgement (ACK).   The  acceptance  window  is
     adjusted  by  adding  one  to  the  value  of  the edges.  If the
     sequence number is within the acceptance window  but  is  out  of
     sequence,    it    is    acknowledged   with   a   non-cumulative
     acknowledgement (EACK).  The window  is  not  adjusted,  but  the
     receipt of the out-of-sequence segment is recorded.

容認されたセグメントに承認ウィンドウの中に下がる一連番号があると、それは承認されます。 一連番号が左手の縁と等しいなら(すなわち、それは予想された次の一連番号です)、セグメントは累積している承認(ACK)で承認されます。 承認ウィンドウは、縁の値に1つを加えることによって、調整されます。 一連番号が承認ウィンドウの中にありますが、系列から脱しているなら、それは非累積している承認(EACK)で承認されます。 窓は調整されませんが、系列で出ているセグメントの領収書は記録されています。

          When  segments  are   acknowledged   out   of   order,   the
     transmitting  RDP  module must not transmit beyond the acceptance
     window.  This could occur if one segment is not acknowledged  but
     all  subsequent  segments  are  received  and acknowledged.  This
     condition will fix the left edge of the window  at  the  sequence
     number of the unacknowledged segment.  As additional segments are
     transmitted, the next  segment  to  be  sent  will  approach  and
     eventually  overtake  the  right  window edge.  At this point all
     transmission of new segments will cease until the  unacknowledged
     segment is acknowledged.

セグメントが故障していた状態で承認されるときRDPモジュールが承認ウィンドウを超えて送ってはいけない伝わること。 1つのセグメントが承認されませんが、すべてのその後のセグメントが受け取られて、承認されるなら、これは起こるかもしれません。 この状態は不承認のセグメントの一連番号で窓の左の縁を修理するでしょう。 追加セグメントが伝えられるのに従って、送られる次のセグメントは、アプローチして、結局、正しい窓の縁に追いつくでしょう。 ここに、不承認のセグメントが承認されるまで、新しいセグメントのすべての送信がやむでしょう。

     Page 18

18ページ


     RDP Specification                              Protocol Operation

RDP仕様プロトコル操作

     3.6  User Interface

3.6 ユーザーインタフェース

          The user interface to RDP is  implementation  dependent  and
     may  use  system  calls,  function calls or some other mechanism.
     The list of requests that follows is not intended  to  suggest  a
     particular implementation.

RDPへのユーザーインタフェースは、実現に依存していて、システムコール、ファンクションコールまたはある他のメカニズムを使用するかもしれません。 従う要求のリストが特定の実現を示すことを意図しません。

     OPEN Request

開いている要求

          Opens a connection.   Parameters  include  type  (active  or
          passive),  local  port,  remote  port,  remote host address,
          maximum  segment  size,  maximum  number  of  unacknowledged
          segments,  delivery  mode (sequenced or non-sequenced).  The
          connection id,  including  any  allocated  port  number,  is
          returned to the user.

接続を開きます。 パラメタはタイプ(アクティブであるか受け身の)を含んでいます、地方のポート、遠く離れたポート、リモートホスト・アドレス、最大のセグメントサイズ、最大数の不承認のセグメント、配送モード(配列されたか非配列された)。 どんな割り当てられたポートナンバーも含む接続イドをユーザに返します。

     SEND Request

要求を送ってください。

          Sends  a  user  message.   Parameters   include   connection
          identifier, buffer address and data count.

ユーザメッセージを送ります。 パラメタは接続識別子、バッファアドレスを含んでいます、そして、データは重要です。

     RECEIVE Request

要求を受け取ってください。

          Receives a  user  message.   Parameters  include  connection
          identifier, buffer address and data count.

ユーザメッセージを受け取ります。 パラメタは接続識別子、バッファアドレスを含んでいます、そして、データは重要です。

     CLOSE Request

要求を終えてください。

          Closes a specified connection.  The single parameter is  the
          connection identifier.

指定された接続を終えます。 ただ一つのパラメタは接続識別子です。

     STATUS Request

状態要求

          Returns the status of a connection.  The parameters  include
          the  connection  identifier  and  the  address of the status
          buffer.

接続の状態を返します。 パラメタは接続識別子と状態バッファのアドレスを含んでいます。

                                                               Page 19

19ページ


     RFC-908                                                 July 1984

RFC-908 1984年7月

     3.7  Event Processing

3.7 イベント処理

          This section describes one possible sequence for  processing
     events.    It   is   not   intended   to   suggest  a  particular
     implementation, but any actual implementation  should  vary  from
     this   description  only  in  detail  and  not  significantly  in
     substance.  The following are the kinds of events that may occur:

このセクションは処理出来事のために1つの可能な系列について説明します。 それが特定の実現を示すことを意図しませんが、実のところ、どんな実際の実現もかなりと異なるのではなく、詳細だけこの記述と異なるべきです。 ↓これは起こるかもしれない出来事の種類です:

          USER REQUESTS

ユーザ要求

                Open
                Send
                Receive
                Close
                Status

オープンが発信する、近い状態を取ってください。

          ARRIVING SEGMENT

到着セグメント

                Segment Arrives

セグメントは到着します。

          TIMEOUTS

タイムアウト

                Retransmission Timeout
                Close-Wait Timeout

再送タイムアウト厳密な待ちタイムアウト

          User request processing always terminates with a  return  to
     the  caller,  with  a possible error indication.  Error responses
     are given as a character string.   A  delayed  response  is  also
     possible  in  some  situations  and  is  returned  to the user by
     whatever event or pseudo interrupt mechanism is  available.   The
     term "signal" is used to refer to delayed responses.

ユーザ要求処理はいつも訪問者へのリターン、可能な誤り表示で終わります。 文字列として誤り応答を与えます。 遅延応答をまた、いくつかの状況で可能であり、いかなる利用可能なイベントか疑似中断メカニズムもユーザに返します。 「信号」という用語は、遅延応答について言及するのに使用されます。

          Processing of arriving segments usually follows this general
     sequence:  the  sequence  number  is checked for validity and, if
     valid, the segment is queued  and  processed  in  sequence-number
     order.   For  all events, unless a state change is specified, RDP
     remains in the same state.

通常、到着セグメントの処理はこの一般的な順序に従います: 一連番号が正当性がないかどうかチェックされて、有効であるなら、セグメントは、一連番号オーダーで列に並ばせられて、処理されます。 すべてのイベントのために、州の変化が指定されない場合、RDPは同じ州に残っています。

     Page 20

20ページ


     RDP Specification                              Protocol Operation

RDP仕様プロトコル操作

     3.7.1  User Request Events

3.7.1 ユーザ要求イベント

          The following scenarios demonstrate the processing of events
     caused by the issuance of user requests:

以下のシナリオはユーザ要求の発行によって引き起こされたイベントの処理を示します:

     Open Request

開いている要求

       CLOSED STATE

閉じている状態

         Create a connection record
         If none available
           Return "Error - insufficient resources"
         Endif

接続の記録的なIfのために利用可能ななにも作成しないでください、Return、「誤り--不十分なリソース」、Endif

         If passive Open
           If local port not specified
             Return "Error - local port not specified"
           Endif
           Generate SND.ISS
           Set SND.NXT = SND.ISS + 1
               SND.UNA = SND.ISS
           Fill in SND.MAX, RMAX.BUF from Open parameters
           Set State = LISTEN
           Return
         Endif

受け身のオープンIf地方のポートがSND.MAXでSND.ISS+1「誤り--地方のポートは指定しなかった」というReturn Endif Generate SND.ISS Set SND.NXT=SND.UNA=SND.ISS Fillを指定しなかったなら、オープンパラメタSet州からのRMAX.BUFがLISTEN Return Endifと等しいです。

         If active Open
           If remote port not specified
             Return "Error - remote port not specified"
           Endif
           Generate SND.ISS
           Set SND.NXT = SND.ISS + 1
               SND.UNA = SND.ISS
           Fill in SND.MAX, RMAX.BUF from Open parameters
           If local port not specified
             Allocate a local port
           Endif
           Send <SEQ=SND.ISS><MAX=SND.MAX><MAXBUF=RMAX.BUF><SYN>
           Set State = SYN-SENT
           Return (local port, connection identifier)
         Endif

アクティブなオープンIf遠く離れたポートがSND.MAXでSND.ISS+1「誤り--遠く離れたポートは指定しなかった」というReturn Endif Generate SND.ISS Set SND.NXT=SND.UNA=SND.ISS Fillを指定しなかったなら、オープンパラメタ指定されたAllocateではなく、Ifの地方のポートSND.MAX><MAXBUF=RMAX.BUF><SYN>Set地元のポートのEndif Send<SEQ=SND.ISS><マックス=州からのRMAX.BUFがSYN-SENT Return(地方のポート、接続識別子)Endifと等しいです。

                                                               Page 21

21ページ


     RFC-908                                                 July 1984

RFC-908 1984年7月

       LISTEN STATE
       SYN-SENT STATE
       SYN-RCVD STATE
       OPEN STATE
       CLOSE-WAIT STATE

SYNによって送られた州の州のSYN-RCVD州の開口状態近い待ち状態を聴いてください。

         Return "Error - connection already open"

「既にオープンな誤り--接続」を返してください。

     Close Request

要求を終えてください。

       OPEN STATE

開口状態

         Send <SEQ=SND.NXT><RST>
         Set State = CLOSE-WAIT
         Start TIMWAIT Timer
         Return

<SEQ=SND.NXT><RST>セット州=厳密な待ちスタートTIMWAITタイマリターンを送ってください。

       LISTEN STATE

状態を聴いてください。

         Set State = CLOSED
         Deallocate connection record
         Return

CLOSED Deallocate州=接続の記録的なReturnを設定してください。

       SYN-RCVD STATE
       SYN-SENT STATE

SYN-RCVDはSYNによって送られた状態を述べます。

         Send <SEQ=SND.NXT><RST>
         Set State = CLOSED
         Return

閉じている<SEQ=SND.NXT><RST>セット状態=リターンを送ってください。

       CLOSE-WAIT STATE

近い待ち状態

         Return "Error - connection closing"

リターン、「誤り--接続は閉じます」。

       CLOSE STATE

状態を閉じてください。

         Return "Error - connection not open"

「オープンでない誤り--接続」を返してください。

     Page 22

22ページ


     RDP Specification                              Protocol Operation

RDP仕様プロトコル操作

     Receive Request

要求を受け取ってください。

       OPEN STATE

開口状態

         If Data is pending
           Return with data
          else
           Return with "no data" indication
         Endif

Dataが「データがありません」指示EndifとデータのほかのReturnと未定のReturnであるなら

       LISTEN STATE
       SYN-RCVD STATE
       SYN-SENT STATE

SYN-RCVD州が状態をSYN送った状態を聴いてください。

         Return with "no data" indication

「データがありません」指示とともに帰ってください。

       CLOSE STATE
       CLOSE-WAIT STATE

州の近い待ち状態を閉じてください。

         Return "Error - connection not open"

「オープンでない誤り--接続」を返してください。

     Send Request

要求を送ってください。

       OPEN STATE

開口状態

         If SND.NXT < SND.UNA + SND.MAX
           Send <SEQ=SND.NXT><ACK=RCV.CUR><ACK><Data>
           Set SND.NXT = SND.NXT + 1
           Return
          else
           Return "Error - insufficient resources to send data"
         Endif

SND.NXT<SND.UNA+SND.MAX Send<SEQ=SND.NXT><ACK=RCV.CUR><ACK><Data>Set SND.NXTがSND.NXT+1のReturnのほかのReturnと等しい、「データを送る誤り--不十分なリソース」Endif

       LISTEN STATE
       SYN-RCVD STATE
       SYN-SENT STATE
       CLOSE STATE
       CLOSE-WAIT STATE

SYN-RCVD州が州の近い州の近い待ち状態をSYN送った状態を聴いてください。

         Return "Error - connection not open"

「オープンでない誤り--接続」を返してください。

     Status Request

状態要求

       Return with:

以下と共に戻ってください。

                                                               Page 23

23ページ


     RFC-908                                                 July 1984

RFC-908 1984年7月

         State of connection (OPEN, LISTEN, etc.)
         Number of segments unacknowledged
         Number of segments received not given to user
         Maximum segment size for the send side of the connection
         Maximum segment size for the receive side of the connection

接続(オープン、LISTENなど)の状態 ユーザへのMaximumがサイズを区分する当然のことではなく、セグメントの不承認のNumberが受けたセグメントの数、Maximumがサイズを区分する接続の側面を送ってください、接続の側面を受け取ってください。

     3.7.2  Segment Arrival Events

3.7.2 セグメント到着イベント

          The following scenarios describe the processing of the event
     caused  by  the arrival of a RDP segment from a remote host.  The
     assumption is made that the segment was addressed  to  the  local
     port associated with the connection record.

以下のシナリオはリモートホストからのRDPセグメントの到着で引き起こされたイベントの処理について説明します。 セグメントが接続記録に関連している地方のポートに扱われたという仮定はされます。

     If State = CLOSED

状態=が休んだなら

       If RST set
         Discard segment
         Return
       Endif

RSTがDiscardセグメントReturn Endifを設定するなら

       If ACK or NUL set
          Send <SEQ=SEG.ACK + 1><RST>
          Discard segment
          Return
        else
          Send <SEQ=0><RST><ACK=RCV.CUR><ACK>
          Discard segment
          Return
       Endif

ACKかNULがほかのSendの><ACK>Discard<SEQ=SEG.ACK+1><RST>DiscardセグメントReturn Send<SEQ=0><RST><ACK=RCV.CURセグメントReturn Endifを設定するなら

     Endif

Endif

     If State = CLOSE-WAIT
       If RST set
          Set State = CLOSED
          Discard segment
          Cancel TIMWAIT timer
          Deallocate connection record
        else
          Discard segment
       Endif
       Return
     Endif

州=CLOSE-WAIT If RSTがCLOSED DiscardのタイマのDeallocateの記録のほかのDiscardセグメントキャンセルTIMWAIT接続Set州=セグメントEndif Return Endifを設定するなら

     Page 24

24ページ


     RDP Specification                              Protocol Operation

RDP仕様プロトコル操作

     If State = LISTEN

= 聴くように述べてくださいなら

       If RST set
         Discard the segment
         Return
       Endif

RSTがDiscardセグメントReturn Endifを設定するなら

       If ACK or NUL set
         Send <SEQ=SEG.ACK + 1><RST>
         Return
       Endif

ACKかNULがSend<SEQ=SEG.ACK+1><RST>Return Endifを設定するなら

       If SYN set
         Set RCV.CUR = SEG.SEQ
             RCV.IRS = SEG.SEQ
             SND.MAX = SEG.MAX
             SBUF.MAX = SEG.BMAX
         Send <SEQ=SND.ISS><ACK=RCV.CUR><MAX=RCV.MAX><BUFMAX=RBUF.MAX>
              <ACK><SYN>
         Set State = SYN-RCVD
         Return
       Endif

RCV.MAX><BUFMAX=RBUF.MAX><ACK><SYN>Set SEG.BMAX Send<SEQ=SND.ISS><ACK=RCV.CUR><SYNセットSet RCV.CUR=SEG.SEQ RCV.IRS=SEG.SEQ SND.MAX=SEG.MAX SBUF.MAX=マックス=州がSYN-RCVD Return Endifと等しいなら

       If anything else (should never get here)
         Discard segment
         Return
       Endif
     Endif

他の何か(ここに決して到着するべきでない)であるなら、セグメントReturn Endif Endifを捨ててください。

     If State = SYN-SENT

状態=がSYN発信したなら

       If ACK set
         If RST clear and SEG.ACK != SND.ISS
           Send <SEQ=SEG.ACK + 1><RST>
         Endif
         Discard segment; Return
       Endif

ACKがIf RSTを設定するなら、クリアしてください。そうすれば、SEG.ACK!はSND.ISS Send<SEQ=SEG.ACK+1><RST>Endif Discardセグメントと等しいです。 リターンEndif

       If RST set
         If ACK set
           Signal "Connection Refused"
           Set State =  CLOSED
           Deallocate connection record
         Endif
         Discard segment
         Return
       Endif

RSTセットIf ACKがSignal「接続は拒否した」Set州=CLOSED Deallocate接続記録Endif DiscardセグメントReturn Endifを設定するなら

                                                               Page 25

25ページ


     RFC-908                                                 July 1984

RFC-908 1984年7月

       If SYN set
         Set RCV.CUR = SEG.SEQ
             RCV.IRS = SEG.SEQ
             SND.MAX = SEG.MAX
             RBUF.MAX = SEG.BMAX
         If ACK set
           Set SND.UNA = SEG.ACK
           State = OPEN
           Send <SEQ=SND.NXT><ACK=RCV.CUR><ACK>
          else
           Set State = SYN-RCVD
           Send <SEQ=SND.ISS><ACK=RCV.CUR><MAX=RCV.MAX><BUFMAX=RBUF.MAX>
                  <SYN><ACK>
         Endif
         Return
       Endif

SYN-RCVD Send<SEQ=SND.ISS><ACK=RCV.CUR><オープンの<のACKの>のほかのSet Send<SEQ=SND.NXT><ACK=RCV.CUR>SEG.ACK SEG.BMAX If ACKセットSYNセットSet RCV.CUR=SEG.SEQ RCV.IRS=SEG.SEQ SND.MAX=SEG.MAX RBUF.MAX=Set SND.UNA=州=州=マックスがRCV.MAX><BUFMAX=RBUF.MAX><SYN><ACK>Endif Return Endifと等しいなら

       If anything else
         Discard segment
         Return
       Endif
     Endif

どちらかと言えば、DiscardはほかのReturn Endif Endifを区分します。

     If State = SYN-RCVD

状態がSYN-RCVDと等しいなら

       If RCV.IRS < SEG.SEQ =< RCV.CUR + (RCV.MAX * 2)
         Segment sequence number acceptable
        else
         Send <SEQ=SND.NXT><ACK=RCV.CUR><ACK>
         Discard segment
         Return
       Endif

RCV.IRS<SEG.SEQが(RCV.MAX*2)セグメント一連番号<RCV.CUR+許容できるほかのSendの><ACK>Discard<SEQ=SND.NXT><ACK=RCV.CURセグメントReturn Endifと等しいなら

       If RST set
         If passive Open
            Set State = LISTEN
         else
            Set State = CLOSED
            Signal "Connection Refused"
            Discard segment
            Deallocate connection record
         Endif
         Return
       Endif

RSTがCLOSED Signal「接続は拒否した」DiscardセグメントDeallocate LISTENのほかのSet Ifの受け身のオープンSet州=州=接続の記録的なEndif Return Endifを設定するなら

     Page 26

26ページ


     RDP Specification                              Protocol Operation

RDP仕様プロトコル操作

       If SYN set
         Send <SEQ=SEG.ACK + 1><RST>
         Set State = CLOSED
         Signal "Connection Reset"
         Discard segment
         Deallocate connection record
         Return
       Endif

SYNがCLOSED Signal「接続リセット」DiscardセグメントDeallocate Send<SEQ=SEG.ACK+1><RST>Set州=接続の記録的なReturn Endifを設定するなら

       If EACK set
          Send <SEQ=SEG.ACK + 1><RST>
          Discard segment
          Return
       Endif

EACKがSend<SEQ=SEG.ACK+1><RST>DiscardセグメントReturn Endifを設定するなら

       If ACK set
         If SEG.ACK = SND.ISS
            Set State = OPEN
          else
            Send <SEQ=SEG.ACK + 1><RST>
            Discard segment
            Return
         Endif
        else
         Discard segment
         Return
       Endif

SND.ISS Set ACKセットIf SEG.ACK=州がほかのオープンのDiscardセグメントReturn EndifほかのDiscard Send<SEQ=SEG.ACK+1><RST>セグメントReturn Endifと等しいなら

       If Data in segment or NUL set
         If the received segment is in sequence
            Copy the data (if any) to user buffers
            Set RCV.CUR=SEG.SEQ
            Send <SEQ=SND.NXT><ACK=RCV.CUR><ACK>
          else
            If out-of-sequence delivery permitted
               Copy the data (if any) to user buffers
            Endif
            Send <SEQ=SND.NXT><ACK=RCV.CUR><ACK><EACK><RCVDSEQNO1>
                      ...<RCVDSEQNOn>
         Endif
       Endif

系列Copyでは、セグメントのDataかNULがIfを設定するなら、容認されたセグメントはユーザバッファの>の<のACKの>のほかのSet RCV.CUR=SEG.SEQ Send<SEQ=SND.NXT><ACK=RCV.CUR Ifへのデータ(もしあれば)です。順序が狂って配送はユーザバッファEndif Send<SEQ=SND.NXT><ACK=RCV.CUR><ACK><EACK><RCVDSEQNO1>にデータ(もしあれば)をCopyに可能にしました…<RCVDSEQNOn>Endif Endif

     Endif

Endif

                                                               Page 27

27ページ


     RFC-908                                                 July 1984

RFC-908 1984年7月

     If State = OPEN

状態が戸外と等しいなら

       If RCV.CUR < SEG.SEQ =< RCV.CUR + (RCV.MAX * 2)
         Segment sequence number acceptable
        else
         Send <SEQ=SND.NXT><ACK=RCV.CUR><ACK>
         Discard segment and return
       Endif

RCV.CUR<SEG.SEQが(RCV.MAX*2)セグメント一連番号<RCV.CUR+許容できるほかのSendの><ACK>Discard<SEQ=SND.NXT><ACK=RCV.CURセグメントと等しく、Endifを返すなら

       If RST set
         Set State = CLOSE-WAIT
         Signal "Connection Reset"
         Return
       Endif

RSTがCLOSE-WAIT Signal「接続リセット」Set州=Return Endifを設定するなら

       If NUL set
         Set RCV.CUR=SEG.SEQ
         Send <SEQ=SND.NXT><ACK=RCV.CUR><ACK>
         Discard segment
         Return
       Endif

NULがSet RCV.CUR=SEG.SEQ Send<SEQ=SND.NXT><ACK=RCV.CUR><ACK>DiscardセグメントReturn Endifを設定するなら

       If SYN set
         Send <SEQ=SEG.ACK + 1><RST>
         Set State = CLOSED
         Signal "Connection Reset"
         Discard segment
         Deallocate connection record
         Return
       Endif

SYNがCLOSED Signal「接続リセット」DiscardセグメントDeallocate Send<SEQ=SEG.ACK+1><RST>Set州=接続の記録的なReturn Endifを設定するなら

       If ACK set
         If SND.UNA =< SEG.ACK < SND.NXT
           Set SND.UNA = SEG.ACK
           Flush acknowledged segments
         Endif
       Endif

<SEG.ACK<ACKセットIf SND.UNA=SND.NXT Set SND.UNA=SEG.ACK FlushがセグメントEndif Endifを承認したなら

       If EACK set
         Flush acknowledged segments
       Endif

EACKセットFlushがセグメントEndifを承認したなら

     Page 28

28ページ


     RDP Specification                              Protocol Operation

RDP仕様プロトコル操作

       If Data in segment
        If the received segment is in sequence
          Copy the data to user buffers
          Set RCV.CUR=SEG.SEQ
          Send <SEQ=SND.NXT><ACK=RCV.CUR><ACK>
         else
          If out-of-sequence delivery permitted
             Copy the data to user buffers
          Endif
          Send <SEQ=SND.NXT><ACK=RCV.CUR><ACK><EACK><RCVDSEQNO1>
                      ...<RCVDSEQNOn>
        Endif
       Endif
     Endif

系列Copyでは、セグメントIfでのDataであるなら、容認されたセグメントはユーザバッファの>の<のACKの>のほかのSet RCV.CUR=SEG.SEQ Send<SEQ=SND.NXT><ACK=RCV.CUR Ifへのデータです。順序が狂って配送はユーザバッファEndif Send<SEQ=SND.NXT><ACK=RCV.CUR><ACK><EACK><RCVDSEQNO1>にデータをCopyに可能にしました…<RCVDSEQNOn>Endif Endif Endif

     3.7.3  Timeout Events

3.7.3 タイムアウトイベント

          Timeout events occur when a timer expires  and  signals  the
     RDP.  Two types of timeout events can occur, as described below:

タイマがRDPを吐き出して、合図するとき、タイムアウトイベントは起こります。 2つのタイプのタイムアウトイベントは以下で説明されるように起こることができます:

     RETRANSMISSION TIMEOUTS

再送タイムアウト

       If timeout on segment at head of retransmission queue
          Resend the segment at head of queue
          Restart the retransmission timer for the segment
          Requeue the segment on retransmission queue
          Return
       Endif

タイムアウトである、オンである、再送キューResendのヘッドで待ち行列Restartのヘッドにおけるセグメントを区分してください、「再-トランスミッション」の上のセグメントが列に並ばせるセグメントRequeueのための再送信タイマー、Return Endif

     CLOSE-WAIT TIMEOUTS

厳密な待ちタイムアウト

       Set State = CLOSED
       Deallocate connection record
       Return

CLOSED Deallocate州=接続の記録的なReturnを設定してください。

                                                               Page 29

29ページ


     RFC-908                                                 July 1984

RFC-908 1984年7月

     Page 30

30ページ


     RDP Specification                        RDP Segments and Formats

RDP仕様RDPセグメントと形式

                                 CHAPTER 4

第4章

                         RDP Segments and Formats

RDPセグメントと形式

          The segments sent by the application layer are  encapsulated
     in  headers  by  the  transport,  internet and network layers, as
     follows:

応用層で送られたセグメントは以下の通りヘッダーで輸送、インターネット、およびネットワーク層によってカプセル化されます:

                            +----------------+
                            | Network Access |
                            |     Header     |
                            +----------------+
                            |   IP Header    |
                            +----------------+
                            |   RDP Header   |
                            +----------------+
                            |     D          |
                            |      A         |
                            |       T        |
                            |        A       |
                            +----------------+

+----------------+ | ネットワークアクセス| | ヘッダー| +----------------+ | IPヘッダー| +----------------+ | RDPヘッダー| +----------------+ | D| | A| | T| | A| +----------------+

                              Segment Format
                                 Figure 4

セグメント形式図4

     4.1  IP Header Format

4.1 IPヘッダー形式

          When used in the internet environment, RDP segments are sent
     using  the  version 4 IP header as described in RFC791, "Internet
     Protocol."  The RDP protocol number is ??? (decimal).  The  time-
     to-live  field  should  be  set  to  a  reasonable  value for the
     network.

インターネット環境で使用すると、RDPセグメントにRFC791、「インターネットプロトコル」で説明されるようにバージョン4IPヘッダーを使用させます。 RDPプロトコル番号はそうですか?(10進。) 時間、-生きてください、分野はネットワークのための適正価値に設定されるべきです。

          All other fields should be set as specified in RFC-791.

他のすべての分野がRFC-791で指定されるように設定されるべきです。

                                                               Page 31

31ページ


     RFC-908                                                 July 1984

RFC-908 1984年7月

     4.2  RDP Header Format

4.2 RDPヘッダー形式

          Every RDP segment is  prefaced  with  an  RDP  header.   The
     format  of the header is shown in Figure 5 below.  The RDP header
     is variable in length and its size is indicated by a field  in  a
     fixed location within the header.

あらゆるRDPセグメントがRDPヘッダーと共に前書きされます。 ヘッダーの書式は以下の図5に示されます。 RDPヘッダーは長さで可変です、そして、サイズはヘッダーの中に固定ロケーションで分野によって示されます。

                       0             0 0   1         1
                       0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5
                      +-+-+-+-+-+-+---+---------------+
                      |S|A|E|R|N| |Ver|    Header     |
                    0 |Y|C|A|S|U|0|No.|    Length     |
                      |N|K|K|T|L| |   |               |
                      +-+-+-+-+-+-+---+---------------+
                    1 | Source Port   |   Dest. Port  |
                      +---------------+---------------+
                    2 |          Data  Length         |
                      +---------------+---------------+
                    3 |                               |
                      +---    Sequence Number      ---+
                    4 |                               |
                      +---------------+---------------+
                    5 |                               |
                      +--- Acknowledgement Number  ---+
                    6 |                               |
                      +---------------+---------------+
                    7 |                               |
                      +---        Checksum         ---+
                    8 |                               |
                      +---------------+---------------+
                    9 |     Variable Header Area      |
                      .                               .
                      .                               .
                      |                               |
                      +---------------+---------------+

0 0 0 1 1 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 +-+-+-+-+-+-+---+---------------+ |S|A|E|R|N| |Ver| ヘッダー| 0 |Y|C|A|S|U|0|いいえ| 長さ| |N|K|K|T|L| | | | +-+-+-+-+-+-+---+---------------+ 1 | ソースポート| Dest。 ポート| +---------------+---------------+ 2 | データの長さ| +---------------+---------------+ 3 | | +--- 一連番号---+ 4 | | +---------------+---------------+ 5 | | +--- 承認番号---+ 6 | | +---------------+---------------+ 7 | | +--- チェックサム---+ 8 | | +---------------+---------------+ 9 | 可変ヘッダー領域| . . . . | | +---------------+---------------+

                             RDP Header Format
                                 Figure 5

RDPヘッダー形式数値5

     Page 32

32ページ


     RDP Specification                        RDP Segments and Formats

RDP仕様RDPセグメントと形式

     4.2.1  RDP Header Fields

4.2.1 RDPヘッダーフィールド

     Control Flags

指揮旗

          This 8-bit field occupies the first octet of word one in the
          header.  It is bit encoded with the following bits currently
          defined:

この8ビットの分野はヘッダーにおける、Word1の最初の八重奏を占領します。 それは以下のビットが現在定義されている状態でコード化されたビットです:

          Bit #  Bit Name   Description

噛み付いている#ビット名前記述

          0      SYN        Establish connection and
                              synchronize sequence numbers.
          1      ACK        Acknowledge field significant.
          2      EACK       Non-cumulative (Extended) acknowledgement.
          3      RST        Reset the connection.
          4      NUL        This is a null (zero data length) segment.
          5                 Unused.

そして、0SYN Establish接続、一連番号を同期させてください。 1 ACK Acknowledge分野重要です。 2 EACK Non累積している(拡張)承認。 3 接続のRST Reset。 4NUL Thisがヌル(データの長さがない)のセグメントです。 5 未使用です。

          Note that the SYN and RST are sent as separate segments  and
          may  not  contain  any  data.   The  ACK  may  accompany any
          message.  The NUL segment must have a zero data length,  but
          may  be  accompanied by ACK and EACK information.  The other
          control bit is currently unused and is defined to be zero.

SYNとRSTが別々のセグメントとして送られて、少しのデータも含まないかもしれないことに注意してください。 ACKはどんなメッセージにも伴うかもしれません。 aにデータの長さのゼロを合わせなければなりませんが、NULセグメントは、ACKとEACK情報によって伴われるかもしれません。 もう片方のコントロールビットは、現在、未使用であり、ゼロになるように定義されます。

     Version Number

バージョン番号

          This field  occupies  bits  6-7  of  the  first  octet.   It
          contains  the  version  number  of the protocol described by
          this document.  Current value is one (1).

この分野は最初の八重奏のビット6-7を占領します。 それはこのドキュメントによって説明されたプロトコルのバージョン番号を含んでいます。 現行価値は1つ(1)です。

     Header Length

ヘッダ長

          The length of the RDP header in units  of  two  (2)  octets,
          including  this  field.   This  field allows RDP to find the
          start of the Data field, given a pointer to the head of  the
          segment.   This  field  is  8 bits in length.  For a segment
          with no variable header section,  the  header  length  field
          will have the value 9.

この分野を含むユニットの2(2)八重奏における、RDPヘッダーの長さ。 RDPはこの分野でData分野の始まりを見つけることができます、セグメントのヘッドへの指針を考えて。 長さはこの分野が8ビットです。 可変ヘッダー部分のないセグメントのために、ヘッダ長分野には、値9があるでしょう。

     Source and Destination Ports

ソースと仕向港

          The Source and Destination Ports are used  to  identify  the
          processes  in the two hosts that are communicating with each
          other.  The combination of the  port  identifiers  with  the
          source  and  destination  addresses  in  the  network access

SourceとDestination Portsは、互いにコミュニケートしている2人のホストでプロセスを特定するのに使用されます。 ソースと送付先アドレスへのポート識別子のネットワークアクセスにおける、組み合わせ

                                                               Page 33

33ページ


     RFC-908                                                 July 1984

RFC-908 1984年7月

          protocol header serves to fully qualify the  connection  and
          constitutes  the connection identifier.  This permits RDP to
          distinguish multiple connections between  two  hosts.   Each
          field  is  8 bits in length, allowing port numbers from 0 to
          255 (decimal).

プロトコルヘッダーは、接続に完全に資格を与えるのに勤めて、接続識別子を構成します。 これは、RDPが2人のホストの間の複数の接続を区別することを許可します。 0〜255までのポートナンバー(10進)を許容する長さは各分野が8ビットです。

     Data Length

データの長さ

          The length in octets of the data in this segment.  The  data
          length  does  not  include the RDP header.  This field is 16
          bits in length.

このセグメントにおける、データの八重奏における長さ。 データの長さはRDPヘッダーを含んでいません。 長さはこの分野が16ビットです。

     Sequence Number

一連番号

          The sequence number of this segment.  This field is 32  bits
          in length.

このセグメントの一連番号。 長さはこの分野が32ビットです。

     Acknowledgement Number

承認番号

          If the ACK bit is set in the header, this  is  the  sequence
          number  of  the segment that the sender of this segment last
          received correctly and in sequence.  Once  a  connection  is
          established  this  should  always be sent.  This field is 32
          bits in length.

ACKビットがヘッダーに設定されるなら、これはこのセグメントの送付者が最後に正しく連続して受けたセグメントの一連番号です。 いったん接続を確立すると、いつもこれを送るべきです。 長さはこの分野が32ビットです。

     Checksum

チェックサム

          This field is a 32-bit checksum of the  segment  header  and
          data.    The   algorithm   description  below  includes  two
          variables,  the  checksum  accumulator  and   the   checksum
          pointer.   The  checksum  accumulator  is  an  actual 32-bit
          register in which the  checksum  is  formed.   The  checksum
          pointer   is   included  for  purposes  of  description,  to
          represent the operation of advancing through the  data  four
          octets  (32-bits) at a time.  It need not be maintained in a
          register by an implementation.

この分野はセグメントヘッダーとデータの32ビットのチェックサムです。 以下でのアルゴリズム記述は2つの変数、チェックサムアキュムレータ、およびチェックサム指針を含んでいます。 チェックサムアキュムレータはチェックサムが形成される実際の32ビットのレジスタです。 チェックサム指針は記述の目的のために含まれていて、aでデータを通して4つの八重奏(32ビット)を進める操作を表すために、調節してください。 それはレジスタで実装によって維持される必要はありません。

          1) The checksum pointer is set to zero, to correspond to the
          beginning  of  the  area  to  be  checksummed.  The checksum
          accumulator is also initialized to zero before beginning the
          computation of the checksum.

1) ゼロにチェックサム指針がchecksummedされるように領域の始まりに相当するように設定されます。 また、チェックサムの計算を始める前に、チェックサムアキュムレータはゼロに初期化されます。

          2) The 32-bit memory word located at the address  referenced
          by  the  checksum  pointer  is  added  arithmetically to the
          checksum accumulator.   Any  carry  propagated  out  of  the
          checksum  accumulator is ignored.  The checksum field itself
          is replaced with zeros when  being  added  to  the  checksum

2) チェックサム指針によって参照をつけられるアドレスに位置する32ビットのメモリ単語はチェックサムアキュムレータに算術で加えられます。 チェックサムアキュムレータから伝播されたどんなキャリーも無視されます。 チェックサムに加えると、チェックサム野原自体をゼロに取り替えます。

     Page 34

34ページ


     RDP Specification                        RDP Segments and Formats

RDP仕様RDPセグメントと形式

          accumulator.

アキュムレータ。

          3)  The  checksum  accumulator  is  rotated  left  one   bit
          position.  The checksum pointer is advanced to correspond to
          the address of the next 32-bit word in the segment.

3) チェックサムアキュムレータは左の1ビットの回転する位置です。 チェックサム指針は、セグメントで次の32ビットの単語のアドレスに相当するように進められます。

          4) Steps 2 and 3 are repeated until the entire  segment  has
          been  summed.   If a segment contains a number of header and
          data octets that is not an integral multiple  of  4  octets,
          the  last  octet is padded on the right with zeros to form a
          32-bit quantity for computation purposes.

4) 全体のセグメントがまとめられるまで、ステップ2と3は繰り返されます。 セグメントが4つの八重奏の不可欠の倍数でない多くのヘッダーとデータ八重奏を含んでいるなら、最後の八重奏は右でゼロで水増しされて、計算目的のための32ビットの量を形成します。

     Variable Header Area

可変ヘッダー領域

          This area is used to transmit parameters  for  the  SYN  and
          EACK segments.

この領域は、SYNとEACKセグメントのためのパラメタを伝えるのに使用されます。

                                                               Page 35

35ページ


     RFC-908                                                 July 1984

RFC-908 1984年7月

     4.3  SYN Segment

4.3 SYNセグメント

          The SYN is used to establish a  connection  and  synchronize
     sequence  numbers  between  two  hosts.   The  SYN  segment  also
     contains information to inform the remote  host  of  the  maximum
     number  of  segments  the local RDP  is willing to accept and the
     maximum segment size it can accept.  The SYN may be combined with
     an ACK in a segment but is never combined with user data.

SYNは、取引関係を築いて、2人のホストの間の一連番号を同期させるのに使用されます。 また、SYNセグメントは地方のRDPが受け入れても構わないと思っているセグメントの最大数とそれが受け入れることができる最大のセグメントサイズについてリモートホストに知らせる情報を含んでいます。 SYNはセグメントでACKに結合されるかもしれませんが、利用者データに決して結合されません。

     4.3.1  SYN Segment Format

4.3.1 SYNセグメント形式

                        0             0 0   1         1
                        0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5
                       +-+-+-+-+-+-+---+---------------+
                     0 |1|0|0|0|0|0|0 1| Header Length |
                       +-+-+-+-+-+-+---+---------------+
                     1 | Source Port   |   Dest. Port  |
                       +---------------+---------------+
                     2 |       Data  Length = 0        |
                       +---------------+---------------+
                     3 |                               |
                       +---    Sequence Number      ---+
                     4 |                               |
                       +---------------+---------------+
                     5 |                               |
                       +--- Acknowledgement Number  ---+
                     6 |                               |
                       +---------------+---------------+
                     7 |                               |
                       +---        Checksum         ---+
                     8 |                               |
                       +---------------+---------------+
                     9 | Max. # of Outstanding Segments|
                       +---------------+---------------+
                    10 |       Max. Segment Size       |
                       +-------------------------------+
                    11 |      Options Flag Field       |
                       +---------------+---------------+

0 0 0 1 1 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 +-+-+-+-+-+-+---+---------------+ 0 |1|0|0|0|0|0|0 1| ヘッダ長| +-+-+-+-+-+-+---+---------------+ 1 | ソースポート| Dest。 ポート| +---------------+---------------+ 2 | データの長さ=0| +---------------+---------------+ 3 | | +--- 一連番号---+ 4 | | +---------------+---------------+ 5 | | +--- 承認番号---+ 6 | | +---------------+---------------+ 7 | | +--- チェックサム---+ 8 | | +---------------+---------------+ 9 | マックス。 # 傑出しているセグメントについて| +---------------+---------------+ 10 | マックス。 セグメントサイズ| +-------------------------------+ 11 | オプションは分野に旗を揚げさせます。| +---------------+---------------+

                            SYN Segment Format
                                 Figure 6

SYNセグメント形式数値6

     Page 36

36ページ


     RDP Specification                        RDP Segments and Formats

RDP仕様RDPセグメントと形式

     4.3.2  SYN Segment Fields

4.3.2 SYNセグメント分野

     Sequence Number

一連番号

          Contains the  initial  sequence  number  selected  for  this
          connection.

この接続のために選択された初期シーケンス番号を含んでいます。

     Acknowledgement Number

承認番号

          This field is valid only if the ACK flag is  set.   In  that
          case, this field will contain the sequence number of the SYN
          segment received from the other RDP.

ACK旗が設定される場合にだけ、この分野は有効です。 その場合、この分野はもう片方のRDPから受け取られたSYNセグメントの一連番号を含むでしょう。

     Maximum Number of Outstanding Segments

最大数の傑出しているセグメント

          The maximum number of segments that should be  sent  without
          getting an acknowledgement.  This is used by the receiver as
          a means of flow control.   The  number  is  selected  during
          connection  initiation  and  may not be changed later in the
          life of the connection.

承認を得ないで送られるべきであるセグメントの最大数。 これはフロー制御の手段として受信機によって使用されます。 数は、接続開始の間、選択されて、後で接続の寿命で変えられないかもしれません。

     Maximum Segment Size

最大のセグメントサイズ

          The maximum size segment in octets that  the  sender  should
          send.   It informs the sender how big the receiver's buffers
          are.  The specified size  includes  the  length  of  the  IP
          header,  RDP  header,  and  data.   It  does not include the
          network access layer's header length.

送付者が送るべきである八重奏における最大サイズセグメント。 それは、受信機のバッファがどれくらい大きいかを送付者に知らせます。 指定されたサイズはIPヘッダー、RDPヘッダー、およびデータの長さを含んでいます。 それはネットワークアクセス層のヘッダ長を含んでいません。

     Options Flag Field

オプションは分野に旗を揚げさせます。

          This field of two octets contains a  set  of  options  flags
          that  specify the set of optional functions that are desired
          for this connection.  The flags are defined as follows:

2つの八重奏のこの分野はこの接続のために望まれている任意の機能のセットを指定する1セットのオプション旗を含んでいます。 旗は以下の通り定義されます:

          Bit #   Bit Name    Description

噛み付いている#ビット名前記述

          0       SDM         Sequenced delivery mode.

0 SDM Sequenced配送モード。

          The sequenced delivery mode flag specifies whether  delivery
          of   segments   to  the  user  is  sequenced  (delivered  in
          sequence-number  order)  or  non-sequenced   (delivered   in
          arrival order, regardless of sequence number).  A value of 0
          specifies non-sequenced delivery of segments, and a value of
          1 specifies sequenced delivery.

配列された配送モード旗は、ユーザへのセグメントの配送が配列(系列番号では、注文品を提供する)にされますかそれとも非配列されているかを(到着命令では、一連番号にかかわらず、提供されます)指定します。 0の値はセグメントの非配列された配送を指定します、そして、1の値は配列された配送を指定します。

                                                               Page 37

37ページ


     RFC-908                                                 July 1984

RFC-908 1984年7月

     4.4  ACK Segment

4.4 ACKセグメント

          The ACK segment is used to acknowledge in-sequence segments.
     It   contains   both  the  next  send  sequence  number  and  the
     acknowledgement sequence number  in  the  RDP  header.   The  ACK
     segment  may  be  sent  as  a  separate segment, but it should be
     combined with data whenever possible.  Data segments must  always
     include the ACK bit and Acknowledgement Number field.

ACKセグメントは、連続してセグメントを承認するのに使用されます。 それは次がRDPヘッダーで一連番号と承認一連番号を送る両方を含んでいます。 別々のセグメントとしてACKセグメントを送るかもしれませんが、可能であるときはいつも、それをデータに結合するべきです。 データ・セグメントはいつもACKビットとAcknowledgement Number分野を含まなければなりません。

     4.4.1  ACK Segment Format

4.4.1 ACKセグメント形式

                        0             0 0   1         1
                        0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5
                       +-+-+-+-+-+-+---+---------------+
                     0 |0|1|0|0|0|0|0 1| Header Length |
                       +-+-+-+-+-+-+---+---------------+
                     1 | Source Port   |   Dest. Port  |
                       +---------------+---------------+
                     2 |          Data  Length         |
                       +---------------+---------------+
                     3 |                               |
                       +---    Sequence Number      ---+
                     4 |                               |
                       +---------------+---------------+
                     5 |                               |
                       +--- Acknowledgement Number  ---+
                     6 |                               |
                       +---------------+---------------+
                     7 |                               |
                       +---        Checksum         ---+
                     8 |                               |
                       +---------------+---------------+
                       |                               |
                       |             Data              |
                       .                               .
                       .                               .
                       +---------------+---------------+

0 0 0 1 1 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 +-+-+-+-+-+-+---+---------------+ 0 |0|1|0|0|0|0|0 1| ヘッダ長| +-+-+-+-+-+-+---+---------------+ 1 | ソースポート| Dest。 ポート| +---------------+---------------+ 2 | データの長さ| +---------------+---------------+ 3 | | +--- 一連番号---+ 4 | | +---------------+---------------+ 5 | | +--- 承認番号---+ 6 | | +---------------+---------------+ 7 | | +--- チェックサム---+ 8 | | +---------------+---------------+ | | | データ| . . . . +---------------+---------------+

                            ACK Segment Format
                                 Figure 7

ACKセグメント形式数値7

     Page 38

38ページ


     RDP Specification                        RDP Segments and Formats

RDP仕様RDPセグメントと形式

     4.4.2  ACK Segment Fields

4.4.2 ACKセグメント分野

     Data Length

データの長さ

          A non-zero Data Length field indicates that  there  is  data
          present in the segment.

非ゼロData Length分野は、セグメントにおける現在のデータがあるのを示します。

     Sequence Number

一連番号

          The value of the Sequence Number field is  advanced  to  the
          next  sequence  number  only if there is data present in the
          segment.  An ACK segment without data does not use  sequence
          number space.

セグメントにおける現在のデータがある場合にだけ、Sequence Number分野の値は次の一連番号に達せられます。 データのないACKセグメントは一連番号スペースを使用しません。

     Acknowledgement Number

承認番号

          The  Acknowledgement  Number  field  contains  the  sequence
          number of the last segment received in sequential order.

Acknowledgement Number分野は連続したオーダーに受け取られた最後のセグメントの一連番号を含んでいます。

                                                               Page 39

39ページ


     RFC-908                                                 July 1984

RFC-908 1984年7月

     4.5  Extended ACK Segment

4.5 拡張ACKセグメント

          The EACK segment is used to  acknowledge  segments  received
     out of sequence.  It contains the sequence numbers of one or more
     segments received with a correct checksum, but out  of  sequence.
     The  EACK  is  always combined with an ACK in the segment, giving
     the sequence number of the last  segment  received  in  sequence.
     The EACK segment may also include user data.

EACKセグメントは、順序が狂って受け取られたセグメントを承認するのに使用されます。 それは正しいチェックサムにもかかわらず、系列から受け取られた1つ以上のセグメントの一連番号を含んでいます。 EACKはセグメントでACKにいつも結合されます、連続して受け取られた最後のセグメントの一連番号を与えて。 また、EACKセグメントは利用者データを含むかもしれません。

     4.5.1  EACK Segment Format

4.5.1 EACKセグメント形式

          The EACK segment has the format shown in Figure 8.

EACKセグメントには、図8に示された書式があります。

     4.5.2  EACK Segment Fields

4.5.2 EACKセグメント分野

     Data Length

データの長さ

          A non-zero Data Length field indicates that  there  is  data
          present in the segment.

非ゼロData Length分野は、セグメントにおける現在のデータがあるのを示します。

     Sequence Number

一連番号

          The value of the Sequence Number field is  advanced  to  the
          next  sequence  number  only if there is data present in the
          segment.  An EACK segment without data does not use sequence
          number space.

セグメントにおける現在のデータがある場合にだけ、Sequence Number分野の値は次の一連番号に達せられます。 データのないEACKセグメントは一連番号スペースを使用しません。

     Acknowledgement Number

承認番号

          The  Acknowledgement  Number  field  contains  the  sequence
          number of the last segment received in sequential order.

Acknowledgement Number分野は連続したオーダーに受け取られた最後のセグメントの一連番号を含んでいます。

     Sequence # Received OK

系列#はOKを受けました。

          Each entry is the sequence number  of  a  segment  that  was
          received with a correct checksum, but out of sequence.

各エントリーは正しいチェックサムにもかかわらず、系列から受け取られたセグメントの一連番号です。

     Page 40

40ページ


     RDP Specification                        RDP Segments and Formats

RDP仕様RDPセグメントと形式

                        0             0 0   1         1
                        0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5
                       +-+-+-+-+-+-+---+---------------+
                     0 |0|1|1|0|0|0|0 1| Header Length |
                       +-+-+-+-+-+-+---+---------------+
                     1 | Source Port   |   Dest. Port  |
                       +---------------+---------------+
                     2 |          Data  Length         |
                       +---------------+---------------+
                     3 |                               |
                       +---    Sequence Number      ---|
                     4 |                               |
                       +---------------+---------------+
                     5 |                               |
                       +--- Acknowledgement Number  ---+
                     6 |                               |
                       +---------------+---------------+
                     7 |                               |
                       +---        Checksum         ---+
                     8 |                               |
                       +---------------+---------------+
                     9 |                               |
                       +--- Sequence # Received OK  ---+
                    10 |                               |
                       +---------------+---------------+
                    11 |                               |
                       +--- Sequence # Received OK  ---+
                    12 |                               |
                       +---------------+---------------+
                       :               .               :
                       :               .               :
                       :               .               :
                       +---------------+---------------+
                       |                               |
                       |             Data              |
                       |                               |
                       +---------------+---------------+

0 0 0 1 1 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 +-+-+-+-+-+-+---+---------------+ 0 |0|1|1|0|0|0|0 1| ヘッダ長| +-+-+-+-+-+-+---+---------------+ 1 | ソース港| Dest。 ポート| +---------------+---------------+ 2 | データの長さ| +---------------+---------------+ 3 | | +--- 一連番号---| 4 | | +---------------+---------------+ 5 | | +--- 承認番号---+ 6 | | +---------------+---------------+ 7 | | +--- チェックサム---+ 8 | | +---------------+---------------+ 9 | | +--- 系列#はOKを受けました。---+ 10 | | +---------------+---------------+ 11 | | +--- 系列#はOKを受けました。---+ 12 | | +---------------+---------------+ : . : : . : : . : +---------------+---------------+ | | | データ| | | +---------------+---------------+

                            EACK Segment Format
                                 Figure 8

EACKセグメント形式エイト環

                                                               Page 41

41ページ


     RFC-908                                                 July 1984

RFC-908 1984年7月

     4.6  RST Segment

4.6 RSTセグメント

          The RST segment is used to  close  or  reset  a  connection.
     Upon  receipt of an RST segment, the sender must stop sending and
     must abort any  unserviced  requests.   The  RST  is  sent  as  a
     separate segment and does not include any data.

RSTセグメントは、接続を終えるか、またはリセットするのに使用されます。 RSTセグメントを受け取り次第、送付者は、発信するのを止めなければならなくて、どんな非修理された要求も中止しなければなりません。 RSTは別々のセグメントとして送られて、少しのデータも含んでいません。

     4.6.1  RST Segment Format

4.6.1 RSTセグメント形式

                        0             0 0   1         1
                        0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5
                       +-+-+-+-+-+-+---+---------------+
                     0 |0|0|0|1|0|0|0 1| Header Length |
                       +-+-+-+-+-+-+---+---------------+
                     1 | Source Port   |   Dest. Port  |
                       +---------------+---------------+
                     2 |       Data  Length = 0        |
                       +---------------+---------------+
                     3 |                               |
                       +---    Sequence Number      ---+
                     4 |                               |
                       +---------------+---------------+
                     5 |                               |
                       +--- Acknowledgement Number  ---+
                     6 |                               |
                       +---------------+---------------+
                     7 |                               |
                       +---        Checksum         ---+
                     8 |                               |
                       +-------------------------------+

0 0 0 1 1 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 +-+-+-+-+-+-+---+---------------+ 0 |0|0|0|1|0|0|0 1| ヘッダ長| +-+-+-+-+-+-+---+---------------+ 1 | ソース港| Dest。 ポート| +---------------+---------------+ 2 | データの長さ=0| +---------------+---------------+ 3 | | +--- 一連番号---+ 4 | | +---------------+---------------+ 5 | | +--- 承認番号---+ 6 | | +---------------+---------------+ 7 | | +--- チェックサム---+ 8 | | +-------------------------------+

                            RST Segment Format
                                 Figure 9

RSTセグメント形式数値9

     Page 42

42ページ


     RDP Specification                        RDP Segments and Formats

RDP仕様RDPセグメントと形式

     4.7  NUL Segment

4.7 NULセグメント

          The NUL segment is used to determine if the other side of  a
     connection  is  still active.  When a NUL segment is received, an
     RDP implementation  must  acknowledge  the  segment  if  a  valid
     connection  exists  and  the segment sequence number falls within
     the acceptance window.  The segment is then discarded.   The  NUL
     may  be  combined  with an ACK in a segment but is never combined
     with user data.

NULセグメントは、接続の反対側がまだアクティブであるかどうか決定するのに使用されます。 NULセグメントが受け取られているとき、有効な接続が存在していて、セグメント一連番号が承認ウィンドウの中に下がるなら、RDP実現はセグメントを承認しなければなりません。 そして、セグメントは捨てられます。 NULはセグメントでACKに結合されるかもしれませんが、利用者データに決して結合されません。

     4.7.1  NUL segment format

4.7.1 NULセグメント形式

                        0             0 0   1         1
                        0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5
                       +-+-+-+-+-+-+---+---------------+
                     0 |0|0|0|0|1|0|0 1| Header Length |
                       +-+-+-+-+-+-+---+---------------+
                     1 | Source Port   |   Dest. Port  |
                       +---------------+---------------+
                     2 |       Data  Length = 0        |
                       +---------------+---------------+
                     3 |                               |
                       +---    Sequence Number      ---+
                     4 |                               |
                       +---------------+---------------+
                     5 |                               |
                       +--- Acknowledgement Number  ---+
                     6 |                               |
                       +---------------+---------------+
                     7 |                               |
                       +---        Checksum         ---+
                     8 |                               |
                       +-------------------------------+

0 0 0 1 1 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 +-+-+-+-+-+-+---+---------------+ 0 |0|0|0|0|1|0|0 1| ヘッダ長| +-+-+-+-+-+-+---+---------------+ 1 | ソース港| Dest。 ポート| +---------------+---------------+ 2 | データの長さ=0| +---------------+---------------+ 3 | | +--- 一連番号---+ 4 | | +---------------+---------------+ 5 | | +--- 承認番号---+ 6 | | +---------------+---------------+ 7 | | +--- チェックサム---+ 8 | | +-------------------------------+

                            NUL Segment Format
                                 Figure 10

NULセグメント形式数値10

                                                               Page 43

43ページ


     RFC-908                                                 July 1984

RFC-908 1984年7月

     Page 44

44ページ


     RDP Specification                           Examples of Operation

操作に関するRDP仕様の例

                                 CHAPTER 5

第5章

                           Examples of Operation

操作に関する例

     5.1  Connection Establishment

5.1 コネクション確立

          This is an example of a connection being established between
     Host  A  and  Host  B.   Host B has done a passive Open and is in
     LISTEN state.  Host A  does  an  active  Open  to  establish  the
     connection.

これは、Host AとHost B.Host Bの間に設立されるのが受け身のオープンをした接続に関する例であり、LISTEN状態にあります。 ホストAは、接続を証明するために活発なオープンをします。

                  Host A                         Host B

ホストBを接待してください。

     Time State                                              State

時間州の状態

     1.    CLOSED                                             LISTEN

1. 閉じられて、聴いてください。

     2.    SYN-SENT    <SEQ=100><SYN> --->

2. SYNによって送られた<SEQ=100><SYN>。--->。

     3.                               <--- <SEQ=200><ACK=100><SYN,ACK>
                                                             SYN-RCVD

3. <-- <SEQ=200><ACK=100><SYN、ACK>SYN-RCVD

     4.    OPEN    <SEQ=101><ACK=200> --->                    OPEN

4. 開いている<SEQ=101><ACK=200>。--->戸外

     5.      <SEQ=101><ACK=200><Data> --->

5. <SEQ=101><ACK=200><データ>。--->。

     6.                               <--- <SEQ=201><ACK=101>

6. <-- <SEQ=201><ACK=101>。

                                                               Page 45

45ページ


     RFC-908                                                 July 1984

RFC-908 1984年7月

     5.2  Simultaneous Connection Establishment

5.2 同時接続設立

          This is an example  of  two  hosts  trying  to  establishing
     connections  to  each other at the same time.  Host A sends a SYN
     request to Host B at the same time Host B sends a SYN request  to
     Host A.

これは同時に互いに関係を樹立するのに試みる2人のホストの例です。 ホストAはHost BがSYN要求をHost Aに送る同時代にSYN要求をHost Bに送ります。

          Host A                         Host B

ホストBを接待してください。

     Time State                                            State

時間州の状態

     1.   CLOSED                                           CLOSED

1. 閉じられた状態で、閉じられます。

     2.   SYN-SENT <SEQ=100><SYN>  --->
                                   <--- <SEQ=200><SYN>     SYN-SENT

2. SYNによって送られた<SEQ=100><SYN>。---><。--- <SEQ=200><SYN>はSYN発信しました。

     3.   SYN-RCVD                                         SYN-RCVD
        <SEQ=100><ACK=200><SYN,ACK> --->
                                   <--- <SEQ=200><ACK=100><SYN,ACK>

3. SYN-RCVD SYN-RCVD<SEQ=100><ACK=200><SYN、ACK>。---><。--- <SEQ=200><ACK=100><SYN、ACK>。

     4.   OPEN                                             OPEN

4. 開いている戸外

     Page 46

46ページ


     RDP Specification                           Examples of Operation

操作に関するRDP仕様の例

     5.3  Lost Segments

5.3 無くなっているセグメント

          This is an example of what happens when a segment  is  lost.
     It  shows  how  segments  can be acknowledged out of sequence and
     that only the missing segment need be retransmitted.   Note  that
     in  this  and  the  following  examples  "EA"  stands for "Out of
     Sequence Acknowledgement."

これはセグメントが無くなるとき、何が起こるかに関する例です。 それは、どう順序が狂ってセグメントを承認できるか、そして、なくなったセグメントだけが再送されなければならないのを示します。 "EA"というこれと以下の例のそれが「順序が狂って承認」を表すことに注意してください。

     Time   Host A                           Host B

時間はホストBを接待します。

     1.     <SEQ=100><ACK=200><Data>  --->

1. <SEQ=100><ACK=200><データ>。--->。

     2.                               <--- <SEQ=201><ACK=100>

2. <-- <SEQ=201><ACK=100>。

     3.     <SEQ=101><ACK=200><Data> (segment lost)

3. <SEQ=101><ACK=200><データ>。(失われたセグメント)

     4.

4.

     5.     <SEQ=102><ACK=200><Data>  --->

5. <SEQ=102><ACK=200><データ>。--->。

     6.                               <--  <SEQ=201><ACK=100><EA=102>

6. <-- <SEQ=201><ACK=100><EA=102>。

     7.     <SEQ=103><ACK=200><Data>  --->

7. <SEQ=103><ACK=200><データ>。--->。

     8.                               <--- <SEQ=201><ACK=100>
                                             <EA=102,103>

8. <-- <SEQ=201><ACK=100><EA=102,103>。

     9.     <SEQ=101><ACK=200><Data>  --->

9. <SEQ=101><ACK=200><データ>。--->。

     10.                              <--- <SEQ=201><ACK=103>

10. <-- <SEQ=201><ACK=103>。

     11.    <SEQ=104><ACK=200><Data>  --->

11. <SEQ=104><ACK=200><データ>。--->。

     12.                              <--- <SEQ=201><ACK=104>

12. <-- <SEQ=201><ACK=104>。

                                                               Page 47

47ページ


     RFC-908                                                 July 1984

RFC-908 1984年7月

     5.4  Segments Received Out of Order

5.4のセグメントが故障していた状態で受信されました。

          This an example of  segments  received  out  of  order.   It
     further  illustrates  the  use  of  acknowledging segments out of
     order to prevent needless retransmissions.

これ、セグメントに関する例は故障していた状態で受信されました。 それはさらに不必要な「再-トランスミッション」を防ぐためには故障していた状態で承認セグメントの使用を例証します。

     Time     Host A                           Host B

時間はホストBを接待します。

     1.   <SEQ=100><ACK=200><Data>  --->

1. <SEQ=100><ACK=200><データ>。--->。

     2.                             <--- <SEQ=201><ACK=100>

2. <-- <SEQ=201><ACK=100>。

     3.   <SEQ=101><ACK=200><Data> (delayed)

3. <SEQ=101><ACK=200><データ>。(延着します)

     4.

4.

     5.   <SEQ=102><ACK=200><Data>  --->

5. <SEQ=102><ACK=200><データ>。--->。

     6.                             <--- <SEQ=201><ACK=100><EA=102>

6. <-- <SEQ=201><ACK=100><EA=102>。

     7.   <SEQ=103><ACK=200><Data>  --->
                                   ---> (delayed segment 101 arrives)

7. <SEQ=103><ACK=200><データ>。--->。--->。(遅れたセグメント101は到着します)

     8.                             <--- <SEQ=201><ACK=103>

8. <-- <SEQ=201><ACK=103>。

     9.   <SEQ=104><ACK=200><Data>  --->

9. <SEQ=104><ACK=200><データ>。--->。

     10.                            <--- <SEQ=201><ACK=104>

10. <-- <SEQ=201><ACK=104>。

     Page 48

48ページ


     RDP Specification                           Examples of Operation

操作に関するRDP仕様の例

     5.5  Communication Over Long Delay Path

5.5 長時間の遅延経路の上のコミュニケーション

          This is an example of a data  transfer  over  a  long  delay
     path.   In  this  example, Host A is permitted to have as many as
     five unacknowledged segments.  The example shows that it  is  not
     necessary  to  wait  for  an  acknowledgement  in  order  to send
     additional data.

これは長時間の遅延経路の上のデータ転送に関する例です。 この例では、Host Aには最大5つの不承認のセグメントがあることが許可されています。 例は、追加データを送るために承認を待つのは必要でないことを示します。

     Time        Host A                     Host B

時間はホストBを接待します。

     1.   <SEQ=100><ACK=200><Data> -1->
     2.   <SEQ=101><ACK=200><Data> -2->
     3.   <SEQ=102><ACK=200><Data> -3->
                                   -1-> (received)
     4.                           <-4-  <SEQ=201><ACK=100>
     5.   <SEQ=103><ACK=200><Data> -5->
                                   -2-> (received)
     6.                           <-6-  <SEQ=201><ACK=101>
     7.   <SEQ=104><ACK=200><Data> -7->
                                   -3-> (received)
     8.                           <-8-  <SEQ=201><ACK=102>
                       (received) <-4-
     9.   <SEQ=105><ACK=200><Data> -9->
                                   -5-> (received)
     10.                          <-10- <SEQ=201><ACK=103>
                       (received) <-6-
     11.  <SEQ=106><ACK=200><Data> -11->
                                   -7-> (received)
     12.                          <-12- <SEQ=201><ACK=104>
                       (received) <-8-
     13.                           -9-> (received)
     14.                          <-13- <SEQ=201><ACK=105>
                       (received) <-10-
     15.                           -11-> (received)
     16.                          <-14- <SEQ=201><ACK=106>
                       (received) <-12-
     17.               (received) <-13-
     18.               (received) <-14-

1. <SEQ=100><ACK=200><データ>-1>2。 <SEQ=101><ACK=200><データ>-2>3。 <SEQ=102><ACK=200><データ>-3>-1>(受信する)4。 <。4 <SEQ=201><ACK=100>5。 <SEQ=103><ACK=200><データ>-5>-2>(受信する)6。 <。6 <SEQ=201><ACK=101>7。 <SEQ=104><ACK=200><データ>-7>-3>(受信する)8。 <。8 <SEQ=201><ACK=102>(受信する)<-4- 9。 <SEQ=105><ACK=200><データ>-9>-5>(受信する)10。 <。10 <SEQ=201><ACK=103>(受信する)<-6- 11。 <SEQ=106><ACK=200><データ>-11>-7>(受信する)12。 <。12 <SEQ=201><ACK=104>(受信する)<-8- 13。 -9>(受信する)14。 <。13 <SEQ=201><ACK=105>(受信する)<-10- 15。 -11>(受信する)16。 <。14 <SEQ=201><ACK=106>(受信する)<-12- 17。 (受け取られている)です。 <。13- 18. (受け取られている)です。 <。14-

                                                               Page 49

49ページ


     RFC-908                                                 July 1984

RFC-908 1984年7月

     5.6  Communication Over Long Delay Path With Lost Segments

5.6 無くなっているセグメントがある長時間の遅延経路の上のコミュニケーション

          This is an example of communication over a long  delay  path
     with a lost segment.  It shows that by acknowledging segments out
     of sequence, only the lost segment need be retransmitted.

これは無くなっているセグメントがある長時間の遅延経路の上のコミュニケーションに関する例です。 それは、順序が狂ってセグメントを承認することによって、無くなっているセグメントだけが再送されなければならないのを示します。

     Time       Host A                     Host B

時間はホストBを接待します。

     1. <SEQ=100><ACK=200><Data>  -1->
     2. <SEQ=101><ACK=200><Data>  -2->
     3. <SEQ=102><ACK=200><Data>  -3->
                                  -1-> (received)
     4.                          <-4-  <SEQ=201><ACK=100>
     5. <SEQ=103><ACK=200><Data> (segment lost)
                                  -2-> (received)
     6.                          <-5-  <SEQ=201><ACK=101>
     7. <SEQ=104><ACK=200><Data>  -6->
                                  -3-> (received)
     8.                          <-7-  <SEQ=201><ACK=102>
                      (received) <-4-
     9. <SEQ=105><ACK=200><Data>  -8->
     10.
                      (received) <-5-
     11. <SEQ=106><ACK=200><Data> -10->
                                  -6-> (received)
     12.                         <-11- <SEQ=201><ACK=102><EA=104>
                      (received) <-7-
                                  -8-> (received)
     13.                         <-12- <SEQ=201><ACK=102><EA=104,105>
                                  -10-> (received)
     14.                         <-13- <SEQ=201><ACK=102><EA=104-106>
                      (received) <-11-
     15. <SEQ=103><ACK=200><Data> -14->
                      (received) <-12-
     16.              (received) <-13-
                                  -14-> (received)
     17.                         <-15- <SEQ=201><ACK=106>
     18.
     19.              (received) <-15-

1. <SEQ=100><ACK=200><データ>-1>2。 <SEQ=101><ACK=200><データ>-2>3。 <SEQ=102><ACK=200><データ>-3>-1>(受信する)4。 <。4 <SEQ=201><ACK=100>5。 <SEQ=103><ACK=200><Data>(セグメントは損をした)2>(受信する)6。 <。5 <SEQ=201><ACK=101>7。 <SEQ=104><ACK=200><データ>-6>-3>(受信する)8。 <。7 <SEQ=201><ACK=102>(受信する)<-4- 9。 <SEQ=105><ACK=200><データ>-8>10。 (受け取られている)です。 <。5- 11. <SEQ=106><ACK=200><データ>-10>-6>(受信する)12。 <。11 <SEQ=201><ACK=102><EA=104>(受信する)<7- -8>(受信する)13。 <。12 <SEQ=201><ACK=102><EA=104,105>-10>(受信する)14。 <。13 <SEQ=201><ACK=102><EA=104-106>(受信する)<-11- 15。 <SEQ=103><ACK=200><>-14データ>(受信する)<-12- 16。 (受け取られている)です。 <。13- -14->(受信する)17。 <。15 <SEQ=201><ACK=106>18。 19. (受け取られている)です。 <。15-

     Page 50

50ページ


     RDP Specification                           Examples of Operation

操作に関するRDP仕様の例

     5.7  Detecting a Half-Open Connection on Crash Recovery

5.7 クラッシュリカバリに半開きな接続を検出すること。

          This  is  an  example  of  a  host  detecting  a   half-open
     connection  due  to the crash and subsequent restart of the host.
     In this example, Host A crashes during a  communication  session,
     then  recovers  and  tries  to reopen the connection.  During the
     reopen attempt, it discovers that a  half-open  connection  still
     exists and it then resets the other side.  Both sides were in the
     OPEN state prior to the crash.

これはホストの速成の、そして、その後の再開による半開きな接続を検出するホストの例です。 この例では、Host Aはコミュニケーションセッションの間、クラッシュして、次に、回復して、接続を再開させようとします。 半開きな接続がまだ存在していると発見します、そして、試みを再開させてください、そして、次に、それは反対側をリセットします。 両側がクラッシュの前にオープン状態にありました。

        Host A                                  Host B

ホストBを接待してください。

     Time

時間

     1.  OPEN                                     OPEN
        (crash!)               <--- <SEQ=200><ACK=100><ACK>

1. 開いている戸外(クラッシュしてください!) <-- <SEQ=200><ACK=100><ACK>。

     2.  CLOSED                                   OPEN
        (recover)

2. 閉じている戸外(回復します)

     3.  SYN-SENT                                 OPEN
                 <SEQ=400><SYN> --->             (?)

3. SYNによって送られた開いている<SEQ=400><SYN>。--->。(?)

     4.  SYN-SENT                                 OPEN
          (!)                  <--- <SEQ=200><ACK=100><ACK>

4. SYNによって送られた開いている(!) <-- <SEQ=200><ACK=100><ACK>。

     5.  SYN-SENT                                 OPEN
                 <SEQ=101><RST> --->             (abort)

5. SYNによって送られた開いている<SEQ=101><RST>。--->。(アボート)

     6.  SYN-SENT                                 CLOSED

6. 閉じられた状態でSYN発信します。

     7.  SYN-SENT <SEQ=400><SYN> --->

7. SYNによって送られた<SEQ=400><SYN>。--->。

                                                               Page 51

51ページ


     RFC-908                                                 July 1984

RFC-908 1984年7月

     5.8  Detecting a Half-Open Connection from the Active Side

5.8 アクティブ側から半開きな接続を検出すること。

          This is another example of detecting a half-open  connection
     due  to the crash and restart of a host involved in a connection.
     In this example, host A again crashes and restarts.   Host  B  is
     still  active and tries to send data to host A.  Since host A has
     no knowledge of the connection, it rejects the data with  an  RST
     segment, causing host B to reset the connection.

これは接続にかかわるホストのクラッシュと再開による半開きな接続を検出する別の例です。 この例では、ホストAは、再びクラッシュして、再開します。 ホストBは、まだアクティブであり、ホストA.にデータを送ろうとします。SinceホストAには、接続に関する知識が全くなくて、RSTセグメントでデータを拒絶します、ホストBが接続をリセットすることを引き起こして。

              Host A                         Host B

ホストBを接待してください。

     Time

時間

     1.  (crash!)                                            OPEN

1. (クラッシュしてください!) 戸外

     2.  CLOSED                <--- <SEQ=200><ACK=100><Data> OPEN

2. 閉じている<。--- <SEQ=200><ACK=100><データ>は開きます。

     3.  CLOSED  <SEQ=101><RST> --->                         (abort)

3. 閉じている<SEQ=101><RST>。--->。(アボート)

     4.  CLOSED                                              CLOSED

4. 閉じられた状態で、閉じられます。

     Page 52

52ページ


     RDP Specification                           Examples of Operation

操作に関するRDP仕様の例

                                APPENDIX A

付録A

                        Implementing a Minimal RDP

最小量のRDPを実行します。

          It  is  not  necessary   to   implement   the   entire   RDP
     specification  to  be  able  to use RDP.  For simple applications
     such as a loader, where  size  of  the  protocol  module  may  be
     important,  a  subset  of  RDP  may  be  used.   For  example, an
     implementation of  RDP  for  loading  may  employ  the  following
     restrictions:

RDPを使用できるように全体のRDP仕様を履行するのは必要ではありません。 荷物を積む人などの簡単な塗布のために、RDPの部分集合は使用されるかもしれません。そこでは、プロトコルモジュールのサイズが重要であるかもしれません。 例えば、ローディングのためのRDPの実現は以下の制限を使うかもしれません:

     o    Only one connection  and  connection  record  is  supported.
          This is the connection used to load the device.

o 1つの接続と接続記録だけが支持されます。 これは装置を積み込むのに使用される接続です。

     o    A single, well-known  port  is  used  as  the  loader  port.
          Allocable ports are not implemented.

o シングルであり、ウェルノウンポートは荷物を積む人ポートとして使用されます。 Allocableポートは実行されません。

     o    Only the passive Open request is implemented.  Active  Opens
          are not supported.

o 受け身のオープン要求だけが実行されます。 アクティブなOpensは支持されません。

     o    The sequenced delivery option is  not  supported.   Messages
          arriving  out  of  order  are  delivered  in  the order they
          arrive.

o 配列された配送オプションはサポートされません。 故障していた状態で到着するメッセージはオーダーを果たされて、到着するということです。

     o    If efficiency is less  important  than  protocol  size,  the
          extended acknowledgement feature need not be supported.

o 効率がプロトコルサイズほど重要でないなら、拡張承認機能は支持される必要はありません。

                                                               Page 53

53ページ


     RFC-908                                                 July 1984

RFC-908 1984年7月

                                   INDEX

インデックス

     ACK.......................................... 16, 33, 34, 38
     ACK segment format....................................... 38
     acknowledgement number field......... 16, 34, 37, 38, 39, 40
     byte-stream protocols................................. 4, 14
     checksum................................................. 16
     checksum field........................................... 34
     Close request............................................ 13
     Closed state.......................................... 9, 10
     CLOSEWAIT................................................ 12
     Close-Wait state................................. 10, 11, 13
     CLOSE-WAIT timeouts...................................... 29
     connection, closing of............................... 13, 42
     connection, establishment of...................... 8, 11, 45
     connection identifier................................. 7, 33
     connection management..................................... 7
     connection record..................................... 9, 11
     connection state diagram................................. 10
     connection states......................................... 8
     control flags field...................................... 33
     cumulative acknowledgement............................... 16
     data communication....................................... 14
     data length field................................ 34, 39, 40
     datagrams................................................. 6
     debugging.............................................. 1, 3
     dumping................................................... 3
     EACK......................................... 16, 33, 35, 40
     EACK segment format...................................... 40
     event processing......................................... 20
     extended acknowledgement................................. 16
     flow control............................................. 17
     half-open connection, detection of............... 14, 51, 52
     initial sequence number....................... 9, 11, 12, 15
     internet protocols........................................ 5
     IP................................................ 6, 15, 31
     IP header............................................ 31, 37
     Listen state................................... 8, 9, 10, 45
     loading................................................ 1, 3
     maximum segment size..................... 11, 12, 13, 15, 37
     maximum unacknowledged segments.............. 11, 12, 17, 37
     message fragmentation.................................... 14
     non-cumulative acknowledgement........................... 16

ACK… 16、33、34、38ACKセグメント形式… 38 承認ナンバーフィールド… 16、34、37、38、39、40のバイト・ストリームプロトコル… 4、14チェックサム… 16チェックサム分野… 34 要求を終えてください… 13 状態を閉じます… 9、10CLOSEWAIT… 12 近い待ち状態… 10 11 13 CLOSE-WAITタイムアウト… 29接続、閉鎖、… 13、42接続、設立、… 8、11、45接続識別子… 7 33 接続管理… 7接続記録… 9、11接続州のダイヤグラム… 10 接続州… 8 コントロールは分野に旗を揚げさせます… 33 累積している承認… 16データ通信… 14データ長さの分野… 34、39、40個のデータグラム… 6 デバッグします。 1、3ダンピング… 3EACK… 16、33、35、40EACKセグメント形式… 40 イベント処理… 20 承認を広げています… 16フロー制御… 17の半開きな接続、検出、… 14、51、52は一連番号に頭文字をつけます… 9、11、12、15のインターネットプロトコル… 5IP… 6、15、31IPヘッダー… 31、37Listen状態… 8、9、10、45ローディング… 1、3の最大のセグメントサイズ… 11、12、13、15、37の最大の不承認のセグメント… 11、12、17、37メッセージ断片化… 14 非累積している承認… 16

     Page 54

54ページ


     RDP Specification                           Examples of Operation

操作に関するRDP仕様の例

     NUL.................................................. 33, 43
     NUL segment format....................................... 43
     Open request.......................................... 8, 17
     Open request, active................................... 8, 9
     Open request, passive.................................. 8, 9
     Open state....................................... 10, 11, 45
     options flag field....................................... 37
     out-of-sequence acknowledgement.................. 12, 16, 18
     ports................................................. 7, 33
     ports, well-known......................................... 8
     positive acknowledgement............................. 15, 16
     RBUF.MAX................................................. 13
     RCV.CUR.................................................. 12
     RCVDSEQNO................................................ 12
     RCV.IRS.................................................. 12
     RCV.MAX.................................................. 12
     RDP connection........................................... 14
     RDP header................................... 14, 16, 32, 37
     RDP header length........................................ 33
     RDP segment format....................................... 31
     reliable communication................................... 15
     retransmission of segments....................... 15, 16, 17
     retransmission timeout............................... 17, 29
     RST.................................................. 33, 42
     RST segment.......................................... 13, 52
     RST segment format....................................... 42
     SBUF.MAX................................................. 12
     SDM...................................................... 37
     SEG.ACK.................................................. 13
     SEG.BMAX................................................. 13
     SEG.MAX.................................................. 13
     segment arrival events............................... 20, 24
     segments................................................. 14
     SEG.SEQ.................................................. 13
     Send request......................................... 14, 15
     sequence number...................................... 12, 15
     sequence number acceptance window........................ 18
     sequence number field........................ 34, 37, 39, 40
     sequenced delivery................................. 3, 4, 37
     sequential acknowledgement................................ 4
     SND.ISS.................................................. 12
     SND.MAX.................................................. 12
     SND.NXT.................................................. 11
     SND.UNA.................................................. 12
     STATE.................................................... 11
     SYN.................................. 12, 13, 15, 33, 35, 36
     SYN segment........................................... 9, 36

NUL… 33、43NULセグメント形式… 43 要求を開いてください… 8、17オープン要求で、アクティブ… 8、9オープン要求、受動態… 8、9オープン状態… 10 11 45のオプションが分野に旗を揚げさせます… 37 系列で出ている承認… 12、16、18のポート… 7、33のポートで、周知… 8 積極的な承認… 15 16 RBUFマックス… 13 RCV野良犬… 12RCVDSEQNO… 12RCV.IRS… 12 RCVマックス… 12 RDP接続… 14RDPヘッダー… 14、16、32、37RDPヘッダ長… 33 RDPセグメント形式… 31 信頼できるコミュニケーション… 15 セグメントの「再-トランスミッション」… 15、16、17再送タイムアウト… 17、29RST… 33、42RSTセグメント… 13、52RSTセグメント形式… 42 SBUFマックス… 12SDM… 37SEG.ACK… 13SEG.BMAX… 13 SEGマックス… 13 セグメント到着出来事… 20、24のセグメント… 14SEG.SEQ… 13 要求を送ってください… 14、15一連番号… 12、15一連番号承認ウィンドウ… 18一連番号分野… 34、37、39、40は配送を配列しました… 3、4、37の連続した承認… 4SND.ISS… 12 SNDマックス… 12SND.NXT… 11 SNDウナ… 12 状態… 11SYN… 12、13、15、33、35、36SYNセグメント… 9, 36

                                                               Page 55

55ページ


     RFC-908                                                 July 1984

RFC-908 1984年7月

     Syn-Rcvd state........................................ 9, 10
     Syn-Sent state........................................ 9, 10
     TCP................................................... 4, 14
     three-way handshake....................................... 4
     user request events.................................. 20, 21
     version number field..................................... 33

Syn-Rcvd状態… 9、10のSynによって送られた状態… 9、10TCP… 4、14 3方向ハンドシェイク… 4 ユーザ要求イベント… 20、21バージョンナンバーフィールド… 33

     Page 56

56ページ


     RDP Specification                           Examples of Operation

操作に関するRDP仕様の例

                                                               Page 57

57ページ

一覧

 RFC 1〜100  RFC 1401〜1500  RFC 2801〜2900  RFC 4201〜4300 
 RFC 101〜200  RFC 1501〜1600  RFC 2901〜3000  RFC 4301〜4400 
 RFC 201〜300  RFC 1601〜1700  RFC 3001〜3100  RFC 4401〜4500 
 RFC 301〜400  RFC 1701〜1800  RFC 3101〜3200  RFC 4501〜4600 
 RFC 401〜500  RFC 1801〜1900  RFC 3201〜3300  RFC 4601〜4700 
 RFC 501〜600  RFC 1901〜2000  RFC 3301〜3400  RFC 4701〜4800 
 RFC 601〜700  RFC 2001〜2100  RFC 3401〜3500  RFC 4801〜4900 
 RFC 701〜800  RFC 2101〜2200  RFC 3501〜3600  RFC 4901〜5000 
 RFC 801〜900  RFC 2201〜2300  RFC 3601〜3700  RFC 5001〜5100 
 RFC 901〜1000  RFC 2301〜2400  RFC 3701〜3800  RFC 5101〜5200 
 RFC 1001〜1100  RFC 2401〜2500  RFC 3801〜3900  RFC 5201〜5300 
 RFC 1101〜1200  RFC 2501〜2600  RFC 3901〜4000  RFC 5301〜5400 
 RFC 1201〜1300  RFC 2601〜2700  RFC 4001〜4100  RFC 5401〜5500 
 RFC 1301〜1400  RFC 2701〜2800  RFC 4101〜4200 

スポンサーリンク

旭川市旭山動物園

ホームページ製作・web系アプリ系の製作案件募集中です。

上に戻る