TCPコネクション

TCPコネクション

 TCP(Transmission Control Protocol)は、信頼性の高いデータ配信を実現するために使用されるプロトコルであり、TCPコネクションは、TCPプロトコルを使用して2つのホスト間で確立された論理的な通信パスのことを指します。

TCPコネクションは、3つのフェーズに分かれています。

  1. コネクション確立(3ウェイハンドシェイク) 送信側がまずSYN(Synchronize)パケットを受信側に送信し、受信側はACK(Acknowledgement)とSYNを返します。最後に送信側がACKを返すことでコネクションが確立されます。
  2. データ送信 コネクションが確立された後、データの送受信が行われます。送信側はシーケンス番号をつけてデータを送信し、受信側は受信したデータを確認してACKを返します。
  3. コネクション終了 通信が終了する場合、終了を通知するFIN(Finish)パケットを送信側が受信側に送信します。受信側はACKを返し、自身もFINを送信します。最後に送信側がACKを返すことでコネクションが終了します。

 TCPコネクションは、確立・維持・終了のために一定のオーバーヘッドがありますが、信頼性が高くデータの欠落や重複を防ぐことができます。そのため、WebサイトのようなHTTPプロトコルを使用するアプリケーション通信では、TCPプロトコルが広く利用されています。