logo

TCP接続の終了

TCP (伝送制御プロトコル) は、順序付けられた安全な方法でのデータ伝送を保証する伝送プロトコルです。データ パケットは同じ順序で送受信されます。 TCP は、 四層 プロトコルを OSI (Open System Interconnection Model) と比較します。 七層 送信プロセス。サーバーとクライアント間の整合性とセキュリティを確保するため、高レベルのプロトコルからデータを送信することをお勧めします。

TCP は終了するために 4 ウェイ ハンドシェイクを必要とします。接続を確立するには、TCP は 3 ウェイ ハンドシェイクを必要とします。そこで、ここでは、TCP が構築するための詳細なプロセスについて説明します。 3ウェイハンドシェイク 接続用と 終了のための 4 ウェイ ハンドシェイク 。ここでは、次のことについて説明します。

TCPとは何ですか?

TCP の層

TCP 接続 (3 ウェイ ハンドシェイク)

TCP 終了 (4 ウェイ ハンドシェイク)

ラテックスの偏微分

はじめましょう。

TCPとは何ですか?

TCP は接続指向のプロトコルです。つまり、最初に送信者と受信者の間の接続を次の形式で確立します。 ハンドシェーク 。両方の接続が検証された後、パケットの送信を開始します。これにより、送信プロセスにエラーがなく、データが確実に配信されます。これは、インターネット上のネットワーク デバイスを相互接続するために使用される通信プロトコルの重要な部分です。インターネット システム全体がこのネットワークに依存しています。

TCP は、次のことを保証する最も一般的なプロトコルの 1 つです。 端から端まで 配達。送信されるデータのセキュリティと完全性が保証されます。送信者と受信者の間に安全な接続が常に確立されます。送信機は、 サーバ 、受信機はとして知られています クライアント 。データ送信はサーバーとクライアントの間で行われるとも言えます。したがって、TCP は、次のようなほとんどの高レベル プロトコルで使用されます。 FTP (ファイル転送プロトコル) HTTP (ハイパーテキスト転送プロトコル) 、 そして SMTP (簡易マイ転送プロトコル)

TCP の層

次に、データはパケットに分割され、アドレスに割り当てられ、送信、ルーティングされ、宛先で受信されます。伝送プロセスは、アプリケーション層、トランスポート層、インターネット層、データリンク層の 4 つの層で構成されます。の アプリケーション層 の上位 3 つの層 (アプリケーション、プレゼンテーション、セッション) と同様の機能を実行します。 OSIモデル ユーザーインターフェイスの仕様を制御します。ユーザーは、メッセージング システムや電子メール システムなど、TCP モデルのアプリケーション層と対話します。の トランスポート層 信頼性が高くエラーのないデータ接続を提供します。アプリケーション層から受信したデータをパケットに分割し、順序付けられたシーケンスの作成に役立ちます。の インターネット層 パケットのルーティングを制御し、宛先にパケットが確実に配信されるようにします。データリンク層は、OSI モデルの下位 2 層 (データリンク層と物理層) と同様の機能を実行します。ネットワーク内のアプリケーションまたはデバイス間でデータを送信する役割を果たします。

ハッシュセットJava

TCP の終了に進む前に、TCP 接続の概念を理解することが重要です。これは、終了プロセスをより深く理解するのに役立ちます。

TCP 接続 (3 ウェイ ハンドシェイク)

ハンドシェイクとは、クライアントとサーバー間の接続を確立するプロセスを指します。ハンドシェイクは、単に通信リンクを確立するプロセスとして定義されます。パケットを送信するには、TCP がデータの送信を開始する前に 3 ウェイ ハンドシェイクが必要です。 TCP における信頼性の高い通信は次のように呼ばれます。 について (肯定応答の再送信)。送信者が受信者にデータを送信する場合、データの到着を確認する受信者からの肯定応答が必要です。確認応答が送信者に届いていない場合は、そのデータを再送信する必要があります。受信側からの肯定応答により、接続が確立されます。

