TCP接続の2つのエンドポイントがあります

接続の確立

送信および受信データ

クライアントは、101のシーケンス番号は、501の確認応答番号、1のACKビットは、ゼロのSYNビットを持つセグメント、およびセグメントのデータ部分のデータの8バイトを送信します。 ACKとSYNビット接続の残りの部分を変更しないでください。サーバーが501のシーケンス番号と109の確認応答番号のセグメントを送信することによって、データの8バイトの受信を認め、このセグメントのデータ部分のことも新しいデータが含まれているクライアントが別のセグメントでは、認識し、クライアントに送信される。セグメントの場合と同様のデータを含めることができる接続を確立する送信されます。このような場合には、宛先の受信データを保持する必要がありますまで、接続が確立されます。

成功ハンドシェークデータが送信先のコンピュータのTCP層に到着した元のコンピュータに指示します。これは、ハンドシェイクは、宛先のコンピュータで指定されたプロセスは、TCP層から受信したデータを保証することはできませんが、まだエラーのための部屋、しかし、です。だから絶対に、宛先のアプリケーションでは、データを受信したことを確認する場合は、確認応答を提供するため、アプリケーション層でのプロトコルが必要です。

接続を閉じる

閉会の接続はハンドシェイクが必要です。完全に接続を閉じるために、各コンピュータは、コンピュータに送信するデータがなくなることを示すためのFIN制御ビットでセグメント1に設定され送信されます。各宛先にはFINの受信を確認する必要があります。ネットワークの記事は、5月5日の例を示しています:

  

1。クライアントはFIN制御ビットでセグメント1に設定され送信されます。これは、クライアントがこの接続ではより多くのデータを送信することを示します。クライアントがサーバーから受信し続けることがあります。

2。サーバセグメントは、受信FINを認めて送信されます。場合は、サーバーに送信する他のデータを持って、それを1にFINビットが設定されます。それ以外の場合は、サーバーのデータ送信を継続し、セットのFINビットを1にすべてのデータが送信されています。

3。クライアントのセグメントを受信FINを認めて送信されます。接続がクローズされます。

もちろん、それは1つのコンピュータ、またはクラッシュすることは、ネットワークから閉鎖ハンドシェイクを完了する前に削除される可能性があります。この場合において、他のコンピュータの接続を検討するための時間の後に閉じ無料のリソースは、接続に割り当てを決めることができます。

フロー制御

送信側のプロセスを複数のセグメントの宛先に送信する準備ができていることがあります。前のセグメントの確認応答を待つことが、各セグメントを送信するプロセスを送信する前に。場合は、宛先に複数のセグメント内のデータを格納するための部屋がありますしかし、このデータを転送するための最も効率的な方法はありません。

より効率的な転送の場合は、送信側のプロセスの確認を待たずに送信するにはどのくらいのデータを決定するためには、受信したヘッダのウィンドウフィールドを使用することができます。宛先は現在の状態に応じてそれを送信するヘッダーを必要に応じてウィンドウのフィールドの内容を変更することでサイズを調整することができます。受信確認番号は、送信者に宛先のすべてが1未満に、セグメント番号を使用してデータの受信指示確認応答番号。場合は、送信者が受信確認を受け取ると、データを再送することができます。通常は、上には、ソースを一時的に再送信キューのセグメントのデータを格納するセグメントを送信し、タイマを起動します。応答を受け取ると、ソースは、再送キューからデータを削除します。場合は、ソースの時間は、タイマがタイムアウトで受信確認を受信しない場合は、ソースには、先のセグメントを受信していないし、再送信、再送信キュー内のデータを使用すると仮定します。の時間を再送する前に待機することができますネットワークによって異なります。多くの場合、平均ラウンドのタイムアウト値を決定する伝送用の旅行時間を使用するホスト。

パフォーマンスの向上

