TCP 3 ウェイ ハンドシェイク (SYN、SYN-ACK、ACK)

TCP スリーウェイ ハンドシェイクとは何ですか?

スリーウェイハンドシェイク TCP 3 ウェイ ハンドシェイクは、TCP/IP ネットワークでサーバーとクライアント間の接続を確立するために使用されるプロセスです。これは、実際のデータ通信プロセスが開始される前に、クライアントとサーバーの両方が同期パケットと確認パケットを交換する必要がある XNUMX 段階のプロセスです。

XNUMX ウェイ ハンドシェイク プロセスは、両端が同時に TCP ソケット接続を開始、ネゴシエート、分離できるように設計されています。 これにより、複数の TCP ソケット接続を同時に両方向に転送できます。

TCP メッセージの種類

メッセージ 詳細説明
シン 接続を開始して確立するために使用されます。デバイス間のシーケンス番号を同期するのにも役立ちます。
ACK SYN を受信したことを相手側に確認するのに役立ちます。
SYN-ACK ローカルデバイスからの SYN メッセージと以前のパケットの ACK。
FIN 接続を終了するために使用されます。

TCP XNUMX ウェイ ハンドシェイク プロセス

TCP トラフィックは XNUMX ウェイ ハンドシェイクから始まります。 この TCP ハンドシェイク プロセスでは、クライアントはサーバーとの通信セッションを要求して会話を開始する必要があります。

XNUMX ウェイ ハンドシェイク プロセス
3ウェイハンドシェイク図
  • ステップ1: 最初のステップでは、クライアントはサーバーとの接続を確立します。 これは、SYN を含むセグメントを送信し、クライアントが通信を開始する必要があることと、そのシーケンス番号を指定する必要があることをサーバーに通知します。
  • ステップ2: このステップでは sサーバーは、SYN-ACK 信号セットを使用してクライアント要求に応答します。 ACK は受信したセグメントの応答を示すのに役立ち、SYN はセグメントで開始できるシーケンス番号を示します。
  • ステップ3: この最後のステップでは、クライアントがサーバーの応答を確認し、両方が安定した接続を作成して実際のデータ転送プロセスを開始します。

現実世界の例

現実世界の例

以下は、XNUMX つのステップで構成される XNUMX ウェイ ハンドシェイク プロセスの簡単な例です。

  • ホスト X は、ホストの宛先に TCP SYN パケットを送信して接続を開始します。パケットには、ホスト X が送信するデータのシーケンス番号の先頭を示すランダムなシーケンス番号 (たとえば、4321) が含まれています。
  • その後、サーバーはパケットを受信し、シーケンス番号で応答します。 その応答には、確認応答番号、つまりホスト X のシーケンス番号に 1 を加算したもの (ここでは 4322) も含まれています。
  • ホスト X は、確認応答番号を送信することでサーバーに応答します。この番号は、主に 1 ずつ増加するサーバーのシーケンス番号です。

データ転送プロセスが終了すると、TCP は 2 つの別々のエンドポイント間の接続を自動的に終了します。

製品概要

  • TCP 3 ウェイ ハンドシェイクまたは 3 ウェイ ハンドシェイクまたは TCP XNUMX ウェイ ハンドシェイクは、 TCP/IPネットワーク サーバーとクライアント間の接続を確立します。
  • Syn は接続の開始と確立に使用します
  • ACK は、SYN を受信したことを相手側に確認するのに役立ちます。
  • SYN-ACK は、ローカル デバイスからの SYN メッセージと以前のパケットの ACK です。
  • FIN は接続を終了するために使用されます。
  • TCP ハンドシェイク プロセス。クライアントはサーバーとの通信セッションを要求して会話を開始する必要があります。
  • 最初のステップでは、クライアントはサーバーとの接続を確立します。
  • この XNUMX 番目のステップでは、サーバーは SYN-ACK 信号セットでクライアント要求に応答します。
  • この最後のステップでは、クライアントはサーバーの応答を確認します。
  • TCP は、XNUMX つの別個のエンドポイント間の接続を自動的に終了します。