ここで、サーバーはサーバーであり、クライアントは受信者です。上の図は、接続を成功させるための 3 つのステップを示しています。 3 ウェイ ハンドシェイクは一般に SYN-SYN-ACK として知られており、データを交換するにはクライアントとサーバーの両方の応答が必要です。 SYNとは シーケンス番号を同期する と ACK の意味 了承 。各ステップは、送信者と受信者間の一種のハンドシェイクです。

3 つのハンドシェイクを示す成功した TCP 接続の図を以下に示します。

TCP接続の終了

3 つのハンドシェイクについては、以下の手順で説明します。

ステップ 1: SYN

SYN は、クライアントからサーバーに送信されるセグメントです。それはとして機能します 接続要求 クライアントとサーバーの間。これは、クライアントが接続を確立したいことをサーバーに通知します。シーケンス番号を同期すると、同じ SYN セグメントが接続要求でシーケンス番号を要求する場合に、2 つのデバイス間で送信されるシーケンス番号の同期にも役立ちます。

ステップ 2: SYN-ACK

これは、サーバーによって送信される SYN-ACK セグメントまたは SYN + ACK セグメントです。 ACK セグメントは、サーバーが接続要求を受信し、接続を構築する準備ができていることをクライアントに通知します。 SYN セグメントは、サーバーがセグメントを開始する準備ができているシーケンス番号を通知します。

フィボナッチ数列Java

ステップ 3: 確認応答

ACK (確認応答) は、クライアントとサーバー間の TCP 接続を正常に確立する前の最後のステップです。 ACK セグメントは、サーバーから受信した ACK および SN の応答としてクライアントによって送信されます。これにより、信頼性の高いデータ接続が確立されます。

これら 3 つの手順を完了すると、クライアントとサーバーはデータ通信プロセスの準備が整います。 TCP 接続と終端は全二重です。これは、データが両方向に同時に送信できることを意味します。

TCP 終了 (4 ウェイ ハンドシェイク)

どのデバイスも、終了を続行する前に接続を確立します。 TCP では、データを送信する前にクライアントとサーバー間の接続を確立するために 3 ウェイ ハンドシェイクが必要です。同様に、データ送信を終了または停止するには、4 ウェイ ハンドシェイクが必要です。 TCP 終了に必要なセグメントは、FIN セグメントを除き、TCP 接続を構築するためのセグメント (ACK および SYN) と同様です。 FIN セグメントは、一方のデバイスから他方のデバイスに送信される終了要求を指定します。

送信者と受信者間のデータ送信プロセスにおいて、クライアントはデータ送信者であり、サーバーは受信者です。クライアントとサーバー間のセグメントの交換を示す以下の TCP 終端図を考えてみましょう。

4 つのハンドシェイクを示す、成功した TCP 終了の図を以下に示します。

TCP接続の終了

送信されたリクエストと待機状態を含む 6 つのステップを使用して、TCP 終了プロセスについて説明します。手順は次のとおりです。

gimpでjpegとして保存

ステップ 1: フィン

FIN とは、 終了リクエスト クライアントによってサーバーに送信されます。最初の FIN 終了要求はクライアントからサーバーに送信されます。これは、クライアントとサーバー間の終了プロセスの開始を示しています。

ステップ 2: FIN_ACK_WAIT

クライアントはサーバーからの FIN 終了要求の ACK を待ちます。それは 待機状態 クライアントのために。

ステップ 3: 確認応答

サーバーは、FIN 終了要求を受信すると、ACK (Acknowledgement) セグメントを送信します。これは、サーバーが接続を閉じて終了する準備ができていることを示しています。

ステップ 4: FIN _WAIT_2

クライアントはサーバーからの FIN セグメントを待ちます。これは、サーバーが接続を終了する準備ができていることを示す、サーバーによって送信される承認済みシグナルの一種です。

ステップ 5: フィン

FIN セグメントがサーバーからクライアントに送信されるようになりました。これは、サーバーがクライアントに送信する確認信号です。終了の承認が成功したことを示しています。

ステップ 6: 確認応答

クライアントは、サーバーからの接続を終了するための信号である FIN 信号を受信したことを示す ACK (確認応答) セグメントをサーバーに送信します。サーバーは ACK セグメントを受信するとすぐに接続を終了します。