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の基本的な仕組みは重要です。
たとえばネットワーク監視では…
- どのIPアドレスから
- どのIPアドレスへ
- どのTCPポートを使って
- どのような接続が行われているのか
…を見ることがあります。
さらに、TCPの接続処理そのものが攻撃に利用される場合もあります。
代表例の一つが“YN Flood(SYNフラッド)”です。
大量のSYNを送り付けて接続処理のための資源を消費させ、正常な利用者からの接続を妨害しようとするDoS攻撃の一種です。
つまり、TCPの正常な仕組みを理解すると、「攻撃者がその仕組みのどこを利用しているのか」も理解しやすくなります。
ネット探検ラボでは、TCPを単なるアルファベット3文字として覚えるのではなく、「通信を開始し、確認しながらデータを正しく届けるための仕組み」として理解することを重視します。


コメント