TCPコネクションの確立と解放

TCPは、送信接続が確立されているデータに分割されているコネクション型プロトコルであり、データ転送、接続は、三の段階で放出されます。

0の接続を確立します

接続の確立は、多くの場合、「3ウェイハンドシェイク」と言われます。

  • クライアントはサーバーにSYNパケットを送信する(SYN = 1これは、接続要求に接続または受信されていることを示す)、及びランダムに選択された開始シーケンス番号x。
  • サーバはSYNパケットで応答し、そしてACK(肯定応答ビット)1 [ACKのACK = TCPセグメントヘッダ(確認応答番号フィールド)が有効1である]、ランダムシリアル番号をサーバー側yを起動選択、及びACKフィールドは、X + 1に設定され送信されたSYNパケットを受信したクライアントを表している、パケットの次のシーケンス番号X + 1を受けると予想されます。
  • 配列番号X + 1、Y +とACKフィールドに応答ACKメッセージが1に設定されているクライアントは、サーバがSYNパケット、次のパケットの受信期待シーケンス番号y + 1を受信したことを示します。
    注意:また、ISN(初期シーケンス番号)として知られているシリアル番号seq、
    百度からの写真
    の話の目的のためのハンドシェイクメカニズムからではなく二回または4回の3ウェイハンドシェイクを使用する理由:
    主に確認するためのハンドシェイク両当事者の送信を、受信は正常です:なるように、配列番号なお初期化は、後続のデータ転送の準備ができて、
    最初のハンドシェイク:クライアントサーバーが送信されるネットワークパケットを受信し、サーバが理解するクライアントの伝送能力、通常サーバーの能力を受信することと、
    第二ハンドシェーク:サーバー契約、クライアントが受け取る、クライアントが理解するクライアントが受信送信が正常であり、受信、送信サーバーを、
    第二のハンドシェイクの後、client'dはすべてを理解しますが、サーバーがクライアントを確認することはできません通常、サーバーは正常である受信することができ、2ウェイハンドシェイクが十分ではありませんので、
    サーバはクライアントから送信されたネットワークパケットを受信すると、サーバが最後に送信し、それらの通常のクライアントは、通常の受信を確認し、その4回:第三握手を握手は冗長です。

    1つの補足質問

  • シーケンス番号(ISN)乱数発生器は、攻撃されないようにするために、(固定ならば、ACKが一度は明白であるで送信される)理由。
  • 最初の双方向ハンドシェイクは、データを運ぶことができない、3番目は運ぶことができます。携帯のデータが失われる可能性があります場合は、最初のハンドシェイクの未知のサーバは、能力を受け取ります。2番目のクライアントは機能がキャリーた場合、データが失われる可能性があり、不明である受け取ります。第三のクライアントは、サーバーは正常受信して、彼らはESTABLISHED状態に持って知っています。
  • サーバはSYNパケットを送信した後、SYN-RCVD状態で、その後、別の接続要求が配置されるハーフ接続キューを接続要求が中に配置された後、3ウェイハンドシェイクが完了し、完全な接続キューの内部。

2接続解除

:プロセス接続解除は、多くの場合、「4波」と言われ
たPS クライアントへの数値は、たとえば、解放要求を開始します

  1. クライアントは、それが完了したクライアントは、解放要求データを送信することを示し、1に設定される解放要求、FIN(ストップビット)を送信します。
  2. サーバーはで、ACK確認応答番号をu + 1で、クライアントからサーバーへの接続この時間が解放されたACKパケットを送信セミクローズ状態
  3. サーバはまた、切断された場合、それはクライアントへの接続解放メッセージ(FIN = 1)を送信します。
  4. クライアントは、応答パケット、U + 1のシーケンス番号seqを送信し、接続を閉じ、サーバはACKパケットを受信して​​いることを確認した時間(2MSL)の期間を待ちます。

百度からの写真
クライアントは、二つの理由でシャットダウンする2MSL時間を待つ理由:

  • サーバーは、ACKパケットを受信していないと、サーバは、FINメッセージを再送します、クライアントは再びFINメッセージを受信すると、あなたは損を送信する前にACKパケットを知って、タイマーは、ACKパケットを待つ時間をリセットし、2MSLを再送信しますウェン。
    サーバが正常にACKパケットを受信しない場合、この待機期間がなければ、その後、再送されたFINセグメントがクライアントに到達しません、サーバが正常にシャットダウンすることはできません。
  • クライアントは、メッセージが表示され接続されているこの新しい、古い接続要求セグメントを避けるために、ネットワークから次回消えます生成し、これに関連して、2MSL後、彼の最後のACKパケットを終えました。

おすすめ

転載: www.cnblogs.com/EIMadrigal/p/11560205.html