インターネットについて調べていると、「TCP」という言葉を目にすることがあります。
TCPは、Webサイトの閲覧やメール、ファイル転送など、インターネット上でデータをやり取りするときに使われている重要な通信プロトコルです。
とはいえ、
と疑問に感じる人も多いでしょう。
この記事では、TCPの基本から仕組み、身近な利用例、UDPとの違いまで、IT初心者にもわかりやすく解説します。
TCPとは?
TCP(Transmission Control Protocol/トランスミッション・コントロール・プロトコル)とは、ネットワーク上でデータを確実に届けるための通信プロトコルです。
「プロトコル」とは、コンピューター同士が通信するときのルールのことです。

例えば、インターネットでWebサイトを表示するとき、コンピューターはサーバーとデータをやり取りします。

このときTCPは、
といった役割を担当します。
つまりTCPを簡単に説明すると、「データを相手にきちんと届けるための通信ルール」です。
TCPは、データを信頼性の高い形で順序どおりに届けることを目的とした、インターネットで広く使われている通信プロトコルです。
TCPを身近な例で説明すると?
TCPを「宅配便」に例えるとわかりやすいでしょう。
通常の宅配便では、荷物を送ったら「ちゃんと届いたか」を確認したり、問題があれば再送したりします。
TCPもこれに似ています。
送信側
「データを送ります」
↓
受信側
「受け取りました」
↓
送信側
「次のデータを送ります」
↓
もし届かなければ、「届いていないので、もう一度送ります」という処理を行います。
もちろん実際のTCP通信はもっと複雑ですが、初心者の方は、「TCP=データがきちんと届くように管理する仕組み」と覚えておくと理解しやすいでしょう。
TCPが使われる場面
TCPは、正確なデータ通信が求められるさまざまな場面で利用されています。
例えば、
などです。
ただし、実際にどの通信でTCPが使われるかは、利用するアプリケーションやプロトコルによって異なります。
TCPはなぜ使われる?
ネットワークでデータを送信するとき、送ったデータが必ずしも一度で相手に届くとは限りません。
通信途中でデータが失われたり、順番が入れ替わったりする可能性があります。
そこでTCPが、データの状態を確認しながら通信を行います。
例えば、「こんにちは」というデータを送ったとします。
TCPはデータを管理しながら、
送信 → 相手が受信 → 受信したことを確認 → 次のデータを送信
というように通信を進めます。
もし途中でデータが届かなければ、TCPはそのデータをもう一度送信します。
このような仕組みによって、通信の信頼性を高めています。
RFC9293(TCPの仕様をまとめた公式文書)でも、TCPはデータの受信確認や再送によって、失われたデータを届ける仕組みを定義しています。
TCPの仕組み
TCPの通信では、いきなりデータを送り始めるわけではありません。
まず、通信する相手との接続を確立します。
1.通信相手に接続を要求する
最初に、通信を開始したい側が相手に「通信を始めてもいいですか?」という要求を送ります。
このとき使われるのがSYN(シン)という制御情報です。
2.相手が応答する
相手は要求を受け取ると、「わかりました。こちらも通信できます」という応答を返します。
このとき、SYN-ACKという情報が使われます。
3.通信を開始する
最後に、最初のコンピューターが「確認しました」と応答します。
これで通信の準備が整い、データの送受信を開始できます。
この一連の処理を3ウェイ・ハンドシェイクと呼びます。
簡単にすると、「SYN → SYN-ACK → ACK」という3段階です。
TCPでは、この3ウェイ・ハンドシェイクによって通信開始時の接続を確立します。
TCPがデータを正しく届けられる理由
TCPには、データを正しく届けるためのいくつかの仕組みがあります。
順序制御
TCPでは、送信するデータにシーケンス番号と呼ばれる番号を付けて管理します。
シーケンス番号とは、データの順番を管理するための番号です。
例えば、データA → データB → データCという順番で送った場合、それぞれの位置を番号で管理します。
仮にネットワーク上で、データB → データA → データCのような順番で届いたとしても、TCPは番号を確認して正しい順番に並べ直します。
再送制御
ネットワークでは、通信途中でデータが失われることがあります。
TCPでは、相手からの確認が得られない場合などに、必要に応じてデータを再送します。
これを再送制御と呼びます。
つまり、「送ったけれど届かなかった」→「もう一度送る」という仕組みです。
これによって、データが欠落する可能性を抑えています。
TCPの仕様では、ネットワーク上でセグメントが失われた場合などに再送する仕組みが定義されています。
受信確認
TCPでは、データを受け取った側が「受け取りました」と送信側へ知らせます。
この確認に使われるのがACK(確認応答)です。
送信側はACKなどを利用して、データが正常に受け取られたかを判断します。
このように、TCPは「送って終わり」ではなく、相手とのやり取りを確認しながら通信します。
TCP/IPとは?
TCPを調べると、「TCP/IP」という言葉もよく登場します。
TCP/IPとは、インターネットで通信するために使われるプロトコル群(複数の通信ルールの集まり)のことです。
TCPとIPは、それぞれ異なる役割を持っています。
TCP
データを確実に届けることを担当
IP
データをどのコンピューターへ届けるかを担当
例えるなら、
IP=荷物の宛先を決める
TCP=荷物がきちんと届いたか確認する
というイメージです。
そのため、TCPとIPはセットで説明されることが多く、「TCP/IP」と呼ばれています。
TCPとUDPの違い
TCPと一緒によく登場するのがUDP(User Datagram Protocol)です。
どちらもデータ通信に使われますが、特徴が異なります。
| 比較項目 | TCP | UDP |
|---|---|---|
| 信頼性 | 高い | TCPより低い |
| データの順序管理 | する | 基本的にしない |
| 再送制御 | する | 基本的にしない |
| 接続確立 | 必要 | 基本的に不要 |
| 通信速度 | UDPより処理が増える | 比較的高速 |
| 向いている通信 | 正確さが重要な通信 | 速度が重要な通信 |
TCPは、多少処理に時間がかかっても「正確に届けたい」通信に向いています。
一方、UDPは、多少のデータ欠落よりも「リアルタイム性を重視したい」通信などに向いています。
例えば、リアルタイム性が重要な音声・映像通信やオンラインゲームなどでは、UDPが利用されるケースがあります。
TCPのメリット
TCPには主に次のようなメリットがあります。
データの信頼性が高い
データの受信確認や再送などによって、正確なデータ通信を実現しやすくなります。
データの順番を管理できる
シーケンス番号を利用して、データを正しい順番で扱えます。
通信状態を管理できる
通信開始時の接続確立など、相手との通信状態を管理できます。
TCPのデメリット
一方で、TCPには注意点もあります。
TCPは、接続確立や受信確認、再送などの処理を行うため、UDPと比べて通信処理が複雑になります。
そのため、とにかくリアルタイム性を優先したい通信では、TCPが必ずしも最適とは限りません。
「正確さを優先するのか」「速度やリアルタイム性を優先するのか」によって、TCPとUDPを使い分けることが重要です。
まとめ:TCPとはデータを確実に届けるための通信プロトコル
TCPとは、Transmission Control Protocolの略で、ネットワーク上でデータを信頼性の高い形で届けるための通信プロトコルです。
TCPには、
といった仕組みがあります。
特に重要なのが、通信開始時に行われる3ウェイ・ハンドシェイクです。
「TCPとは?」と聞かれたら、まずは、「データを正しい順番で、できるだけ確実に届けるための通信ルール」と答えられるようにしましょう。
TCP/IPやUDP、HTTPなどのネットワーク用語を理解するうえでも、TCPの基本を知っておくことは非常に重要です。
次に下記記事を読むことで、プロトコルの理解をさらに深めることができます。





