TCP / IPプロトコル(II) - 振っ4とのスリーウェイハンドシェイク

まず、3ウェイハンドシェイクが完了しているリンク
の人気プロセス:
クライアントはサーバーに「私が来てほしい、今の扉を開く」にリクエストを送信する
サーバーが送信するクライアントに「私はあなたがドアを開くために取得します、で来て」
クライアント」丁寧に送信していますありがとう、私は、サーバーに」で来ます

フローチャート:
書き込み絵は、ここで説明しました
プロセスの説明:
(1)最初のハンドシェーク:クライアントSYNフラグビットが1にランダムに生成された値の配列= Jに設定され、パケットがサーバーに送信され、クライアントは、確認サーバを待って、SYN_SENT状態に入ります。
(2)第二のハンドシェイク:接続要求クライアント、サーバSYNとACKフラグビットが1、ACK = J + 1、ランダムに生成された値の配列に設定されるまで、サーバーは、フラグからパケットデータがSYN = 1ビット受信します= K、及び確認クライアントへの接続要求に対するデータパケットは、サーバがSYN_RCVD状態に入ります。
(3)第三のハンドシェーク:クライアントがACK J + 1は、ACK 1、正しいACKフラグが1に設定されている場合、ACK = K + 1であり、データパケットか否かを確認する、確認応答を受信しますサーバーに、サーバーをチェックしたack K + 1かどうかを、ACKは1、正しい場合は、接続が確立され、クライアントであり、サーバは、3ウェイハンドシェイクを完了し、あなたがクライアントとサーバー間のデータ転送を開始することができ、状態を確立して入ります。

第二に、第四の波:
人気のプロセス:
クライアントの送信彼を送信するために、サーバーに「時間が遅れている、私を残して」、および他のサーバー
のサーバー聞いて、送信を「私は知っているが、私はそれをあなたに送信します「クライアントには、そのようなクライアントとして取る
私が閉じ、ドアを閉めるために、送信をサーバーに」「クライアントに、その後、(〜ニマ偽善ああ)行くためにクライアントを待つ
クライアントが送信」私が知っている、私が行っています。」彼らが去った後
書き込み絵は、ここで説明しました
のTCP接続が全二重であるので、このように、各方向を個別にシャットダウンする必要があり、この原則は、1つのタスクは、この方向での接続を終了するFINを送信して、データを送信して終了すると、そこに流れの方向にはデータがありません、それはもはやデータを受信し、まだこの方向はまた、FINを送信するまで、TCP接続を介してデータを送信することが可能であることをFIN単純な手段を受け取ります。最初のアクティブ近いのいずれかをシャットダウンするために、受動を閉じ、他の実行している間、説明は、図3の場合です。
(1)最初の波は:クライアントがデータ転送クライアントサーバー入札を閉じるため、FINを送信し、クライアントがFIN_WAIT_1状態になります。
(2)第二波:サーバは、クライアントを送信するFIN、ACKを受信する(シーケンス番号を占有同じSYN、FIN)受付番号+1のための確認応答番号は、サーバーがCLOSE_WAIT状態に入ります。
(3)第三の波:サーバーはクライアントサーバーのデータ転送を閉じるため、FINを送信し、LAST_ACKサーバーは状態になります。
(4)第4の波:クライアントは、FINを受信し、クライアントは確認応答番号の数+ 1を受信するために、TIME_WAIT状態に入り、その後、サーバにACKを送信し、サーバはCLOSED状態は、4つの完全な波を入射します。

なぜスリーウェイハンドシェイクは、接続を確立し、接続がそれを振って4倍で閉じますか?
これは、接続要求のSYNパケット、SYN ACKを確立し、クライアントに送信されるパケットに配置された後に受信し、LISTEN状態にあるため、サーバです。接続が近いのですぐに自分の缶は、あなたはまた、いくつかを送信することができ、それはすべてのデータを相互に送信されている所有しないかもしれない、ただ相手は、もはやデータを送信するだけでなく、データを受信意味しないことを、お互いのFINメッセージの受信時に、閉じられました相手にFINメッセージを送信し、その後、他のパーティへのデータ、そして今、そのため、自身のFINとACKは、一般的に、別々に送信された接続をクローズすることに同意するものとします。

公開された77元の記事 ウォン称賛39 ビュー80000 +

おすすめ

転載: blog.csdn.net/qq_33824312/article/details/72519196