時間が経つにつれて、いくつかの方法を一般的な使用にTCPデータを手伝いに来て、より効率的に転送します。メソッド、および送信者のいくつかの状況で送信できるデータ量の制限は、必要なタイムアウトを再送信するまでの待機時間を排除することがあります。方法をスロースタート、輻輳回避、高速再送、および高速リカバリされます。 RFC2581:TCPの輻輳制御のドキュメントのメソッドをすべての受信確認を受信する前に送信することができるソースセグメントの数を指定してしなければならないメソッド。もしソースが前のセグメントの確認応答のためには、ソースの要件に準拠して、次のセグメントを送信する前に待機し、提案された標準を承認した。埋め込まれたシステムは、データを転送する頻度は、この場合、以下の、アプローチ、効率的に簡単に使用できます。

支援のTCP組込みシステムにおける

組込みシステムにおけるTCPの支援の方がUDPをサポートするよりも複雑です。を追加し、ヘッダーを削除するとIPアドレスのサポートに加え、コンピュータをリモートホストへの接続を維持するシーケンスと確認応答番号にするときに接続を閉じ、データ、ハンドシェークの交換は、3ウェイハンドシェイクを実行する必要がありますし、検出されたエラーに応答します。送信するにはメッセージは、次の操作をする必要がありますは、TCP、イーサネットネットワーク内のコンピュータを使用する:

•接続は、3ウェイハンドシェイクを使用して確立します。

•使用して、リモートコンピュータを受け入れることができるデータ量を決定するためにウィンドウのサイズを受けた。

•場所は、ソースと宛先のポート番号、シーケンス番号、確認番号、ヘッダの長さ、ソースウィンドウのサイズ、およびチェックサムは、TCPヘッダー中の適切な場所です。コンピューティングは、チェックサムは、ソースと宛先のIPアドレスを知る必要があります。

データセグメントのデータ部分に•場所に送信します。

•場所のIPデータグラムのデータ部分には、TCPセグメント。 IPデータグラムのソースと宛先のIPアドレスとは、ヘッダーにチェックサムを計算する必要があります。

•パスは、イーサネットコントローラのドライバには、IPデータグラムは、ネットワーク上に送信するとタイムアウトタイマーを開始します。

•待って、そのリモートコンピュータのデータを受け取ったことを示す受信確認番号をお送りします。場合は、確認応答のタイムアウトする前に、到着しない場合は、セグメントを再送します。データグラムを次のようにする必要がありますは、TCP、イーサネットネットワーク内のコンピュータを使用して受信するには:

•接続は、3ウェイハンドシェイクを使用して確立します。

•受信は、イーサネットコントローラのドライバからのIPデータグラム。

•ストリップデータグラムのIPヘッダーです。チェックサムを計算し、受信した値と比較します。

•場合は、チェックサムが一致する場合、TCPセグメントのヘッダストリップ。チェックサムを計算し、受信した値と比較します。

•検査の場合は、セグメントの場合は、再送キューから認めてデータを削除する以前に送信したデータの受領を認めては下記に確認応答番号を受け取った。

•予想される値に、受信したシーケンス番号を比較します。場合は、番号と一致すると、TCPセグメントの送信者に戻るには、確認応答番号を設定します。

•使用して、宛先ポート番号は、データを渡すために決定する。加えて、いつでも、どちらかのコンピュータを閉じるか、接続をリセットして、他のコンピュータが要求を認めなければならない要求することを終了するか、またはからの接続をリセット要求がありますもう一方の端適切な場合。

として、ネットワーキング、チュートリアルの冒頭の例を示した場合、TCPのサポートを持つモジュールを使用して、セグメントを作成し、チェックサムとシーケンスと確認数値を扱うの詳細を自動的に処理されます。

記事は、ダニエルR.提出


免責事項:弊社のウェブサイトは、この資料の内容については責任を負いません。 Webarticles無料の情報リソースです。
重要: この記事は、"TCP接続の"自動ソフトウェアによって翻訳された2つのエンドポイントがあります。大変申し訳ございませんが発生した可能性があります任意のスペルミスを感じている。お客様のご理解いただき、ありがとうございます。


Online: 366 users browsing the articles directory