TCP制御手順 (3ウェイハンドシェイク)


TCP制御手順(3ウェイハンドシェイク)

  • 下記の図はTCP/IPのシーケンスで
    .ライアントからSYN(Synchronize flag)パケットを送信、
    ▲機璽弌爾らSYN+ACK(Acknowledgement flag)パケットを送信、
    クライアントからACKパケットを送信、
    という3段階の手順を踏んだ3ウェイハンドシェイク(3Way Handshake)と呼ばれるものを表しています。
    TCP/IPではこのような手順を踏んで通信を確立するような仕組みとなっており、以下にその詳細について解説していく
    • 3ウェイハンドシェイク
      tcp1.gif
  • \楝海鰺弋瓩垢
    通信を行う側が、SYNフラグを「1」にしたセグメントを相手に送ります。
    受け取った側は通信できる状態にあれば同様に「1」のデータを返します。
    もし、通信できなければRST(Reset)フラグを「1」にしたセグメントを返します。
    • 接続が成立する場合
      tcp2.gif
    • 接続が成立しない場合
      tcp3.gif
  • ∪楝海確立される
    双方の接続が確立された段階でバーチャルサーキットと呼ばれる通信路ができあがり、
    この回線は通信が終了するか、なんらかの理由で切断されるまでは維持され、
    以降はセグメントのやり取りに使用されます。
    tcp4.gif
  • データの転送
    送信側は受信側が了解した量に見合ったサイズのセグメントを送り出します。
  • ぜけ取ったデータをチェックする
    受信側は受け取ったセグメントのチェックサムから
    TCPヘッダのチェックサムの値と照合します(セグメントの破損の確認)。
  • ゥ┘蕁実仆茵淵如璽燭稜杼)
    なんらかの原因によって受信側より一定時間、
    応答メッセージが返ってこない場合はもう一度データの再送を行います。
tcp5.gif
  • Ε侫蹇璽灰鵐肇蹇璽[流量制御]
    受信側はRWINの値で、受け入れるデータ量を送信側に示します。
    tcp6.gif
  • Д如璽秦信の終了

送信するデータがなくなったら、コードビットFINフラグを「1」にしたフラグを送ります。

  • ╂楝海寮效如淵弌璽船礇襯機璽ットの切断)
    相手側も送信するデータがなければ、同様にFINフラグを
    「1」にしたセグメントを返してきます。
    その段階でバーチャルサーキットの接続が切断されます。
    この時に何度接続しようとも正常にデータが送れなかった場合は、
    RSTフラグを「1」にしたセグメントを相手に送信し、回線を強制的に切断します。
    tcp7.gif
 

最新の20件

2007-07-19 2007-06-19 2007-06-25 2010-08-10 2008-02-19 2008-01-25 2008-01-23 2008-01-10 2007-12-04 2007-07-19 2007-07-09 2007-06-29 2007-06-26

今日の4件

  • counter: 872
  • today: 1
  • yesterday: 0
  • online: 1

edit