RFC761 日本語訳

0761 DoD standard Transmission Control Protocol. J. Postel. January 1980. (Format: TXT=167049 bytes) (Status: UNKNOWN)
プログラムでの自動翻訳です。
RFC一覧
英語原文

RFC: 761
IEN: 129

RFC: 761IEN: 129

                              DOD STANDARD

DOD規格

                     TRANSMISSION CONTROL PROTOCOL

通信制御プロトコル

                              January 1980

1980年1月

                              prepared for

用意をします。

               Defense Advanced Research Projects Agency
                Information Processing Techniques Office
                         1400 Wilson Boulevard
                       Arlington, Virginia  22209

ディフェンス先端研究はオフィス1400ウィルソン・Boulevardアーリントン、政府機関情報処理Techniquesヴァージニア 22209を映し出します。

                                   by

by

                     Information Sciences Institute
                   University of Southern California
                           4676 Admiralty Way
                   Marina del Rey, California  90291

January 1980                                                            
                                           Transmission Control Protocol

南カリフォルニア4676海軍本部Wayマリナデルレイの情報Sciences Institute大学、カリフォルニア90291 1980年1月の通信制御プロトコル

                           TABLE OF CONTENTS

目次

    PREFACE ........................................................ iii

PREFACE… iii

1.  INTRODUCTION ..................................................... 1

1. 序論… 1

  1.1  Motivation .................................................... 1
  1.2  Scope ......................................................... 2
  1.3  About This Document ........................................... 2
  1.4  Interfaces .................................................... 3
  1.5  Operation ..................................................... 3

1.1動機… 1 1.2範囲… 2 1.3 このドキュメントに関して… 2 1.4 連結します… 3 1.5操作… 3

2.  PHILOSOPHY ....................................................... 7

2. 哲学… 7

  2.1  Elements of the Internetwork System ........................... 7
  2.2  Model of Operation ............................................ 7
  2.3  The Host Environment .......................................... 8
  2.4  Interfaces .................................................... 9
  2.5  Relation to Other Protocols ................................... 9
  2.6  Reliable Communication ....................................... 10
  2.7  Connection Establishment and Clearing ........................ 10
  2.8  Data Communication ........................................... 12
  2.9  Precedence and Security ...................................... 13
  2.10 Robustness Principle ......................................... 13

2.1 インターネットワークシステムのElements… 7 操作の2.2モデル… 7 2.3 ホスト環境… 8 2.4 連結します… 9 他のプロトコルとの2.5関係… 9 2.6 信頼できるコミュニケーション… 10 2.7 コネクション確立と開拓地… 10 2.8データ通信… 12 2.9の先行とセキュリティ… 13 2.10堅牢性の原則… 13

3.  FUNCTIONAL SPECIFICATION ........................................ 15

3. 機能的な仕様… 15

  3.1  Header Format ................................................ 15
  3.2  Terminology .................................................. 19
  3.3  Sequence Numbers ............................................. 24
  3.4  Establishing a connection .................................... 29
  3.5  Closing a Connection ......................................... 35
  3.6  Precedence and Security ...................................... 38
  3.7  Data Communication ........................................... 38
  3.8  Interfaces ................................................... 42
  3.9  Event Processing ............................................. 52

3.1 ヘッダー形式… 15 3.2用語… 19 3.3の一連番号… 24 3.4 取引関係を築きます… 29 3.5 接続を終えます… 35 3.6の先行とセキュリティ… 38 3.7データ通信… 38 3.8 連結します… 42 3.9 イベント処理… 52

GLOSSARY ............................................................ 75

用語集… 75

REFERENCES .......................................................... 83

参照… 83

                                                                [Page i]


[ページi]

                                                            January 1980
Transmission Control Protocol

1980年1月の通信制御プロトコル

[Page ii]                                                               


[ページii]

January 1980                                                            
                                           Transmission Control Protocol

1980年1月の通信制御プロトコル

                                PREFACE

序文

This document describes the DoD Standard Transmission Control Protocol
(TCP).  There have been eight earlier editions of the ARPA TCP
specification on which this standard is based, and the present text
draws heavily from them.  There have been many contributors to this work
both in terms of concepts and in terms of text.  This edition
incorporates the addition of security, compartmentation, and precedence
concepts into the TCP specification.

このドキュメントはDoD Standard通信制御プロトコル(TCP)について説明します。 この規格が基づいているARPA TCP仕様の8つの以前の版がありました、そして、現在のテキストは大いにそれらを引き出します。 概念とテキストに関してこの仕事への多くの貢献者がありました。 この版はセキュリティ、コンパートメント、および先行概念の追加をTCP仕様に取り入れます。

                                                           Jon Postel

ジョン・ポステル

                                                           Editor

エディタ

                                                              [Page iii]


[ページiii]

January 1980 
RFC:761
IEN:129
Replaces:  IENs 124, 112,
81, 55, 44, 40, 27, 21, 5

1980年1月のRFC: 761 IEN: 129 取り替えます: IENs124、112、81、55、44、40、27、21、5

                              DOD STANDARD

DOD規格

                     TRANSMISSION CONTROL PROTOCOL

通信制御プロトコル

                            1.  INTRODUCTION

1. 序論

The Transmission Control Protocol (TCP) is intended for use as a highly
reliable host-to-host protocol between hosts in packet-switched computer
communication networks, and especially in interconnected systems of such
networks.

通信制御プロトコル(TCP)は使用のためにパケット交換型コンピュータ通信ネットワーク、および特にそのようなネットワークの相互接続システムのホストの間の高信頼性ホスト間プロトコルとして意図します。

This document describes the functions to be performed by the
Transmission Control Protocol, the program that implements it, and its
interface to programs or users that require its services.

このドキュメントは、通信制御プロトコル、それを実装するプログラム、およびそのインタフェースによってサービスを必要とするプログラムかユーザに実行されるために機能について説明します。

1.1.  Motivation

1.1. 動機

  Computer communication systems are playing an increasingly important
  role in military, government, and civilian environments.  This
  document primarily focuses its attention on military computer
  communication requirements, especially robustness in the presence of
  communication unreliability and availability in the presence of
  congestion, but many of these problems are found in the civilian and
  government sector as well.

コンピュータ通信系は軍、政府、および民間人環境におけるますます重要な役割を果たしています。 このドキュメントは混雑があるとき主として軍用コンピュータコミュニケーション要件における注意、コミュニケーション非信頼性があるとき特に丈夫さ、および有用性の焦点を合わせますが、これらの問題の多くがまた、民間人と政府部門で見つけられます。

  As strategic and tactical computer communication networks are
  developed and deployed, it is essential to provide means of
  interconnecting them and to provide standard interprocess
  communication protocols which can support a broad range of
  applications.  In anticipation of the need for such standards, the
  Deputy Undersecretary of Defense for Research and Engineering has
  declared the Transmission Control Protocol (TCP) described herein to
  be a basis for DoD-wide inter-process communication protocol
  standardization.

戦略の、そして、戦術のコンピュータ通信ネットワークが発展して、配布されるとき、それらとインタコネクトする手段を提供して、広範囲なアプリケーションをサポートすることができる標準のプロセス間通信プロトコルを提供するのは不可欠です。 そのような規格の必要性を予測して、ResearchとEngineeringのためのDefenseの次官代理は、ここに説明された通信制御プロトコル(TCP)がDoD全体の相互プロセス通信プロトコル標準化の基礎であると宣言しました。

  TCP is a connection-oriented, end-to-end reliable protocol designed to
  fit into a layered hierarchy of protocols which support multi-network
  applications.  The TCP provides for reliable inter-process
  communication between pairs of processes in host computers attached to
  distinct but interconnected computer communication networks.  Very few
  assumptions are made as to the reliability of the communication
  protocols below the TCP layer.  TCP assumes it can obtain a simple,
  potentially unreliable datagram service from the lower level
  protocols.  In principle, the TCP should be able to operate above a
  wide spectrum of communication systems ranging from hard-wired
  connections to packet-switched or circuit-switched networks.

TCPはマルチネットワークアプリケーションをサポートするプロトコルの層にされた階層構造に収まるように設計された接続指向の、そして、終わりから終わりに信頼できるプロトコルです。 TCPは異なりましたが、インタコネクトされたコンピュータ通信ネットワークに付けられたホストコンピュータの組のプロセスの信頼できる相互プロセスコミュニケーションに備えます。 ほんのわずかな仮定は通信プロトコルの信頼性に関してTCP層の下でされます。 TCPは、下のレベルプロトコルから簡単で、潜在的に頼り無いデータグラムサービスを得ることができると仮定します。 原則として、TCPはハード・ワイヤード接続からパケットで切り換えられるまで及ぶ通信系か回路交換ネットワークの広いスペクトルを超えて作動するはずであることができます。

                                                                [Page 1]

[1ページ]

                                                            January 1980
Transmission Control Protocol
Introduction

1980年1月の通信制御プロトコル序論

  TCP is based on concepts first described by Cerf and Kahn in [1].  The
  TCP fits into a layered protocol architecture just above a basic
  Internet Protocol [2] which provides a way for the TCP to send and
  receive variable-length segments of information enclosed in internet
  datagram "envelopes".  The internet datagram provides a means for
  addressing source and destination TCPs in different networks.  The
  internet protocol also deals with any fragmentation or reassembly of
  the TCP segments required to achieve transport and delivery through
  multiple networks and interconnecting gateways.  The internet protocol
  also carries information on the precedence, security classification
  and compartmentation of the TCP segments, so this information can be
  communicated end-to-end across multiple networks.

TCPは最初に[1]でサーフとカーンによって説明された概念に基づいています。 TCPはすぐTCPがインターネットデータグラム「封筒」に同封された情報の可変長のセグメントを送って、受ける方法を提供する基本的なインターネットプロトコル[2]を超えて層にされたプロトコルアーキテクチャに収まります。 インターネットデータグラムは異なったネットワークでソースと目的地がTCPsであると扱うための手段を提供します。 また、インターネットプロトコルはどんな断片化にも対処するか、またはTCPセグメントの再アセンブリが複数のネットワークとゲートウェイとインタコネクトするのによる輸送と配送を達成するのが必要です。 したがって、この情報は、コミュニケートしている複数のネットワークの向こう側の終わりからまた、インターネットプロトコルがTCPセグメントの先行、セキュリティ分類、およびコンパートメントの情報を運んで、終わりであるかもしれません。

                           Protocol Layering

プロトコルレイヤリング

                        +---------------------+
                        |     higher-level    |
                        +---------------------+
                        |        TCP          |
                        +---------------------+
                        |  internet protocol  |
                        +---------------------+
                        |communication network|
                        +---------------------+

+---------------------+ | よりハイレベル| +---------------------+ | TCP| +---------------------+ | インターネットプロトコル| +---------------------+ |通信ネットワーク| +---------------------+

                                Figure 1

図1

  Much of this document is written in the context of TCP implementations
  which are co-resident with higher level protocols in the host
  computer.  As a practical matter, many computer systems will be
  connected to networks via front-end computers which house the TCP and
  internet protocol layers, as well as network specific software.  The
  TCP specification describes an interface to the higher level protocols
  which appears to be implementable even for the front-end case, as long
  as a suitable host-to-front end protocol is implemented.

より高い平らなプロトコルがホストコンピュータにある状態で、このドキュメントの多くがコレジデントであるTCP実装の文脈に書かれています。 実際問題として、多くのコンピュータ・システムが、TCPとインターネットプロトコルがそれの家を層にするフロントエンドコンピュータを通してネットワークに関連づけられて、特定のソフトウェアをネットワークでつなぐでしょう。 TCP仕様はフロントエンドケースにさえ実装可能であるように見えるインタフェースをより高い平らなプロトコルに説明します、ホストからフロントエンドへの適当なプロトコルが実装される限り。

1.2.  Scope

1.2. 範囲

  The TCP is intended to provide a reliable process-to-process
  communication service in a multinetwork environment.  The TCP is
  intended to be a host-to-host protocol in common use in multiple
  networks.

TCPが信頼できるプロセス間通信サービスを「マルチ-ネットワーク」環境に提供することを意図します。 TCPは複数のネットワークにおける共用のホスト間プロトコルであることを意図します。

1.3.  About this Document

1.3. このDocumentに関して

  This document represents a specification of the behavior required of
  any TCP implementation, both in its interactions with higher level
  protocols and in its interactions with other TCPs.  The rest of this

このドキュメントはどんなTCP実装についても必要である振舞いの仕様を表します、より高い平らなプロトコルと他のTCPsとのその相互作用における相互作用で両方の、。 この残り

[Page 2]

[2ページ]

January 1980                                                            
                                           Transmission Control Protocol
                                                            Introduction

1980年1月の通信制御プロトコル序論

  section offers a very brief view of the protocol interfaces and
  operation.  Section 2 summarizes the philosophical basis for the TCP
  design.  Section 3 offers both a detailed description of the actions
  required of TCP when various events occur (arrival of new segments,
  user calls, errors, etc.) and the details of the formats of TCP
  segments.

セクションはプロトコルインタフェースと操作の非常に簡潔な意見を提供します。 セクション2はTCPデザインの哲学的な基礎をまとめます。 セクション3は様々なイベントが起こるときTCPについて必要である動作(新しいセグメント、ユーザ呼び出し、誤りなどの到着)の詳述とTCPセグメントの形式の詳細の両方を提供します。

1.4.  Interfaces

1.4. インタフェース

  The TCP interfaces on one side to user or application processes and on
  the other side to a lower level protocol such as Internet Protocol.

TCPはユーザへの半面かアプリケーション・プロセスの上と、そして、インターネットプロトコルなどの下のレベルプロトコルへの反対側の上に連結します。

  The interface between an application process and the TCP is
  illustrated in reasonable detail.  This interface consists of a set of
  calls much like the calls an operating system provides to an
  application process for manipulating files.  For example, there are
  calls to open and close connections and to send and receive letters on
  established connections.  It is also expected that the TCP can
  asynchronously communicate with application programs.  Although
  considerable freedom is permitted to TCP implementors to design
  interfaces which are appropriate to a particular operating system
  environment, a minimum functionality is required at the TCP/user
  interface for any valid implementation.

アプリケーション・プロセスとTCPとのインタフェースは詳細に妥当な例証されます。 このインタフェースはオペレーティングシステムがファイルを操作するためのアプリケーション・プロセスに提供する呼び出しのような1セットの呼び出しから成ります。 例えば、確立した接続での手紙を接続を開いて、終えて、送って、受け取るという要求があります。 また、TCPがアプリケーション・プログラムで非同期に交信できると予想されます。かなりの自由が特定のオペレーティングシステム環境に適切なインタフェースを設計するTCP作成者に受入れられますが、最小の機能性がどんな有効な実装にもTCP/ユーザーインタフェースで必要です。

  The interface between TCP and lower level protocol is essentially
  unspecified except that it is assumed there is a mechanism whereby the
  two levels can asynchronously pass information to each other.
  Typically, one expects the lower level protocol to specify this
  interface.  TCP is designed to work in a very general environment of
  interconnected networks.  The lower level protocol which is assumed
  throughout this document is the Internet Protocol [2].

2つのレベルが情報を互いに非同期に渡すことができるメカニズムがあると思われるのを除いて、TCPと下のレベルプロトコルとのインタフェースは本質的には不特定です。 通常、人は、下のレベルプロトコルがこのインタフェースを指定すると予想します。 TCPは、相互接続ネットワークの非常に一般的な環境で働くように設計されています。 このドキュメント中で想定される下のレベルプロトコルはインターネットプロトコル[2]です。

1.5.  Operation

1.5. 操作

  As noted above, the primary purpose of the TCP is to provide reliable,
  securable logical circuit or connection service between pairs of
  processes.  To provide this service on top of a less reliable internet
  communication system requires facilities in the following areas:

上で述べたように、TCPのプライマリ目的は信頼できて、手に入れられる論理回路か接続サービスを組のプロセスの間に提供することです。 それほど高信頼でないインターネット通信系の上でこのサービスを提供するのは以下の領域の施設を必要とします:

    Basic Data Transfer
    Reliability
    Flow Control
    Multiplexing
    Connections
    Precedence and Security

基礎データ転送信頼性のフロー制御マルチプレクシングコネクションズ先行とセキュリティ

  The basic operation of the TCP in each of these areas is described in
  the following paragraphs.

それぞれのこれらの領域でのTCPの基本的な操作は以下のパラグラフで説明されます。

                                                                [Page 3]

[3ページ]

                                                            January 1980
Transmission Control Protocol
Introduction

1980年1月の通信制御プロトコル序論

  Basic Data Transfer:

基礎データは移されます:

    The TCP is able to transfer a continuous stream of octets in each
    direction between its users by packaging some number of octets into
    segments for transmission through the internet system.  In this
    stream mode, the TCPs decide when to block and forward data at their
    own convenience.

TCPは、インターネットシステムを通してトランスミッションのために何らかの数の八重奏をセグメントにパッケージすることによって、ユーザの間の各方向に八重奏の連続したストリームを移すことができます。 このストリームモードで、TCPsはそれら自身の便利にいつデータを妨げて、転送するかを決めます。

    For users who desire a record-oriented service, the TCP also permits
    the user to submit records, called letters, for transmission.  When
    the sending user indicates a record boundary (end-of-letter), this
    causes the TCPs to promptly forward and deliver data up to that
    point to the receiver.

また、記録指向のサービスを望んでいるユーザに関しては、TCPは、ユーザがトランスミッションのために手紙と呼ばれる記録を提出するのを可能にします。 送付ユーザが境界の記録(手紙の端)を示すとき、これは、TCPsが即座にデータを受信機にそのポイントまで転送して、提供することを引き起こします。

  Reliability:

信頼性:

    The TCP must recover from data that is damaged, lost, duplicated, or
    delivered out of order by the internet communication system.  This
    is achieved by assigning a sequence number to each octet
    transmitted, and requiring a positive acknowledgment (ACK) from the
    receiving TCP.  If the ACK is not received within a timeout
    interval, the data is retransmitted.  At the receiver, the sequence
    numbers are used to correctly order segments that may be received
    out of order and to eliminate duplicates.  Damage is handled by
    adding a checksum to each segment transmitted, checking it at the
    receiver, and discarding damaged segments.

TCPはインターネット通信系によって故障していた状態で破損するか、失われているか、コピーされるか、または提供されるデータから回復しなければなりません。 これは、伝えられて、受信TCPから肯定応答(ACK)を必要とする各八重奏に一連番号を割り当てることによって、達成されます。 ACKがタイムアウト間隔以内に受け取られないなら、データは再送されます。 受信機では、一連番号は、正しく故障していた状態で受け取られるかもしれないセグメントを命令して、写しを排除するのに使用されます。 損害は受信機でそれをチェックして、伝えられた各セグメントにチェックサムを加えることによって、扱われました、そして、捨てるのはセグメントを破損しました。

    As long as the TCPs continue to function properly and the internet
    system does not become completely partitioned, no transmission
    errors will affect the users.  TCP recovers from internet
    communication system errors.

TCPsが、適切に機能し続けて、インターネットシステムが完全に仕切られるようにならない限り、どんな伝送エラーもユーザに影響しないでしょう。 TCPはインターネットコミュニケーションシステム・エラーから回復します。

  Flow Control:

フロー制御:

    TCP provides a means for the receiver to govern the amount of data
    sent by the sender.  This is achieved by returning a "window" with
    every ACK indicating a range of acceptable sequence numbers beyond
    the last segment successfully received.  For stream mode, the window
    indicates an allowed number of octets that the sender may transmit
    before receiving further permission.  For record mode, the window
    indicates an allowed amount of buffer space the sender may consume,
    this may be more than the number of data octets transmitted if there
    is a mismatch between letter size and buffer size.

TCPは受信機が送付者によって送られたデータ量を決定する手段を提供します。 これは、あらゆるACKが首尾よく受け取られた最後のセグメントを超えてさまざまな許容できる一連番号を示していて「窓」を返すことによって、達成されます。 ストリームモードのために、窓はさらなる許可を受ける前に送付者が伝えるかもしれない許容数の八重奏を示します。 レコード・モードのために、窓が送付者が消費するかもしれないバッファ領域の許容量を示して、これは手紙サイズとバッファサイズの間には、ミスマッチがあればデータ八重奏の数が伝わったより多いかもしれません。

[Page 4]

[4ページ]

January 1980                                                            
                                           Transmission Control Protocol
                                                            Introduction

1980年1月の通信制御プロトコル序論

  Multiplexing:

マルチプレクシング:

    To allow for many processes within a single Host to use TCP
    communication facilities simultaneously, the TCP provides a set of
    addresses or ports within each host.  Concatenated with the network
    and host addresses from the internet communication layer, this forms
    a socket.  A pair of sockets uniquely identifies each connection.
    That is, a socket may be simultaneously used in multiple
    connections.

独身のHostの中の多くのプロセスが同時にTCP通信機器を使用するのを許容するために、TCPは各ホストの中で1セットのアドレスかポートを提供します。 インターネットコミュニケーション層からのネットワークとホスト・アドレスで連結されていて、これはソケットを形成します。 1組のソケットは唯一各接続を特定します。 すなわち、ソケットは同時に、複数の接続に使用されるかもしれません。

    The binding of ports to processes is handled independently by each
    Host.  However, it proves useful to attach frequently used processes
    (e.g., a "logger" or timesharing service) to fixed sockets which are
    made known to the public.  These services can then be accessed
    through the known addresses.  Establishing and learning the port
    addresses of other processes may involve more dynamic mechanisms.

プロセスへのポートの結合は各Hostによって独自に扱われます。 しかしながら、頻繁に使用されたプロセス(例えば、「きこり」か時分割サービス)を公表される固定ソケットに取り付けるのが役に立つと判明します。 そして、知られているアドレスを通ってこれらのサービスにアクセスできます。 他のプロセスのポートアドレスを確立して、学ぶと、よりダイナミックなメカニズムはかかわるかもしれません。

  Connections:

コネクションズ:

    The reliability and flow control mechanisms described above require
    that TCPs initialize and maintain certain status information for
    each data stream.  The combination of this information, including
    sockets, sequence numbers, and window sizes, is called a connection.
    Each connection is uniquely specified by a pair of sockets
    identifying its two sides.

信頼性と上で説明されたフロー制御メカニズムは、TCPsが各データ・ストリームのためのある状態情報を初期化して、保守するのを必要とします。 ソケット、一連番号、およびウィンドウサイズを含むこの情報の組み合わせは接続と呼ばれます。 各接続は2つの側を特定する1組のソケットによって唯一指定されます。

    When two processes wish to communicate, their TCP's must first
    establish a connection (initialize the status information on each
    side).  When their communication is complete, the connection is
    terminated or closed to free the resources for other uses.

2つのプロセスであるときに、伝える願望、それらのTCPのものは最初に、接続を確立しなければなりません(それぞれの側で状態情報を初期化してください)。 それらのコミュニケーションが完全であるときに、接続は、他の用途のためのリソースを解放するために終えられるか、または閉店します。

    Since connections must be established between unreliable hosts and
    over the unreliable internet communication system, a handshake
    mechanism with clock-based sequence numbers is used to avoid
    erroneous initialization of connections.

頼り無いホストの間と、そして、頼り無いインターネット通信系の上で接続を確立しなければならないので、時計ベースの一連番号がある握手メカニズムは接続の誤った初期化を避けるのに使用されます。

  Precedence and Security:

先行とセキュリティ:

    The users of TCP may indicate the security and precedence of their
    communication.  Provision is made for default values to be used when
    these features are not needed.

TCPのユーザは彼らのコミュニケーションのセキュリティと先行を示すかもしれません。 これらの特徴は必要でないときに、デフォルト値が使用されるのを設備をします。

                                                                [Page 5]

[5ページ]

                                                            January 1980
Transmission Control Protocol

1980年1月の通信制御プロトコル

[Page 6]

[6ページ]

January 1980                                                            
                                           Transmission Control Protocol

1980年1月の通信制御プロトコル

                             2.  PHILOSOPHY

2. 哲学

2.1.  Elements of the Internetwork System

2.1. インターネットワークシステムのElements

  The internetwork environment consists of hosts connected to networks
  which are in turn interconnected via gateways.  It is assumed here
  that the networks may be either local networks (e.g., the ETHERNET) or
  large networks (e.g., the ARPANET), but in any case are based on
  packet switching technology.  The active agents that produce and
  consume messages are processes.  Various levels of protocols in the
  networks, the gateways, and the hosts support an interprocess
  communication system that provides two-way data flow on logical
  connections between process ports.

インターネットワーク環境はゲートウェイを通して順番にインタコネクトされるネットワークに接続されたホストから成ります。 ここで、ネットワークが企業内情報通信網(例えば、イーサネット)か大きいネットワークのどちらかであるかもしれません(例えば、アルパネット)が、どのような場合でも、パケット交換技術に基づいていると思われます。 メッセージを出して、消費する活発なエージェントはプロセスです。 ネットワークにおける、様々なレベルのプロトコル、ゲートウェイ、およびホストはプロセスポートの間の論理的な接続に関する両用データフローを提供するプロセス間通信システムをサポートします。

  We specifically assume that data is transmitted from host to host
  through means of a set of  networks.  When we say network, we have in
  mind a packet switched network (PSN).  This assumption is probably
  unnecessary, since a circuit switched network or a hybrid combination
  of the two could also be used; but for concreteness, we explicitly
  assume that the hosts are connected to one or more packet switches of
  a PSN.

私たちは、データが1セットのネットワークによってホストからホストまで送られると明確に思います。 ネットワークを言うとき、私たちはパケット交換網(PSN)を考えています。 この仮定はたぶん不要です、また、回路交換網か2つのもののハイブリッド組み合わせを使用できたので。 しかし、具体性のために、私たちは、ホストがPSNの1個以上のパケット交換機に接続されると明らかに思います。

  The term packet is used generically here to mean the data of one
  transaction between a host and a packet switch.  The format of data
  blocks exchanged between the packet switches in a network will
  generally not be of concern to us.

用語パケットは、ホストとパケット交換機の間の1つのトランザクションに関するデータを意味するのにここで一般的に使用されます。 一般に、パケット交換機の間でネットワークで交換されたデータ・ブロックの形式は私たちにとって重要にならないでしょう。

  Hosts are computers attached to a network, and from the communication
  network's point of view, are the sources and destinations of packets.
  Processes are viewed as the active elements in host computers (in
  accordance with the fairly common definition of a process as a program
  in execution).  Even terminals and files or other I/O devices are
  viewed as communicating with each other through the use of processes.
  Thus, all communication is viewed as inter-process communication.

ホストはネットワークと、通信ネットワークの観点から取り付けられたコンピュータがパケットのソースと目的地であるということです。 プロセスは能動素子としてホストコンピュータ(実行におけるプログラムとしてのプロセスのかなり一般的な定義に従って)で見なされます。 端末とファイルか他の入出力デバイスさえプロセスの使用で互いにコミュニケートすると見なされます。 したがって、すべてのコミュニケーションが相互プロセスコミュニケーションとして見なされます。

  Since a process may need to distinguish among several communication
  streams between itself and another process (or processes), we imagine
  that each process may have a number of ports through which it
  communicates with the ports of other processes.

プロセスが、それ自体と別のプロセス(または、プロセス)の間のいくつかのコミュニケーションストリームの中で区別する必要があるかもしれないので、私たちは、各プロセスにはそれが他のプロセスのポートで交信するポートの数があるかもしれないと想像します。

2.2.  Model of Operation

2.2. 操作のモデル

  Processes transmit data by calling on the TCP and passing buffers of
  data as arguments.  The TCP packages the data from these buffers into
  segments and calls on the internet module to transmit each segment to
  the destination TCP.  The receiving TCP places the data from a segment
  into the receiving user's buffer and notifies the receiving user.  The
  TCPs include control information in the segments which they use to
  ensure reliable ordered data transmission.

プロセスは、TCPを訪問して、議論としてデータに関するバッファを渡すことによって、データを送ります。 TCPは、これらのバッファからのデータをセグメントにパッケージして、インターネットモジュールが各セグメントを目的地TCPに伝えるよう呼びかけます。 受信TCPはデータをセグメントから受信ユーザのバッファの中に置いて、受信ユーザに通知します。 TCPsはそれらが信頼できる規則正しいデータ伝送を確実にするのに使用するセグメントで制御情報を含んでいます。

                                                                [Page 7]

[7ページ]

                                                            January 1980
Transmission Control Protocol
Philosophy

1980年1月の通信制御プロトコル哲学

  The model of internet communication is that there is an internet
  protocol module associated with each TCP which provides an interface
  to the local network.  This internet module packages TCP segments
  inside internet datagrams and routes these datagrams to a destination
  internet module or intermediate gateway.  To transmit the datagram
  through the local network, it is embedded in a local network packet.

インターネットコミュニケーションのモデルはインタフェースを企業内情報通信網に提供する各TCPに関連しているインターネットプロトコルモジュールがあるということです。 このインターネットモジュールは、インターネットデータグラムの中にTCPセグメントをパッケージして、目的地インターネットモジュールか中間ゲートウェイにこれらのデータグラムを発送します。 企業内情報通信網を通してデータグラムを送るために、それは企業内情報通信網パケットに埋め込まれています。

  The packet switches may perform further packaging, fragmentation, or
  other operations to achieve the delivery of the local packet to the
  destination internet module.

パケット交換機は、目的地インターネットモジュールに地方のパケットの配送を達成するために一層のパッケージ、断片化、または他の操作を実行するかもしれません。

  At a gateway between networks, the internet datagram is "unwrapped"
  from its local packet and examined to determine through which network
  the internet datagram should travel next.  The internet datagram is
  then "wrapped" in a local packet suitable to the next network and
  routed to the next gateway, or to the final destination.

ネットワークの間のゲートウェイでは、インターネットデータグラムは、地方のパケットから「開けられ」て、インターネットデータグラムが次にどのネットワークを通って移動するはずであるかを決定するために調べられます。 インターネットデータグラムは、次に、次のネットワークに適した地方のパケットで「包装され」て、隣のゲートウェイ、または、最終的な目的地に発送されます。

  A gateway is permitted to break up an internet datagram into smaller
  internet datagram fragments if this is necessary for transmission
  through the next network.  To do this, the gateway produces a set of
  internet datagrams; each carrying a fragment.  Fragments may be broken
  into smaller ones at intermediate gateways.  The internet datagram
  fragment format is designed so that the destination internet module
  can reassemble fragments into internet datagrams.

これが次のネットワークを通したトランスミッションに必要であるなら、ゲートウェイが、より小さいインターネットデータグラム・フラグメントにインターネットデータグラムを壊れさせるのが許容されています。 これをするために、ゲートウェイは1セットのインターネットデータグラムを生産します。 それぞれのキャリングa断片。 より小さいものは中間ゲートウェイで断片に細かく分けられるかもしれません。 インターネットデータグラム・フラグメント形式は、目的地インターネットモジュールがインターネットデータグラムに断片を組み立て直すことができるように、設計されています。

  A destination internet module unwraps the segment from the datagram
  (after reassembling the datagram, if necessary) and passes it to the
  destination TCP.

目的地インターネットモジュールは、データグラム(データグラムを組み立て直した後に必要なら)からセグメントを開けて、目的地TCPにそれを通過します。

  This simple model of the operation glosses over many details.  One
  important feature is the type of service.  This provides information
  to the gateway (or internet module) to guide it in selecting the
  service parameters to be used in traversing the next network.
  Included in the type of service information is the precedence of the
  datagram.  Datagrams may also carry security information to permit
  host and gateways that operate in multilevel secure environments to
  properly segregate datagrams for security considerations.

操作のこの単純モデルは多くの詳細を言い繕います。 1つの重要な特徴がサービスのタイプです。 これは、サービスパラメタが次のネットワークを横断する際に使用されるのを選択する際にそれを誘導するためにゲートウェイ(または、インターネットモジュール)に情報を供給します。 サービス情報のタイプで含まれているのは、データグラムの先行です。 また、データグラムは、セキュリティ問題のために適切にデータグラムを隔離するために多レベル安全な環境で手術されるホストとゲートウェイを可能にするためにセキュリティ情報を運ぶかもしれません。

2.3.  The Host Environment

2.3. ホスト環境

  The TCP is assumed to be a module in a time sharing operating system.
  The users access the TCP much like they would access the file system.
  The TCP may call on other operating system functions, for example, to
  manage data structures.  The actual interface to the network is
  assumed to be controlled by a device driver module.  The TCP does not
  call on the network device driver directly, but rather calls on the
  internet datagram protocol module which may in turn call on the device
  driver.

