TCPとは

TCPとは?

📅 最終更新:2026年8月8日

【読み方】

ティー・シー・ピー

【英語表記】
Transmission Control Protocol
(トランスミッション・コントロール・プロトコル)

略称:TCP
(ティー・シー・ピー)

【一般的な意味】

「データを相手へ正しい順序で、できるだけ確実に届けるための通信ルール」です。

インターネット上では、送信するデータを小さな単位に分けて通信します。

しかし、ネットワークでは…

  • 途中でデータが失われる
  • 送った順番とは異なる順序で到着する
  • 同じデータが重複して届く

…といったことが起こる可能性があります。

TCPは、こうした状況でもアプリケーションが扱うデータを正しい状態で受け渡せるように制御します。

TCPは「届いたか」を確認する

TCPの重要な特徴の一つが、送ったデータが相手へ届いたことを確認しながら通信することです。

受信側は、データを受け取るとACK(Acknowledgment:アクノリッジメント)と呼ばれる確認応答を返します。

イメージとしては…

送信側

「データを送りました」

受信側

「受け取りました」

送信側

「では続きを送ります」

…というやり取りです。

一定時間待っても必要な確認応答が得られない場合などには、TCPはデータを再送します。

これを再送制御といいます。

データの順序を整える

ネットワーク上では、分割されたデータが必ずしも送信された順番どおりに到着するとは限りません。

たとえば…

1 → 2 → 3 → 4

という順番で送ったデータが、

1 → 3 → 2 → 4

…という順番で届く可能性があります。

TCPではデータの順序を管理し、受信側で正しい順番に並べてからアプリケーションへ渡します。

そのためWebページやファイルなど、内容を正しく再現する必要がある通信に適しています。

通信を始める前に接続を確立する

TCPは“コネクション型(Connection-oriented)”のプロトコルです。

本格的にデータを送る前に、通信相手との接続を確立します。

代表的なのが、SYN → SYN/ACK → ACKというやり取りです。

これを“3ウェイハンドシェイク(Three-Way Handshake)”と呼びます。

簡単に表すと、

端末A

「通信を始められますか?」(SYN)

端末B

「できます。こちらも準備できています」(SYN/ACK)

端末A

「確認しました」(ACK)

…という流れです。

この接続を確立してからTCPによるデータ通信が始まります。

TCPとポート番号

TCPでは、通信先のコンピューターだけでなく、そのコンピューター上のどのサービスと通信するのかを識別するためにポート番号を利用します。

たとえば、

HTTP:TCP 80番

HTTPS:TCP 443番

などが代表的です。

IPアドレスを「建物の住所」と考えるなら、ポート番号は「その建物のどの窓口へ行くのか」を示す番号と考えることができます。

TCPとUDPの違い

TCPと並んでよく登場するのが“UDP(User Datagram Protocol)”です。

TCPは

  • 接続を確立する
  • 到着を確認する
  • 必要に応じて再送する
  • データの順序を整える

…といった制御を行います。

一方、UDPはTCPより簡潔な仕組みでデータを送信します。

そのため、

TCP=信頼性を重視した通信

UDP=低遅延や簡潔さが重要な用途でも使われる通信

と大まかに考えると分かりやすいでしょう。

ただし、UDPを利用するアプリケーション側で必要な信頼性や再送などを実装することもあるため、「UDPなら必ずデータが失われても構わない」という意味ではありません。

TCPはどこで使われるのか

TCPはさまざまなインターネット通信で利用されています。

代表的な例として…

  • Web通信
  • メール
  • ファイル転送
  • リモート接続

…などがあります。

正しいデータを相手へ届けることが重要な通信で広く利用されています。

【ネット探検ラボでは】

ネット探検ラボでは、TCPを、「送ったデータが正しく届くように面倒を見てくれる通信ルール」と考えると分かりやすいと捉えます。

TCPの重要なところは、単純にデータを送信するだけではありません。

  • 接続を確立する
  • データを送る
  • 届いたことを確認する
  • 届かなければ必要に応じて再送する
  • 順番が違えば正しく並べる

…という一連の制御を行います。

そしてサイバーセキュリティを理解するうえでも、TCPの基本的な仕組みは重要です。

たとえばネットワーク監視では…

  1. どのIPアドレスから
  2. どのIPアドレスへ
  3. どのTCPポートを使って
  4. どのような接続が行われているのか

…を見ることがあります。

さらに、TCPの接続処理そのものが攻撃に利用される場合もあります。

代表例の一つが“YN Flood(SYNフラッド)”です。

大量のSYNを送り付けて接続処理のための資源を消費させ、正常な利用者からの接続を妨害しようとするDoS攻撃の一種です。

つまり、TCPの正常な仕組みを理解すると、「攻撃者がその仕組みのどこを利用しているのか」も理解しやすくなります。

ネット探検ラボでは、TCPを単なるアルファベット3文字として覚えるのではなく、「通信を開始し、確認しながらデータを正しく届けるための仕組み」として理解することを重視します。

コメント

タイトルとURLをコピーしました