TCPコネクションの確立&切断

TCPコネクションの確立&切断は、3ウェイハンドシェイク(3つのパケットのやり取り)で行われます。なお、実際のデータ送信はコネクションが確立された後に行われます。

■コネクション確立成功

相手ホストの準備ができている場合、3ウェイハンドシェイクが行われてコネクションが確立されます。

(1)SYNパケット

最初に、フラグが「SYN」のパケットを送信します。

(2)SYN・ACKパケット

次に、相手ホストからフラグが「SYN・ACK」のパケットが返信されます。

(3)ACKパケット

最後に、フラグが「ACK」のパケットを送信します。

■コネクション確立失敗

相手ホストの準備ができていない場合、RES・ACKパケットが返されてコネクション確立は失敗します。

(1)SYNパケット

最初に、フラグが「SYN」のパケットを送信します。

(2)RES・ACKパケット

相手ホストの準備ができていない場合、相手ホストからフラグが「RES・ACK」のパケットが返信されます。

■コネクション切断

コネクションの切断も3ウェイハンドシェイクで行われます。

(1)FINパケット

データ送信が終了すると、フラグが「FIN」のパケットを送信します。このパケットには送信データの最後の部分が含まれています。

(2)FIN・ACKパケット

その後、相手ホストのデータ送信が終了すると、相手ホストからフラグが「FIN・ACK」のパケットが返信されます。

(3)ACKパケット

最後に、フラグが「ACK」のパケットを送信します。