TCPはタイムシェアリングオペレーティングシステムによるモジュールであると思われます。 彼らがファイルシステムにアクセスするようにユーザはTCPにアクセスします。 例えば、TCPは、データ構造を管理するために他のオペレーティングシステム機能を訪問するかもしれません。 デバイスドライバモジュールでネットワークへの実際のインタフェースが制御されると思われます。 TCPは直接ネットワークデバイスドライバを訪問しませんが、むしろ順番にデバイスドライバを訪問するかもしれないインターネットデータグラムプロトコルモジュールを訪問します。

[Page 8]

[8ページ]

January 1980                                                            
                                           Transmission Control Protocol
                                                              Philosophy

1980年1月の通信制御プロトコル哲学

  Though it is assumed here that processes are supported by the host
  operating system, the mechanisms of TCP do not preclude implementation
  of the TCP in a front-end processor.  However, in such an
  implementation, a host-to-front-end protocol must provide the
  functionality to support the type of TCP-user interface described
  above.

ここでプロセスがホスト・オペレーティング・システムによってサポートされると思われますが、TCPのメカニズムはフロントエンドプロセッサでTCPの実装を排除しません。 しかしながら、そのような実装に、ホストからフロントエンドへのプロトコルは、上で説明されたTCP-ユーザーインタフェースのタイプをサポートするために機能性を提供しなければなりません。

2.4.  Interfaces

2.4. インタフェース

  The TCP/user interface provides for calls made by the user on the TCP
  to OPEN or CLOSE a connection, to SEND or RECEIVE data, or to obtain
  STATUS about a connection.  These calls are like other calls from user
  programs on the operating system, for example, the calls to open, read
  from, and close a file.

TCP/ユーザーインタフェースは、TCPの上のユーザによってオープンかCLOSE a接続、SENDかRECEIVEデータにかけられた電話か接続に関してSTATUSを入手するために提供されます。 これらの呼び出しがオペレーティングシステムのユーザ・プログラムからの他の呼び出しに似ていて、例えば、開くという要求は、ファイルを読んで、閉じます。

  The TCP/internet interface provides calls to send and receive
  datagrams addressed to TCP modules in hosts anywhere in the internet
  system.  These calls have parameters for passing the address, type of
  service, precedence, security, and other control information.

TCP/インターネットインタフェースはインターネットシステムでどこでもホストでTCPモジュールに扱われたデータグラムを送って、受け取るという要求を提供します。 これらの呼び出しには、アドレス、サービスのタイプ、先行、セキュリティ、および他の制御情報を通過するためのパラメタがあります。

2.5.  Relation to Other Protocols

2.5. 他のプロトコルとの関係

  The following diagram illustrates the place of the TCP in the protocol
  hierarchy:

以下のダイヤグラムはプロトコル階層でTCPの場所を例証します:

       +------+ +-----+ +-----+       +-----+                    
       |Telnet| | FTP | |Voice|  ...  |     |  Application Level 
       +------+ +-----+ +-----+       +-----+                    
             |   |         |             |                       
            +-----+     +-----+       +-----+                    
            | TCP |     | RTP |  ...  |     |  Host Level        
            +-----+     +-----+       +-----+                    
               |           |             |                       
            +-------------------------------+                    
            |      Internet Protocol        |  Gateway Level     
            +-------------------------------+                    
                           |                                     
              +---------------------------+                      
              |   Local Network Protocol  |    Network Level     
              +---------------------------+                      
                           |

+------+ +-----+ +-----+ +-----+ |telnet| | FTP| |声| ... | | アプリケーションレベル+------+ +-----+ +-----+ +-----+ | | | | +-----+ +-----+ +-----+ | TCP| | RTP| ... | | ホストレベル+-----+ +-----+ +-----+ | | | +-------------------------------+ | インターネットプロトコル| ゲートウェイレベル+-------------------------------+ | +---------------------------+ | 企業内情報通信網プロトコル| ネットワークレベル+---------------------------+ |

                         Protocol Relationships

プロトコル関係

                               Figure 2.

図2。

                                                                [Page 9]

[9ページ]

                                                            January 1980
Transmission Control Protocol
Philosophy

1980年1月の通信制御プロトコル哲学

  It is expected that the TCP will be able to support higher level
  protocols efficiently.  It should be easy to interface higher level
  protocols like the ARPANET Telnet [3] or AUTODIN II THP to the TCP.

TCPが効率的により高い平らなプロトコルをサポートできると予想されます。 アルパネットのTelnet[3]やAUTODIN II THPのような、より高い平らなプロトコルをTCPに連結するのは簡単であるはずです。

2.6.  Reliable Communication

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

  A stream of data sent on a TCP connection is delivered reliably and in
  order at the destination.

データのストリームは、TCP接続が確かと目的地での注文で提供されるのを転送しました。

  Transmission is made reliable via the use of sequence numbers and
  acknowledgments.  Conceptually, each octet of data is assigned a
  sequence number.  The sequence number of the first octet of data in a
  segment is the sequence number transmitted with that segment and is
  called the segment sequence number.  Segments also carry an
  acknowledgment number which is the sequence number of the next
  expected data octet of transmissions in the reverse direction.  When
  the TCP transmits a segment, it puts a copy on a retransmission queue
  and starts a timer; when the acknowledgment for that data is received,
  the segment is deleted from the queue.  If the acknowledgment is not
  received before the timer runs out, the segment is retransmitted.

トランスミッションを一連番号と承認の使用で信頼できるようにします。 概念的に、一連番号はデータの各八重奏に割り当てられます。 セグメントにおける、データの最初の八重奏の一連番号は、そのセグメントで伝えられた一連番号であり、セグメント一連番号と呼ばれます。 また、セグメントは反対の方向へのトランスミッションの次の予想されたデータ八重奏の一連番号である確認応答番号を運びます。 TCPがセグメントを伝えるとき、コピーを再送キューに置いて、タイマを始動します。 そのデータのための承認が受け取られているとき、セグメントは待ち行列から削除されます。 タイマがなくなる前に承認が受け取られていないなら、セグメントは再送されます。

  An acknowledgment by TCP does not guarantee that the data has been
  delivered to the end user, but only that the receiving TCP has taken
  the responsibility to do so.

TCPによる承認は、データがエンドユーザに提供されましたが、受信TCPがそうする責任を取るだけであったのを保証しません。

  To govern the flow of data into a TCP, a flow control mechanism is
  employed.  The the data receiving TCP reports a window to the sending
  TCP.  This window specifies the number of octets, starting with the
  acknowledgment number that the data receiving TCP is currently
  prepared to receive.

データの流れをTCPに治めるために、フロー制御メカニズムは採用しています。 TCPを受けるデータは発信しているTCPに窓を報告します。 この窓は八重奏の数を指定します、データ受信TCPが現在受けるように準備される確認応答番号から始まって。

2.7.  Connection Establishment and Clearing

2.7. コネクション確立と開拓地

  To identify the separate data streams that a TCP may handle, the TCP
  provides a port identifier.  Since port identifiers are selected
  independently by each operating system, TCP, or user, they might not
  be unique.  To provide for unique addresses at each TCP, we
  concatenate an internet address identifying the TCP with a port
  identifier to create a socket which will be unique throughout all
  networks connected together.

TCPが扱うかもしれない別々のデータ・ストリームを特定するために、TCPはポート識別子を提供します。 ポート識別子が各オペレーティングシステム、TCP、またはユーザによって独自に選択されるので、彼らはユニークでないかもしれません。 各TCPにユニークなアドレスに備えるために、私たちは一緒に接続されたすべてのネットワーク中でユニークになるソケットを作成するためにポート識別子とTCPを同一視するインターネットアドレスを連結します。

  A connection is fully specified by the pair of sockets at the ends.  A
  local socket may participate in many connections to different foreign
  sockets.  A connection can be used to carry data in both directions,
  that is, it is "full duplex".

接続は終わりにソケットの組によって完全に指定されます。 地方のソケットは異なった外国ソケットに多くの接続に参加するかもしれません。 両方の方向によるデータを運ぶのに接続を使用できます、すなわち、それは「全二重」です。

  TCPs are free to associate ports with processes however they choose.
  However, several basic concepts seem necessary in any implementation.

彼らがどのように選んでも、TCPsは自由にポートをプロセスに関連づけることができます。 しかしながら、いくつかの基本概念がどんな実装でも必要に見えます。

[Page 10]

[10ページ]

January 1980                                                            
                                           Transmission Control Protocol
                                                              Philosophy

1980年1月の通信制御プロトコル哲学

  There must be well-known sockets which the TCP associates only with
  the "appropriate" processes by some means.  We envision that processes
  may "own" ports, and that processes can only initiate connections on
  the ports they own.  (Means for implementing ownership is a local
  issue, but we envision a Request Port user command, or a method of
  uniquely allocating a group of ports to a given process, e.g., by
  associating the high order bits of a port name with a given process.)

TCPがどうでも「適切な」プロセスだけに関連づけるよく知られるソケットがあるに違いありません。 私たちはそれを思い描きます。プロセスはポートを「所有するかもしれません」、そして、プロセスはそれらが所有しているポートの上で接続を開始できるだけです。 (所有権を実装するための手段はローカルの問題ですが、私たちはRequest Portユーザコマンド、または唯一与えられたプロセス、例えば、交際するのによるポートのグループに与えられたプロセスのポート名の高位のビットを割り当てるメソッドを思い描きます。)

  A connection is specified in the OPEN call by the local port and
  foreign socket arguments.  In return, the TCP supplies a (short) local
  connection name by which the user refers to the connection in
  subsequent calls.  There are several things that must be remembered
  about a connection.  To store this information we imagine that there
  is a data structure called a Transmission Control Block (TCB).  One
  implementation strategy would have the local connection name be a
  pointer to the TCB for this connection.  The OPEN call also specifies
  whether the connection establishment is to be actively pursued, or to
  be passively waited for.

接続はオープン呼び出しで地方のポートと外国ソケット議論で指定されます。 代わりに、TCPはユーザがその後の呼び出しにおける接続について言及する(短い)の市内接続名前を提供します。 接続に関して覚えていなければならないいくつかのことがあります。 この情報を保存するために、私たちは、Transmission Control Block(TCB)と呼ばれるデータ構造があると想像します。 1つの実装戦略が、市内接続名が指針であることをこの接続のためのTCBに持っているでしょう。 また、オープン呼び出しは、コネクション確立が活発に追求されることになっているか、または受け身に待たれることになっているかを指定します。

  A passive OPEN request means that the process wants to accept incoming
  connection requests rather than attempting to initiate a connection.
  Often the process requesting a passive OPEN will accept a connection
  request from any caller.  In this case a foreign socket of all zeros
  is used to denote an unspecified socket.  Unspecified foreign sockets
  are allowed only on passive OPENs.

プロセスが入って来る接続を受け入れたがっている受け身のオープン要求手段は開始するのを試みるよりむしろ接続を要求します。 しばしば、受け身のオープンを要求するプロセスはどんな訪問者からも接続要求を受け入れるでしょう。 この場合、すべてのゼロの外国ソケットは、不特定のソケットを指示するのに使用されます。 不特定の外国ソケットは受け身のOPENsだけに許容されています。

  A service process that wished to provide services for unknown other
  processes could issue a passive OPEN request with an unspecified
  foreign socket.  Then a connection could be made with any process that
  requested a connection to this local socket.  It would help if this
  local socket were known to be associated with this service.

それが他の未知のプロセスのためのサービスを提供したがっていたサービス過程は不特定の外国ソケットによる受け身のオープン要求を出すかもしれません。 そして、この地方のソケットに接続を要求したどんなプロセスでも接続を作ることができました。 この地方のソケットがこのサービスに関連させているのが知られているなら、それは助かるでしょうに。

  Well-known sockets are a convenient mechanism for a priori associating
  a socket address with a standard service.  For instance, the
  "Telnet-Server" process might be permanently assigned to a particular
  socket, and other sockets might be reserved for File Transfer, Remote
  Job Entry, Text Generator, Echoer, and Sink processes (the last three
  being for test purposes).  A socket address might be reserved for
  access to a "Look-Up" service which would return the specific socket
  at which a newly created service would be provided.  The concept of a
  well-known socket is part of the TCP specification, but the assignment
  of sockets to services is outside this specification.

よく知られるソケットはソケットが標準のサービスで扱う先験的な仲間のための便利なメカニズムです。 例えば、「telnetサーバ」プロセスは永久に特定のソケットに割り当てられるかもしれません、そして、他のソケットはFile Transfer、Remote Job Entry、Text Generator、Echoer、およびSinkプロセス(テスト目的のためのものである最後の3)のために予約されるかもしれません。 ソケットアドレスは新たに作成されたサービスが提供される特定のソケットを返す「ルックアップ」サービスへのアクセスのために予約されるかもしれません。 よく知られるソケットの概念はTCP仕様の一部ですが、この仕様の外でサービスへのソケットの課題があります。

  Processes can issue passive OPENs and wait for matching calls from
  other processes and be informed by the TCP when connections have been
  established.  Two processes which issue calls to each other at the
  same time are correctly connected.  This flexibility is critical for

プロセスを、他のプロセスから受け身のOPENsを発行して、合っている電話を待っていて、TCPは、接続がいつ確立されたかを知らすことができます。 同時に互いに呼び出しを発行する2つのプロセスが正しく接続されます。 この柔軟性はきわどいです。

                                                               [Page 11]

[11ページ]

                                                            January 1980
Transmission Control Protocol
Philosophy

1980年1月の通信制御プロトコル哲学

  the support of distributed computing in which components act
  asynchronously with respect to each other.

コンポーネントが互いに関して非同期に行動する分散コンピューティングのサポート。

  There are two cases for matching the sockets in the local request and
  an incoming segment.  In the first case, the local request has fully
  specified the foreign socket.  In this case, the match must be exact.
  In the second case, the local request has left the foreign socket
  unspecified.  In this case, any foreign socket is acceptable as long
  as the local sockets match.

ローカルの要求と入って来るセグメントでソケットを合わせるための2つのケースがあります。 前者の場合、ローカルの要求は外国ソケットを完全に指定しました。 この場合、マッチは正確であるに違いありません。 2番目の場合では、ローカルの要求は外国ソケットを不特定のままにしました。 この場合、合っている限り、どんな外国ソケットも許容できます。

  If there are several pending passive OPENs (recorded in TCBs) with the
  same local socket, an incoming segment should be matched to a request
  with the specific foreign socket in the segment, if such a request
  exists, before selecting a request with an unspecified foreign socket.

数個の未定の受け身のOPENsが同じ地方のソケットであれば(TCBsに記録されます)、入って来るセグメントは特定の外国ソケットでセグメントで要求に合わせられるべきです、そのような要求が存在しているなら、不特定の外国ソケットによる要求を選択する前に。

  The procedures to establish and clear connections utilize synchronize
  (SYN) and finis (FIN) control flags and involve an exchange of three
  messages.  This exchange has been termed a three-way hand shake [4].

確立する手順と明確な接続が利用する、(SYN)と終り(FIN)の指揮旗を同期させてください、そして、3つのメッセージの交換にかかわってください。 この交換は3者間の手の震動[4]と呼ばれました。

  A connection is initiated by the rendezvous of an arriving segment
  containing a SYN and a waiting TCB entry created by a user OPEN
  command.  The matching of local and foreign sockets determines when a
  connection has been initiated.  The connection becomes "established"
  when sequence numbers have been synchronized in both directions.

接続はSYNを含む到着セグメントとユーザオープン命令で作成された待ちTCBエントリーのランデブーで開始されます。 地方の、そして、外国のソケットのマッチングは、接続がいつ開始されたかを決定します。 一連番号が両方の方向と同期したとき、接続は「確立する」ようになります。

  The clearing of a connection also involves the exchange of segments,
  in this case carrying the FIN control flag.

また、この場合FIN指揮旗を運んで、接続の開拓地はセグメントの交換にかかわります。

2.8.  Data Communication

2.8. データ通信

  The data that flows on a connection may be thought of as a stream of
  octets, or as a sequence of records.  In TCP the records are called
  letters and are of variable length.  The sending user indicates in
  each SEND call whether the data in that call completes a letter by the
  setting of the end-of-letter parameter.

接続に流れるデータは八重奏のストリームとして、または、記録の系列として考えられるかもしれません。 TCPでは、記録は、手紙と呼ばれて、可変長のものです。 送付ユーザは、それぞれのSEND呼び出しでそれのデータが呼ぶかどうかが手紙の端のパラメタの設定のそばで手紙を完成するのを示します。

  The length of a letter may be such that it must be broken into
  segments before it can be transmitted to its destination.  We assume
  that the segments will normally be reassembled into a letter before
  being passed to the receiving process.  A segment may contain all or a
  part of a letter, but a segment never contains parts of more than one
  letter.  The end of a letter is marked by the appearance of an EOL
  control flag in a segment.  A sending TCP is allowed to collect data
  from the sending user and to send that data in segments at its own
  convenience, until the end of letter is signaled then it must send all
  unsent data.  When a receiving TCP has a complete letter, it must not
  wait for more data from the sending TCP before passing the letter to
  the receiving process.

手紙の長さがそのようなものであるかもしれないので、それを目的地に送ることができる前に、セグメントをそれに細かく分けなければなりません。 私たちは、受信プロセスに通過される前に通常、セグメントが手紙に組み立て直されると思います。 セグメントは手紙のすべてか一部を含むかもしれませんが、セグメントは1つ以上の文字の部分を決して含んでいません。 手紙の端はセグメントにおける、EOL指揮旗の外観によって示されます。 送付TCPは送付ユーザからデータを集めて、手紙の端が合図されるまで、それ自身の便利でそのデータをセグメントで送ることができて、次に、それはすべてのunsentデータを送らなければなりません。 受信TCPに完全な手紙があるとき、受信プロセスへの手紙を渡す前に、それは発信しているTCPからの、より多くのデータを待ってはいけません。

[Page 12]

[12ページ]

January 1980                                                            
                                           Transmission Control Protocol
                                                              Philosophy

1980年1月の通信制御プロトコル哲学

  There is a coupling between letters as sent and the use of buffers of
  data that cross the TCP/user interface.  Each time an end-of-letter
  (EOL) flag is associated with data placed into the receiving user's
  buffer, the buffer is returned to the user for processing even if the
  buffer is not filled.  If a letter is longer than the user's buffer,
  the letter is passed to the user in buffer size units, the last of
  which may be only partly full.  The receiving TCP's buffer size may be
  communicated to the sending TCP when the connection is being
  established.

TCP/ユーザーインタフェースに交差する送られるとしての手紙とデータに関するバッファの使用の間には、カップリングがあります。 手紙の端(EOL)の旗が受信ユーザのバッファの中に置かれるデータに関連している各回、バッファがいっぱいにしないでも、処理のためにバッファをユーザに返します。 手紙がユーザのバッファより長いなら、手紙はバッファサイズ単位のユーザに渡されます。その最終は一部だけ完全であるかもしれません。 接続が確立されているとき、受信TCPのバッファサイズは発信しているTCPに伝えられるかもしれません。

  The TCP is responsible for regulating the flow of segments on the
  connections, as a way of preventing itself from becoming saturated or
  overloaded with traffic.  This is done using a window flow control
  mechanism.  The data receiving TCP reports to the data sending TCP a
  window which is the range of sequence numbers of data octets that data
  receiving TCP is currently prepared to accept.

TCPは接続でのセグメントの流れを規制するのに責任があります、トラフィックで飽和状態にされているか、または積みすぎられたなるのからのそれ自体を防ぐ方法として。 これはウィンドウフロー制御メカニズムを使用し終わっています。 TCPを受けるデータは、TCPを受けるデータが現在受け入れるように準備されるとデータ八重奏の一連番号の範囲である窓をTCPに送るデータに報告します。

  TCP also provides a means to communicate to the receiver of data that
  at some point further along in the data stream than the receiver is
  currently reading there is urgent data.  TCP does not attempt to
  define what the user specifically does upon being notified of pending
  urgent data, but the general notion is that the receiving process
  should take action to read through the end urgent data quickly.

また、TCPは受信機よりデータでポイント遠い何らかのストリームで現在のそこでの読書が緊急のデータであるということであるデータの受信機に交信する手段を提供します。 TCPは、ユーザが未定の緊急のデータについて通知されるとき明確にすることを定義するのを試みませんが、一般的な概念は受信プロセスが終わりまですばやく緊急のデータを読むために行動を取るはずであるということです。

2.9.  Precedence and Security

2.9. 先行とセキュリティ

  The TCP makes use of the internet protocol type of service field and
  security option to provide precedence and security on a per connection
  basis to TCP users.  Not all TCP modules will necessarily function in
  a multilevel secure environment, some may be limited to unclassified
  use only, and others may operate at only one security level and
  compartment.  Consequently, some TCP implementations and services to
  users may be limited to a subset of the multilevel secure case.

TCPはサービスのタイプがさばいて、セキュリティが接続基礎あたりのaで先行とセキュリティをTCPユーザに提供するためにゆだねるインターネットプロトコルを利用します。 すべてのTCPモジュールが必ず多レベル安全な環境で機能するというわけではないでしょう、そして、或るものは非分類された使用だけに制限されるかもしれません、そして、他のものは1つのセキュリティー・レベルとコンパートメントだけで働くかもしれません。 その結果、ユーザに対するいくつかのTCP実装とサービスが多レベルの安全なケースの部分集合に制限されるかもしれません。

  TCP modules which operate in a multilevel secure environment should
  properly mark outgoing segments with the security, compartment, and
  precedence.  Such TCP modules should also provide to their users or
  higher level protocols such as Telnet or THP an interface to allow
  them to specify the desired security level, compartment, and
  precedence of connections.

多レベル安全な環境で作動するTCPモジュールは適切にセキュリティ、コンパートメント、および先行を外向的なセグメントに付けるべきです。 また、そのようなTCPモジュールが彼らのユーザに提供されるべきですか、またはTelnetかTHPなどの、より高い平らなプロトコルは接続の必要なセキュリティー・レベル、コンパートメント、および先行を指定するのを許容するインタフェースを提供します。

2.10.  Robustness Principle

2.10. 堅牢性の原則

  TCP implementations should follow a general principle of robustness:
  be conservative in what you do, be liberal in what you accept from
  others.

TCP実装は丈夫さの一般的な原則に従うべきです: あなたがすることで保守的であってください、そして、あなたが他のものから受け入れるもので寛容であってください。

                                                               [Page 13]

[13ページ]

                                                            January 1980
Transmission Control Protocol

1980年1月の通信制御プロトコル

[Page 14]

[14ページ]

January 1980                                                            
                                           Transmission Control Protocol

1980年1月の通信制御プロトコル

                      3.  FUNCTIONAL SPECIFICATION

3. 機能的な仕様

3.1.  Header Format

3.1. ヘッダー形式

  TCP segments are sent as internet datagrams.  The Internet Protocol
  header carries several information fields, including the source and
  destination host addresses [2].  A TCP header follows the internet
  header, supplying information specific to the TCP protocol.  This
  division allows for the existence of host level protocols other than
  TCP.

インターネットデータグラムとしてTCPセグメントを送ります。インターネットプロトコルヘッダーはいくつかの情報フィールドを運びます、ソースと目的地ホスト・アドレス[2]を含んでいて。 TCPプロトコルに特定の情報を提供して、TCPヘッダーはインターネットヘッダーについて来ます。 この分割はホストの存在のためにTCP以外の平らなプロトコルを許容します。

  TCP Header Format

TCPヘッダー形式

    0                   1                   2                   3   
    0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |          Source Port          |       Destination Port        |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                        Sequence Number                        |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                    Acknowledgment Number                      |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |  Data |           |U|A|E|R|S|F|                               |
   | Offset| Reserved  |R|C|O|S|Y|I|            Window             |
   |       |           |G|K|L|T|N|N|                               |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |           Checksum            |         Urgent Pointer        |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                    Options                    |    Padding    |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                             data                              |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | ソースポート| 仕向港| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | 一連番号| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | 確認応答番号| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | データ| |U|A|E|R|S|F| | | 相殺されます。| 予約されます。|R|C|O|S|Y|I| 窓| | | |G|K|L|T|N|N| | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | チェックサム| 緊急の指針| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | オプション| 詰め物| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | データ| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

                            TCP Header Format

TCPヘッダー形式

          Note that one tick mark represents one bit position.

1つのダニ麻痺が1つのビット位置を表すことに注意してください。

                               Figure 3.

図3。

  Source Port:  16 bits

ソースポート: 16ビット

    The source port number.

ソースポート番号。

  Destination Port:  16 bits

仕向港: 16ビット

    The destination port number.

目的地ポートナンバー。

                                                               [Page 15]

[15ページ]

                                                            January 1980
Transmission Control Protocol
Functional Specification

1980年1月の通信制御プロトコルの機能的な仕様

  Sequence Number:  32 bits

一連番号: 32ビット

    The sequence number of the first data octet in this segment (except
    when SYN is present).

このセグメント(SYNが存在している時を除いた)の最初のデータ八重奏の一連番号。

  Acknowledgment Number:  32 bits

確認応答番号: 32ビット

    If the ACK control bit is set this field contains the value of the
    next sequence number the sender of the segment is expecting to
    receive.  Once a connection is established this is always sent.

ACKコントロールビットが設定されるなら、この分野はセグメントの送付者が受けると予想している次の一連番号の値を含んでいます。 いったん接続を確立すると、いつもこれを送ります。

  Data Offset:  4 bits

データは相殺されます: 4ビット

    The number of 32 bit words in the TCP Header.  This indicates where
    the data begins.  The TCP header including options is an integral
    number of 32 bits long.

TCP Headerの32ビットの単語の数。 これは、データがどこで始まるかを示します。 長い間、オプションを含むTCPヘッダーは32ビットの整数です。

  Reserved:  6 bits

予約される: 6ビット

    Reserved for future use.  Must be zero.

今後の使用のために、予約されます。 ゼロにならなければならなくなってください。

  Control Bits:  8 bits (from left to right):

ビットを制御してください: 8ビット(左から右までの):

    URG:  Urgent Pointer field significant
    ACK:  Acknowledgment field significant
    EOL:  End of Letter
    RST:  Reset the connection
    SYN:  Synchronize sequence numbers
    FIN:  No more data from sender

URG: 緊急のPointerは重要なACKをさばきます: 承認分野の重要なEOL: 手紙RSTの端: 接続SYNをリセットしてください: 一連番号FINを連動させてください: 送付者からのそれ以上のデータがありません。

  Window:  16 bits

窓: 16ビット

    The number of data octets beginning with the one indicated in the
    acknowledgment field which the sender of this segment is willing to
    accept.

もので始まるデータ八重奏の数は、承認分野でどれを受け入れるかを構わないこのセグメントの送付者が、思っている示しました。

  Checksum:  16 bits

チェックサム: 16ビット

    The checksum field is the 16 bit one's complement of the one's
    complement sum of all 16 bit words in the header and text.  If a
    segment contains an odd number of header and text octets to be
    checksummed, the last octet is padded on the right with zeros to
    form a 16 bit word for checksum purposes.  The pad is not
    transmitted as part of the segment.  While computing the checksum,
    the checksum field itself is replaced with zeros.

チェックサム分野はヘッダーとテキストでのすべての16ビットの単語の1の補数合計の16ビットの1の補数です。 セグメントがchecksummedされるべきヘッダーとテキスト八重奏の奇数を含んでいるなら、最後の八重奏は右でゼロで水増しされて、チェックサム目的に対する16ビットの単語を形成します。 パッドはセグメントの一部として送られません。 チェックサムを計算している間、チェックサム野原自体をゼロに取り替えます。

    The checksum also covers a 96 bit pseudo header conceptually
    prefixed to the TCP header.  This pseudo header contains the Source

また、チェックサムは概念的にTCPヘッダーへ前に置かれた96ビットの疑似ヘッダーをカバーしています。 この疑似ヘッダーはSourceを含んでいます。

[Page 16]

[16ページ]

January 1980                                                            
                                           Transmission Control Protocol
                                                Functional Specification

1980年1月の通信制御プロトコルの機能的な仕様

    Address, the Destination Address, the Protocol, and TCP length.
    This gives the TCP protection against misrouted segments.  This
    information is carried in the Internet Protocol and is transferred
    across the TCP/Network interface in the arguments or results of
    calls by the TCP on the IP.

アドレス、Destination Address、プロトコル、およびTCPの長さ。 これはmisroutedセグメントに対するTCP保護を与えます。 この情報は、インターネットプロトコルで運ばれて、議論におけるTCP/ネットワーク・インターフェースか呼び出しの結果の向こう側にIPのTCPによって移されます。

                     +--------------------------+
                     |      Source Address      |
                     +--------------------------+
                     |    Destination Address   |
                     +--------------------------+
                     | zero | PTCL | TCP Length |
                     +--------------------------+

+--------------------------+ | ソースアドレス| +--------------------------+ | 送付先アドレス| +--------------------------+ | ゼロ| PTCL| TCPの長さ| +--------------------------+

      The TCP Length is the TCP header plus the data length in octets
      (this is not an explicitly transmitted quantity, but is computed
      from the total length, and the header length).

TCP LengthはTCPヘッダーと八重奏でデータの長さ(これは、明らかに伝えられた量ではありませんが、全長、およびヘッダ長から計算される)です。

  Urgent Pointer:  16 bits

緊急の指針: 16ビット

    This field communicates the current value of the urgent pointer as a
    positive offset from the sequence number in this segment.  The
    urgent pointer points to the sequence number of the octet following
    the urgent data.  This field should only be interpreted in segments
    with the URG control bit set.

この分野は積極的なオフセットとして一連番号からこのセグメントで緊急の指針の現行価値を伝えます。 緊急のデータに従って、緊急の指針は八重奏の一連番号を示します。 URGコントロールビットがセットした状態で、この分野はセグメントで解釈されるだけであるべきです。

  Options:  variable

オプション: 変数

    Options may occupy space at the end of the TCP header and are a
    multiple of 8 bits in length.  All options are included in the
    checksum.  An option may begin on any octet boundary.  There are two
    cases for the format of an option:

オプションは、TCPヘッダーの端で場所を塞ぐかもしれなくて、長さが8ビットの倍数です。 すべてのオプションがチェックサムに含まれています。 オプションはどんな八重奏境界でも始まるかもしれません。 オプションの形式のための2つのケースがあります:

      Case 1:  A single octet of option-kind.

ケース1: オプション種類のただ一つの八重奏。

      Case 2:  An octet of option-kind, an octet of option-length, and
               the actual option-data octets.

ケース2: オプション種類の八重奏、オプション長さの八重奏、および実際のオプションデータ八重奏。

    The option-length counts the two octets of option-kind and
    option-length as well as the option-data octets.

オプション長さはオプションデータ八重奏と同様にオプション種類とオプション長さの2つの八重奏を数えます。

    Note that the list of options may be shorter than the data offset
    field might imply.  The content of the header beyond the
    End-of-Option option should be header padding (i.e., zero).

オプションのリストがデータオフセット分野が含意するかもしれないより短いかもしれないことに注意してください。 オプションのEndオプションを超えたヘッダーの内容はヘッダー詰め物であるべきです(すなわち、ゼロ)。

    A TCP must implement all options.

TCPはすべてのオプションを実装しなければなりません。

                                                               [Page 17]

[17ページ]

                                                            January 1980
Transmission Control Protocol
Functional Specification

1980年1月の通信制御プロトコルの機能的な仕様

    Currently defined options include (kind indicated in octal):

現在定義されたオプションは(8進で示された種類)を含んでいます:

      Kind     Length    Meaning
      ----     ------    -------
       0         -       End of option list.
       1         -       No-Operation.
      100        -       Reserved.
      105        4       Buffer Size.

親切な長さの意味---- ------ ------- 0--オプションリストの終わり。 1--操作がありません。 100--予約されています。 105 4はサイズをバッファリングします。

    Specific Option Definitions

特定のオプション定義

      End of Option List

オプションリストの終わり

        +--------+
        |00000000|
        +--------+
         Kind=0

+--------+ |00000000| +--------+ 種類=0

        This option code indicates the end of the option list.  This
        might not coincide with the end of the TCP header according to
        the Data Offset field.  This is used at the end of all options,
        not the end of each option, and need only be used if the end of
        the options would not otherwise coincide with the end of the TCP
        header.

このオプションコードはオプションリストの終わりを示します。 Data Offset分野に従って、これはTCPヘッダーの端と同時に起こらないかもしれません。 これは、それぞれのオプションの終わりではなく、すべてのオプションの終わりに使用されて、そうでなければ、オプションの終わりがTCPヘッダーの端と同時に起こらないなら、使用されるだけでよいです。

      No-Operation

操作がありません。

        +--------+
        |00000001|
        +--------+
         Kind=1

+--------+ |00000001| +--------+ 種類=1

        This option code may be used between options, for example, to
        align the beginning of a subsequent option on a word boundary.
        There is no guarantee that senders will use this option, so
        receivers must be prepared to process options even if they do
        not begin on a word boundary.

例えば、このオプションコードは、その後のオプションの始まりを語境界に並べるのにオプションの間で使用されるかもしれません。 送付者がこのオプションを使用するという保証が全くないので、語境界で始まらないでも、オプションを処理するように受信機を準備しなければなりません。

      Buffer Size

バッファサイズ

        +--------+--------+---------+--------+
        |01000101|00000100|    buffer size   |
        +--------+--------+---------+--------+
         Kind=105 Length=4

+--------+--------+---------+--------+ |01000101|00000100| バッファサイズ| +--------+--------+---------+--------+ 親切な=105長さ=の4

[Page 18]

[18ページ]

January 1980                                                            
                                           Transmission Control Protocol
                                                Functional Specification

1980年1月の通信制御プロトコルの機能的な仕様

        Buffer Size Option Data:  16 bits

サイズオプションデータをバッファリングしてください: 16ビット

          If this option is present, then it communicates the receive
          buffer size at the TCP which sends this segment.  This field
          should only be sent in the initial connection request (i.e.,
          in segments with the SYN control bit set).  If this option is
          not used, the default buffer size of one octet is assumed.

このオプションが存在しているなら、それはこのセグメントを送るTCPで受信バッファサイズを伝えます。 初期の接続要求でこの野原を送るだけであるべきです(すなわち、SYNコントロールビットがあるセグメントでは、セットしてください)。 このオプションが使用されていないなら、1つの八重奏のデフォルトバッファサイズは想定されます。

  Padding:  variable

詰め物: 変数

    The TCP header padding is used to ensure that the TCP header ends
    and data begins on a 32 bit boundary.  The padding is composed of
    zeros.

TCPヘッダー詰め物は、TCPヘッダーが終わって、データが32ビット境界で始まるのを保証するのに使用されます。 詰め物はゼロで構成されます。

3.2.  Terminology

3.2. 用語

  Before we can discuss very much about the operation of the TCP we need
  to introduce some detailed terminology.  The maintenance of a TCP
  connection requires the remembering of several variables.  We conceive
  of these variables being stored in a connection record called a
  Transmission Control Block or TCB.  Among the variables stored in the
  TCB are the local and remote socket numbers, the security and
  precedence of the connection, pointers to the user's send and receive
  buffers, pointers to the retransmit queue and to the current segment.
  In addition several variables relating to the send and receive
  sequence numbers are stored in the TCB.

以前、私たちは私たちが何らかの詳細な用語を紹介する必要があるTCPの操作に関してたいへん議論できます。 TCP接続の維持はいくつかの変数を覚えていることを必要とします。 私たちはTransmission Control BlockかTCBと呼ばれる接続記録に格納されるこれらの変数を想像します。 TCBに格納された変数の中に、接続の地方の、そして、リモートなソケット番号、セキュリティ、および先行があって、ユーザのものへのポインタは、バッファ(再送キューと、そして、現在のセグメントへのポインタ)を送って、受け取ります。 一連番号を送って、受けてください。添加におけるいくつかの変数が関係する、TCBでは、格納されます。

    Send Sequence Variables

系列変数を送ってください。

      SND.UNA - send unacknowledged
      SND.NXT - send sequence
      SND.WND - send window
      SND.BS  - send buffer size
      SND.UP  - send urgent pointer
      SND.WL  - send sequence number used for last window update
      SND.LBB - send last buffer beginning
      ISS     - initial send sequence number

SND.UNA--不承認のSND.NXTを送ります--系列SND.WND--ウィンドウSND.BS--バッファサイズSND.UP--緊急のポインタSND.WL--初期で最後の窓がSND.LBBをアップデートするので(最後のバッファにISSを始めさせてください)使用される一連番号を送らせるのは一連番号を送ります。

    Receive Sequence Variables

系列変数を受け取ってください。

      RCV.NXT - receive sequence
      RCV.WND - receive window
      RCV.BS  - receive buffer size
      RCV.UP  - receive urgent pointer
      RCV.LBB - receive last buffer beginning
      IRS     - initial receive sequence number

RCV.NXT--系列RCV.WNDを受けます--受信バッファサイズRCV.UP--緊急のポインタRCV.LBB--IRSを始める最後のバッファを受け取るのを受けるというRCV.BSが頭文字をつける窓を受けるのは一連番号を受けます。

                                                               [Page 19]

[19ページ]

                                                            January 1980
Transmission Control Protocol
Functional Specification

1980年1月の通信制御プロトコルの機能的な仕様

  The following diagrams may help to relate some of these variables to
  the sequence space.

以下のダイヤグラムは、これらの変数のいくつかに系列スペースに関連するのを助けるかもしれません。

  Send Sequence Space

系列スペースを送ってください。

                   1         2          3          4      
              ----------|----------|----------|---------- 
                     SND.UNA    SND.NXT    SND.UNA        
                                          +SND.WND

1 2 3 4 ----------|----------|----------|---------- SND.UNA SND.NXT SND.UNA+SND.WND

        1 - old sequence numbers which have been acknowledged  
        2 - sequence numbers of unacknowledged data            
        3 - sequence numbers allowed for new data transmission 
        4 - future sequence numbers which are not yet allowed

1--新しいデータ伝送4のために許容された2つ(不承認のデータ3の一連番号)の承認された一連番号である古い一連番号--まだ許容されていない将来の一連番号

                          Send Sequence Space

系列スペースを送ってください。

                               Figure 4.

図4。

  Receive Sequence Space

系列スペースを受けてください。

                       1          2          3      
                   ----------|----------|---------- 
                          RCV.NXT    RCV.NXT        
                                    +RCV.WND

1 2 3 ----------|----------|---------- RCV.NXT RCV.NXT+RCV.WND

        1 - old sequence numbers which have been acknowledged  
        2 - sequence numbers allowed for new reception         
        3 - future sequence numbers which are not yet allowed

1--まだ許容されていない2つ(新しいレセプション3のために許容された一連番号)の承認された将来の一連番号である古い一連番号

                         Receive Sequence Space

系列スペースを受けてください。

                               Figure 5.

図5。

  There are also some variables used frequently in the discussion that
  take their values from the fields of the current segment.

また、現在のセグメントの分野からそれらの値を取る議論に頻繁に使用されるいくつかの変数があります。

[Page 20]

[20ページ]

January 1980                                                            
                                           Transmission Control Protocol
                                                Functional Specification

1980年1月の通信制御プロトコルの機能的な仕様

    Current Segment Variables

現在のセグメント変数

      SEG.SEQ - segment sequence number
      SEG.ACK - segment acknowledgment number
      SEG.LEN - segment length
      SEG.WND - segment window
      SEG.UP  - segment urgent pointer
      SEG.PRC - segment precedence value

SEG.SEQ--セグメント一連番号SEG.ACK--セグメント確認応答番号SEG.LEN--セグメントの長さのSEG.WND--セグメントウィンドウSEG.UP--セグメントの緊急のポインタSEG.PRC--セグメント先行価値

  A connection progresses through a series of states during its
  lifetime.  The states are:  LISTEN, SYN-SENT, SYN-RECEIVED,
  ESTABLISHED, FIN-WAIT-1, FIN-WAIT-2, TIME-WAIT, CLOSE-WAIT, CLOSING,
  and the fictional state CLOSED.  CLOSED is fictional because it
  represents the state when there is no TCB, and therefore, no
  connection.  Briefly the meanings of the states are:

接続は生涯一連の州を通って進歩をします。 州は以下の通りです。 LISTEN、SYN-SENT、SYN-RECEIVED、ESTABLISHED、FIN-WAIT-1、FIN-WAIT-2、タイム誌-WAIT、CLOSE-WAIT、CLOSING、および作り事の州のCLOSED。 TCBがなく、およびしたがって、接続が全くないとき、状態を表すので、CLOSEDは作り事です。 簡潔に、州の意味は以下の通りです。

    LISTEN - represents waiting for a connection request from any remote
    TCP and port.

LISTEN--どんなリモートTCPとポートからも接続要求の待ちを表します。

    SYN-SENT - represents waiting for a matching connection request
    after having sent a connection request.

SYN-SENT--接続要求を送った後に合っている接続要求を待ちながら、表します。

    SYN-RECEIVED - represents waiting for a confirming connection
    request acknowledgment after having both received and sent a
    connection request.

SYN-RECEIVED--両方を持った後の承認が接続要求を受け取って、送ったという確認接続要求を待ちながら、表します。

    ESTABLISHED - represents an open connection, ready to transmit and
    receive data segments.

ESTABLISHED--データ・セグメントを送受信する準備ができているオープンな接続の代理をします。

    FIN-WAIT-1 - represents waiting for a connection termination request
    from the remote TCP, or an acknowledgment of the connection
    termination request previously sent.

FIN-WAIT-1--リモートTCPからの接続終了要求、または以前に送られた接続終了要求の承認を待ちながら、表します。

    FIN-WAIT-2 - represents waiting for a connection termination request
    from the remote TCP.

FIN-WAIT-2--リモートTCPから接続終了要求の待ちを表します。

    TIME-WAIT - represents waiting for enough time to pass to be sure
    the remote TCP received the acknowledgment of its connection
    termination request.

タイム誌-WAIT--通ることができるくらいの時間リモートTCPが接続終了要求の承認を受けたのを確信しているのを待ちながら、表します。

    CLOSE-WAIT - represents waiting for a connection termination request
    from the local user.

CLOSE-WAIT--地元のユーザから接続終了要求の待ちを表します。

    CLOSING - represents waiting for a connection termination request
    acknowledgment from the remote TCP.

CLOSING--リモートTCPから接続終了要求承認を待ちながら、表します。

    CLOSED - represents no connection state at all.

CLOSED--接続状態を全く表しません。

                                                               [Page 21]

[21ページ]

                                                            January 1980
Transmission Control Protocol
Functional Specification

1980年1月の通信制御プロトコルの機能的な仕様

  A TCP connection progresses from one state to another in response to
  events.  The events are the user calls, OPEN, SEND, RECEIVE, CLOSE,
  ABORT, and STATUS; the incoming segments, particularly those
  containing the SYN and FIN flags; and timeouts.

TCP接続は1つの州から別の州まで出来事に対応して進歩をします。 出来事は、ユーザの呼び出しと、オープンと、SENDと、RECEIVEと、CLOSEと、ABORTと、STATUSです。 入って来るセグメント、特にSYNを含むもの、およびFIN旗。 そして、タイムアウト。

  The Glossary contains a more complete list of terms and their
  definitions.

Glossaryは用語に関する、より多くの全リストと彼らの定義を含んでいます。

  The state diagram in figure 6 only illustrates state changes, together
  with the causing events and resulting actions, but addresses neither
  error conditions nor actions which are not connected with state
  changes.  In a later section, more detail is offered with respect to
  the reaction of the TCP to events.

6図の州のダイヤグラムは、引き起こす出来事と結果として起こる動作と共に州の変化を例証するだけですが、エラー条件も州の変化に接続されない動作も記述しません。 後のセクションでは、TCPの反応に関してその他の詳細を出来事に提供します。

[Page 22]

[22ページ]

January 1980                                                            
                                           Transmission Control Protocol
                                                Functional Specification

1980年1月の通信制御プロトコルの機能的な仕様

                              +---------+ ---------\      active OPEN  
                              |  CLOSED |            \    -----------  
                              +---------+<---------\   \   create TCB  
                                |     ^              \   \  snd SYN    
                   passive OPEN |     |   CLOSE        \   \           
                   ------------ |     | ----------       \   \         
                    create TCB  |     | delete TCB         \   \       
                                V     |                      \   \     
                              +---------+            CLOSE    |    \   
                              |  LISTEN |          ---------- |     |  
                              +---------+          delete TCB |     |  
                   rcv SYN      |     |     SEND              |     |  
                  -----------   |     |    -------            |     V  
 +---------+      snd SYN,ACK  /       \   snd SYN          +---------+
 |         |<-----------------           ------------------>|         |
 |   SYN   |                    rcv SYN                     |   SYN   |
 |   RCVD  |<-----------------------------------------------|   SENT  |
 |         |                    snd ACK                     |         |
 |         |------------------           -------------------|         |
 +---------+   rcv ACK of SYN  \       /  rcv SYN,ACK       +---------+
   |           --------------   |     |   -----------                  
   |                  x         |     |     snd ACK                    
   |                            V     V                                
   |  CLOSE                   +---------+                              
   | -------                  |  ESTAB  |                              
   | snd FIN                  +---------+                              
   |                   CLOSE    |     |    rcv FIN                     
   V                  -------   |     |    -------                     
 +---------+          snd FIN  /       \   snd ACK          +---------+
 |  FIN    |<-----------------           ------------------>|  CLOSE  |
 | WAIT-1  |------------------           -------------------|   WAIT  |
 +---------+          rcv FIN  \       /   CLOSE            +---------+
   | rcv ACK of FIN   -------   |     |   -------                      
   | --------------   snd ACK   |     |   snd FIN                      
   V        x                   V     V                                
 +---------+                  +---------+                              
 |FINWAIT-2|                  | CLOSING |                              
 +---------+                  +---------+                              
   | rcv FIN                          | rcv ACK of FIN                 
   | -------    Timeout=2MSL          | --------------                 
   V snd ACK    ------------          V   delete TCB                   
 +---------+     delete TCB   +---------+                              
 |TIME WAIT|----------------->| CLOSED  |                              
 +---------+                  +---------+

+---------+ ---------\活発なオープン| 閉じられます。| \ ----------- +---------+ <。---------\\はTCBを作成します。| ^ \ \snd SYNの受け身のオープン| | \\を閉じてください。------------ | | ---------- \\はTCBを作成します。| | TCB\\Vを削除してください。| \ \ +---------+ 近く| \ | 聴いてください。| ---------- | | +---------+はTCBを削除します。| | rcv SYN| | 発信してください。| | ----------- | | ------- | +に対して---------+ snd SYN、ACK/\snd SYN+---------+ | | <、-、-、-、-、-、-、-、-、-、-、-、-、-、-、-、-- ------------------>|、|、| SYN| rcv SYN| SYN| | RCVD|<-----------------------------------------------| 発信します。| | | snd ACK| | | |------------------ -------------------| | +---------+ SYN\/rcv SYN、ACK+のrcv ACK---------+ | -------------- | | ----------- | x| | snd ACK| V V| 閉鎖+---------+ | ------- | ESTAB| | snd FIN+---------+ | 閉鎖| | rcv FIN V------- | | ------- +---------+ snd FIN/\snd ACK+---------+ | フィン| <、-、-、-、-、-、-、-、-、-、-、-、-、-、-、-、-- ------------------>| 閉鎖| | 待ち-1|------------------ -------------------| 待ち| +---------+ rcv FIN\/CLOSE+---------+ | FINのrcv ACK------- | | ------- | -------------- snd ACK| | snd FIN V x V V+---------+ +---------+ |FINWAIT-2| | 閉じます。| +---------+ +---------+ | rcv FIN| FINのrcv ACK| ------- タイムアウトは2MSLと等しいです。| -------------- V snd ACK------------ VはTCB+を削除します。---------+はTCB+を削除します。---------+ |時間待ち|、-、-、-、-、-、-、-、-、-、-、-、-、-、-、-、--、>| 閉じられます。| +---------+ +---------+

                      TCP Connection State Diagram
                               Figure 6.

TCP接続州のダイヤグラムの数値6。

                                                               [Page 23]

[23ページ]

                                                            January 1980
Transmission Control Protocol
Functional Specification

1980年1月の通信制御プロトコルの機能的な仕様

3.3.  Sequence Numbers

3.3. 一連番号

  A fundamental notion in the design is that every octet of data sent
  over a TCP connection has a sequence number.  Since every octet is
  sequenced, each of them can be acknowledged.  The acknowledgment
  mechanism employed is cumulative so that an acknowledgment of sequence
  number X indicates that all octets up to but not including X have been
  received.  This mechanism allows for straight-forward duplicate
  detection in the presence of retransmission.  Numbering of octets
  within a segment is that the first data octet immediately following
  the header is the lowest numbered, and the following octets are
  numbered consecutively.

デザインにおける根本的な観念はTCP接続の上に送られたデータのあらゆる八重奏には一連番号があるということです。 あらゆる八重奏が配列されるので、それぞれのそれらを承認できます。 使われた承認メカニズムが累積しているので、一連番号Xの承認は、含んでいないXだけまでのすべての八重奏が受けられたのを示します。 このメカニズムは「再-トランスミッション」があるとき簡単な写しのために検出を許します。 セグメントの中の八重奏の付番はすぐにヘッダーに続く最初のデータ八重奏が番号付で最も低く、以下の八重奏が連続して付番されるということです。

  It is essential to remember that the actual sequence number space is
  finite, though very large.  This space ranges from 0 to 2**32 - 1.
  Since the space is finite, all arithmetic dealing with sequence
  numbers must be performed modulo 2**32.  This unsigned arithmetic
  preserves the relationship of sequence numbers as they cycle from
  2**32 - 1 to 0 again.  There are some subtleties to computer modulo
  arithmetic, so great care should be taken in programming the
  comparison of such values.  The typical kinds of sequence number
  comparisons which the TCP must perform include:

実際の一連番号スペースが有限であって、もっとも、非常に大きいのを覚えているのは不可欠です。 このスペースは0〜2**32--1から変化します。 スペースが有限であるので、一連番号に対処するすべての演算が実行された法2**32であるに違いありません。 再び2**1〜32--0から循環するとき、この無記名の演算は一連番号の関係を保存します。 コンピュータモジュロ演算へのいくつかの微妙さがあります、非常にすばらしいので、そのような値の比較をプログラムしながら、注意を中に入れるべきです。 TCPが実行しなければならない典型的な種類の一連番号比較は:

    (a)  Determining that an acknowledgment refers to some sequence
         number sent but not yet acknowledged.

(a) 承認が送りましたが、まだ承認していなかった何らかの一連番号について言及することを決定します。

    (b)  Determining that all sequence numbers occupied by a segment
         have been acknowledged (e.g., to remove the segment from a
         retransmission queue).

(b) セグメントによって占領されたすべての一連番号が承認されたことを(例えば再送キューからセグメントを取り除く)決定すること。

    (c)  Determining that an incoming segment contains sequence numbers
         which are expected (i.e., that the segment "overlaps" the
         receive window).

(c) 入って来るセグメントが予想される一連番号を含むことを決定する、(すなわち、セグメントが「重なる」、受信、窓)

[Page 24]

[24ページ]

January 1980                                                            
                                           Transmission Control Protocol
                                                Functional Specification

1980年1月の通信制御プロトコルの機能的な仕様

  On send connections the following comparisons are needed:

接続は発信します。以下の比較が必要です:

    older sequence numbers                        newer sequence numbers

より古い一連番号、 より新しい一連番号

        SND.UNA                SEG.ACK                 SND.NXT  
           |                      |                       |     
       ----|----XXXXXXX------XXXXXXXXXX---------XXXXXX----|---- 
           |    |            |    |             |         |     
                |            |                  |               
             Segment 1    Segment 2          Segment 3

SND.UNA SEG.ACK SND.NXT| | | ----|----XXXXXXX------XXXXXXXXXX---------XXXXXX----|---- | | | | | | | | | セグメント1セグメント2セグメント3

                      <----- sequence space ----->

<。----- 系列スペース----->。

                   Sending Sequence Space Information

送付系列スペース情報

                               Figure 7.

図7。

    SND.UNA = oldest unacknowledged sequence number

SND.UNAは最も古い不承認の一連番号と等しいです。

    SND.NXT = next sequence number to be sent

SND.NXTは送られる次の一連番号と等しいです。

    SEG.ACK = acknowledgment (next sequence number expected by the
              acknowledging TCP)

SEG.ACKは承認と等しいです。(承認しているTCPによって予想された次の一連番号)

    SEG.SEQ = first sequence number of a segment

SEG.SEQはセグメントの最初の一連番号と等しいです。

    SEG.SEQ+SEG.LEN-1 = last sequence number of a segment

SEG.SEQ+SEG.LEN-1はセグメントの最後の一連番号と等しいです。

  A new acknowledgment (called an "acceptable ack"), is one for which
  the inequality below holds:

新しい承認(「許容できるack」と呼ばれる)は以下の不平等が成立するものです:

    SND.UNA < SEG.ACK =< SND.NXT

SND.UNA<SEG.ACKは<SND.NXTと等しいです。

  All arithmetic is modulo 2**32 and that comparisons are unsigned.
  "=<" means "less than or equal".

すべての演算が法2**32です、そして、比較は無記名です。 「=<」は「以下か等しいこと」を意味します。

  A segment on the retransmission queue is fully acknowledged if the sum
  of its sequence number and length is less than the acknowledgment
  value in the incoming segment.

再送キューのセグメントはその一連番号と長さの合計が入って来るセグメントの承認値以下であるなら完全に承認されます。

  SEG.LEN is the number of octets occupied by the data in the segment.
  It is important to note that SEG.LEN must be non-zero; segments which
  do not occupy any sequence space (e.g., empty acknowledgment segments)
  are never placed on the retransmission queue, so would not go through
  this particular test.

SEG.LENはセグメントのデータによって占領された八重奏の数です。 SEG.LENが非ゼロであるに違いないことに注意するのは重要です。 少しの系列スペース(例えば、空の確認応答セグメント)も占めないセグメントが、再送キューに決して置かれないので、この特定のテストに直面していないでしょう。

                                                               [Page 25]

[25ページ]

                                                            January 1980
Transmission Control Protocol
Functional Specification

1980年1月の通信制御プロトコルの機能的な仕様

  On receive connections the following comparisons are needed:

接続は受信します。以下の比較が必要です:

    older sequence numbers                        newer sequence numbers

より古い一連番号、 より新しい一連番号

                RCV.NXT                         RCV.NXT+RCV.WND 
                   |                               |            
       ---------XXX|XXX------XXXXXXXXXX---------XXX|XX--------- 
                |  |         |                  |  |            
                |            |                  |               
             Segment 1    Segment 2          Segment 3

RCV.NXT RCV.NXT+RCV.WND| | ---------XXX|XXX------XXXXXXXXXX---------XXX|XX--------- | | | | | | | | セグメント1セグメント2セグメント3

                      <----- sequence space ----->

<。----- 系列スペース----->。

                  Receiving Sequence Space Information

系列スペース情報を受け取ります。

                                Figure 8.

エイト環。

    RCV.NXT = next sequence number expected on incoming segments

RCV.NXTは入って来るセグメントで予想された次の一連番号と等しいです。

    RCV.NXT+RCV.WND = last sequence number expected on incoming
        segments, plus one

RCV.NXT+RCV.WNDは入って来るセグメント、および1で予想された最後の一連番号と等しいです。

    SEG.SEQ = first sequence number occupied by the incoming segment

SEG.SEQは入って来るセグメントによって占領された最初の一連番号と等しいです。

    SEG.SEQ+SEG.LEN-1 = last sequence number occupied by the incoming
        segment

SEG.SEQ+SEG.LEN-1は入って来るセグメントによって占領された最後の一連番号と等しいです。

  A segment is judged to occupy a portion of valid receive sequence
  space if

セグメントが有効の部分を占領すると判断されるAは系列スペースを受けます。

     0 =< (SEG.SEQ+SEG.LEN-1 - RCV.NXT) < (RCV.NXT+RCV.WND - RCV.NXT)

0 =<(SEG.SEQ+SEG.LEN-1--RCV.NXT)<。(RCV.NXT+RCV.WND--RCV.NXT)

  SEG.SEQ+SEG.LEN-1 is the last sequence number occupied by the segment;
  RCV.NXT is the next sequence number expected on an incoming segment;
  and RCV.NXT+RCV.WND is the right edge of the receive window.

SEG.SEQ+SEG.LEN-1はセグメントによって占領された最後の一連番号です。 RCV.NXTは入って来るセグメントで予想された次の一連番号です。 そして、RCV.NXT+RCV.WNDが正しい縁である、窓を受けてください。

  Actually, it is a little more complicated than this.  Due to zero
  windows and zero length segments, we have four cases for the
  acceptability of an incoming segment:

実際に、それはこれより複雑です。 窓がなくてゼロ・レングスセグメントのため、私たちには、入って来るセグメントの受容性のための4つのケースがあります:

[Page 26]

[26ページ]

January 1980                                                            
                                           Transmission Control Protocol
                                                Functional Specification

1980年1月の通信制御プロトコルの機能的な仕様

    Segment Receive  Test
    Length  Window
    ------- -------  -------------------------------------------

セグメントはテスト長さのウィンドウを受けます。------- ------- -------------------------------------------

       0       0     SEG.SEQ = RCV.NXT

0 0SEG.SEQはRCV.NXTと等しいです。

       0      >0     RCV.NXT =< SEG.SEQ < RCV.NXT+RCV.WND

0 >0RCV.NXTは<SEG.SEQ<RCV.NXT+RCV.WNDと等しいです。

      >0       0     not acceptable

許容できない>0 0

      >0      >0     RCV.NXT < SEG.SEQ+SEG.LEN =< RCV.NXT+RCV.WND

>0>0RCV.NXT<SEG.SEQ+SEG.LENは<RCV.NXT+RCV.WNDと等しいです。

  Note that the acceptance test for a segment, since it requires the end
  of a segment to lie in the window, is somewhat more restrictive than
  is absolutely necessary.  If at least the first sequence number of the
  segment lies in the receive window, or if some part of the segment
  lies in the receive window, then the segment might be judged
  acceptable.  Thus, in figure 8, at least segments 1 and 2 are
  acceptable by the strict rule, and segment 3 may or may not be,
  depending on the strictness of interpretation of the rule.

窓で嘘をつくのがセグメントの終わりを必要とするのでセグメントのための受取り検査が絶対にである必要な状態でいくらか制限していることに注意してください。 中にセグメントの最初の一連番号がある、窓を受けてください。さもないと、中にセグメントの一部がいくつかならある、窓を受けてください、そして、次に、セグメントは許容できると判断されるかもしれません。 したがって、エイト環では、少なくともセグメント1と2は厳しい規則で許容できます、そして、セグメント3は許容できます、規則の解釈の厳しさによって。

  Note that when the receive window is zero no segments should be
  acceptable except ACK segments.  Thus, it should be possible for a TCP
  to maintain a zero receive window while transmitting data and
  receiving ACKs.

受信してください。それに注意してください、いつ、窓によるACKセグメントを除いて、いいえが区分するゼロが許容できるべきであるということであるか。 したがって、TCPが、ゼロがデータを送って、ACKsを受けている間窓を受けると主張するのは、可能であるべきです。

  We have taken advantage of the numbering scheme to protect certain
  control information as well.  This is achieved by implicitly including
  some control flags in the sequence space so they can be retransmitted
  and acknowledged without confusion (i.e., one and only one copy of the
  control will be acted upon).  Control information is not physically
  carried in the segment data space.  Consequently, we must adopt rules
  for implicitly assigning sequence numbers to control.  The SYN and FIN
  are the only controls requiring this protection, and these controls
  are used only at connection opening and closing.  For sequence number
  purposes, the SYN is considered to occur before the first actual data
  octet of the segment in which it occurs, while the FIN is considered
  to occur after the last actual data octet in a segment in which it
  occurs.  The segment length includes both data and sequence space
  occupying controls.  When a SYN is present then SEG.SEQ is the
  sequence number of the SYN.

私たちは、また、ある制御情報を保護するのにナンバリングスキームを利用しました。 これは、混乱なしでそれらを再送して、承認できる(すなわち、コントロールの唯一無二のコピー1部は作用される)ようにそれとなく系列スペースのいくつかの指揮旗を含んでいることによって、達成されます。 制御情報はセグメントデータ領域で物理的に運ばれません。 その結果、私たちは制御するためにそれとなく一連番号を割り当てるための規則を採用しなければなりません。 SYNとFINがこの保護を必要とする唯一のコントロールであり、これらのコントロールは、接続始まりだけで使用されて、終えられています。 一連番号目的のために、SYNがそれが起こるセグメントの最初の実際のデータ八重奏の前に起こると考えられます、FINが最後の実際のデータ八重奏の後にそれが起こるセグメントで起こると考えられますが。 セグメントの長さはコントロールを占領するデータと系列スペースの両方を含んでいます。 SYNがその時存在しているとき、SEG.SEQはSYNの一連番号です。

  Initial Sequence Number Selection

初期シーケンス番号選択

  The protocol places no restriction on a particular connection being
  used over and over again.  A connection is defined by a pair of
  sockets.  New instances of a connection will be referred to as
  incarnations of the connection.  The problem that arises owing to this

プロトコルは幾重にも使用されている特定の接続に関して制限を全く課しません。 接続は1組のソケットによって定義されます。 接続の新しい例は接続の肉体化と呼ばれるでしょう。 これで起こる問題

                                                               [Page 27]

[27ページ]

                                                            January 1980
Transmission Control Protocol
Functional Specification

1980年1月の通信制御プロトコルの機能的な仕様

  is -- "how does the TCP identify duplicate segments from previous
  incarnations of the connection?"  This problem becomes apparent if the
  connection is being opened and closed in quick succession, or if the
  connection breaks with loss of memory and is then reestablished.

--「TCPは接続の前の肉体化から写しセグメントをどのように特定しますか?」 接続は迅速な継承かそれとも記憶喪失と分かれて、あるかどうかで、接続が次に、復職していた状態で開かれて、閉店しているなら、この問題は明らかになります。

  To avoid confusion we must prevent segments from one incarnation of a
  connection from being used while the same sequence numbers may still
  be present in the network from an earlier incarnation.  We want to
  assure this, even if a TCP crashes and loses all knowledge of the
  sequence numbers it has been using.  When new connections are created,
  an initial sequence number (ISN) generator is employed which selects a
  new 32 bit ISN.  The generator is bound to a (possibly fictitious) 32
  bit clock whose low order bit is incremented roughly every 4
  microseconds.  Thus, the ISN cycles approximately every 4.55 hours.
  Since we assume that segments will stay in the network no more than
  tens of seconds or minutes, at worst, we can reasonably assume that
  ISN's will be unique.

混乱を避けるために、私たちは、以前の肉体化からネットワークで同じ一連番号がまだ存在しているかもしれない間、接続の1回の肉体化からのセグメントが使用されるのを防がなければなりません。 これを保証したいと思います、TCPがそれが使用している一連番号に関するすべての知識を墜落し、失っても。 新しい接続が創造されるとき、初期シーケンス番号(ISN)ジェネレータは採用しています(32ビットの新しいISNを選択します)。 ジェネレータは下位のビットがおよそあらゆる4マイクロセカンド単位で増加される32ビットの(ことによると架空)の時計に縛られます。 したがって、ISNは4.55時間毎に循環します。 何十秒だけかも分間、セグメントがネットワークに残ると思って、最悪の場合は、私たちは、ISNがユニークになると合理的に思うことができます。

  For each connection there is a send sequence number and a receive
  sequence number.  The initial send sequence number (ISS) is chosen by
  the data sending TCP, and the initial receive sequence number (IRS) is
  learned during the connection establishing procedure.

ある各接続のために、aは一連番号を送ります、そして、aは一連番号を受けます。 (ISS)がデータによって選ばれている一連番号は初期でTCPを送ります、そして、初期は一連番号(IRS)を受けます。接続の間、手順を確立しながら、学習されます。

  For a connection to be established or initialized, the two TCPs must
  synchronize on each other's initial sequence numbers.  This is done in
  an exchange of connection establishing messages carrying a control bit
  called "SYN" (for synchronize) and the initial sequence numbers.  As a
  shorthand, messages carrying the SYN bit are also called "SYNs".
  Hence, the solution requires a suitable mechanism for picking an
  initial sequence number and a slightly involved handshake to exchange
  the ISN's.  A "three way handshake" is necessary because sequence
  numbers are not tied to a global clock in the network, and TCPs may
  have different mechanisms for picking the ISN's.  The receiver of the
  first SYN has no way of knowing whether the segment was an old delayed
  one or not, unless it remembers the last sequence number used on the
  connection (which is not always possible), and so it must ask the
  sender to verify this SYN.

接続が設立されるか、または初期化されるために、2TCPsが互いの初期シーケンス番号で連動しなければなりません。 "SYN"と呼ばれるコントロールビットを運ぶメッセージを確立する接続の交換でこれをする、(連動、)、そして、初期シーケンス番号。 また、速記として、SYNビットを運ぶメッセージは「SYNs」と呼ばれます。 したがって、初期シーケンス番号を選んで、わずかにかかわった握手がISNのものを交換するように、解決策は適当なメカニズムを必要とします。 「3、道の握手、」、一連番号がネットワークでグローバルな時計に結ばれないで、TCPsにはISNを選ぶための異なったメカニズムがあるかもしれないので、必要です。 最初のSYNの受信機には接続(いつも可能であるというわけではない)のときに使用された最後の一連番号を覚えていない場合セグメントが古い遅れたものであったかどうかを知る方法が全くないので、それは、このSYNについて確かめるように送付者に頼まなければなりません。

  The "three way handshake" and the advantages of a "clock-driven"
  scheme are discussed in [4].

「3、道の握手、」 [4]で「時計駆動」の計画の利点について議論します。

  Knowing When to Keep Quiet

いつ静かにしているかを知っています。

  To be sure that a TCP does not create a segment that carries a
  sequence number which may be duplicated by an old segment remaining in
  the network, the TCP must keep quiet for a maximum segment lifetime
  (MSL) before assigning any sequence numbers upon starting up or
  recovering from a crash in which memory of sequence numbers in use was

TCPがネットワークに残っている古いセグメントによってコピーされるかもしれない一連番号を運ぶセグメントを作成しないで、TCPが使用中の一連番号に関するメモリがそうであったクラッシュから始動するか、または回復するときどんな一連番号も割り当てる前に最大のセグメント生涯(MSL)静かな状態で保たなければならないのを確信しているように

[Page 28]

[28ページ]

January 1980                                                            
                                           Transmission Control Protocol
                                                Functional Specification

1980年1月の通信制御プロトコルの機能的な仕様

  lost.  For this specification the MSL is taken to be 2 minutes.  This
  is an engineering choice, and may be changed if experience indicates
  it is desirable to do so.  Note that if a TCP is reinitialized in some
  sense, yet retains its memory of sequence numbers in use, then it need
  not wait at all; it must only be sure to use sequence numbers larger
  than those recently used.

無くなる。 この仕様において、2分になるようにMSLを取ります。 これと工学選択であり、経験が、そうするのが望ましいのを示すなら、変えるかもしれません。 TCPが何らかの意味で再初期化されますが、使用中の一連番号に関するメモリを保有するならそれが待つ必要はないことに完全に注意してください。 それは確実に最近使用されたものより大きい一連番号を使用するだけでよいです。

  It should be noted that this strategy does not protect against
  spoofing or other replay type duplicate message problems.

この戦略がスプーフィングから守らないことに注意されるべきであるか、または他の再生タイプはメッセージ問題をコピーします。

3.4.  Establishing a connection

3.4. 取引関係を築きます。

  The "three-way handshake" is the procedure used to establish a
  connection.  This procedure normally is initiated by one TCP and
  responded to by another TCP.  The procedure also works if two TCP
  simultaneously initiate the procedure.  When simultaneous attempt
  occurs, the TCP receives a "SYN" segment which carries no
  acknowledgment after it has sent a "SYN".  Of course, the arrival of
  an old duplicate "SYN" segment can potentially make it appear, to the
  recipient, that a simultaneous connection initiation is in progress.
  Proper use of "reset" segments can disambiguate these cases.  Several
  examples of connection initiation follow.  Although these examples do
  not show connection synchronization using data-carrying segments, this
  is perfectly legitimate, so long as the receiving TCP doesn't deliver
  the data to the user until it is clear the data is valid (i.e., the
  data must be buffered at the receiver until the connection reaches the
  ESTABLISHED state).  The three-way handshake reduces the possibility
  of false connections.  It is the implementation of a trade-off between
  memory and messages to provide information for this checking.

「3方向ハンドシェイク」は取引関係を築くのに用いられた手順です。 通常、この手順に1TCPによって開始されて、別のTCPによって応じられます。 また、2TCPが同時に手順に着手するなら、手順は利きます。 同時の試みが起こると、TCPは"SYN"を送った後に承認を全く運ばない"SYN"セグメントを受けます。 もちろん、古い写し"SYN"セグメントの到着で、それは同時接続開始が進行しているのを受取人にとって潜在的に現れさせることができます。 「リセット」セグメントの適切な使用はこれらのケースのあいまいさを除くことができます。 接続開始のいくつかの例が従います。 これらの例はデータを運ぶセグメントを使用することで同期を接続に示しませんが、これは完全に正統です、データが有効であることが(接続がESTABLISHED状態に着くまで、受信機ですなわち、データをバッファリングしなければなりません)、明確になるまで受信TCPがデータをユーザに送らない限り。 3方向ハンドシェイクは偽の接続の可能性を減少させます。 それはメモリとこの照合のための情報を提供するメッセージの間のトレードオフの実現です。

  The simplest three-way handshake is shown in figure 9 below.  The
  figures should be interpreted in the following way.  Each line is
  numbered for reference purposes.  Right arrows (-->) indicate
  departure of a TCP segment from TCP A to TCP B, or arrival of a
  segment at B from A.  Left arrows (<--), indicate the reverse.
  Ellipsis (...) indicates a segment which is still in the network
  (delayed).  An "XXX" indicates a segment which is lost or rejected.
  Comments appear in parentheses.  TCP states represent the state AFTER
  the departure or arrival of the segment (whose contents are shown in
  the center of each line).  Segment contents are shown in abbreviated
  form, with sequence number, control flags, and ACK field.  Other
  fields such as window, addresses, lengths, and text have been left out
  in the interest of clarity.

最も簡単な3方向ハンドシェイクは9未満が中で計算するのが示されます。 数字は以下の方法で解釈されるべきです。 各線は参照目的のために付番されます。 右向きの矢、(--、>)、TCPセグメントのTCP AからTCP Bまでの出発、またはA.Left矢からのBにおけるセグメントの到着を示してください、(<--、)、逆を示してください。 省略(…)はまだネットワーク(延着する)にはあるセグメントを示します。 "XXX"は失われているか、または拒絶されるセグメントを示します。 コメントは括弧に現れます。 TCP州は州のAFTERを表します。セグメント(コンテンツはそれぞれの線のセンターに示される)の出発か到着。 セグメント内容は一連番号でコントロールが旗を揚げて、ACKがさばく簡略化されたフォームに示されます。 窓や、アドレスや、長さや、テキストなどの他の分野は明快のために省かれました。

                                                               [Page 29]

[29ページ]

                                                            January 1980
Transmission Control Protocol
Functional Specification

1980年1月の通信制御プロトコルの機能的な仕様

      TCP A                                                TCP B

TCPはTCP Bです。

  1.  CLOSED                                               LISTEN

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

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

2. SYNによって送られた(><SEQ=100><CTL=SYN>)>はSYN受信されました。

  3.  ESTABLISHED <-- <SEQ=300><ACK=101><CTL=SYN,ACK>  <-- SYN-RECEIVED

3. 確立した<(<SEQ=300><ACK=101><CTL=SYN、ACK><)はSYN受信されました。

  4.  ESTABLISHED --> <SEQ=101><ACK=301><CTL=ACK>       --> ESTABLISHED

4. 設立された確立した(><SEQ=101><ACK=301><CTL=ACK>)>。

  5.  ESTABLISHED --> <SEQ=101><ACK=301><CTL=ACK><DATA> --> ESTABLISHED

5. 設立された確立した(><SEQ=101><ACK=301><CTL=ACK><データ>)>。

          Basic 3-Way Handshake for Connection Synchronization

接続同期のための基本的な3ウェイ握手

                                Figure 9.

図9。

  In line 2 of figure 9, TCP A begins by sending a SYN segment
  indicating that it will use sequence numbers starting with sequence
  number 100.  In line 3, TCP B sends a SYN and acknowledges the SYN it
  received from TCP A.  Note that the acknowledgment field indicates TCP
  B is now expecting to hear sequence 101, acknowledging the SYN which
  occupied sequence 100.

9図の線2では、SYNセグメントに一連番号100から始まって、一連番号を使用するのを示させることによって、TCP Aは始まります。 線3では、TCP BはSYNを送って、それが承認分野が、TCP Bが、現在系列101を聞くと予想しているのを示すTCP A.Noteから受けたSYNを承認します、系列100を占領したSYNを承認して。

  At line 4, TCP A responds with an empty segment containing an ACK for
  TCP B's SYN; and in line 5, TCP A sends some data.  Note that the
  sequence number of the segment in line 5 is the same as in line 4
  because the ACK does not occupy sequence number space (if it did, we
  would wind up ACKing ACK's!).

線4では、空のセグメントがACKを含んでいて、TCP AはTCPビーズSYNのために応じます。 そして、線5では、TCP Aはいくつかのデータを送ります。 ACKが一連番号スペースを占めないので(それがそうするなら、私たちはACKing ACKのもの!のねじを巻くでしょうに)、線4のように線5における、セグメントの一連番号が同じであることに注意してください。

  Simultaneous initiation is only slightly more complex, as is shown in
  figure 10.  Each TCP cycles from CLOSED to SYN-SENT to SYN-RECEIVED to
  ESTABLISHED.

10が中で計算するのが示されるように同時の開始はわずかにだけ複雑です。 各TCPはCLOSEDからSYN-SENTまでESTABLISHEDへのSYN-RECEIVEDに循環します。

  The principle reason for the three-way handshake is to prevent old
  duplicate connection initiations from causing confusion.  To deal with
  this, a special control message, reset, has been devised.  If the
  receiving TCP is in a  non-synchronized state (i.e., SYN-SENT,
  SYN-RECEIVED), it returns to LISTEN on receiving an acceptable reset.
  If the TCP is in one of the synchronized states (ESTABLISHED,
  FIN-WAIT-1, FIN-WAIT-2, TIME-WAIT, CLOSE-WAIT, CLOSING), it aborts the
  connection and informs its user.  We discuss this latter case under
  "half-open" connections below.

3方向ハンドシェイクの原則理由は年取った写し接続開始が混乱を引き起こすのを防ぐことです。 これに対処するために、特別なコントロールメッセージ(リセット)は工夫されました。 受信TCPが非連動している状態(すなわち、SYN-SENT、SYN-RECEIVED)にあるなら、許容できるリセットを受けるとき、それはLISTENに戻ります。 TCPが連動している州(ESTABLISHED、FIN-WAIT-1、FIN-WAIT-2、タイム誌-WAIT、CLOSE-WAIT、CLOSING)の1つにあるなら、それは、接続を中止して、ユーザに知らせます。 私たちは以下での「半開きな」接続でこの後者のケースについて議論します。

[Page 30]

[30ページ]

January 1980                                                            
                                           Transmission Control Protocol
                                                Functional Specification

1980年1月の通信制御プロトコルの機能的な仕様

      TCP A                                        TCP B

TCPはTCP Bです。

  1.  CLOSED                                       CLOSED

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

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

2. SYNによって送られます--><SEQ=100><CTL=SYN>…。

  3.  SYN-RECEIVED <-- <SEQ=300><CTL=SYN>          <-- SYN-SENT

3. SYNによって容認された<(<SEQ=300><CTL=SYN><)はSYN発信しました。

  4.               ... <SEQ=100><CTL=SYN>          --> SYN-RECEIVED

4. ... <SEQ=100><CTL=SYN>-->はSYN受信されました。

  5.  SYN-RECEIVED --> <SEQ=101><ACK=301><CTL=ACK> ...

5. SYNを受け取られていさせます--><SEQ=101><ACK=301><CTL=ACK>…。

  6.  ESTABLISHED  <-- <SEQ=301><ACK=101><CTL=ACK> <-- SYN-RECEIVED

6. 確立した<(<SEQ=301><ACK=101><CTL=ACK><)はSYN受信されました。

  7.               ... <SEQ=101><ACK=301><CTL=ACK> --> ESTABLISHED

7. ... <SEQ=101><ACK=301><CTL=ACK>--設立された>。

                Simultaneous Connection Synchronization

同時接続同期

                               Figure 10.

図10。

      TCP A                                                TCP B

TCPはTCP Bです。

  1.  CLOSED                                               LISTEN

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

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

2. SYNによって送られます--><SEQ=100><CTL=SYN>…。

  3.  (duplicate) ... <SEQ=1000><CTL=SYN>              --> SYN-RECEIVED

3. (写し) ... <SEQ=1000><CTL=SYN>-->はSYN受信されました。

  4.  SYN-SENT    <-- <SEQ=300><ACK=1001><CTL=SYN,ACK> <-- SYN-RECEIVED

4. SYNによって送られた<(<SEQ=300><ACK=1001><CTL=SYN、ACK><)はSYN受信されました。

  5.  SYN-SENT    --> <SEQ=1001><CTL=RST>              --> LISTEN

5. SYNによって送られた(><SEQ=1001><CTL=RST>)>は聴かれます。

  6.              ... <SEQ=100><CTL=SYN>               --> SYN-RECEIVED

6. ... <SEQ=100><CTL=SYN>-->はSYN受信されました。

  7.  SYN-SENT    <-- <SEQ=400><ACK=101><CTL=SYN,ACK>  <-- SYN-RECEIVED

7. SYNによって送られた<(<SEQ=400><ACK=101><CTL=SYN、ACK><)はSYN受信されました。

  8.  ESTABLISHED --> <SEQ=101><ACK=401><CTL=ACK>      --> ESTABLISHED

8. 設立された確立した(><SEQ=101><ACK=401><CTL=ACK>)>。

                    Recovery from Old Duplicate SYN

古い写しSYNからの回復

                               Figure 11.

図11。

  As a simple example of recovery from old duplicates, consider

古い写しからの回復の簡単な例と、考えてください。

                                                               [Page 31]

[31ページ]

                                                            January 1980
Transmission Control Protocol
Functional Specification

1980年1月の通信制御プロトコルの機能的な仕様

  figure 11.  At line 3, an old duplicate SYN arrives at TCP B.  TCP B
  cannot tell that this is an old duplicate, so it responds normally
  (line 4).  TCP A detects that the ACK field is incorrect and returns a
  RST (reset) with its SEQ field selected to make the segment
  believable.  TCP B, on receiving the RST, returns to the LISTEN state.
  When the original SYN (pun intended) finally arrives at line 6, the
  synchronization proceeds normally.  If the SYN at line 6 had arrived
  before the RST, a more complex exchange might have occurred with RST's
  sent in both directions.

図11 線3では、古い写しSYNはTCP B. TCPに到着します。Bは、これが古い写しであると言うことができません、したがって、通常、それは(線4)について応答します。 TCP Aはそれを検出します。ACK分野は、不正確であり、セグメントがSEQ分野で信用できるようになっていて、選択されるRST(リセット)を返します。 RSTを受けるとき、TCP BはLISTEN状態に戻ります。 オリジナルのSYN(意図していた状態で、だじゃれを言う)が最終的に線6に到着すると、通常、同期は続きます。 線6のSYNがRSTの前で到着したなら、より複雑な交換はRSTのものを両方の方向に送って起こったでしょうに。

  Half-Open Connections and Other Anomalies

半開きなコネクションズと他の例外

  An established connection is said to be  "half-open" if one of the
  TCPs has closed or aborted the connection at its end without the
  knowledge of the other, or if the two ends of the connection have
  become desynchronized owing to a crash that resulted in loss of
  memory.  Such connections will automatically become reset if an
  attempt is made to send data in either direction.  However, half-open
  connections are expected to be unusual, and the recovery procedure is
  mildly involved.

TCPsの1つが終わりにもう片方に関する知識なしで接続を終えるか、中止した、または接続の2つの終わりが記憶喪失をもたらしたクラッシュで反連動するようになったなら、確立した接続は「半開きである」と言われます。 どちらかの指示のデータを送るのを試みをするなら、そのような接続は自動的にリセットになるでしょう。 しかしながら、半開きな接続が珍しいと予想されて、リカバリ手順は穏やかにかかわります。

  If at site A the connection no longer exists, then an attempt by the
  user at site B to send any data on it will result in the site B TCP
  receiving a reset control message.  Such a message should indicate to
  the site B TCP that something is wrong, and it is expected to abort
  the connection.

接続がもうサイトAに存在していないと、どんなデータもそれに送るサイトBのユーザによる試みはリセットコントロールメッセージを受け取るサイトB TCPをもたらすでしょう。 そのようなメッセージは何か問題があって、接続を中止すると予想されるのをサイトB TCPに示すべきです。

  Assume that two user processes A and B are communicating with one
  another when a crash occurs causing loss of memory to A's TCP.
  Depending on the operating system supporting A's TCP, it is likely
  that some error recovery mechanism exists.  When the TCP is up again,
  A is likely to start again from the beginning or from a recovery
  point.  As a result, A will probably try to OPEN the connection again
  or try to SEND on the connection it believes open.  In the latter
  case, it receives the error message "connection not open" from the
  local (A's) TCP.  In an attempt to establish the connection, A's TCP
  will send a segment containing SYN.  This scenario leads to the
  example shown in figure 12.  After TCP A crashes, the user attempts to
  re-open the connection.  TCP B, in the meantime, thinks the connection
  is open.

2つのユーザ・プロセスAとBがクラッシュがいつAのTCPに記憶喪失を引き起こしながら起こるかを伝えることであるとお互いと仮定してください。 AのTCPを支持するオペレーティングシステムによって、何らかのエラー回復メカニズムが存在しそうです。 TCPが再び上がっているとき、Aは始めか回復ポイントから再開しそうです。 その結果、Aは、たぶん再びオープンとして接続を裁くか、またはそれが開くと信じている接続のときにSENDに試みるでしょう。 後者の場合では、それは地方の(A)のTCPから「オープンでない接続」というエラーメッセージを受け取ります。 接続を確立する試みでは、AのTCPはSYNを含むセグメントを送るでしょう。 このシナリオは12が中で計算するのが示された例につながります。 TCP Aがクラッシュした後に、ユーザは、接続を再開させるのを試みます。 TCP Bは、差し当たり接続がオープンであると思います。

[Page 32]

[32ページ]

January 1980                                                            
                                           Transmission Control Protocol
                                                Functional Specification

1980年1月の通信制御プロトコルの機能的な仕様

      TCP A                                           TCP B

TCPはTCP Bです。

  1.  (CRASH)                               (send 300,receive 100)

1. (クラッシュ) (300を送ってください、そして、100を受け取ってください)

  2.  CLOSED                                           ESTABLISHED

2. 確立していた状態で、閉じられます。

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

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

  4.  (!!)     <-- <SEQ=300><ACK=100><CTL=ACK>     <-- ESTABLISHED

4. (!!) <-- <SEQ=300><ACK=100><CTL=ACK><--設立されます。

  5.  SYN-SENT --> <SEQ=100><CTL=RST>              --> (Abort!!)

5. SYNによって送られた(><SEQ=100><CTL=RST>)>。(中止になってください!)

  6.                                                   CLOSED

6. 閉じられます。

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

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

                     Half-Open Connection Discovery

半開きな接続発見

                               Figure 12.

図12。

  When the SYN arrives at line 3, TCP B, being in a synchronized state,
  responds with an acknowledgment indicating what sequence it next
  expects to hear (ACK 100).  TCP A sees that this segment does not
  acknowledge anything it sent and, being unsynchronized, sends a reset
  (RST) because it has detected a half-open connection.  TCP B aborts at
  line 5.  TCP A will continue to try to establish the connection; the
  problem is now reduced to the basic 3-way handshake of figure 9.

SYNが線3に到着するとき、連動している状態にあって、TCP Bは何が次にそれを配列するかを示すのが聞くと予想する承認(ACK100)で応じます。 TCP Aが、このセグメントがそれが送ったものは何も承認しないのがわかって、存在は、非連動して、それが半開きな接続を検出したので、リセット(RST)を送ります。 TCP Bは線5で中止になります。 TCP Aは、接続を確立しようとし続けるでしょう。 問題は今、図9の基本的な3ウェイ握手に減少します。

  An interesting alternative case occurs when TCP A crashes and TCP B
  tries to send data on what it thinks is a synchronized connection.
  This is illustrated in figure 13.  In this case, the data arriving at
  TCP A from TCP B (line 2) is unacceptable because no such connection
  exists, so TCP A sends a RST.  The RST is acceptable so TCP B
  processes it and aborts the connection.

TCP Aがクラッシュして、TCP Bがそれが連動している接続であると考えることに関するデータを送ろうとするとき、おもしろい代替のケースは現れます。 これは図13で例証されます。 どんなそのような接続も存在していないのでこの場合TCP B(線2)からTCP Aに到着するデータが容認できないので、TCP AはRSTを送ります。RSTが許容できて、TCP Bは、それを処理するので、接続を中止します。

                                                               [Page 33]

[33ページ]

                                                            January 1980
Transmission Control Protocol
Functional Specification

1980年1月の通信制御プロトコルの機能的な仕様

        TCP A                                              TCP B

TCPはTCP Bです。

  1.  (CRASH)                                   (send 300,receive 100)

1. (クラッシュ) (300を送ってください、そして、100を受け取ってください)

  2.  (??)    <-- <SEQ=300><ACK=100><DATA=10><CTL=ACK> <-- ESTABLISHED

2. (??) <-- <SEQ=300><ACK=100><データは10><CTL=ACK><と等しいです--設立されます。

  3.          --> <SEQ=100><CTL=RST>                   --> (ABORT!!)

3. --><SEQ=100><CTL=RST>-->。(中止になってください!)

           Active Side Causes Half-Open Connection Discovery

アクティブ側は半開きな接続発見を引き起こします。

                               Figure 13.

図13。

  In figure 14, we find the two TCPs A and B with passive connections
  waiting for SYN.  An old duplicate arriving at TCP B (line 2) stirs B
  into action.  A SYN-ACK is returned (line 3) and causes TCP A to
  generate a RST (the ACK in line 3 is not acceptable).  TCP B accepts
  the reset and returns to its passive LISTEN state.

14図では、受け身の接続がSYNを待っていて、私たちは、2TCPsがAとBであることがわかりました。 TCP B(線2)に到着する古い写しは動作にBをかき回します。 SYN-ACKは(線3)を返して、TCP AにRSTを発生させます(線3におけるACKは許容できません)。 TCP Bはリセットを受け入れて、受け身のLISTEN状態に戻ります。

      TCP A                                         TCP B

TCPはTCP Bです。

  1.  LISTEN                                        LISTEN

1. 聴取、聴取

  2.       ... <SEQ=Z><CTL=SYN>                -->  SYN-RECEIVED

2. ... <SEQ=Z><CTL=SYN>-->はSYN受信されました。

  3.  (??) <-- <SEQ=X><ACK=Z+1><CTL=SYN,ACK>   <--  SYN-RECEIVED

3. (??) <-- <SEQ=X><ACK=Z+1><CTL=SYN、ACK><--SYN受信します。

  4.       --> <SEQ=Z+1><CTL=RST>              -->  (return to LISTEN!)

4. --><SEQ=Z+1><CTL=RST>-->。(戻って、聴いてください!)

  5.  LISTEN                                        LISTEN

5. 聴取、聴取

       Old Duplicate SYN Initiates a Reset on two Passive Sockets

古いDuplicate SYN Initiatesは2Passive Socketsの上のResetです。

                               Figure 14.

図14。

  A variety of other cases are possible, all of which are accounted for
  by the following rules for RST generation and processing.

他のさまざまなケースが可能です、すべて。どれがRST世代と処理のための以下の規則で説明されるかについて。

  Reset Generation

リセット世代

  As a general rule, reset (RST) should be sent whenever a segment
  arrives which apparently is not intended for the current or a future
  incarnation of the connection.  A reset should not be sent if it is
  not clear that this is the case.  Thus, if any segment arrives for a
  nonexistent connection, a reset should be sent.  If a segment ACKs

概して、接続の現在の肉体化か将来の肉体化のために明らかに意図しないセグメントが到着するときはいつも、リセット(RST)を送るべきです。 これがそうであることが明確でないなら、リセットを送るべきではありません。 したがって、何かセグメントが実在しない接続のために到着するなら、リセットを送るべきです。 aであるなら、ACKsを区分してください。

[Page 34]

[34ページ]

January 1980                                                            
                                           Transmission Control Protocol
                                                Functional Specification

1980年1月の通信制御プロトコルの機能的な仕様

  something which has never been sent on the current connection, then
  one of the following two cases applies.

当時現在の1歳の接続で一度も送られたことがない以下の2つのケースについて何かが適用されます。

  1.  If the connection is in any non-synchronized state (LISTEN,
  SYN-SENT, SYN-RECEIVED) or if the connection does not exist, a reset
  (RST) should be formed and sent for any segment that acknowledges
  something not yet sent.  The RST should take its SEQ field from the
  ACK field of the offending segment (if the ACK control bit was set),
  and its ACK bit should be reset (zero), except to refuse a initial
  SYN.  A reset is also sent if an incoming segment has a security level
  or compartment which does not exactly match the level and compartment
  requested for the connection.  If the precedence of the incoming
  segment is less than the precedence level requested a reset is sent.

1. 接続がどんな非連動している州(LISTEN、SYN-SENT、SYN-RECEIVED)にもあるか、または接続が存在していないなら、リセット(RST)は形成されるべきです、そして、どんなセグメントのためにも送って、それはまだ何か送られなかったものを承認します。 RSTは怒っているセグメントのACK分野からSEQグラウンドに出るはずです、そして、(ACKコントロールビットが設定されたなら)ACKビットはリセットであるべきです(ゼロ)、初期のSYNを拒否するのを除いて。 また、入って来るセグメントにまさに接続のために要求されたレベルとコンパートメントに合っていないセキュリティー・レベルかコンパートメントがあるなら、リセットを送ります。 入って来るセグメントの先行が先行以下であるなら、レベルは、リセットが送られるよう要求しました。

  2.  If the connection is in a synchronized state (ESTABLISHED,
  FIN-WAIT-1, FIN-WAIT-2, TIME-WAIT, CLOSE-WAIT, CLOSING), any
  unacceptable segment should elicit only an empty acknowledgment
  segment containing the current send-sequence number and an
  acknowledgment indicating the next sequence number expected to be
  received.

2. 接続が連動している状態(ESTABLISHED、FIN-WAIT-1、FIN-WAIT-2、タイム誌-WAIT、CLOSE-WAIT、CLOSING)にあるなら、どんな容認できないセグメントも空の確認応答セグメント含有だけを引き出すべきである、電流、一連番号を発信させる、そして、受け取られると予想された次の一連番号を示す承認。

  Reset Processing

リセット処理

  All reset (RST) segments are validated by checking their SEQ-fields.
  A reset is valid if its sequence number is in the window.  In the case
  of a RST received in response to an initial SYN any sequence number is
  acceptable if the ACK field acknowledges the SYN.

すべてのリセット(RST)セグメントが、それらのSEQ-分野をチェックすることによって、有効にされます。 一連番号が窓にあるなら、リセットは有効です。 初期のSYNに対応して受け取られたRSTの場合では、ACK分野がSYNを承認するなら、どんな一連番号も許容できます。

  The receiver of a RST first validates it, then changes state.  If the
  receiver was in the LISTEN state, it ignores it.  If the receiver was
  in SYN-RECEIVED state and had previously been in the LISTEN state,
  then the receiver returns to the LISTEN state, otherwise the receiver
  aborts the connection and goes to the CLOSED state.  If the receiver
  was in any other state, it aborts the connection and advises the user
  and goes to the CLOSED state.

当時の変化は、RSTの受信機が最初にそれを有効にすると述べます。 受信機がLISTEN状態にあったなら、それはそれを無視します。 受信機はSYN-RECEIVED状態にあって、以前にLISTEN状態にあったなら受信機がLISTEN状態に戻って、さもなければ、受信機は、接続を中止して、CLOSED状態に行きます。 受信機がいかなる他の状態にもあったなら、それは、接続を中止して、ユーザにアドバイスして、CLOSED状態に行きます。

3.5.  Closing a Connection

3.5. 接続を終えます。

  CLOSE is an operation meaning "I have no more data to send."  The
  notion of closing a full-duplex connection is subject to ambiguous
  interpretation, of course, since it may not be obvious how to treat
  the receiving side of the connection.  We have chosen to treat CLOSE
  in a simplex fashion.  The user who CLOSEs may continue to RECEIVE
  until he is told that the other side has CLOSED also.  Thus, a program
  could initiate several SENDs followed by a CLOSE, and then continue to
  RECEIVE until signaled that a RECEIVE failed because the other side
  has CLOSED.  We assume that the TCP will signal a user, even if no
  RECEIVEs are outstanding, that the other side has closed, so the user

CLOSEは「私には、送らないそれ以上のデータが全くあります」と意味する操作です。 どのように接続の受信側面を治療するかが明白でないかもしれないので、全二重接続を終えるという概念はもちろんあいまいな解釈を受けることがあります。 私たちは、シンプレクスファッションでCLOSEを扱うのを選びました。 彼がもう片方に面があると言われるまで、CLOSEsがRECEIVEに続けるかもしれないユーザはCLOSEDも持っています。 したがって、反対側にはCLOSEDがあるのでRECEIVEが失敗したと合図されるまで、プログラムは、CLOSEによって続かれた数個のSENDsを開始して、次に、RECEIVEに続くことができました。 私たちは、どんなRECEIVEsも傑出していなくてもTCPがユーザに合図して、反対側が閉じたと思って、そうはユーザです。

                                                               [Page 35]

[35ページ]

                                                            January 1980
Transmission Control Protocol
Functional Specification

1980年1月の通信制御プロトコルの機能的な仕様

  can terminate his side gracefully.  A TCP will reliably deliver all
  buffers SENT before the connection was CLOSED so a user who expects no
  data in return need only wait to hear the connection was CLOSED
  successfully to know that all his data was received at the destination
  TCP.

優雅に彼の側を終えることができます。 接続がCLOSEDになる前にTCPがすべてのバッファSENTを確かに届けるので、データを全く予想しないユーザは、代わりに彼のすべてのデータが目的地TCPに受け取られたのを知るために接続が首尾よくCLOSEDであったと聞くのを待つだけでよいです。

  There are essentially three cases:

本質的には、3つのケースがあります:

    1) The user initiates by telling the TCP to CLOSE the connection

1) ユーザは、TCPに言うことによって、CLOSEに接続を開始します。

    2) The remote TCP initiates by sending a FIN control signal

2) FIN制御信号を送るのによるリモートTCP開始

    3) Both users CLOSE simultaneously

3) 同時の両方のユーザCLOSE

  Case 1:  Local user initiates the close

ケース1: 地元のユーザは閉鎖を開始します。

    In this case, a FIN segment can be constructed and placed on the
    outgoing segment queue.  No further SENDs from the user will be
    accepted by the TCP, and it enters the FIN-WAIT-1 state.  RECEIVEs
    are allowed in this state.  All segments preceding and including FIN
    will be retransmitted until acknowledged.  When the other TCP has
    both acknowledged the FIN and sent a FIN of its own, the first TCP
    can ACK this FIN.  It should be noted that a TCP receiving a FIN
    will ACK but not send its own FIN until its user has CLOSED the
    connection also.

この場合、外向的なセグメント待ち行列にFINセグメントを構成して、置くことができます。 ユーザからの一層のSENDsは全くTCPによって受け入れられないでしょう、そして、それはFIN-WAIT-1状態に入れます。 RECEIVEsはこの状態に許容されています。 FINに先行して、含むすべてのセグメントが承認されるまで再送されるでしょう。 いつ、もう片方のTCPには両方があるかが、FINを承認して、それ自身のFIN、最初のTCP缶のACKにこのFINを送りました。 ユーザが接続のもCLOSEDを持つまで、FINを受けるa TCPがACKを望んでいますが、それ自身のFINを送らないことに注意されるべきです。

  Case 2:  TCP receives a FIN from the network

ケース2: TCPはネットワークからFINを受けます。

    If an unsolicited FIN arrives from the network, the receiving TCP
    can ACK it and tell the user that the connection is closing.  The
    user should respond with a CLOSE, upon which the TCP can send a FIN
    to the other TCP.  The TCP then waits until its own FIN is
    acknowledged whereupon it deletes the connection.  If an ACK is not
    forthcoming, after a timeout the connection is aborted and the user
    is told.

そして、求められていないFINがネットワークから到着して、受信TCP缶のACKがそれである、接続が閉じているとユーザに言ってください。 ユーザはCLOSEと共に応じるべきです。そこでは、TCPがもう片方のTCPにFINを送ることができます。 接続を削除するそうするとそれ自身のFINが承認されるまで、そしてTCPは待っています。 ACKが用意されていないなら、タイムアウトの後に接続は中止されます、そして、ユーザは言われます。

  Case 3:  both users close simultaneously

ケース3: 両方のユーザは同時に、閉じます。

    A simultaneous CLOSE by users at both ends of a connection causes
    FIN segments to be exchanged.  When all segments preceding the FINs
    have been processed and acknowledged, each TCP can ACK the FIN it
    has received.  Both will, upon receiving these ACKs, delete the
    connection.

接続の両端のユーザによる同時のCLOSEはFINセグメントを交換させます。 FINsに先行するすべてのセグメントが処理されて、承認されたとき、各TCPはそれが受けたACK FINを承認できました。 これらのACKsを受けるとき、両方が接続を削除するでしょう。

[Page 36]

[36ページ]

January 1980                                                            
                                           Transmission Control Protocol
                                                Functional Specification

1980年1月の通信制御プロトコルの機能的な仕様

      TCP A                                                TCP B

TCPはTCP Bです。

  1.  ESTABLISHED                                          ESTABLISHED

1. 確立していた状態で、設立されます。

  2.  (Close)
      FIN-WAIT-1  --> <SEQ=100><CTL=FIN>               --> CLOSE-WAIT

2. (近い)です。 フィン待1ち--><SEQ=100><CTL=フィン>-->の厳密な待ち

  3.  FIN-WAIT-2  <-- <SEQ=300><ACK=101><CTL=ACK>      <-- CLOSE-WAIT

3. フィン待2ち<--<SEQ=300><ACK=101><CTL=ACK><--厳密な待ち

  4.                                                       (Close)
      TIME-WAIT   <-- <SEQ=301><CTL=FIN>               <-- CLOSING

4. (近い)です。 時間待ち<--<SEQ=301><CTLはフィン><と等しいです--閉じます。

  5.  TIME-WAIT   --> <SEQ=100><ACK=301><CTL=ACK>      --> CLOSED

5. 時間待ち--><SEQ=100><ACK=301><CTL=ACK>-->は閉じました。

  6.  (2 MSL)
      CLOSED

6. (2MSL) 閉じられます。

                         Normal Close Sequence

正常な近い系列

                               Figure 15.

図15。

      TCP A                                                TCP B

TCPはTCP Bです。

  1.  ESTABLISHED                                          ESTABLISHED

1. 確立していた状態で、設立されます。

  2.  (Close)                                              (Close)
      FIN-WAIT-1  --> <SEQ=100><CTL=FIN>               ... FIN-WAIT-1
                  <-- <SEQ=300><CTL=FIN>               <--
                  ... <SEQ=100><CTL=FIN>               -->

2. (近い)です。 (近い)です。 フィン待1ち--><SEQ=100><CTLはフィン>と等しいです… <SEQ=300><CTLがフィン><と等しいというフィン待1ち<… <SEQ=100><CTL=フィン>-->。

  3.  CLOSING     --> <SEQ=100><ACK=301><CTL=ACK>      ... CLOSING
                  <-- <SEQ=300><ACK=101><CTL=ACK>      <--
                  ... <SEQ=100><ACK=301><CTL=ACK>      -->

3. 閉鎖--><SEQ=100><ACK=301><CTL=ACK>… <(<SEQ=300><ACK=101><CTL=ACK><)を閉じます… <SEQ=100><ACK=301><CTL=ACK>-->。

  4.  CLOSED                                               CLOSED

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

                      Simultaneous Close Sequence

同時の近い系列

                               Figure 16.

図16。

                                                               [Page 37]

[37ページ]

                                                            January 1980
Transmission Control Protocol
Functional Specification

1980年1月の通信制御プロトコルの機能的な仕様

3.6.  Precedence and Security

3.6. 先行とセキュリティ

  The intent is that connection be allowed only between ports operating
  with exactly the same security and compartment values and at the
  higher of the precedence level requested by the two parts.

意図は接続がまさに同じセキュリティとコンパートメント値で作動するポートの間とだけ、そして、先行レベルについて、より高いこと2つの部品によって要求されたで許されているということです。

  The precedence levels are:

先行レベルは以下の通りです。

    flash override - 111
    flash          - 110
    immediate      - 10X
    priority       - 01X
    routine        - 00X

フラッシュオーバーライド--111フラッシュ--110の即座(10X優先権)の01Xルーチン--00X

  The security levels are:

セキュリティー・レベルは以下の通りです。

    top secret    - 11
    secret        - 10
    confidential  - 01
    unclassified  - 00

最高機密--11秘密--10の秘密(非分類された01)の00

  The compartments are assigned by the Defense Communications Agency.
  The defaults are precedence:  routine, security:  unclassified,
  compartment:  zero.  A host which does not implement precedence or
  security feature should clear these fields to zero for segments it
  sends.

コンパートメントはDefense Communications Agencyによって割り当てられます。 デフォルトは先行です: ルーチン、セキュリティ: 非分類されている、コンパートメント: ゼロ。 どれが先行を実行しないか、そして、保証が特集するホストはそれが送るセグメントのためにこれらの分野をゼロまでクリアするべきです。

  A connection attempt with mismatched security/compartment values or a
  lower precedence value should be rejected by sending a reset.

ミスマッチしているセキュリティ/コンパートメント値か下側の先行値がある接続試みは、リセットを送ることによって、拒絶されるべきです。

  Note that TCP modules which operate only at the default value of
  precedence will still have to check the precedence of incoming
  segments and possibly raise the precedence level they use on the
  connection.

それでも、単に先行のデフォルト値で作動するTCPモジュールが入って来るセグメントの先行をチェックして、ことによるとそれらが接続のときに使用する先行レベルを上げなければならないことに注意してください。

3.7.  Data Communication

3.7. データ通信

  Once the connection is established data is communicated by the
  exchange of segments.  Because segments may be lost due to errors
  (checksum test failure), or network congestion, TCP uses
  retransmission (after a timeout) to ensure delivery of every segment.
  Duplicate segments may arrive due to network or TCP retransmission.
  As discussed in the section on sequence numbers the TCP performs
  certain tests on the sequence and acknowledgment numbers in the
  segments to verify their acceptability.

接続がいったん確立されると、データはセグメントの交換で伝えられます。 セグメントが誤り(チェックサムテスト失敗)、またはネットワークの混雑のため失われるかもしれないので、TCPはあらゆるセグメントの配送を確実にするのに、「再-トランスミッション」(タイムアウトの後の)を使用します。 写しセグメントはネットワークかTCP retransmissionのため到着するかもしれません。 一連番号のセクションで議論するように、TCPは彼らの受容性について確かめるためにセグメントで系列と確認応答番号のあるテストを実行します。

  The sender of data keeps track of the next sequence number to use in
  the variable SND.NXT.  The receiver of data keeps track of the next

データの送付者は可変SND.NXTで使用する次の一連番号の動向をおさえます。 データの受信機は次の動向をおさえます。

[Page 38]

[38ページ]

January 1980                                                            
                                           Transmission Control Protocol
                                                Functional Specification

1980年1月の通信制御プロトコルの機能的な仕様

  sequence number to expect in the variable RCV.NXT.  The sender of data
  keeps track of the oldest unacknowledged sequence number in the
  variable SND.UNA.  If the data flow is momentarily idle and all data
  sent has been acknowledged then the three variables will be equal.

可変RCV.NXTで予想する一連番号。 データの送付者は可変SND.UNAで最も古い不承認の一連番号の動向をおさえます。 データフローがしばらく、無駄であり、データが送ったすべてが承認されたなら、3つの変数が等しくなるでしょう。

  When the sender creates a segment and transmits it the sender advances
  SND.NXT.  When the receiver accepts a segment it advances RCV.NXT and
  sends an acknowledgment.  When the data sender receives an
  acknowledgment it advances SND.UNA.  The extent to which the values of
  these variables differ is a measure of the delay in the communication.

送付者がセグメントを作成して、それを伝えるとき、送付者はSND.NXTを進めます。 受信機がセグメントを受け入れるとき、それは、RCV.NXTを進めて、承認を送ります。 データ送付者が承認を受けるとき、それはSND.UNAを進めます。 これらの変数の値が異なる範囲はコミュニケーションでの遅れの測定です。

  Normally the amount by which the variables are advanced is the length
  of the data in the segment.  However, when letters are used there are
  special provisions for coordination the sequence numbers, the letter
  boundaries, and the receive buffer boundaries.

通常、量は変数が高度であるセグメントのデータの長さです。 しかしながら、手紙がそこで使用されるとき、特別条項はコーディネートのためのものです。一連番号、手紙限界、および受信バッファ限界。

  End of Letter Sequence Number Adjustments

手紙一連番号調整の終わり

  There is provision in TCP for the receiver of data to optionally
  communicate to the sender of data on a connection at the time of the
  connection synchronization the receiver's buffer size.  If this is
  done the receiver must use this fixed size of buffers for the lifetime
  of the connection.  If a buffer size is communicated then there is a
  coordination between receive buffers, letters, and sequence numbers.

データの受信機が任意に接続同期時点の接続に関するデータの受信機のバッファサイズの送付者に交信するために、TCPへの支給があります。 これが完了しているなら、受信機はバッファのこの固定サイズを接続の生涯に使用しなければなりません。 バッファサイズが伝えられるなら、受信バッファと、手紙と、一連番号の間には、コーディネートがあります。

  Each time a buffer is completed either due to being filled or due to
  an end of letter, the sequence number is incremented through the end
  of that buffer.

その都度、バッファがいっぱいにされるため完成するか、または手紙の端のため、一連番号はそのバッファの端まで増加されます。

  That is, whenever an EOL is transmitted, the sender advances its send
  sequence number, SND.NXT, by an amount sufficient to consume all the
  unused space in the receiver's buffer.  The amount of space consumed
  in this fashion is subtracted from the send window just as is the
  space consumed by actual data.

すなわち、EOLが伝えられるときはいつも、送付者が進む、それ、一連番号を送ってください、SND.NXT、受信機のバッファのすべての未使用のスペースを消費できるくらいの量に従って。 こんなやり方で消費されたスペースの合計から引かれる、ちょうど実際のデータによって消費されたスペースのように窓を送ってください。

  And, whenever an EOL is received, the receiver advances its receive
  sequence number, RCV.NXT, by an amount sufficient to consume all the
  unused space in the receiver's buffer.  The amount of space consumed
  in this fashion is subtracted from the receive window just as is the
  space consumed by actual data.

そして、EOLが受け取られているときはいつも、受信機が進む、それ、一連番号を受けてください、RCV.NXT、受信機のバッファのすべての未使用のスペースを消費できるくらいの量に従って。 こんなやり方で消費されたスペースの合計から引かれる、ちょうど実際のデータによって消費されたスペースのように窓を受けてください。

                                                               [Page 39]

[39ページ]

                                                            January 1980
Transmission Control Protocol
Functional Specification

1980年1月の通信制御プロトコルの機能的な仕様

    older sequence numbers                        newer sequence numbers

より古い一連番号、 より新しい一連番号

            |           Buffer 1            |   Buffer 2       
            |                               |                  
        ----+-------------------------------+----------------- 
            XXXXXXXXXXXXXXXXXXXXX+++++++++++                   
            |                    |          |                  
            |<-----SEG.LEN------>|          |                  
            |                    |          |                  
            |                    |          |                  
         SEG.SEQ                 A          B

| バッファ1| バッファ2| | ----+-------------------------------+----------------- XXXXXXXXXXXXXXXXXXXXX+++++++++++| | | | <、-、-、-、--SEG.LEN------>|、|、|、|、|、|、|、| SEG.SEQはBです。

                    XXX - data octets from segment 
                    +++ - phantom data

XXX--セグメント+++からのデータ八重奏--幻影のデータ

                      <----- sequence space ----->

<。----- 系列スペース----->。

                        End of Letter Adjustment

手紙調整の終わり

                               Figure 17.

図17。

  In the case illustrated above, if the segment does not carry an EOL
  flag, the next value of SND.NXT or RCV.NXT will be A.  If it does
  carry an EOL flag, the next value will be B.

RCV.NXTがセグメントがEOL旗、SND.NXTの次の値を運ばないか、A.Ifになるなら上で例証された場合では、EOL旗を運んで、次の値はBになるでしょう。

  The exchange of buffer size and sequencing information is done in
  units of octets.  If no buffer size is stated, then the buffer size is
  assumed to be 1 octet.  The receiver tells the sender the size of the
  buffer in a SYN segment that contains the 16 bit buffer size data in
  an option field in the TCP header.

ユニットの八重奏でバッファサイズと配列情報の交換をします。 バッファサイズが全く述べられないなら、バッファサイズは1つの八重奏であると思われます。 受信機はTCPヘッダーというオプション・フィールドに16ビットのバッファサイズデータを保管しているSYNセグメントのバッファのサイズの送付者に言います。

  Each EOL advances the sequence number (SN) to the next buffer boundary

各EOLは一連番号(SN)を次のバッファ限界に進めます。

    While LBB < SEG.SEQ+SEG.LEN
    Do LBB <- LBB + BS End
    SN <- LBB

LBB<SEG.SEQ+SEG.LENはLBB<BS終わりのSN LBB+<LBBをしますが

    where LBB is the Last Buffer Beginning, and BS is the buffer size.

LBBがLast Buffer Beginningであり、BSがバッファサイズであるところ。

  The CLOSE user call implies an end of letter, as does the FIN control
  flag in an incoming segment.

CLOSEユーザ呼び出しはFIN指揮旗のように入って来るセグメントで手紙の端を含意します。

  The Communication of Urgent Information

緊急の情報に関するコミュニケーション

  The objective of the TCP urgent mechanism is to allow the sending user
  to stimulate the receiving user to accept some urgent data and to
  permit the receiving TCP to indicate to the receiving user when all
  the currently known urgent data has been received by the user.

TCPの緊急のメカニズムの目的は送付ユーザがいくつかの緊急のデータを受け入れて、受信TCPが、すべての現在知られている緊急のデータがいつユーザによって受け取られたかを受信ユーザに示すことを許可するために受信ユーザを刺激するのを許容することです。

[Page 40]

[40ページ]

January 1980                                                            
                                           Transmission Control Protocol
                                                Functional Specification

1980年1月の通信制御プロトコルの機能的な仕様

  This mechanism permits a point in the data stream to be designated as
  the end of "urgent" information.  Whenever this point is in advance of
  the receive sequence number (RCV.NXT) at the receiving TCP, that TCP
  should tell the user to go into "urgent mode"; when the receive
  sequence number catches up to the urgent pointer, the TCP should tell
  user to go into "normal mode".  If the urgent pointer is updated while
  the user is in "read fast" mode, the update will be invisible to the
  user.

このメカニズムは、データ・ストリームのポイントが「緊急」の情報の終わりとして指定されるのを可能にします。 いつ、このポイントがあるかの前、受信TCPで一連番号(RCV.NXT)を受けてください、そして、そのTCPは、「緊急のモード」に入るようにユーザに言うはずです。 いつ、緊急の指針、TCPに上がっているキャッチが「正規モード」に入るとユーザに言うべきである一連番号を受けてくださいか。 ユーザが「速く読んでください」モードでいる間、緊急の指針をアップデートすると、アップデートはユーザにとって目に見えなくなるでしょう。

  The method employs a urgent field which is carried in all segments
  transmitted.  The URG control flag indicates that the urgent field is
  meaningful and should be added to the segment sequence number to yield
  the urgent pointer.  The absence of this flag indicates that the
  urgent pointer has not changed.

メソッドはセグメントが伝えたすべてで運ばれる緊急の野原を使います。 URG指揮旗は、緊急の分野が重要であることを示して、緊急の指針をもたらすためにセグメント一連番号に言い足されるべきです。 この旗の欠如は、緊急の指針が変化していないのを示します。

  To send an urgent indication the user must also send at least one data
  octet.  If the sending user also indicates end of letter, timely
  delivery of the urgent information to the destination process is
  enhanced.

また、緊急の指示にユーザを送るのは少なくとも1つのデータ八重奏を送らなければなりません。 また、送付ユーザが手紙の端を示すなら、目的地プロセスへの緊急の情報のタイムリーな配送は機能アップされます。

  Managing the Window

窓を管理します。

  The window sent in each segment indicates the range of sequence number
  the sender of the window (the data receiver) is currently prepared to
  accept.  There is an assumption that this is related to the currently
  available data buffer space available for this connection.  The window
  information is a guideline to be aimed at.

窓は、各セグメントが窓(データ受信装置)の送付者が現在受け入れる用意ができている一連番号の範囲を示すのを送りました。 これがこの接続に利用可能な現在利用可能なデータバッファ領域に関連するという仮定があります。 窓の情報は目的とされるガイドラインです。

  Indicating a large window encourages transmissions.  If more data
  arrives than can be accepted, it will be discarded.  This will result
  in excessive retransmissions, adding unnecessarily to the load on the
  network and the TCPs.  Indicating a small window may restrict the
  transmission of data to the point of introducing a round trip delay
  between each new segment transmitted.

大きい窓を示すと、トランスミッションは奨励します。 より多くのデータが受け入れることができるより到着すると、それは捨てられるでしょう。 これは過度の「再-トランスミッション」をもたらして、不必要にネットワークとTCPsの上の負荷に加えるでしょう。 小さい窓がそれぞれの新しいセグメントに周遊旅行遅れを取り入れるまでデータの伝達を制限するかもしれないのを示すのが伝わりました。

  The mechanisms provided allow a TCP to advertise a large window and to
  subsequently advertise a much smaller window without having accepted
  that much data.  This, so called "shrinking the window," is strongly
  discouraged.  The robustness principle dictates that TCPs will not
  shrink the window themselves, but will be prepared for such behavior
  on the part of other TCPs.

提供されたメカニズムで、それだけのデータを受け入れていなくて、TCPは大きい窓の広告を出して、次に、はるかに小さい窓の広告を出します。 そのように「窓を縮小します」と呼ばれたこれは強くがっかりしています。 堅牢性の原則は、TCPsが自分たちで窓を縮小しませんが、他のTCPs側のそのような振舞いのために準備されると決めます。

  The sending TCP must be prepared to accept and send at least one octet
  of new data even if the send window is zero.  The sending TCP should
  regularly retransmit to the receiving TCP even when the window is
  zero.  Two minutes is recommended for the retransmission interval when
  the window is zero.  This retransmission is essential to guarantee

発信してください。新しいデータの少なくとも1つの八重奏を受け入れて、送るように発信しているTCPを準備しなければならない、窓はゼロです。 窓がゼロでさえあるときに、発信しているTCPは定期的に受信TCPに再送するはずです。 2分は窓がゼロである再送信間隔の間、推薦されます。 この「再-トランスミッション」は、保証するのに不可欠です。

                                                               [Page 41]

[41ページ]

                                                            January 1980
Transmission Control Protocol
Functional Specification

1980年1月の通信制御プロトコルの機能的な仕様

  that when either TCP has a zero window the re-opening of the window
  will be reliably reported to the other.

TCPがaゼロを窓の再開に窓を付けさせると、それはもう片方に確かに報告されるでしょう。

  The sending TCP packages the data to be transmitted into segments
  which fit the current window, and may repackage segments on the
  retransmission queue.  Such repackaging is not required, but may be
  helpful.

発信しているTCPは現在の窓に合うセグメントに伝えられるためにデータをパッケージして、再送キューのときにセグメントを包装し直すかもしれません。 そのような包装し直すのは、必要ではありませんが、役立っているかもしれません。

  Users must keep reading connections they close for sending until the
  TCP says no more data.

ユーザは彼らがTCPがそれ以上のデータを全く言わないまで発信するために終える接続を読み続けなければなりません。

  In a connection with a one-way data flow, the window information will
  be carried in acknowledgment segments that all have the same sequence
  number so there will be no way to reorder them if they arrive out of
  order.  This is not a serious problem, but it will allow the window
  information to be on occasion temporarily based on old reports from
  the data receiver.

一方向データフローとの関係では、窓の情報はしたがって故障していた状態で到着して、追加注文へのどんな道もそれらでないつもりであったならそこに同じ一連番号を持っている確認応答セグメントですべて、運ばれるでしょう。 これは深刻な問題ではありませんが、それで、窓の情報は時々、一時データ受信装置からの古いレポートに基づくでしょう。

3.8.  Interfaces

3.8. インタフェース

  There are of course two interfaces of concern:  the user/TCP interface
  and the TCP/IP interface.  We have a fairly elaborate model of the
  user/TCP interface, but only a sketch of the interface to the lower
  level protocol module.

もちろん、関心の2つのインタフェースがあります: ユーザ/TCPインタフェースとTCP/IPは連結します。 私たちはユーザ/TCPインタフェースのかなり細かいモデル、しかし、インタフェースのスケッチしか下のレベルプロトコルモジュールに持っていません。

  User/TCP Interface

ユーザ/TCPインタフェース

    The functional description of user commands to the TCP is, at best,
    fictional, since every operating system will have different
    facilities.  Consequently, we must warn readers that different TCP
    implementations may have different user interfaces.  However, all
    TCPs must provide a certain minimum set of services to guarantee
    that all TCP implementations can support the same protocol
    hierarchy.  This section specifies the functional interfaces
    required of all TCP implementations.

TCPへのユーザコマンドの機能的な記述はせいぜい作り事です、あらゆるオペレーティングシステムには異なった施設があるので。 その結果、私たちは、異なったTCP実装には異なったユーザインタフェースがあるかもしれないと読者に警告しなければなりません。 しかしながら、すべてのTCPsが、すべてのTCP実装が同じプロトコル階層をサポートできるのを保証するためにある最小のサービスを提供しなければなりません。 このセクションはすべてのTCP実装について必要である機能的なインタフェースを指定します。

    TCP User Commands

TCPユーザコマンド

      The following sections functionally characterize a USER/TCP
      interface.  The notation used is similar to most procedure or
      function calls in high level languages, but this usage is not
      meant to rule out trap type service calls (e.g., SVCs, UUOs,
      EMTs).

以下のセクションはUSER/TCPインタフェースを機能上特徴付けます。 使用される記法は高級言語におけるほとんどの手順かファンクションコールと同様ですが、この用法は罠タイプ業務通話を除外することになっていません(例えば、SVCs、UUOs、EMTs)。

      The user commands described below specify the basic functions the
      TCP must perform to support interprocess communication.
      Individual implementations should define their own exact format,
      and may provide combinations or subsets of the basic functions in

以下で説明されたユーザコマンドはTCPがプロセス間通信をサポートするために実行しなければならない基本機能を指定します。 個々の実装は、それら自身の正確な書式を定義するべきであり、基本機能の組み合わせか部分集合を中に提供するかもしれません。

[Page 42]

[42ページ]

January 1980                                                            
                                           Transmission Control Protocol
                                                Functional Specification

1980年1月の通信制御プロトコルの機能的な仕様

      single calls.  In particular, some implementations may wish to
      automatically OPEN a connection on the first SEND or RECEIVE
      issued by the user for a given connection.

シングルは呼びます。 特に、いくつかの実装が与えられた接続のためにユーザによって発行された最初のSENDかRECEIVEで自動的にオープンに接続を願うかもしれません。

      In providing interprocess communication facilities, the TCP must
      not only accept commands, but must also return information to the
      processes it serves.  The latter consists of:

プロセス間通信施設を提供する際に、TCPはコマンドを受け入れるだけでよくはありませんが、また、それが役立つプロセスに情報を返さなければなりません。 後者は以下から成ります。

        (a) general information about a connection (e.g., interrupts,
        remote close, binding of unspecified foreign socket).

(a) 接続(例えば、中断、リモート閉鎖、不特定の外国ソケットの結合)に関する一般情報。

        (b) replies to specific user commands indicating success or
        various types of failure.

(b) 成功を示す特定のユーザコマンドか様々なタイプの失敗に関する回答。

      Open

開いてください。

        Format:  OPEN (local port, foreign socket, active/passive
        [, buffer size] [, timeout] [, precedence]
        [, security/compartment]) -> local connection name

形式: オープン(地方のポート、アクティブであるか受け身[サイズをバッファリングする]の外国ソケット[タイムアウト][先行][セキュリティ/コンパートメント])->市内接続名

        We assume that the local TCP is aware of the identity of the
        processes it serves and will check the authority of the process
        to use the connection specified.  Depending upon the
        implementation of the TCP, the local network and TCP identifiers
        for the source address will either be supplied by the TCP or by
        the processes that serve it (e.g., the program which interfaces
        the TCP network).  These considerations are the result of
        concern about security, to the extent that no TCP be able to
        masquerade as another one, and so on.  Similarly, no process can
        masquerade as another without the collusion of the TCP.

私たちは、地方のTCPがそれが役立つプロセスのアイデンティティを意識しているのを得て、接続が指定した使用にプロセスの権限をチェックするつもりです。 TCPかそれ(例えば、TCPネットワークを連結するプログラム)に役立つプロセスはソースアドレスのためにTCPの実装、企業内情報通信網、およびTCP識別子に頼るのを供給するでしょう。 これらの問題はセキュリティに関して重要な結果です、どんなTCPも別の1などのふりをすることができないという範囲に。 同様に、どんなプロセスもTCPの共謀なしで別のもののふりをすることができません。

        If the active/passive flag is set to passive, then this is a
        call to LISTEN for an incoming connection.  A passive open may
        have either a fully specified foreign socket to wait for a
        particular connection or an unspecified foreign socket to wait
        for any call.  A fully specified passive call can be made active
        by the subsequent execution of a SEND.

アクティブであるか受け身の旗が受動態に設定されるなら、これは接続要求のためのLISTENへの呼び出しです。 受け身の戸外には、特定の接続か不特定の外国ソケットがどんな電話も待つのを待つ完全に指定された外国ソケットがあるかもしれません。 SENDのその後の実行で完全に指定された受け身の電話はアクティブにかけることができます。

        A full-duplex transmission control block (TCB) is created and
        partially filled in with data from the OPEN command parameters.

全二重伝送制御ブロック(TCB)は、作成されて、オープンコマンドパラメタからのデータで部分的に記入されます。

        On an active OPEN command, the TCP will begin the procedure to
        synchronize (i.e., establish) the connection at once.

すなわち、活発なオープン命令のときにTCPが連動するように手順を始める、(設立、)、接続、すぐに。

        The buffer size, if present, indicates that the caller will
        always receive data from the connection in that size of buffers.
        This buffer size is a measure of the buffer between the user and

存在しているなら、バッファサイズは、訪問者がバッファのそのサイズにおける接続からデータをいつも受け取るのを示します。 そしてこのよりもみ皮製のサイズがユーザの間のバッファの測定である。

                                                               [Page 43]

[43ページ]

                                                            January 1980
Transmission Control Protocol
Functional Specification

1980年1月の通信制御プロトコルの機能的な仕様

        the local TCP.  The buffer size between the two TCPs may be
        different.

地方のTCP。 2TCPsの間のバッファサイズは異なっているかもしれません。

        The timeout, if present, permits the caller to set up a timeout
        for all buffers transmitted on the connection.  If a buffer is
        not successfully delivered to the destination within the timeout
        period, the TCP will abort the connection.  The present global
        default is 30 seconds.  The buffer retransmission rate may vary;
        most likely, it will be related to the measured time for
        responses from the remote TCP.

存在しているなら、タイムアウトは、訪問者が接続のときに伝えられたすべてのバッファのためにタイムアウトをセットアップすることを許可します。 バッファがタイムアウト時間中に首尾よく送付先に提供されないと、TCPは接続を中止するでしょう。 現在のグローバルなデフォルトは30秒です。 バッファ「再-トランスミッション」レートは異なるかもしれません。 たぶん、リモートTCPから応答のための測定時間に関連するでしょう。

        The TCP or some component of the operating system will verify
        the users authority to open a connection with the specified
        precedence or security/compartment.  The absence of precedence
        or security/compartment specification in the OPEN call indicates
        the default values should be used.

オペレーティングシステムのTCPか何らかの部品が指定された先行かセキュリティ/コンパートメントとの関係を開くユーザ権威について確かめるでしょう。 オープン呼び出しにおける、先行かセキュリティ/コンパートメント仕様の欠如は、デフォルト値が使用されるべきであるのを示します。

        TCP will accept incoming requests as matching only if the
        security/compartment information is exactly the same and only if
        the precedence is equal to or higher than the precedence
        requested in the OPEN call.

先行がオープンで要求された先行よりセキュリティ/コンパートメント情報がまさに単に同じであり、等しいか、または高い場合にだけマッチングが呼ぶようにTCPは入って来る要求を受け入れるでしょう。

        The precedence for the connection is the higher of the values
        requested in the OPEN call and received from the incoming
        request, and fixed at that value for the life of the connection.

接続のための先行は、オープン呼び出しで要求されていて、入って来る要求から受け取られた値で、より高く、接続の寿命のためのその値で固定されています。

        Depending on the TCP implementation, either a local connection
        name will be returned to the user by the TCP, or the user will
        specify this local connection name (in which case another
        parameter is needed in the call).  The local connection name can
        then be used as a short hand term for the connection defined by
        the <local socket, foreign socket> pair.

TCP実装によって、市内接続名がTCPによってユーザに返されるだろうか、またはユーザはこの市内接続名を指定するでしょう(その場合、別のパラメタが呼び出しで必要です)。 そして、<の地方のソケット(外国人のソケット>組)によって定義された接続に短い手の期間として市内接続名を使用できます。

      Send

発信してください。

        Format:  SEND(local connection name, buffer address, byte count,
        EOL flag, URGENT flag [, timeout])

形式: 発信してください。(市内接続名、バッファアドレス、バイト・カウント、URGENTが旗を揚げさせるEOL旗[タイムアウト])

        This call causes the data contained in the indicated user buffer
        to be sent on the indicated connection.  If the connection has
        not been opened, the SEND is considered an error.  Some
        implementations may allow users to SEND first; in which case, an
        automatic OPEN would be done.  If the calling process is not
        authorized to use this connection, an error is returned.

この呼び出しで、示されたユーザバッファに含まれたデータを示された接続に送ります。 接続が開かれていないなら、SENDは誤りであると考えられます。 いくつかの実装が最初に、SENDにユーザを許容するかもしれません。 その場合、自動オープンをするでしょう。 呼び出しプロセスがこの接続を使用するのが認可されないなら、誤りは返されます。

        If the EOL flag is set, the data is the End Of a Letter, and the
        EOL bit will be set in the last TCP segment created from the

EOL旗が設定されるなら、データは、End OfのLetterと、最後のTCPのセットが作成されたセグメントであるつもりであったなら噛み付かれたEOLです。

[Page 44]

[44ページ]

January 1980                                                            
                                           Transmission Control Protocol
                                                Functional Specification

1980年1月の通信制御プロトコルの機能的な仕様

        buffer.  If the EOL flag is not set, subsequent SENDs will
        appear to be part of the same letter.

バッファリングします。 EOL旗が設定されないと、その後のSENDsは、同じ手紙の一部であるように見えるでしょう。

        If the URGENT flag is set, segments resulting from this call
        will have the urgent pointer set to indicate that some of the
        data associated with this call is urgent.  This facility, for
        example, can be used to simulate "break" signals from terminals
        or error or completion codes from I/O devices.  The semantics of
        this signal to the receiving process are unspecified.  The
        receiving TCP will signal the urgent condition to the receiving
        process as long as the urgent pointer indicates that data
        preceding the urgent pointer has not been consumed by the
        receiving process.  The purpose of urgent is to stimulate the
        receiver to accept some urgent data and to indicate to the
        receiver when all the currently known urgent data has been
        received.

URGENT旗が設定されると、この呼び出しから生じるセグメントは緊急の指針が、この呼び出しに関連しているデータのいくつかが緊急であることを示すように設定させるでしょう。 入出力デバイスから端末、誤りまたは完了コードからの「中断」信号をシミュレートするのに例えばこの施設を使用できます。 受信プロセスへのこの信号の意味論は不特定です。 緊急の指針が、緊急の指針に先行するデータが受信プロセスによって消費されていないのを示す限り、受信TCPは受信プロセスに緊急の状態に合図するでしょう。 緊急の目的はいくつかの緊急のデータを受け入れて、すべての現在知られている緊急のデータがいつ受け取られたかを受信機に示すために受信機を刺激することです。

        The number of times the sending user's TCP signals urgent will
        not necessarily be equal to the number of times the receiving
        user will be notified of the presence of urgent data.

送付ユーザのTCPが緊急の状態で合図するという回の数は必ず受信ユーザが緊急のデータの存在について通知されるという回の数と等しくなるというわけではないでしょう。

        If no foreign socket was specified in the OPEN, but the
        connection is established (e.g., because a LISTENing connection
        has become specific due to a foreign segment arriving for the
        local socket), then the designated buffer is sent to the implied
        foreign socket.  In general, users who make use of OPEN with an
        unspecified foreign socket can make use of SEND without ever
        explicitly knowing the foreign socket address.

オープンでどんな外国ソケットも指定しませんでしたが、接続を確立するなら(例えば、LISTENing接続が地方のソケットのために到着する外国セグメントのために特定になったので)、暗示している外国ソケットに指定されたバッファを送ります。 一般に、明らかに外国ソケットアドレスを知らないで、不特定の外国ソケットによるオープンを利用するユーザはSENDを利用できます。

        However, if a SEND is attempted before the foreign socket
        becomes specified, an error will be returned.  Users can use the
        STATUS call to determine the status of the connection.  In some
        implementations the TCP may notify the user when an unspecified
        socket is bound.

しかしながら、外国ソケットが指定されるようになる前にSENDが試みられると、誤りは返されるでしょう。 ユーザは接続の状態を決定するというSTATUS要求を使用できます。 いくつかの実装では、不特定のソケットが制限されているとき、TCPはユーザに通知するかもしれません。

        If a timeout is specified, then the current timeout for this
        connection is changed to the new one.

タイムアウトが指定されるなら、この接続のための現在のタイムアウトは新しい方に変わります。

        In the simplest implementation, SEND would not return control to
        the sending process until either the transmission was complete
        or the timeout had been exceeded.  However, this simple method
        is both subject to deadlocks (for example, both sides of the
        connection might try to do SENDs before doing any RECEIVEs) and
        offers poor performance, so it is not recommended.  A more
        sophisticated implementation would return immediately to allow
        the process to run concurrently with network I/O, and,
        furthermore, to allow multiple SENDs to be in progress.

最も簡単な実装では、トランスミッションが終了していたか、またはタイムアウトが超えられるまで、SENDは送付プロセスにコントロールを返さないでしょう。 しかしながら、この簡単なメソッドが行き詰まりを条件とした両方(例えば、どんなRECEIVEsもする前に、接続の両側はSENDsをしようとするかもしれない)であり、不十分な性能を提供するので、それは推薦されません。 より洗練された実装はすぐに、戻って、プロセスが、そして、その上、同時にネットワーク入出力と共に稼働して、複数のSENDsが進行しているのを許容するのを許容するでしょう。

                                                               [Page 45]

[45ページ]

                                                            January 1980
Transmission Control Protocol
Functional Specification

1980年1月の通信制御プロトコルの機能的な仕様

        Multiple SENDs are served in first come, first served order, so
        the TCP will queue those it cannot service immediately.

複数のSENDsが先着順のオーダーで役立たれているので、TCPはそれがすぐに修理できないものを列に並ばせるでしょう。

        We have implicitly assumed an asynchronous user interface in
        which a SEND later elicits some kind of SIGNAL or
        pseudo-interrupt from the serving TCP.  An alternative is to
        return a response immediately.  For instance, SENDs might return
        immediate local acknowledgment, even if the segment sent had not
        been acknowledged by the distant TCP.  We could optimistically
        assume eventual success.  If we are wrong, the connection will
        close anyway due to the timeout.  In implementations of this
        kind (synchronous), there will still be some asynchronous
        signals, but these will deal with the connection itself, and not
        with specific segments or letters.

私たちはそれとなく、SENDが後で給仕TCPからある種のSIGNALか疑似中断を引き出す非同期なユーザーインタフェースを仮定しました。 代替手段はすぐに応答を返すことです。 例えば、SENDsは即座の地方の承認を返すかもしれません、送られたセグメントが遠方のTCPによって承認されていなかったとしても。 私たちは楽観的に終局の成功を仮定できました。 私たちが間違っていると、接続はタイムアウトのためとにかく閉じるでしょう。 それでも、いくつかの非同期な信号がありますが、この種類(同期)の実装では、これらは特定のセグメントかどんな手紙でも接続自体に対処するか、ないことのようになるでしょう。

        NOTA BENE: In order for the process to distinguish among error
        or success indications for different SENDs, it might be
        appropriate for the buffer address to be returned along with the
        coded response to the SEND request.  TCP-to-user signals are
        discussed below, indicating the information which should be
        returned to the calling process.

背板嘆願: 異なったSENDsのために誤りか成功指摘の中で区別するプロセスにおいて整然とします、SEND要求へのコード化された応答と共にバッファアドレスを返すのは適切であるかもしれません。 呼び出しプロセスに返されるべきである情報を示して、以下でTCPからユーザへの信号について議論します。

      Receive

受信してください。

        Format:  RECEIVE (local connection name, buffer address, byte
        count)

形式: 受信してください。(市内接続名、バッファアドレス、バイト・カウント)

        This command allocates a receiving buffer associated with the
        specified connection.  If no OPEN precedes this command or the
        calling process is not authorized to use this connection, an
        error is returned.

このコマンドは指定された接続に関連している受信バッファを割り当てます。 どんなオープンもこのコマンドに先行しないか、または呼び出しプロセスがこの接続を使用するのが認可されないなら、誤りは返されます。

        In the simplest implementation, control would not return to the
        calling program until either the buffer was filled, or some
        error occurred, but this scheme is highly subject to deadlocks.
        A more sophisticated implementation would permit several
        RECEIVEs to be outstanding at once.  These would be filled as,
        segments arrive.  This strategy permits increased throughput at
        the cost of a more elaborate scheme (possibly asynchronous) to
        notify the calling program that a letter has been received or a
        buffer filled.

最も簡単な実装では、バッファがいっぱいにされたか、または何らかの誤りが発生するまで、コントロールは呼ぶプログラムに戻らないでしょうが、この体系は行き詰まりを非常に受けることがあります。 より洗練された実装は、数個のRECEIVEsがすぐに傑出していることを許可するでしょう。 これらとして、いっぱいにされて、セグメントは到着します。 この戦略は、より精巧な体系(ことによると非同期な)の費用における増強されたスループットが、手紙を受け取ったか、またはバッファがいっぱいになったことを呼ぶプログラムに通知することを許可します。

        If insufficient buffer space is given to reassemble a complete
        letter, the EOL flag will not be set in the response to the
        RECEIVE.  The buffer will be filled with as much data as it can
        hold.  The last buffer required to hold the letter is returned
        with EOL signaled.

完全な手紙を組み立て直すために不十分なバッファ領域を与えると、RECEIVEへの応答でEOL旗を設定しないでしょう。 バッファは保持できるのと同じくらい多くのデータで満たされるでしょう。 EOLが合図されている状態で、手紙を保持しなければならなかった最後のバッファを返します。

[Page 46]

[46ページ]

January 1980                                                            
                                           Transmission Control Protocol
                                                Functional Specification

1980年1月の通信制御プロトコルの機能的な仕様

        The remaining parts of a partly delivered letter will be placed
        in buffers as they are made available via successive RECEIVEs.
        If a number of RECEIVEs are outstanding, they may be filled with
        parts of a single long letter or with at most one letter each.
        The return codes associated with each RECEIVE will indicate what
        is contained in the buffer.

それらを連続したRECEIVEsを通して利用可能にするとき、一部提供された手紙の残存部分をバッファに置くでしょう。 多くのRECEIVEsが傑出しているなら、彼らは部品でただ一つの長い文字か高々それぞれ1つの文字で満たされるかもしれません。 各RECEIVEに関連している復帰コードはバッファに含まれていることを示すでしょう。

        If a buffer size was given in the OPEN call, then all buffers
        presented in RECEIVE calls must be of exactly that size, or an
        error indication will be returned.

オープン呼び出しでバッファサイズを与えたなら、RECEIVE呼び出しで提示されたすべてのバッファがちょうどそのサイズのものであるに違いありませんか誤り表示を返すでしょう。

        The URGENT flag will be set only if the receiving user has
        previously been informed via a TCP-to-user signal, that urgent
        data is waiting.  The receiving user should thus be in
        "read-fast" mode.  If the URGENT flag is on, additional urgent
        data remains.  If the URGENT flag is off, this call to RECEIVE
        has returned all the urgent data, and the user may now leave
        "read-fast" mode.

緊急のデータが待っているというTCPからユーザへの信号で受信ユーザは以前に知識がある場合にだけ、URGENT旗が設定されるでしょう。 その結果、受信ユーザは「-速く読んでください」モードでいるべきです。 URGENT旗がオンであるなら、追加緊急のデータは残っています。 URGENT旗がオフであるなら、RECEIVEへのこの呼び出しはすべての緊急のデータを返しました、そして、ユーザは今、「速読してください」をモードに出るかもしれません。

        To distinguish among several outstanding RECEIVEs and to take
        care of the case that a letter is smaller than the buffer
        supplied, the return code is accompanied by both a buffer
        pointer and a byte count indicating the actual length of the
        letter received.

数個の傑出しているRECEIVEsの中で区別して、バッファが供給したより小さく、復帰コードがバッファ指針とバイト・カウントの両方によって伴われることに手紙がそうであるケースに注意するために、手紙の実際の長さを示すのは受信されました。

        Alternative implementations of RECEIVE might have the TCP
        allocate buffer storage, or the TCP might share a ring buffer
        with the user.  Variations of this kind will produce obvious
        variation in user interface to the TCP.

TCPがRECEIVEの代替の実装で緩衝記憶装置を割り当てるかもしれませんか、またはTCPはリングバッファをユーザと共有するかもしれません。 この種類の変化はユーザーインタフェースの明白な変化をTCPに発生させるでしょう。

      Close

閉鎖

        Format:  CLOSE(local connection name)

形式: 閉鎖(市内接続名)

        This command causes the connection specified to be closed.  If
        the connection is not open or the calling process is not
        authorized to use this connection, an error is returned.
        Closing connections is intended to be a graceful operation in
        the sense that outstanding SENDs will be transmitted (and
        retransmitted), as flow control permits, until all have been
        serviced.  Thus, it should be acceptable to make several SEND
        calls, followed by a CLOSE, and expect all the data to be sent
        to the destination.  It should also be clear that users should
        continue to RECEIVE on CLOSING connections, since the other side
        may be trying to transmit the last of its data.  Thus, CLOSE
        means "I have no more to send" but does not mean "I will not
        receive any more."  It may happen (if the user level protocol is
        not well thought out) that the closing side is unable to get rid

このコマンドは閉じられるために指定された接続を引き起こします。 接続がオープンでないか、または呼び出しプロセスがこの接続を使用するのが認可されないなら、誤りは返されます。 接続を終えるのは傑出しているSENDsが伝えられるという(そして、再送されます)意味における優雅な操作であることを意図します、フロー制御が可能にするとき、すべてが修理されるまで。 したがって、いくつかのSEND電話をかけて、CLOSEで続いて、すべてのデータが目的地に送られると予想するのは許容できるべきです。 また、ユーザがCLOSING接続でのRECEIVEに続くのも、明確であるはずです、反対側がデータの最終を伝えようとしているかもしれないので。 したがって、CLOSEは、「私はそれ以上発信するために持っていません」と意味しますが、「私はもう受信するつもりではありません。」と意味しません。 終わり側が排除するようになることができないのは起こるかもしれません(ユーザレベルプロトコルがよく考え抜かれないなら)。

                                                               [Page 47]

[47ページ]

                                                            January 1980
Transmission Control Protocol
Functional Specification

1980年1月の通信制御プロトコルの機能的な仕様

        of all its data before timing out.  In this event, CLOSE turns
        into ABORT, and the closing TCP gives up.

外で調節する前のすべてのデータについて。 このイベントでは、CLOSEはABORTに変わります、そして、終わりのTCPはあきらめます。

        The user may CLOSE the connection at any time on his own
        initiative, or in response to various prompts from the TCP
        (e.g., remote close executed, transmission timeout exceeded,
        destination inaccessible).

ユーザは彼自身のイニシアチブのときにいつでもであることにおける、または、TCPからの様々なプロンプトに対応した接続(例えば、実行されたリモート閉鎖、タイムアウトが超えていたトランスミッション、近づきがたい目的地)のCLOSEがそうするかもしれません。

        Because closing a connection requires communication with the
        foreign TCP, connections may remain in the closing state for a
        short time.  Attempts to reopen the connection before the TCP
        replies to the CLOSE command will result in error responses.

接続を終えるのが外国TCPとのコミュニケーションを必要とするので、接続は短い間終わりの州に留まるかもしれません。 TCPがCLOSEコマンドに答える前に接続を再開させる試みは誤り応答をもたらすでしょう。

        Close also implies end of letter.

また、閉鎖は手紙の端を含意します。

      Status

状態

        Format:  STATUS(local connection name)

形式: 状態(市内接続名)

        This is an implementation dependent user command and could be
        excluded without adverse effect.  Information returned would
        typically come from the TCB associated with the connection.

これは、実装に依存するユーザコマンドであり、悪影響なしで除くことができました。 返された情報は接続に関連しているTCBから通常来るでしょう。

        This command returns a data block containing the following
        information:

このコマンドは以下の情報を含むデータ・ブロックを返します:

          local socket,
          foreign socket,
          local connection name,
          receive window,
          send window,
          connection state,
          number of buffers awaiting acknowledgment,
          number of buffers pending receipt (including partial ones),
          receive buffer size,
          urgent state,
          precedence,
          security/compartment,
          and default transmission timeout.

地方のソケット、外国ソケット、市内接続名、窓を受けてください、そして、窓を送ってください、と接続は述べて、承認を待つバッファの数(領収書(部分的なものを含んでいる)までバッファの数)はバッファサイズ、緊急の状態、先行、セキュリティ/コンパートメント、およびデフォルトトランスミッションタイムアウトを受けます。

        Depending on the state of the connection, or on the
        implementation itself, some of this information may not be
        available or meaningful.  If the calling process is not
        authorized to use this connection, an error is returned.  This
        prevents unauthorized processes from gaining information about a
        connection.

接続の状態、または、実装自体によって、この情報のいくつかが、利用可能であるか、または重要でないかもしれません。 呼び出しプロセスがこの接続を使用するのが認可されないなら、誤りは返されます。 これは、権限のないプロセスが接続に関して情報を得るのを防ぎます。

[Page 48]

[48ページ]

January 1980                                                            
                                           Transmission Control Protocol
                                                Functional Specification

1980年1月の通信制御プロトコルの機能的な仕様

      Abort

アボート

        Format:  ABORT (local connection name)

形式: アボート(市内接続名)

        This command causes all pending SENDs and RECEIVES to be
        aborted, the TCB to be removed, and a special RESET message to
        be sent to the TCP on the other side of the connection.
        Depending on the implementation, users may receive abort
        indications for each outstanding SEND or RECEIVE, or may simply
        receive an ABORT-acknowledgment.

このコマンドはすべての未定のSENDs、中止されるべきRECEIVES、取り除かれるべきTCB、および接続の反対側の上のTCPに送られるべき特別なRESETメッセージを引き起こします。 実装によって、ユーザは、各傑出しているSENDかRECEIVEのためにアボート指摘を受けるか、または単にABORT-承認を受けるかもしれません。

    TCP-to-User Messages

TCPからユーザへのメッセージ

      It is assumed that the operating system environment provides a
      means for the TCP to asynchronously signal the user program.  When
      the TCP does signal a user program, certain information is passed
      to the user.  Often in the specification the information will be
      an error message.  In other cases there will be information
      relating to the completion of processing a SEND or RECEIVE or
      other user call.

オペレーティングシステム環境がTCPがユーザ・プログラムに非同期に合図する手段を提供すると思われます。 TCPがユーザ・プログラムに合図すると、ある情報はユーザに渡されます。 しばしば仕様では、情報はエラーメッセージになるでしょう。 他の場合には、SENDかRECEIVEを処理する完成に関連する情報か他のユーザ呼び出しがあるでしょう。

      The following information is provided:

以下の情報を提供します:

        Local Connection Name                    Always
        Response String                          Always
        Buffer Address                           Send & Receive
        Byte count (counts bytes received)       Receive
        End-of-Letter flag                       Receive
        End-of-Urgent flag                       Receive

地方のConnection Name Always Response String Always Buffer Address SendとReceive Byteカウント(バイトが受けたカウント)は手紙のEnd旗の緊急のReceive End旗のReceiveを受けます。

  TCP/Network Interface

TCP/ネットワーク・インターフェース

    The TCP calls on a lower level protocol module to actually send and
    receive information over a network.  One case is that of the ARPA
    internetwork system where the lower level module is the Internet
    Protocol [2].  In most cases the following simple interface would be
    adequate.

TCPは、下のレベルプロトコルモジュールが実際にネットワークの上に情報を送って、受け取るよう呼びかけます。 1つのケースが下のレベルモジュールがインターネットプロトコル[2]であるところのARPAインターネットワークシステムのものです。 多くの場合、以下の簡単なインタフェースは適切でしょう。

                                                               [Page 49]

[49ページ]

                                                            January 1980
Transmission Control Protocol
Functional Specification

1980年1月の通信制御プロトコルの機能的な仕様

    The following two calls satisfy the requirements for the TCP to
    internet protocol module communication:

以下の2つの呼び出しがインターネットプロトコルモジュールコミュニケーションにTCPのための要件を満たします:

      SEND (dest, TOS, TTL, BufPTR, len, Id, DF, options => result)

発信してください。(>dest、TOS、TTL、BufPTR、len、Id、DF、オプション=結果)

        where:

どこ:

          dest = destination address
          TOS = type of service
          TTL = time to live
          BufPTR = buffer pointer
          len = length of buffer
          Id  = Identifier
          DF = Don't Fragment
          options = internet option data
          result = response
            OK = datagram sent ok
            Error = error in arguments or local network error

dest=目的地は生体のBufPTR=バッファ指針len=長さの識別子DFバッファId==へのサービスTTL=時間のタイプがそうしないTOS=に応答OK=データグラムが議論における間違いないError=誤りか企業内情報通信網誤りを送ったインターネットオプションデータFragmentオプション=結果=を扱います。

        Note that the precedence is included in the TOS and the
        security/compartment is passed as an option.

先行がTOSに含まれていて、セキュリティ/コンパートメントがオプションとして通り過ぎられることに注意してください。

      RECV (BufPTR => result, source, dest, prot, TOS, len)

RECV(>結果、ソース、dest、prot、TOS、BufPTR=len)

        where:

どこ:

          BufPTR = buffer pointer
          result = response
            OK = datagram received ok
            Error = error in arguments
          source = source address
          dest = destination address
          prot = protocol
          TOS = type of service
          options = internet option data
          len = length of buffer

応答OK=バッファ指針BufPTR=結果=データグラムはバッファのインターネットオプションデータlen=サービスオプションのソースアドレスdest=目的地アドレスprot=プロトコルTOS=議論ソース=タイプ=長さで間違いないError=誤りを受けました。

        Note that the precedence is in the TOS, and the
        security/compartment is an option.

先行がTOSにあって、セキュリティ/コンパートメントがオプションであることに注意してください。

      When the TCP sends a segment, it executes the SEND call supplying
      all the arguments.  The internet protocol module, on receiving
      this call, checks the arguments and prepares and sends the
      message.  If the arguments are good and the segment is accepted by
      the local network, the call returns successfully.  If either the
      arguments are bad, or the segment is not accepted by the local
      network, the call returns unsuccessfully.  On unsuccessful
      returns, a reasonable report should be made as to the cause of the

TCPがセグメントを送るとき、それはすべての議論を供給するSEND呼び出しを実行します。 インターネットプロトコルモジュールは、メッセージをこの呼び出しを受けるとき議論をチェックして、準備して、送ります。 議論が良く、セグメントが企業内情報通信網によって受け入れられるなら、呼び出しは首尾よく戻ります。 議論が悪いか、またはセグメントが企業内情報通信網によって受け入れられないなら、呼び出しは戻って失敗した。 失敗のリターンのときに、妥当なレポートは原因に関して作られるべきです。

[Page 50]

[50ページ]

January 1980                                                            
                                           Transmission Control Protocol
                                                Functional Specification

1980年1月の通信制御プロトコルの機能的な仕様

      problem, but the details of such reports are up to individual
      implementations.

しかし、問題、そのようなレポートの詳細は個々の実装まで達しています。

      When a segment arrives at the internet protocol module from the
      local network, either there is a pending RECV call from TCP or
      there is not.  In the first case, the pending call is satisfied by
      passing the information from the segment to the TCP.  In the
      second case, the TCP is notified of a pending segment.

セグメントが企業内情報通信網からインターネットプロトコルモジュールに到着するとき、TCPからの未定のRECV呼び出しがあるか、またはありません。 前者の場合、未定の呼び出しは、セグメントからTCPまで情報を通過することによって、満たされています。 2番目の場合では、未定のセグメントについてTCPに通知します。

      The notification of a TCP may be via a pseudo interrupt or similar
      mechanism, as appropriate in the particular operating system
      environment of the implementation.

TCPの通知が疑似中断か同様のメカニズムであるかもしれません、実装の特定のオペレーティングシステム環境で、適切です。

      A TCP's RECV call may then either be immediately satisfied by a
      pending segment, or the call may be pending until a segment
      arrives.

次に、TCPのRECV呼び出しがすぐに、未定のセグメントによって満たされるかもしれませんか、またはセグメントが到着するまで、呼び出しは未定であるかもしれません。

      We note that the Internet Protocol provides arguments for a type
      of service and for a time to live.  TCP uses the following
      settings for these parameters:

私たちは、インターネットプロトコルが一種のサービスと生きる時間に議論を提供することに注意します。 TCPはこれらのパラメタに以下の設定を使用します:

        Type of Service = Precedence:  none, Package:  stream,
        Reliability:  higher, Preference:  speed, Speed:  higher; or
        00011111.

サービスのタイプは先行と等しいです: なにも、パッケージ: Reliability、流れてください: より高い、Preference: Speed、疾走してください: より高い。 または、00011111。

        Time to Live    = one minute, or 00111100.

Liveへの時間は1つ分、または00111100と等しいです。

          Note that the assumed maximum segment lifetime is two minutes.
          Here we explicitly ask that a segment be destroyed if it
          cannot be delivered by the internet system within one minute.

想定された最大のセグメント寿命が2分であることに注意してください。 ここで、私たちは、1分以内にインターネットシステムでそれを提供できないならセグメントが破壊されるように明らかに頼みます。

                                                               [Page 51]

[51ページ]

                                                            January 1980
Transmission Control Protocol
Functional Specification

1980年1月の通信制御プロトコルの機能的な仕様

3.9.  Event Processing

3.9. イベント処理

  The activity of the TCP can be characterized as responding to events.
  The events that occur can be cast into three categories:  user calls,
  arriving segments, and timeouts.  This section describes the
  processing the TCP does in response to each of the events.  In many
  cases the processing required depends on the state of the connection.

イベントに応じるとしてTCPの活動を特徴付けることができます。 起こるイベントは3つのカテゴリに投げかけることができます: ユーザ呼び出し、到着しているセグメント、およびタイムアウト。 このセクションはTCPがそれぞれのイベントに対応してする処理について説明します。 多くの場合、必要である処理は接続の状態に依存します。

    Events that occur:

起こるイベント:

      User Calls

ユーザ呼び出し

        OPEN
        SEND
        RECEIVE
        CLOSE
        ABORT
        STATUS

戸外が発信する、近いアボート状態を取ってください。

      Arriving Segments

到着セグメント

        SEGMENT ARRIVES

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

      Timeouts

タイムアウト

        USER TIMEOUT
        RETRANSMISSION TIMEOUT

ユーザタイムアウト再送タイムアウト

  The model of the TCP/user interface is that user commands receive an
  immediate return and possibly a delayed response via an event or
  pseudo interrupt.  In the following descriptions, the term "signal"
  means cause a delayed response.

TCP/ユーザーインタフェースのモデルはユーザコマンドがイベントか疑似中断で即座のリターンとことによると遅延応答を受けるということです。 以下の記述では、「信号」という用語は、遅延応答を引き起こすことを意味します。

  Error responses are given as character strings.  For example, user
  commands referencing connections that do not exist receive "error:
  connection not open".

文字列として誤り応答を与えます。 例えば、存在しない接続に参照をつけるユーザコマンドが受信される、「誤り:」 「オープンでない接続。」

  Please note in the following that all arithmetic on sequence numbers,
  acknowledgment numbers, windows, et cetera, is modulo 2**32 the size
  of the sequence number space.  Also note that "=<" means less than or
  equal to.

以下で一連番号、確認応答番号、窓などですべて算数でそれに注意してください、そして、法2**32は一連番号スペースのサイズですか? また、その「=<」がそれほど意味しないことに注意してください。

  A natural way to think about processing incoming segments is to
  imagine that they are first tested for proper sequence number (i.e.,
  that their contents lie in the range of the expected "receive window"
  in the sequence number space) and then that they are generally queued
  and processed in sequence number order.

入って来るセグメントを処理すると考える自然な方法はそれらがその時一連番号オーダーでそれらが最初に、適切な一連番号がないかどうかテストされて(すなわち、それらの内容が予想の範囲にあるのが一連番号スペースで「窓を受ける」)、一般に、列に並ばせられて、処理されると想像することです。

[Page 52]

[52ページ]

January 1980                                                            
                                           Transmission Control Protocol
                                                Functional Specification

1980年1月の通信制御プロトコルの機能的な仕様

  When a segment overlaps other already received segments we reconstruct
  the segment to contain just the new data, and adjust the header fields
  to be consistent.

セグメントが他の既に容認されたセグメントを重ね合わせるとき、私たちは、まさしく新しいデータを含むようにセグメントを再建して、一貫しているようにヘッダーフィールドを調整します。

                                                               [Page 53]

[53ページ]

                                                            January 1980
Transmission Control Protocol
Functional Specification
                                                               OPEN Call

1980年1月の通信制御プロトコルの機能的な仕様オープンコール

  OPEN Call

オープンコール

    CLOSED STATE (i.e., TCB does not exist)

閉じている状態(すなわち、TCBは存在していません)

      Create a new transmission control block (TCB) to hold connection
      state information.  Fill in local socket identifier, foreign
      socket, precedence, security/compartment, and user timeout
      information.  Verify the security and precedence requested are
      allowed for this user, if not return "error:  precedence not
      allowed" or "error:  security/compartment not allowed."  If active
      and the foreign socket is unspecified, return "error:  foreign
      socket unspecified"; if active and the foreign socket is
      specified, issue a SYN segment.  An initial send sequence number
      (ISS) is selected and the TCP receive buffer size is selected (if
      applicable).  A SYN segment of the form <SEQ=ISS><CTL=SYN> is sent
      (this may include the buffer size option if applicable).  Set
      SND.UNA to ISS, SND.NXT to ISS+1, SND.LBB to ISS+1, enter SYN-SENT
      state, and return.

新しいトランスミッション制御ブロック(TCB)を作成して、接続州の情報を保持してください。 ローカルのソケット識別子、外国ソケット、先行、セキュリティ/コンパートメント、およびユーザタイムアウト情報に記入してください。 セキュリティについて確かめて、戻らないでもこのユーザのために許容されている、先行が、要求した「誤り:」 または、「先行は許容しなかった」、「誤り:」 「許容されなかったセキュリティ/コンパートメント。」 能動態と外国ソケットが不特定であるなら、戻ってください、「誤り:」 「外国ソケット不特定」。 能動態と外国ソケットが指定されるなら、SYNセグメントを発行してください。 一連番号(ISS)は、選択されていてTCPです。イニシャルが発信する、受信バッファサイズは選択されます(適切であるなら)。 フォーム<SEQ=ISS><CTL=SYN>のSYNセグメントを送ります(適切であるなら、これはバッファサイズオプションを含むかもしれません)。 ISSにSND.UNAを設定してください、ISS+1へのSND.NXT(ISS+1へのSND.LBB)はSYN-SENT状態に入って、戻ります。

      If the caller does not have access to the local socket specified,
      return "error:  connection illegal for this process".  If there is
      no room to create a new connection, return "error:  insufficient
      resources".

訪問者が地方のソケットへのアクセスを指定させないなら、戻ってください、「誤り:」 「このプロセスのための接続不法入国者。」 新しい接続を創造する余地が全くなければ、戻ってください、「誤り:」 「不十分なリソース。」

    LISTEN STATE
    SYN-SENT STATE
    SYN-RECEIVED STATE
    ESTABLISHED STATE
    FIN-WAIT-1 STATE
    FIN-WAIT-2 STATE
    TIME-WAIT STATE
    CLOSE-WAIT STATE
    CLOSING STATE

状態を閉じて、SYNによって送られた州のSYNによって容認された州の確立した州のフィン州の待1ち州のフィン待2ちの州の時間待ち状態の近い待ち状態を聴いてください。

      Return "error:  connection already exists".

リターン、「誤り:」 「接続は既に存在しています。」

[Page 54]

[54ページ]

January 1980                                                            
                                           Transmission Control Protocol
                                                Functional Specification
SEND Call

1980年1月の通信制御プロトコルの機能的な仕様は呼び出しを送ります。

  SEND Call

呼び出しを送ってください。

    CLOSED STATE (i.e., TCB does not exist)

閉じている状態(すなわち、TCBは存在していません)

      If the user should no have access to such a connection, then
      return "error:  connection illegal for this process".

いいえがユーザであるならそのようなa接続に近づく手段を持つべきであり、次に、戻ってください、「誤り:」 「このプロセスのための接続不法入国者。」

      Otherwise, return "error:  connection does not exist".

さもなければ、戻ってください、「誤り:」 「接続は存在していません。」

    LISTEN STATE

状態を聴いてください。

      If the foreign socket is specified, then change the connection
      from passive to active, select an ISS, and select the receive
      buffer size.  Send a SYN segment, set SND.UNA to ISS, SND.NXT to
      ISS+1 and SND.LBB to ISS+1.  Enter SYN-SENT state.  Data
      associated with SEND may be sent with SYN segment or queued for
      transmission after entering ESTABLISHED state.  The urgent bit if
      requested in the command should be sent with the first data
      segment sent as a result of this command.  If there is no room to
      queue the request, respond with "error:  insufficient resources".
      If Foreign socket was not specified, then return "error:  foreign
      socket unspecified".

外国ソケットが指定されるなら、受動態からアクティブになるまでの接続を変えてください、そして、ISSを選択してください、そして、受信バッファサイズを選択してください。 SYNセグメントを送ってください、そして、ISSへのSND.UNA、ISS+1へのSND.NXT、およびISS+1へのSND.LBBを設定してください。 SYN-SENT状態に入ってください。 SENDに関連しているデータをSYNセグメントと共に送るか、またはESTABLISHED状態に入った後に、トランスミッションのために列に並ばせるかもしれません。 コマンドで要求するなら、最初のデータ・セグメントをこのコマンドの結果、送付で緊急のビットを送るべきです。 要求を列に並ばせる余地が全くなければ、応じてください、「誤り:」 「不十分なリソース。」 Foreignソケットが指定されなかったなら戻ってください、「誤り:」 「外国ソケット不特定です」。

    SYN-SENT STATE

SYNによって送られた状態

      Queue for processing after the connection is ESTABLISHED.
      Typically, nothing can be sent yet, anyway, because the send
      window has not yet been set by the other side.  If no space,
      return "error:  insufficient resources".

処理には、接続がESTABLISHEDになった後に列を作ってください。 窓を送ってください。通常、まだ、とにかく何も送ることができない、反対側によってまだ設定されていません。 スペースでないなら、戻ってください、「誤り:」 「不十分なリソース。」

    SYN-RECEIVED STATE

SYNによって容認された状態

      Queue for later processing after entering ESTABLISHED state.  If
      no space to queue, respond with "error:  insufficient resources".

ESTABLISHED状態に入った後に後で処理するには、列を作ってください。 列に並ばせて、応じるスペースでない、「誤り:」 「不十分なリソース。」

    ESTABLISHED STATE

設立された状態

      Segmentize the buffer, send or queue it for output, with a
      piggybacked acknowledgment (acknowledgment value = RCV.NXT) with
      the data.  If there is insufficient space to remember this buffer,
      simply return "error:  insufficient resources".

出力のためにデータがある便乗している承認(承認値はRCV.NXTと等しい)でバッファをSegmentizeするか、発信するか、またはそれを列に並ばせます。 このバッファを覚えているために不十分なスペースがあれば、単に戻ってください、「誤り:」 「不十分なリソース。」

      If remote buffer size is not one octet, and, if this is the end of
      a letter, do the following end-of-letter/buffer-size adjustment
      processing:

これが手紙の端であり、リモートバッファサイズが1つの八重奏でないなら、以下のバッファ手紙の端/サイズの調節処理をしてください:

                                                               [Page 55]

[55ページ]

                                                            January 1980
Transmission Control Protocol
Functional Specification
                                                               SEND Call

1980年1月の通信制御プロトコルの機能的な仕様は呼び出しを送ります。

        if EOL = 0 then

EOLがその時0と等しいなら

          SND.NXT <- SEG.SEQ + SEG.LEN

SND.NXT<SEG.SEQ+SEG.LEN

        if EOL = 1 then

EOLがその時1と等しいなら

          While SND.LBB < SEG.SEQ + SEG.LEN
          Do SND.LBB <- SND.LBB + SND.BS End
          SND.NXT <- SND.LBB

SND.LBB<SEG.SEQ+SEG.LENはSND.LBB<SND.BS終わりのSND.NXT SND.LBB+<SND.LBBをしますが

      If the urgent flag is set, then SND.UP <- SND.NXT-1 and set the
      urgent pointer in the outgoing segment.

緊急の旗が設定されて、次に、SND.UP<がSND.NXT-1であり、セットが外向的なセグメントの緊急の指針であるなら。

    FIN-WAIT-1 STATE
    FIN-WAIT-2 STATE
    TIME-WAIT STATE

フィン待1ち州のフィン待2ち州の時間待ち状態

      Return "error:  connection closing" and do not service request.

リターン、「誤り:」 「接続閉鎖、」 どんなサービスのリクエストもしないでください。

    CLOSE-WAIT STATE

近い待ち状態

      Segmentize any text to be sent and queue for output.  If there is
      insufficient space to remember the SEND, return "error:
      insufficient resources"

Segmentizeする、送られて、出力のために列を作るどんなテキスト。 SENDを覚えているために不十分なスペースがあれば、戻ってください、「誤り:」 「不十分なリソース」

    CLOSING STATE

状態を閉じます。

      Respond with "error:  connection closing"

応じる、「誤り:」 「接続閉鎖」

[Page 56]

[56ページ]

January 1980                                                            
                                           Transmission Control Protocol
                                                Functional Specification
RECEIVE Call

1980年1月の通信制御プロトコルの機能的な仕様は呼び出しを受けます。

  RECEIVE Call

呼び出しを受けてください。

    CLOSED STATE (i.e., TCB does not exist)

閉じている状態(すなわち、TCBは存在していません)

      If the user should no have access to such a connection, return
      "error:  connection illegal for this process".

ユーザがそうするならいいえがそのような接続に近づく手段を持って、戻ってください、「誤り:」 「このプロセスのための接続不法入国者。」

      Otherwise return "error:  connection does not exist".

さもなければ、戻ってください、「誤り:」 「接続は存在していません。」

    LISTEN STATE
    SYN-SENT STATE
    SYN-RECEIVED STATE

州のSYNによって送られた州のSYNによって容認された状態を聴いてください。

      Queue for processing after entering ESTABLISHED state.  If there
      is no room to queue this request, respond with "error:
      insufficient resources".

処理には、ESTABLISHED状態に入った後に、列を作ってください。 待ち行列へのこれが要求して、応じる余地が全くない、「誤り:」 「不十分なリソース。」

    ESTABLISHED STATE

設立された状態

      If insufficient incoming segments are queued to satisfy the
      request, queue the request.  If there is no queue space to
      remember the RECEIVE, respond with "error:  insufficient
      resources".

不十分な入って来るセグメントが要望に応じるために列に並ばせられるなら、要求を列に並ばせてください。 いいえが待ち行列がRECEIVEを覚えているために区切って、応じるある、「誤り:」 「不十分なリソース。」

      Reassemble queued incoming segments into receive buffer and return
      to user.  Mark "end of letter" (EOL) if this is the case.

列に並ばせられた入って来るセグメントを受信バッファの中に組み立て直してください、そして、ユーザに戻ってください。 これがそうであるなら「手紙の端」(EOL)をマークしてください。

      If RCV.UP is in advance of the data currently being passed to the
      user notify the user of the presence of urgent data.

RCV.UPが現在ユーザに渡されるデータの前にあるなら、緊急のデータの存在についてユーザに通知してください。

      When the TCP takes responsibility for delivering data to the user
      that fact must be communicated to the sender via an
      acknowledgment.  The formation of such an acknowledgment is
      described below in the discussion of processing an incoming
      segment.

TCPがデータをユーザに提供するのに責任を取るとき、承認でその事実を送付者に伝えなければなりません。 そのような承認の構成は以下で入って来るセグメントを処理する議論で説明されます。

    FIN-WAIT-1 STATE
    FIN-WAIT-2 STATE

フィン待1ち州のフィン待2ち状態

      Reassemble and return a letter, or as much as will fit, in the
      user buffer.  Queue the request if it cannot be serviced
      immediately.

同じくらい手紙、またはユーザバッファで合うのと同じくらい多くを組み立て直して、返してください。 すぐにそれを調整できないなら、要求を列に並ばせてください。

                                                               [Page 57]

[57ページ]

                                                            January 1980
Transmission Control Protocol
Functional Specification
                                                            RECEIVE Call

1980年1月の通信制御プロトコルの機能的な仕様は呼び出しを受けます。

    TIME-WAIT STATE
    CLOSE-WAIT STATE

時間待ち状態の近い待ち状態

      Since the remote side has already sent FIN, RECEIVEs must be
      satisfied by text already reassembled, but not yet delivered to
      the user.  If no reassembled segment text is awaiting delivery,
      the RECEIVE should get a "error:  connection closing" response.
      Otherwise, any remaining text can be used to satisfy the RECEIVE.

遠隔地側が既にFINを送ったので、既に組み立て直されましたが、まだユーザに提供されなかったテキストでRECEIVEsを満たさなければなりません。 どんな組み立て直されたセグメントテキストも配送を待っていないなら、RECEIVEがaを得るはずである、「誤り:」 「接続閉鎖」応答。 さもなければ、RECEIVEを満たすのにどんな残っているテキストも使用できます。

    CLOSING STATE

状態を閉じます。

      Return "error:  connection closing"

リターン、「誤り:」 「接続閉鎖」

[Page 58]

[58ページ]

January 1980                                                            
                                           Transmission Control Protocol
                                                Functional Specification
CLOSE Call

1980年1月の通信制御プロトコルの機能的な仕様危機一髪

  CLOSE Call

危機一髪

    CLOSED STATE (i.e., TCB does not exist)

閉じている状態(すなわち、TCBは存在していません)

      If the user should no have access to such a connection, return
      "error:  connection illegal for this process".

ユーザがそうするならいいえがそのような接続に近づく手段を持って、戻ってください、「誤り:」 「このプロセスのための接続不法入国者。」

      Otherwise, return "error:  connection does not exist".

さもなければ、戻ってください、「誤り:」 「接続は存在していません。」

    LISTEN STATE

状態を聴いてください。

      Any outstanding RECEIVEs should be returned with "error:  closing"
      responses.  Delete TCB, return "ok".

どんな傑出しているRECEIVEsもともに帰られるべきである、「誤り:」 応答を「閉じます」。 TCBを削除してください、そして、「OKに」戻ってください。

    SYN-SENT STATE

SYNによって送られた状態

      Delete the TCB and return "error:  closing" responses to any
      queued SENDs, or RECEIVEs.

TCBとリターンを削除してください、「誤り:」 いずれかへの応答を「閉じる」と、SENDs、またはRECEIVEsが列に並ばせました。

    SYN-RECEIVED STATE

SYNによって容認された状態

      Queue for processing after entering ESTABLISHED state or
      segmentize and send FIN segment.  If the latter, enter FIN-WAIT-1
      state.

ESTABLISHED状態に入った後に、処理のために列を作ってくださいか、FINセグメントをsegmentizeして、送ってください。 後者であるなら、FIN-WAIT-1状態に入ってください。

    ESTABLISHED STATE

設立された状態

      Queue this until all preceding SENDs have been segmentized, then
      form a FIN segment and send it.  In any case, enter FIN-WAIT-1
      state.

すべての前のSENDsがsegmentizedされるまで、これを列に並ばせてください、そして、次に、FINセグメントを形成してください、そして、それを送ってください。 どのような場合でも、FIN-WAIT-1状態に入ってください。

    FIN-WAIT-1 STATE
    FIN-WAIT-2 STATE

フィン待1ち州のフィン待2ち状態

      Strictly speaking, this is an error and should receive a "error:
      connection closing" response.  An "ok" response would be
      acceptable, too, as long as a second FIN is not emitted (the first
      FIN may be retransmitted though).

厳密に言うと、これが誤りであり、aを受けるべきである、「誤り:」 「接続閉鎖」応答。 また、第2のFINが放たれていない(もっとも、最初のFINは再送されるかもしれません)限り、「間違いありません、な」応答は許容できるでしょう。

                                                               [Page 59]

[59ページ]

                                                            January 1980
Transmission Control Protocol
Functional Specification
                                                              CLOSE Call

1980年1月の通信制御プロトコルの機能的な仕様危機一髪

    TIME-WAIT STATE

時間待ち状態

      Strictly speaking, this is an error and should receive a "error:
      connection closing" response.  An "ok" response would be
      acceptable, too.  However, since the FIN has been sent and
      acknowledged, nothing should be sent (or retransmitted).

厳密に言うと、これが誤りであり、aを受けるべきである、「誤り:」 「接続閉鎖」応答。 また、「間違いありません、な」応答は許容できるでしょう。 しかしながら、FINが送られて、承認されたので、何も送るべきではありません(または、再送されます)。

    CLOSE-WAIT STATE

近い待ち状態

      Queue this request until all preceding SENDs have been
      segmentized; then send a FIN segment, enter CLOSING state.

すべての前のSENDsがsegmentizedされるまで、この要求を列に並ばせてください。 次に、FINセグメントを送ってください、そして、CLOSING状態に入れてください。

    CLOSING STATE

状態を閉じます。

      Respond with "error:  connection closing"

応じる、「誤り:」 「接続閉鎖」

[Page 60]

[60ページ]

January 1980                                                            
                                           Transmission Control Protocol
                                                Functional Specification
ABORT Call

1980年1月の通信制御プロトコルの機能的な仕様アボート呼び出し

  ABORT Call

アボート呼び出し

    CLOSED STATE (i.e., TCB does not exist)

閉じている状態(すなわち、TCBは存在していません)

      If the user should no have access to such a connection, return
      "error:  connection illegal for this process".

ユーザがそうするならいいえがそのような接続に近づく手段を持って、戻ってください、「誤り:」 「この過程のための接続不法入国者。」

      Otherwise return "error:  connection does not exist".

さもなければ、戻ってください、「誤り:」 「接続は存在していません。」

    LISTEN STATE

状態を聴いてください。

      Any outstanding RECEIVEs should be returned with "error:
      connection reset" responses.  Delete TCB, return "ok".

どんな傑出しているRECEIVEsもともに帰られるべきである、「誤り:」 「接続リセット」応答。 TCBを削除してください、そして、「OKに」戻ってください。

    SYN-SENT STATE

SYNによって送られた状態

      Delete the TCB and return "reset" responses to any queued SENDs,
      or RECEIVEs.

どんな列に並ばせられたSENDsや、またはRECEIVEsへのTCBとリターン「リセット」応答も削除してください。

    SYN-RECEIVED STATE

SYNによって容認された状態

      Send a RST of the form:

形式のRSTを送ってください:

        <SEQ=SND.NXT><ACK=RCV.NXT><CTL=RST,ACK>

<SEQ=SND.NXT><ACK=RCV.NXT><CTL=RST、ACK>。

      and return any unprocessed SENDs, or RECEIVEs with "reset" code,
      delete the TCB.

そして、リターンの未加工のいずれもSENDs、または「リセット」コードがあるRECEIVEsがTCBを削除します。

    ESTABLISHED STATE

設立された状態

      Send a reset segment:

リセットセグメントを送ってください:

        <SEQ=SND.NXT><ACK=RCV.NXT><CTL=RST,ACK>

<SEQ=SND.NXT><ACK=RCV.NXT><CTL=RST、ACK>。

      All queued SENDs and RECEIVEs should be given "reset" responses;
      all segments queued for transmission (except for the RST formed
      above) or retransmission should be flushed, delete the TCB.

すべてがSENDsを列に並ばせました、そして、「リセット」応答をRECEIVEsに与えるべきです。 トランスミッション(上に形成されたRSTを除いた)か「再-トランスミッション」のために列に並ばせられたセグメントがそうするべきであるすべてが洗い流されて、TCBを削除してください。

                                                               [Page 61]

[61ページ]

                                                            January 1980
Transmission Control Protocol
Functional Specification
                                                              ABORT Call

1980年1月の通信制御プロトコルの機能的な仕様アボート呼び出し

    FIN-WAIT-1 STATE
    FIN-WAIT-2 STATE

フィン待1ち州のフィン待2ち状態

      A reset segment (RST) should be formed and sent:

リセットセグメント(RST)を形成して、送るべきです:

        <SEQ=SND.NXT><ACK=RCV.NXT><CTL=RST,ACK>

<SEQ=SND.NXT><ACK=RCV.NXT><CTL=RST、ACK>。

      Outstanding SENDs, RECEIVEs, CLOSEs, and/or segments queued for
      retransmission, or segmentizing, should be flushed, with
      "connection reset" notification to the user, delete the TCB.

傑出しているSENDs(「再-トランスミッション」、またはsegmentizingが洗い流されるべきであるユーザへの「接続リセット」通知で列に並ばせられたRECEIVEs、CLOSEs、そして/または、セグメント)はTCBを削除します。

    TIME-WAIT STATE

時間待ち状態

      Respond with "ok" and delete the TCB.

「OK」で応じてください、そして、TCBを削除してください。

    CLOSE-WAIT STATE

近い待ち状態

      Flush any pending SENDs and RECEIVEs, returning "connection reset"
      responses for them.  Form and send a RST segment:

それらのために「接続リセット」応答を返して、あらゆる未定のSENDsとRECEIVEsを洗い流してください。 RSTセグメントを形成して、送ってください:

        <SEQ=SND.NXT><ACK=RCV.NXT><CTL=RST,ACK>

<SEQ=SND.NXT><ACK=RCV.NXT><CTL=RST、ACK>。

      Flush all segment queues and delete the TCB.

すべてのセグメント待ち行列を洗い流してください、そして、TCBを削除してください。

    CLOSING STATE

状態を閉じます。

      Respond with "ok" and delete the TCB; flush any remaining segment
      queues.  If a CLOSE command is still pending, respond "error:
      connection reset".

「OK」で応じてください、そして、TCBを削除してください。 あらゆる残っているセグメント待ち行列を洗い流してください。 CLOSEコマンドがまだ未定であるなら、応じてください、「誤り:」 「接続リセット。」

[Page 62]

[62ページ]

January 1980                                                            
                                           Transmission Control Protocol
                                                Functional Specification
STATUS Call

1980年1月の通信制御プロトコルの機能的な仕様状態呼び出し

  STATUS Call

状態呼び出し

    CLOSED STATE (i.e., TCB does not exist)

閉じている状態(すなわち、TCBは存在していません)

      If the user should no have access to such a connection, return
      "error:  connection illegal for this process".

ユーザがそうするならいいえがそのような接続に近づく手段を持って、戻ってください、「誤り:」 「この過程のための接続不法入国者。」

      Otherwise return "error:  connection does not exist".

さもなければ、戻ってください、「誤り:」 「接続は存在していません。」

    LISTEN STATE

状態を聴いてください。

      Return "state = LISTEN", and the TCB pointer.

「状態はLISTENと等しい」、およびTCBポインタを返してください。

    SYN-SENT STATE

SYNによって送られた状態

      Return "state = SYN-SENT", and the TCB pointer.

「状態はSYN-SENTと等しい」、およびTCBポインタを返してください。

    SYN-RECEIVED STATE

SYNによって容認された状態

      Return "state = SYN-RECEIVED", and the TCB pointer.

「状態はSYN-RECEIVEDと等しい」、およびTCBポインタを返してください。

    ESTABLISHED STATE

設立された状態

      Return "state = ESTABLISHED", and the TCB pointer.

「状態はESTABLISHEDと等しい」、およびTCBポインタを返してください。

    FIN-WAIT-1 STATE

フィン待1ち状態

      Return "state = FIN-WAIT-1", and the TCB pointer.

「FIN-WAIT-1インチ、およびTCB状態=ポインタ」を返してください。

    FIN-WAIT-2 STATE

フィン待2ち状態

      Return "state = FIN-WAIT-2", and the TCB pointer.

「FIN-WAIT-2インチ、およびTCB状態=ポインタ」を返してください。

    TIME-WAIT STATE

時間待ち状態

      Return "state = TIME-WAIT and the TCB pointer.

「タイム誌-WAITとTCB状態=ポインタ」を返してください。

    CLOSE-WAIT STATE

近い待ち状態

      Return "state = CLOSE-WAIT", and the TCB pointer.

「状態はCLOSE-WAITと等しい」、およびTCBポインタを返してください。

    CLOSING STATE

状態を閉じます。

      Return "state = CLOSING", and the TCB pointer.

「状態はCLOSINGと等しい」、およびTCBポインタを返してください。

                                                               [Page 63]

[63ページ]

                                                            January 1980
Transmission Control Protocol
Functional Specification
                                                         SEGMENT ARRIVES

1980年1月の通信制御プロトコルの機能的な仕様セグメントは到着します。

  SEGMENT ARRIVES

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

    If the state is CLOSED (i.e., TCB does not exist) then

その時状態がCLOSED(すなわち、TCBは存在していない)であるなら

      all data in the incoming segment is discarded.  An incoming
      segment containing a RST is discarded.  An incoming segment not
      containing a RST causes a RST to be sent in response.  The
      acknowledgment and sequence field values are selected to make the
      reset sequence acceptable to the TCP that sent the offending
      segment.

入って来るセグメントのすべてのデータが捨てられます。 RSTを含む入って来るセグメントは捨てられます。 RSTを含まない入って来るセグメントで、応答でRSTを送ります。 承認と系列分野値でリセット系列が怒っているセグメントを送ったTCPに許容できるようになるのが選択されます。

      If the ACK bit is off, sequence number zero is used,

ACKビットがオフであるなら、一連番号ゼロは使用されています。

        <SEQ=0><ACK=SEG.SEQ+SEG.LEN><CTL=RST,ACK>

<SEQ=0><ACK=SEG.SEQ+SEG.LEN><CTL=RST、ACK>。

      If the ACK bit is on,

ACKビットがオンであるなら

        <SEQ=SEG.ACK><CTL=RST>

<SEQ=SEG.ACK><CTL=RST>。

      Return.

戻ってください。

    If the state is LISTEN then

その時状態がLISTENであるなら

      first check for an ACK

まず最初に、ACKがないかどうかチェックしてください。

        Any acknowledgment is bad if it arrives on a connection still in
        the LISTEN state.  An acceptable reset segment should be formed
        for any arriving ACK-bearing segment, except another RST.  The
        RST should be formatted as follows:

まだLISTEN状態での接続に到達するなら、どんな承認も悪いです。 許容できるリセットセグメントはどんなACKを持っている到着セグメントのためにも形成されるべきです、別のRSTを除いて。RSTは以下の通りフォーマットされるべきです:

          <SEQ=SEG.ACK><CTL=RST>

<SEQ=SEG.ACK><CTL=RST>。

        Return.

戻ってください。

        An incoming RST should be ignored.  Return.

入って来るRSTは無視されるべきです。 戻ってください。

      if there was no ACK then check for a SYN

ACKが全くなかったなら、SYNがないかどうかチェックしてください。

        If the SYN bit is set, check the security.  If the
        security/compartment on the incoming segment does not exactly
        match the security/compartment in the TCB then send a reset and
        return.  If the SEG.PRC is less than the TCB.PRC then send a
        reset and return.  If the SEG.PRC is greater than the TCB.PRC
        then set TCB.PRC<-SEG.PRC.  Now RCV.NXT and RCV.LBB are set to
        SEG.SEQ+1, IRS is set to SEG.SEQ and any other control or text
        should be queued for processing later.  ISS should be selected
        and a SYN segment sent of the form:

SYNビットが設定されるなら、セキュリティをチェックしてください。 入って来るセグメントのセキュリティ/コンパートメントがまさにTCBでセキュリティ/コンパートメントに合っていないなら、リセットとリターンを送ってください。 SEG.PRCがTCB.PRC以下であるなら、リセットとリターンを送ってください。 SEG.PRCがTCB.PRCより大きいなら、TCB.PRC<-SEG.PRCを設定してください。 RCV.NXTとRCV.LBBがSEG.SEQ+1に用意ができているので、IRSはSEG.SEQに用意ができています、そして、いかなる他のコントロールかテキストも後で処理のために列に並ばせられるべきです。 ISSは選択されるべきでした、そして、SYNセグメントはフォームを発信させました:

[Page 64]

[64ページ]

January 1980                                                            
                                           Transmission Control Protocol
                                                Functional Specification
SEGMENT ARRIVES

1980年1月の通信制御プロトコルの機能的な仕様セグメントは到着します。

          <SEQ=ISS><ACK=RCV.NXT><CTL=SYN,ACK>

<SEQ=ISS><ACK=RCV.NXT><CTL=SYN、ACK>。

        SND.NXT and SND.LBB are set to ISS+1 and SND.UNA to ISS.  The
        connection state should be changed to SYN-RECEIVED.  Note that
        any other incoming control or data (combined with SYN) will be
        processed in the SYN-RECEIVED state, but processing of SYN and
        ACK should not be repeated.  If the listen was not fully
        specified (i.e., the foreign socket was not fully specified),
        then the unspecified fields should be filled in now.

SND.NXTとSND.LBBはISSへのISS+1とSND.UNAに用意ができています。 接続状態はSYN-RECEIVEDに変わるべきです。 いかなる他の入って来るコントロールかデータ(SYNに結合される)もSYN-RECEIVED状態で加工処理されますが、SYNとACKの処理が繰り返されるべきでないことに注意してください。 聴取、完全に指定されているというわけではなくて(すなわち、外国ソケットは完全に指定されたというわけではありません)、そして、不特定の分野は現在、記入されるべきです。

      if there was no SYN but there was other text or control

SYNが全くありませんでしたが、他のテキストかコントロールがあったなら

        Any other control or text-bearing segment (not containing SYN)
        must have an ACK and thus would be discarded by the ACK
        processing.  An incoming RST segment could not be valid, since
        it could not have been sent in response to anything sent by this
        incarnation of the connection.  So you are unlikely to get here,
        but if you do, drop the segment, and return.

いかなる他のコントロールかテキストを持つセグメント(SYNを含んでいない)も、ACKを持たなければならなくて、その結果、ACK処理で捨てられるでしょう。 入って来るRSTセグメントは有効であったはずがありません、接続のこの肉体化によって送られたものは何もに対応してそれを送ることができなかったので。 ここに到着しそうではありませんが、到着するなら、セグメントを落としてください、そして、戻ってください。

    If the state is SYN-SENT then

その時状態がSYN-SENTであるなら

      first check for an ACK

まず最初に、ACKがないかどうかチェックしてください。

        If SEG.ACK =< ISS, or SEG.ACK > SND.NXT, or the
        security/compartment in the segment does not exactly match the
        security/compartment in the TCB, or the precedence in the
        segment is less than the precedence in the TCB, send a reset

SEG.ACKが<ISS、またはSEG.ACK>SND.NXTと等しいか、セグメントのセキュリティ/コンパートメントがまさにTCBでセキュリティ/コンパートメントに合っていないか、セグメントにおける先行がTCBでの先行以下であるなら、リセットを送ってください。

          <SEQ=SEG.ACK><CTL=RST>

<SEQ=SEG.ACK><CTL=RST>。

        and discard the segment.  Return.

そして、セグメントを捨ててください。 戻ってください。

        If SND.UNA =< SEG.ACK =< SND.NXT and the security/compartment
        and precedence are acceptable then the ACK is acceptable.
        SND.UNA should be advanced to equal SEG.ACK, and any segments on
        the retransmission queue which are thereby acknowledged should
        be removed.

<SND.UNA=SEG.ACKが<SND.NXTと等しく、セキュリティ/コンパートメントと先行が許容できるなら、ACKは許容できます。 SEG.ACKと等しいようにSND.UNAを進めるべきです、そして、再送キューのその結果承認されるどんなセグメントも取り除くべきです。

      if the ACK is ok (or there is no ACK), check the RST bit

ACKが間違いないなら(ACKが全くありません)、RSTビットをチェックしてください。

        If the RST bit is set then signal the user "error:  connection
        reset", enter CLOSED state, drop the segment, delete TCB, and
        return.

RSTビットが設定されるならユーザに合図してください、「誤り:」 「リセットされた接続」、CLOSED状態に入れてください、そして、セグメントを落としてください、そして、TCBを削除してください、そして、戻ってください。

      if the ACK is ok (or there is no ACK) and it was not a RST, check
      the SYN bit

ACKが間違いなく(ACKが全くありません)、それがRSTでなかったなら、SYNビットをチェックしてください。

                                                               [Page 65]

[65ページ]

                                                            January 1980
Transmission Control Protocol
Functional Specification
                                                         SEGMENT ARRIVES

1980年1月の通信制御プロトコルの機能的な仕様セグメントは到着します。

        If the SYN bit is on and the security/compartment and precedence
        are acceptable then, RCV.NXT and RCV.LBB are set to SEG.SEQ+1,
        IRS is set to SEG.SEQ.  If SND.UNA > ISS (our SYN has been
        ACKed), change the connection state to ESTABLISHED, otherwise
        enter SYN-RECEIVED.  In any case, form an ACK segment:

SYNビットがオンであり、セキュリティ/コンパートメントと先行がその時許容できるなら、RCV.NXTとRCV.LBBはSEG.SEQ+1に用意ができていて、IRSはSEG.SEQに用意ができています。 SND.UNA>ISS(私たちのSYNはACKedである)であるなら、接続状態をESTABLISHEDに変えてください。さもなければ、SYN-RECEIVEDを入れてください。 どのような場合でも、ACKセグメントを形成してください:

          <SEQ=SND.NXT><ACK=RCV.NXT><CTL=ACK>

<SEQ=SND.NXT><ACK=RCV.NXT><CTL=ACK>。

        and send it.  Data or controls which were queued for
        transmission may be included.

そして、それを送ってください。 トランスミッションのために列に並ばせられたデータかコントロールが含まれるかもしれません。

        If SEG.PRC is greater than TCB.PRC set TCB.PRC<-SEG.PRC.

SEG.PRCがTCB.PRCより大きいなら、TCB.PRC<-SEG.PRCを設定してください。

        If there are other controls or text in the segment then continue
        processing at the fifth step below where the URG bit is checked,
        otherwise return.

セグメントに他のコントロールかテキストがあれば、URGビットがチェックされるところの下の第5ステップで処理し続けてください。さもなければ、戻ってください。

[Page 66]

[66ページ]

January 1980                                                            
                                           Transmission Control Protocol
                                                Functional Specification
SEGMENT ARRIVES

1980年1月の通信制御プロトコルの機能的な仕様セグメントは到着します。

    Otherwise,

そうでなければ

    first check sequence number

最初のチェック一連番号

      SYN-RECEIVED STATE
      ESTABLISHED STATE
      FIN-WAIT-1 STATE
      FIN-WAIT-2 STATE
      TIME-WAIT STATE
      CLOSE-WAIT STATE
      CLOSING STATE

SYNによって容認された州は、状態を閉じながら、州のフィン待1ち州のフィン待2ちの州の時間待ち状態の近い待ち状態を確立しました。

        Segments are processed in sequence.  Initial tests on arrival
        are used to discard old duplicates, but further processing is
        done in SEG.SEQ order.  If a segment's contents straddle the
        boundary between old and new, only the new parts should be
        processed.

セグメントは連続して処理されます。 古い写しを捨てるのに到着次第初期のテストを使用しますが、SEG.SEQオーダーでさらなる処理をします。 セグメントの内容が古く新しいことの間の境界にまたがっているなら、新しい部分だけが加工処理されるべきです。

        There are four cases for the acceptability test for an incoming
        segment:

入って来るセグメントのための受容性テストのための4つのケースがあります:

        Segment Receive  Test
        Length  Window
        ------- -------  -------------------------------------------

セグメントはテスト長さのウィンドウを受けます。------- ------- -------------------------------------------

           0       0     SEG.SEQ = RCV.NXT

0 0SEG.SEQはRCV.NXTと等しいです。

           0      >0     RCV.NXT =< SEG.SEQ < RCV.NXT+RCV.WND

0 >0RCV.NXTは<SEG.SEQ<RCV.NXT+RCV.WNDと等しいです。

          >0       0     not acceptable

許容できない>0 0

          >0      >0     RCV.NXT < SEG.SEQ+SEG.LEN =< RCV.NXT+RCV.WND

>0>0RCV.NXT<SEG.SEQ+SEG.LENは<RCV.NXT+RCV.WNDと等しいです。

        Note that the test above guarantees that the last sequence
        number used by the segment lies in the receive-window.  If the
        RCV.WND is zero, no segments will be acceptable, but special
        allowance should be made to accept valid ACKs, URGs and RSTs.

上が最後の一連番号にそれを保証するテストが、中のセグメント偽りで窓を受信するのを使用したことに注意してください。 RCV.WNDがゼロであるなら、どんなセグメントも許容できないでしょうが、有効なACKs、URGs、およびRSTsを受け入れるのを特別な考慮をするべきです。

        If an incoming segment is not acceptable, an acknowledgment
        should be sent in reply:

入って来るセグメントが許容できないなら、回答で承認を送るべきです:

          <SEQ=SND.NXT><ACK=RCV.NXT><CTL=ACK>

<SEQ=SND.NXT><ACK=RCV.NXT><CTL=ACK>。

        If the incoming segment is unacceptable, drop it and return.

入って来るセグメントが容認できないなら、それとリターンを落としてください。

                                                               [Page 67]

[67ページ]

                                                            January 1980
Transmission Control Protocol
Functional Specification
                                                         SEGMENT ARRIVES

1980年1月の通信制御プロトコルの機能的な仕様セグメントは到着します。

    second check security and precedence

2番目に、セキュリティと先行はチェックします。

      If the security/compartment and precedence in the segment do not
      exactly match the security/compartment and precedence in the TCB
      then form a reset and return.

セグメントにおけるセキュリティ/コンパートメントと先行がまさにTCBでセキュリティ/コンパートメントと先行に合っていないなら、リセットとリターンを形成してください。

      Note this check is placed following the sequence check to prevent
      a segment from an old connection between these parts with a
      different security or precedence from causing an abort of the
      current connection.

系列チェックに続いて、このチェックが置かれることに注意して、異なったセキュリティか先行とのこれらの部品の間の年取った関係からのセグメントが現在の接続のアボートを引き起こすのを防いでください。

    third check the ACK field,

3番目にACK分野をチェックしてください。

      SYN-RECEIVED STATE

SYNによって容認された状態

        If the RST bit is off and SND.UNA < SEG.ACK =< SND.NXT then set
        SND.UNA <- SEG.ACK, remove any acknowledged segments from the
        retransmission queue, and enter ESTABLISHED state.

RSTビットがオフであり、SND.UNA<SEG.ACKが<SND.NXTと等しいなら、SND.UNA<SEG.ACKを設定してください、そして、再送キューからあらゆる承認されたセグメントを移してください、そして、ESTABLISHED状態に入れてください。

        If the segment acknowledgment is not acceptable, form a reset
        segment,

セグメント承認が許容できないなら、リセットセグメントを形成してください。

          <SEQ=SEG.ACK><CTL=RST>

<SEQ=SEG.ACK><CTL=RST>。

        and send it, unless the incoming segment is an RST (or there is
        no ACK), in which case, it should be discarded, then return.

そして、それを送ってください、その場合、捨てられて、入って来るセグメントがRST(ACKが全くない)でないなら、それは、次に、戻るべきです。

      ESTABLISHED STATE

設立された状態

        If SND.UNA < SEG.ACK =< SND.NXT then, set SND.UNA <- SEG.ACK.
        Any segments on the retransmission queue which are thereby
        entirely acknowledged are removed.  Users should receive
        positive acknowledgments for buffers which have been SENT and
        fully acknowledged (i.e., SEND buffer should be returned with
        "ok" response).  If the ACK is a duplicate, it can be ignored.

SND.UNA<SEG.ACKがその時<SND.NXTと等しいなら、SND.UNA<SEG.ACKを設定してください。 再送キューのその結果完全に承認されるどんなセグメントも取り除きます。 ユーザはSENTであって完全に承認されたバッファのための肯定応答を受けるべきです(「間違いありません、な」応答と共にすなわち、SENDバッファを返すべきです)。 ACKが写しであるなら、それを無視できます。

        If the segment passes the sequence number and acknowledgment
        number tests, the send window should be updated.  If
        SND.WL =< SEG.SEQ, set SND.WND <- SEG.WND and set
        SND.WL <- SEG.SEQ.

窓を送ってください。セグメントが終わるなら一連番号と確認応答番号がテストされる、アップデートするべきです。 SND.WLが<SEG.SEQと等しいなら、SND.WND<SEG.WNDとセットSND.WL<SEG.SEQを設定してください。

        If the remote buffer size is not one, then the
        end-of-letter/buffer-size adjustment to sequence numbers may
        have an effect on the next expected sequence number to be
        acknowledged.  It is possible that the remote TCP will
        acknowledge with a SEG.ACK equal to a sequence number of an

リモートバッファサイズが1でないなら、一連番号へのバッファ手紙の端/サイズの調節は、承認されるために次の予想された一連番号に効果を持っているかもしれません。 それはリモートTCPがaで一連番号と等しいSEG.ACKを承認するのが可能です。

[Page 68]

[68ページ]

January 1980                                                            
                                           Transmission Control Protocol
                                                Functional Specification
SEGMENT ARRIVES

1980年1月の通信制御プロトコルの機能的な仕様セグメントは到着します。

        octet that was skipped over at the end of a letter.  This a mild
        error on the remote TCPs part, but not cause for alarm.

手紙の末尾に飛ばされた八重奏。 リモートTCPsにおける軽い誤りがアラームのために離れていますが、引き起こさないこれ。

      FIN-WAIT-1 STATE
      FIN-WAIT-2 STATE

フィン待1ち州のフィン待2ち状態

        In addition to the processing for the ESTABLISHED state, if the
        retransmission queue is empty, the user's CLOSE can be
        acknowledged ("ok") but do not delete the TCB.

ESTABLISHED状態への処理に加えて、再送キューが空であるなら、ユーザのCLOSEは承認できますが(「OK」)、TCBを削除しません。

      TIME-WAIT STATE

時間待ち状態

        The only thing that can arrive in this state is a retransmission
        of the remote FIN.  Acknowledge it, and restart the 2 MSL
        timeout.

この状態に到着できる唯一のものがリモートFINの「再-トランスミッション」です。 それを承認してください、そして、2MSLタイムアウトを再開してください。

      CLOSE-WAIT STATE

近い待ち状態

        Do the same processing as for the ESTABLISHED state.

ESTABLISHED状態のように同じ処理をしてください。

      CLOSING STATE

状態を閉じます。

        If the ACK acknowledges our FIN then delete the TCB (enter the
        CLOSED state), otherwise ignore the segment.

ACKが、次に、私たちのFINがTCBを削除する(CLOSED状態に入る)と認めるなら、さもなければ、セグメントを無視してください。

    fourth check the RST bit,

4番目にRSTビットをチェックしてください。

      SYN-RECEIVED STATE

SYNによって容認された状態

        If the RST bit is set then, if the segment has passed sequence
        and acknowledgment tests, it is valid.  If this connection was
        initiated with a passive OPEN (i.e., came from the LISTEN
        state), then return this connection to LISTEN state.  The user
        need not be informed.  If this connection was initiated with an
        active OPEN (i.e., came from SYN-SENT state) then the connection
        was refused, signal the user "connection refused".  In either
        case, all segments on the retransmission queue should be
        removed.

セグメントが系列と承認テストに合格したならRSTビットがその時設定されるなら、有効です。 この接続が受け身のオープン(すなわち、LISTEN状態から、来た)で開始されたなら、この接続をLISTEN状態に返してください。 ユーザは知識がある必要はありません。 この接続が活発なオープン(すなわち、SYN-SENT状態から、来た)で開始されたなら、接続は拒否されて、信号は「接続は拒否した」ユーザです。 どちらの場合ではも、再送キューのすべてのセグメントを取り除くべきです。

                                                               [Page 69]

[69ページ]

                                                            January 1980
Transmission Control Protocol
Functional Specification
                                                         SEGMENT ARRIVES

1980年1月の通信制御プロトコルの機能的な仕様セグメントは到着します。

      ESTABLISHED
      FIN-WAIT-1
      FIN-WAIT-2
      CLOSE-WAIT
      CLOSING STATE

状態を閉じる確立したフィン待1ちフィン待2ちの厳密な待ち

        If the RST bit is set then, any outstanding RECEIVEs and SEND
        should receive "reset" responses.  All segment queues should be
        flushed.  Users should also receive an unsolicited general
        "connection reset" signal.  Enter the CLOSED state, delete the
        TCB, and return.

RSTビットがその時設定されるなら、どんな傑出しているRECEIVEsとSENDも「リセット」応答を受けるはずです。 すべてのセグメント待ち行列が洗い流されるべきです。 また、ユーザは求められていない一般的な「接続リセット」信号を受け取るべきです。 CLOSED状態に入れてください、そして、TCBを削除してください、そして、戻ってください。

      TIME-WAIT

時間待ち

        Enter the CLOSED state, delete the TCB, and return.

CLOSED状態に入れてください、そして、TCBを削除してください、そして、戻ってください。

    fifth, check the SYN bit,

5番目に、SYNビットをチェックしてください。

      SYN-RECEIVED
      ESTABLISHED STATE

SYNによって容認された設立された状態

        If the SYN bit is set, check the segment sequence number against
        the receive window.  The segment sequence number must be in the
        receive window; if not, ignore the segment.  If the SYN is on
        and SEG.SEQ = IRS then everything is ok and no action is needed;
        but if they are not equal, there is an error and a reset must be
        sent.

SYNビットが設定されるなら、セグメント一連番号をチェックしてください、窓を受けてください。 セグメント一連番号があるに違いない、窓を受けてください。 そうでなければ、セグメントを無視してください。 SYNがオンであり、SEG.SEQがIRSと等しいなら、すべてが間違いありません、そして、動作は全く必要ではありません。 しかし、それらが等しくないなら、誤りがあります、そして、リセットを送らなければなりません。

          If a reset must be sent it is formed as follows:

リセットを送らなければならないなら、以下の通りそれを形成します:

            <SEQ=SEG.ACK><CTL=RST>

<SEQ=SEG.ACK><CTL=RST>。

          The connection must be aborted as if a RST had been received.

まるでRSTを受け取ったかのように接続を中止しなければなりません。

      FIN-WAIT STATE-1
      FIN-WAIT STATE-2
      TIME-WAIT STATE
      CLOSE-WAIT STATE
      CLOSING STATE

状態を閉じるフィン待ち状態1フィン待ち状態2の時間待ち状態の近い待ち状態

        This case should not occur, since a duplicate of the SYN which
        started the current connection incarnation will have been
        filtered in the SEG.SEQ processing.  Other SYN's will have been
        rejected by this test as well (see SYN processing for
        ESTABLISHED state).

本件は現れるはずがありません、現在の接続肉体化を始めたSYNの写しがSEG.SEQ処理でフィルターにかけられてしまうだろうので。 SYNの他のものはまた、このテストで拒絶されてしまうでしょう(ESTABLISHED状態にSYN処理を見てください)。

[Page 70]

[70ページ]

January 1980                                                            
                                           Transmission Control Protocol
                                                Functional Specification
SEGMENT ARRIVES

1980年1月の通信制御プロトコルの機能的な仕様セグメントは到着します。

    sixth, check the URG bit,

6番目に、URGビットをチェックしてください。

      ESTABLISHED STATE
      FIN-WAIT-1 STATE
      FIN-WAIT-2 STATE

確立した州のフィン待1ち州のフィン待2ち状態

        If the URG bit is set, RCV.UP <- max(RCV.UP,SEG.UP), and signal
        the user that the remote side has urgent data if the urgent
        pointer (RCV.UP) is in advance of the data consumed.  If the
        user has already been signaled (or is still in the "urgent
        mode") for this continuous sequence of urgent data, do not
        signal the user again.

URGビットが設定されるなら、RCV.UP<は、(RCV.UP、SEG.UP)に最大限にして、緊急の指針(RCV.UP)が消費されたデータの前にあるなら遠隔地側には緊急のデータがあるとユーザに合図します。 ユーザが緊急のデータのこの連続した系列のために既に合図されたなら(または、まだ「緊急のモード」で、あります)、再びユーザに合図しないでください。

      TIME-WAIT STATE
      CLOSE-WAIT STATE
      CLOSING

時間待ち状態近い待ち状態閉鎖

        This should not occur, since a FIN has been received from the
        remote side.  Ignore the URG.

これは、遠隔地側からFINを受け取ったので、起こるべきではありません。 URGを無視してください。

    seventh, process the segment text,

7番目に、セグメントテキストを処理してください。

      ESTABLISHED STATE

設立された状態

        Once in the ESTABLISHED state, it is possible to deliver segment
        text to user RECEIVE buffers.  Text from segments can be moved
        into buffers until either the buffer is full or the segment is
        empty.  If the segment empties and carries an EOL flag, then the
        user is informed, when the buffer is returned, that an EOL has
        been received.

ESTABLISHED状態では、一度、ユーザRECEIVEバッファにセグメントテキストを提供するのは可能です。 バッファが完全であるか、またはセグメントが空になるまで、セグメントからのテキストをバッファの中に動かすことができます。 バッファを返すとき、セグメントがEOL旗を空にして、運ぶなら、EOLが受け取られたとユーザを知らします。

        If buffer size is not one octet, then do  the following
        end-of-letter/buffer-size adjustment processing:

バッファサイズが1つの八重奏でないなら、以下のバッファ手紙の端/サイズの調節処理をしてください:

          if EOL = 0 then

EOLがその時0と等しいなら

            RCV.NXT <- SEG.SEQ + SEG.LEN

RCV.NXT<SEG.SEQ+SEG.LEN

          if EOL = 1 then

EOLがその時1と等しいなら

            While RCV.LBB < SEG.SEQ+SEG.LEN
            Do RCV.LBB <- RCV.LBB + RCV.BS End
            RCV.NXT <- RCV.LBB

RCV.LBB<SEG.SEQ+SEG.LENはRCV.LBB<RCV.BS終わりのRCV.NXT RCV.LBB+<RCV.LBBをしますが

        When the TCP takes responsibility for delivering the data to the
        user it must also acknowledge the receipt of the data.  Send an
        acknowledgment of the form:

また、TCPがデータをユーザに提供するのに責任を取るとき、それはデータの領収書を受け取ったことを知らせなければなりません。 形式の承認を送ってください:

                                                               [Page 71]

[71ページ]

                                                            January 1980
Transmission Control Protocol
Functional Specification
                                                         SEGMENT ARRIVES

1980年1月の通信制御プロトコルの機能的な仕様セグメントは到着します。

          <SEQ=SND.NXT><ACK=RCV.NXT><CTL=ACK>

<SEQ=SND.NXT><ACK=RCV.NXT><CTL=ACK>。

        This acknowledgment should be piggybacked on a segment being
        transmitted if possible without incurring undue delay.

この承認は、できれば、不当な遅延を被らないで伝えられながら、セグメントで背負われるべきです。

      FIN-WAIT-1 STATE
      FIN-WAIT-2 STATE

フィン待1ち州のフィン待2ち状態

        If there are outstanding RECEIVEs, they should be satisfied, if
        possible, with the text of this segment; remaining text should
        be queued for further processing.  If a RECEIVE is satisfied,
        the user should be notified, with "end-of-letter" (EOL) signal,
        if appropriate.

傑出しているRECEIVEsがあれば、できれば、彼らはこのセグメントのテキストに満足するべきです。 テキストのままで残っているのはさらなる処理のために列に並ばせられるべきです。 RECEIVEが満たされているなら、ユーザは、「手紙の端」(EOL)信号で通知されていて、適切であるべきです。

      TIME-WAIT STATE
      CLOSE-WAIT STATE

時間待ち状態の近い待ち状態

        This should not occur, since a FIN has been received from the
        remote side.  Ignore the segment text.

これは、遠隔地側からFINを受け取ったので、起こるべきではありません。 セグメントテキストを無視してください。

    eighth, check the FIN bit,

8番目に、FINビットをチェックしてください。

      Send an acknowledgment for the FIN.  Signal the user "connection
      closing", and return any pending RECEIVEs with same message.  Note
      that FIN implies EOL for any segment text not yet delivered to the
      user.  If the current state is ESTABLISHED, enter the CLOSE-WAIT
      state.  If the current state is FIN-WAIT-1, enter the CLOSING
      state.  If the current state is FIN-WAIT-2, enter the TIME-WAIT
      state.

FINのために承認を送ってください。 ユーザ「接続閉鎖」に合図してください、そして、同じメッセージがあるあらゆる未定のRECEIVEsを返してください。 FINがまだユーザに提供されていなかった少しのセグメントテキストのためにもEOLを含意することに注意してください。 現状がESTABLISHEDであるなら、CLOSE-WAIT状態に入ってください。 現状がFIN-WAIT-1であるなら、CLOSING状態に入ってください。 現状がFIN-WAIT-2であるなら、タイム誌-WAIT状態に入ってください。

    and return.

そして、戻ってください。

[Page 72]

[72ページ]

January 1980                                                            
                                           Transmission Control Protocol
                                                Functional Specification
USER TIMEOUT

1980年1月の通信制御プロトコルの機能的な仕様ユーザタイムアウト

  USER TIMEOUT

ユーザタイムアウト

    For any state if the user timeout expires, flush all queues, signal
    the user "error:  connection aborted due to user timeout" in general
    and for any outstanding calls, delete the TCB, and return.

何かが、タイムアウトが吐き出すユーザ、すべてが列に並ばせる水洗がユーザを示すかどうかと述べる、「誤り:」 一般にとどんな傑出している呼び出しのためにも「接続はユーザタイムアウトのため中止になったこと」は、TCBを削除して、戻ります。

  RETRANSMISSION TIMEOUT

再送タイムアウト

    For any state if the retransmission timeout expires on a segment in
    the retransmission queue, send the segment at the front of the
    retransmission queue again, reinitialize the retransmission timer,
    and return.

再送タイムアウトが「再-トランスミッション」のセグメントで期限が切れるなら、どんな状態も列を作って、再び再送キューの前部におけるセグメントを送って、再送信タイマーを再初期化して、戻るので。

                                                               [Page 73]

[73ページ]

                                                            January 1980
Transmission Control Protocol

1980年1月の通信制御プロトコル

[Page 74]

[74ページ]

January 1980                                                            
                                           Transmission Control Protocol

1980年1月の通信制御プロトコル

                                GLOSSARY

用語集

1822
          BBN Report 1822, "The Specification of the Interconnection of
          a Host and an IMP".  The specification of interface between a
          host and the ARPANET.

1822BBNは1822、「ホストと悪童のインタコネクトの仕様」を報告します。 ホストとアルパネットとのインタフェースの仕様。

ACK
          A control bit (acknowledge) occupying no sequence space, which
          indicates that the acknowledgment field of this segment
          specifies the next sequence number the sender of this segment
          is expecting to receive, hence acknowledging receipt of all
          previous sequence numbers.

ACK Aコントロールにこのセグメントの承認分野がこのセグメントの送付者が受けると予想している次の一連番号を指定するのを示す系列スペースを全く占めないことで噛み付きました(承認します)、したがって、前のすべての一連番号の領収書を受け取ったことを知らせて。

ARPANET message
          The unit of transmission between a host and an IMP in the
          ARPANET.  The maximum size is about 1012 octets (8096 bits).

アルパネットはアルパネットでホストとIMPの間のトランスミッションのユニットを通信させます。 最大サイズはおよそ1012の八重奏(8096ビット)です。

ARPANET packet
          A unit of transmission used internally in the ARPANET between
          IMPs.  The maximum size is about 126 octets (1008 bits).

トランスミッションのアルパネットパケットAユニットはIMPsの間のアルパネットで内用しました。 最大サイズはおよそ126の八重奏(1008ビット)です。

buffer size
          An option (buffer size) used to state the receive data buffer
          size of the sender of this option.  May only be sent in a
          segment that also carries a SYN.

バッファサイズAnオプション(バッファサイズ)は以前はよくこのオプションの送付者の受信データバッファサイズを述べていました。 また、SYNを運ぶセグメントで送るだけであるかもしれません。

connection
          A logical communication path identified by a pair of sockets.

1組のソケットによって特定された接続のA論理的な通信路。

datagram
          A message sent in a packet switched computer communications
          network.

データグラムAメッセージは、パケットがコンピュータ通信網を切り換えたのを送りました。

Destination Address
          The destination address, usually the network and host
          identifiers.

通常目的地が扱う目的地Address、ネットワーク、およびホスト識別子。

EOL
          A control bit (End of Letter) occupying no sequence space,
          indicating that this segment ends a logical letter with the
          last data octet in the segment.  If this end of letter causes
          a less than full buffer to be released to the user and the
          connection buffer size is not one octet then the
          end-of-letter/buffer-size adjustment to the receive sequence
          number must be made.

EOL Aコントロールは系列スペースを全く占めないことで(Letterの端)に噛み付きました、このセグメントが最後のデータ八重奏で論理的な手紙をセグメントに終わらせるのを示して。 一連番号を受けてください。次に、手紙のこの端でユーザと接続バッファサイズにあまり完全でないバッファを発表するなら1つの八重奏がサイズの調節を手紙の端/バッファリングしない、作らなければなりません。

                                                               [Page 75]

[75ページ]

                                                            January 1980
Transmission Control Protocol
Glossary

1980年1月の通信制御プロトコル用語集

FIN
          A control bit (finis) occupying one sequence number, which
          indicates that the sender will send no more data or control
          occupying sequence space.

FIN Aは、1つの一連番号(送付者がどんなより多くのデータもコントロールも系列スペースを占めさせないのを示す)を占領しながら、ビット(終り)を制御します。

fragment
          A portion of a logical unit of data, in particular an internet
          fragment is a portion of an internet datagram.

データの論理装置の断片A部分、インターネット断片は特に、インターネットデータグラムの一部です。

FTP
          A file transfer protocol.

FTP Aファイル転送プロトコル。

header
          Control information at the beginning of a message, segment,
          fragment, packet or block of data.

データのメッセージ、セグメント、断片、パケットまたは1ブロックの始めのヘッダーControl情報。

host
          A computer.  In particular a source or destination of messages
          from the point of view of the communication network.

Aコンピュータを接待してください。 通信ネットワークの観点からの特にソースかメッセージの送信先。

Identification
          An Internet Protocol field.  This identifying value assigned
          by the sender aids in assembling the fragments of a datagram.

識別Anインターネットプロトコル分野。 値が送付者で割り当てたこの特定はデータグラムの断片を組み立てる際に支援されます。

IMP
          The Interface Message Processor, the packet switch of the
          ARPANET.

IMP Interface Message Processor、アルパネットのパケット交換機。

internet address
          A source or destination address specific to the host level.

インターネットアドレスAソースかホストレベルに特定の送付先アドレス。

internet datagram
          The unit of data exchanged between an internet module and the
          higher level protocol together with the internet header.

データのユニットがインターネットヘッダーと共にインターネットモジュールと、より高い平らなプロトコルの間で交換したインターネットデータグラム。

internet fragment
          A portion of the data of an internet datagram with an internet
          header.

インターネットヘッダーがあるインターネットデータグラムに関するデータのインターネット断片A部分。

IP
          Internet Protocol.

IPインターネットプロトコル。

IRS
          The Initial Receive Sequence number.  The first sequence
          number used by the sender on a connection.

Initial Receive Sequenceが付番するIRS。 接続のときに送付者によって使用された最初の一連番号。

[Page 76]

[76ページ]

January 1980                                                            
                                           Transmission Control Protocol
                                                                Glossary

1980年1月の通信制御プロトコル用語集

ISN
          The Initial Sequence Number.  The first sequence number used
          on a connection, (either ISS or IRS).  Selected on a clock
          based procedure.

初期の一連番号のISN。 接続(ISSかIRSのどちらか)のときに使用された最初の一連番号。 ベースの時計の上で手順を選択しました。

ISS
          The Initial Send Sequence number.  The first sequence number
          used by the sender on a connection.

Initial Send Sequenceが付番するISS。 接続のときに送付者によって使用された最初の一連番号。

leader
          Control information at the beginning of a message or block of
          data.  In particular, in the ARPANET, the control information
          on an ARPANET message at the host-IMP interface.

データのメッセージか1ブロックの始めのリーダーControl情報。 特にアルパネットにおける、ホスト-IMPインタフェースのアルパネットメッセージに関する制御情報。

left sequence
          This is the next sequence number to be acknowledged by the
          data receiving TCP (or the lowest currently unacknowledged
          sequence number) and is sometimes referred to as the left edge
          of the send window.

左の系列Thisが次のTCP(または、最も低い現在不承認の一連番号)を受けるデータによって承認されるべき一連番号であり、時々左の縁と呼ばれる、窓を送ってください。

letter
          A logical unit of data, in particular the logical unit of data
          transmitted between processes via TCP.

データの手紙A論理装置、特にTCPを通してプロセスの間に送られたデータの論理装置。

local packet
          The unit of transmission within a local network.

ローカルの中のトランスミッションのユニットがネットワークでつなぐ地方のパケット。

module
          An implementation, usually in software, of a protocol or other
          procedure.

通常プロトコルか他の手順のソフトウェアのモジュールAn実装。

MSL
          Maximum Segment Lifetime, the time a TCP segment can exist in
          the internetwork system.  Arbitrarily defined to be 2 minutes.

MSL Maximum Segment Lifetime、TCPセグメントがインターネットワークシステムに存在できる時。 2分になるように任意に定義されています。

octet
          An eight bit byte.

八重奏An eightはバイトに噛み付きました。

Options
          An Option field may contain several options, and each option
          may be several octets in length.  The options are used
          primarily in testing situations; for example, to carry
          timestamps.  Both the Internet Protocol and TCP provide for
          options fields.

An Optionがさばくオプションはいくつかのオプションを含むかもしれません、そして、各オプションは長さがいくつかの八重奏であるかもしれません。 オプションは主としてテスト状況で使用されます。 例えばタイムスタンプを運ぶために。 インターネットプロトコルとTCPの両方がオプション野原に備えます。

packet
          A package of data with a header which may or may not be

そうするかもしれないヘッダーがあるデータのパケットAパッケージ

                                                               [Page 77]

[77ページ]

                                                            January 1980
Transmission Control Protocol
Glossary

1980年1月の通信制御プロトコル用語集

          logically complete.  More often a physical packaging than a
          logical packaging of data.

論理的に完全です。 データの論理的なパッケージよりしばしば物理的なパッケージ。

port
          The portion of a socket that specifies which logical input or
          output channel of a process is associated with the data.

プロセスのどの論理的な入力か出力チャネルがデータに関連しているかを指定するソケットの一部を移植してください。

process
          A program in execution.  A source or destination of data from
          the point of view of the TCP or other host-to-host protocol.

実行におけるAプログラムを処理してください。 TCPか他のホスト間プロトコルの観点からのデータのソースか目的地。

PSN
          A Packet Switched Network.  For example, the ARPANET.

PSN Aパケット交換網。 例えば、アルパネット。

RCV.BS
          receive buffer size, the remote buffer size

RCV.BS受信バッファサイズ、リモートバッファサイズ

RCV.LBB
          receive last buffer beginning

RCV.LBBは最後のバッファ始めに受信します。

RCV.NXT
          receive next sequence number

RCV.NXTは次の一連番号を受けます。

RCV.UP
          receive urgent pointer

RCV.UPは緊急の指針を受けます。

RCV.WND
          receive window

RCV.WNDは窓を受けます。

receive last buffer beginning
          This is the sequence number of the first octet of the most
          recent buffer.  This value is use in calculating the next
          sequence number when a segment contains an end of letter
          indication.

Thisが最新のバッファの最初の八重奏の一連番号である最後のバッファ始めを受けてください。 セグメントがいつ手紙指示の終わりを含むかを次の一連番号に見込むことにおいてこの値は使用です。

receive next sequence number
          This is the next sequence number the local TCP is expecting to
          receive.

次の一連番号を受けてください。Thisは地方TCPが受けると予想している次の一連番号です。

receive window
          This represents the sequence numbers the local (receiving) TCP
          is willing to receive.  Thus, the local TCP considers that
          segments overlapping the range RCV.NXT to
          RCV.NXT + RCV.WND - 1 carry acceptable data or control.
          Segments containing sequence numbers entirely outside of this
          range are considered duplicates and discarded.

Thisが受けるために、地方の(受信)TCPが望んでいる一連番号を表す窓を受けてください。 したがって、地方のTCPは、--セグメントがRCV.NXT+RCV.WNDに範囲RCV.NXTを重ね合わせて、1が許容できるデータかコントロールを運ぶと考えます。 この範囲の完全に外に一連番号を含むセグメントが、写しであると考えられて、捨てられます。

[Page 78]

[78ページ]

January 1980                                                            
                                           Transmission Control Protocol
                                                                Glossary

1980年1月の通信制御プロトコル用語集

RST
          A control bit (reset), occupying no sequence space, indicating
          that the receiver should delete the connection without further
          interaction.  The receiver can determine, based on the
          sequence number and acknowledgment fields of the incoming
          segment, whether it should honor the reset command or ignore
          it.  In no case does receipt of a segment containing RST give
          rise to a RST in response.

受信機が一層の相互作用なしで接続を削除するはずであるのを示して、系列スペースを全く占めないで、RST Aはビット(リセット)を制御します。 受信機は一連番号と承認に基づいて入って来るセグメントの分野を決定できます、リセットコマンドを光栄に思うべきであるか、またはそれを無視するべきであることにかかわらず。 RSTを含むセグメントの領収書は応答でRSTを決して、もたらしません。

RTP
          Real Time Protocol:  A host-to-host protocol for communication
          of time critical information.

RTPのリアルタイムのプロトコル: 時間重要情報に関するコミュニケーションのためのホスト間プロトコル。

Rubber EOL
          An end of letter (EOL) requiring a sequence number adjustment
          to align the beginning of the next letter on a buffer
          boundary.

次の手紙の始まりをバッファ限界に並べるために一連番号調整を必要とする文字(EOL)のゴムEOL Anエンド。

SEG.ACK
          segment acknowledgment

SEG.ACKセグメント承認

SEG.LEN
          segment length

SEG.LENセグメントの長さ

SEG.PRC
          segment precedence value

SEG.PRCセグメント先行価値

SEG.SEQ
          segment sequence

SEG.SEQセグメント系列

SEG.UP
          segment urgent pointer field

SEG.UPのセグメントの緊急の指針分野

SEG.WND
          segment window field

SEG.WNDセグメント窓の分野

segment
          A logical unit of data, in particular a TCP segment is the
          unit of data transfered between a pair of TCP modules.

データのセグメントA論理装置、TCPセグメントは特に、1組のTCPモジュールの間でtransferedされたデータのユニットです。

segment acknowledgment
          The sequence number in the acknowledgment field of the
          arriving segment.

承認における一連番号がさばく到着セグメントのセグメント承認。

segment length
          The amount of sequence number space occupied by a segment,
          including any controls which occupy sequence space.

何かを含んでいて、一連番号スペースの量がセグメントで占領したセグメントの長さは、どれが系列スペースを占めるかを制御します。

                                                               [Page 79]

[79ページ]

                                                            January 1980
Transmission Control Protocol
Glossary

1980年1月の通信制御プロトコル用語集

segment sequence
          The number in the sequence field of the arriving segment.

系列の数がさばく到着セグメントのセグメント系列。

send last buffer beginning
          This is the sequence number of the first octet of the most
          recent buffer.  This value is used in calculating the next
          sequence number when a segment contains an end of letter
          indication.

Thisが最新のバッファの最初の八重奏の一連番号である最後のバッファ始めを送ってください。 セグメントがいつ手紙指示の終わりを含むかを次の一連番号に見込む際にこの値は使用されます。

send sequence
          This is the next sequence number the local (sending) TCP will
          use on the connection.  It is initially selected from an
          initial sequence number curve (ISN) and is incremented for
          each octet of data or sequenced control transmitted.

系列を送ってください。Thisは(発信)地方のTCPが接続のときに使用する次の一連番号です。 それが、初めは、初期シーケンス番号カーブ(ISN)から選択されて、データの各八重奏のために増加されたか、または配列されたコントロールは送られました。

send window
          This represents the sequence numbers which the remote
          (receiving) TCP is willing to receive.  It is the value of the
          window field specified in segments from the remote (data
          receiving) TCP.  The range of sequence numbers which may be
          emitted by a TCP lies between SND.NXT and
          SND.UNA + SND.WND - 1.

(受信)リモートTCPが受けても構わないと思っている一連番号をThisが表す窓に送ってください。 それは(データ受信)リモートTCPからセグメントで指定された窓の分野の値です。 SND.NXTとSND.UNA+SND.WNDの間には、TCPによって放たれるかもしれない一連番号の範囲があります--1。

SND.BS
           send buffer size, the local buffer size

SND.BSはバッファサイズ、地方のバッファサイズを送ります。

SND.LBB
          send last buffer beginning

SND.LBBは最後のバッファを始まらせます。

SND.NXT
          send sequence

SND.NXTは系列を送ります。

SND.UNA
          left sequence

SND.UNAは系列を残しました。

SND.UP
          send urgent pointer

SND.UPは緊急の指針を送ります。

SND.WL
          send sequence number at last window update

SND.WLは最近の窓のアップデートで一連番号を送ります。

SND.WND
          send window

SND.WNDは窓を送ります。

socket
          An address which specifically includes a port identifier, that
          is, the concatenation of an Internet Address with a TCP port.

明確に、ポート識別子(すなわち、TCPポートによるインターネットAddressの連結)を含んでいるソケットAnアドレス。

[Page 80]

[80ページ]

January 1980                                                            
                                           Transmission Control Protocol
                                                                Glossary

1980年1月の通信制御プロトコル用語集

Source Address
          The source address, usually the network and host identifiers.

通常ソースのAddressが演説するソース、ネットワーク、およびホスト識別子。

SYN
          A control bit in the incoming segment, occupying one sequence
          number, used at the initiation of a connection, to indicate
          where the sequence numbering will start.

SYN Aコントロールに入って来るセグメントで噛み付きました、系列付番がどこで始まるかを示すために接続の手引きで使用される1つの一連番号を占領して。

TCB
          Transmission control block, the data structure that records
          the state of a connection.

TCB Transmission制御ブロック、接続の状態を記録するデータ構造。

TCB.PRC
          The precedence of the connection.

TCB.PRC、接続の先行。

TCP
          Transmission Control Protocol:  A host-to-host protocol for
          reliable communication in internetwork environments.

TCP通信制御プロトコル: インターネットワーク環境における信頼できるコミュニケーションのためのホスト間プロトコル。

TOS
          Type of Service, an Internet Protocol field.

ServiceのTOS Type、インターネットプロトコル分野。

Type of Service
          An Internet Protocol field which indicates the type of service
          for this internet fragment.

このインターネットのためのサービスのタイプを示すService Anインターネットプロトコル分野のタイプは断片化します。

URG
          A control bit (urgent), occupying no sequence space, used to
          indicate that the receiving user should be notified to do
          urgent processing as long as there is data to be consumed with
          sequence numbers less than the value indicated in the urgent
          pointer.

系列スペースを全く占めないで、噛み付かれた(緊急の)URG Aコントロールは、以前はよく一連番号が緊急の指針で示された値より少ない状態で消費されるためにデータがある限り、受信ユーザが緊急処理をするように通知されるべきであるのを示していました。

urgent pointer
          A control field meaningful only when the URG bit is on.  This
          field communicates the value of the urgent pointer which
          indicates the data octet associated with the sending user's
          urgent call.

URGが噛み付いた場合にだけ重要な緊急の指針A制御フィールドはオンです。 この分野は送付ユーザの至急通話に関連しているデータ八重奏を示す緊急の指針の値を伝えます。

                                                               [Page 81]

[81ページ]

                                                            January 1980
Transmission Control Protocol

1980年1月の通信制御プロトコル

[Page 82]

[82ページ]

January 1980                                                            
                                           Transmission Control Protocol

1980年1月の通信制御プロトコル

                               REFERENCES

参照

[1]  Cerf, V., and R. Kahn, "A Protocol for Packet Network
     Intercommunication," IEEE Transactions on Communications,
     Vol. COM-22, No. 5, pp 637-648, May 1974.

Communications、Vol.COM-22、No.5、pp637-648(1974年5月)の[1] サーフ、V.とR.カーン、「パケット網相互通信のためのプロトコル」IEEE Transactions。

[2]  Postel, J. (ed.), "DOD Standard Internet Protocol," Defense
     Advanced Research Projects Agency, Information Processing
     Techniques Office, RFC 760, IEN 128, January 1980.

[2] ポステル、J.編、「DODの標準のインターネットプロトコル」、ディフェンス先端研究は政府機関を映し出します、情報処理テクニックオフィス、RFC760、IEN128、1980年1月。

[3]  Feinler, E. and J. Postel, ARPANET Protocol Handbook, Network
     Information Center, SRI International, Menlo Park, CA,
     January 1978.

[3] Feinler、E.、およびJ.ポステル(アルパネットプロトコルハンドブック)は1978年1月にインフォメーション・センター、SRIインターナショナル、メンローパーク、カリフォルニアをネットワークでつなぎます。

[4]  Dalal, Y. and C. Sunshine, "Connection Management in Transport
     Protocols," Computer Networks, Vol. 2, No. 6, pp. 454-473,
     December 1978.

[4]DalalとY.とC.サンシャイン、「トランスポート・プロトコルにおける接続管理」、コンピュータNetworks、Vol.2、No.6、ページ 454-473と、1978年12月。

                                                               [Page 83]

[83ページ]

                                                            January 1980
Transmission Control Protocol

1980年1月の通信制御プロトコル

[Page 84]

[84ページ]

一覧

 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 

スポンサーリンク

Seedを実行した後にシーケンスを更新する方法(duplicate key valueエラー)

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

上に戻る