こんにちは、かつコーチです。
「TCP/IP」という言葉、ネットワークの説明で必ずといっていいほど登場しますよね。
なんとなく「通信に関係する用語」というのはわかっていても、TCPとIPがそれぞれ何をしているのか、説明できる人は多くありません。
この記事では、TCP/IPを「手紙のやり取りの共通ルール」に置き換えながら、初心者向けに解説します。
読み終える頃には、TCPとIPがそれぞれ何を担当しているのか、自分の言葉で説明できるようになります。
TCP/IPとは?
TCP/IP=手紙のやり取りを成立させる共通ルール
TCP/IPとは、インターネット上で機器同士が通信するための、共通のルール(プロトコル)の集まりのことです。
たとえるなら、TCP/IPは「手紙のやり取りをするときの共通ルール」だとイメージしてください。
手紙を送るには、封筒に宛先の住所を書き、切手を貼り、郵便局のルールに従って送る必要があります。
送る側と受け取る側が同じルールに従っているからこそ、手紙は問題なく相手に届きます。
インターネットの通信も同じで、世界中の機器が同じ「TCP/IP」というルールに従ってデータをやり取りしているからこそ、メーカーや機種が違う機器同士でも問題なく通信できるのです。
なぜ共通ルールが必要なのか
もし国ごと、会社ごとに手紙のルールがバラバラだったら、海外に手紙を送るたびに一苦労してしまいます。
ネットワークの世界も同じで、機器やソフトウェアを作る会社ごとに通信のルールが違っていたら、異なる会社の機器同士は通信できません。
TCP/IPという世界共通のルールがあるからこそ、WindowsのパソコンからLinuxのサーバーへ、あるいはスマートフォンから海外のサーバーへも、問題なくデータを届けられるのです。
TCP/IPの2つの役割を具体例で見る
IP:手紙を届け先まで運ぶ「住所」の担当
IP(Internet Protocol)は、データをどの機器に届けるかという「宛先」を管理する役割を担当しています。
手紙でいえば、封筒に書く「住所」の部分にあたります。
IPは、データに「どの機器宛てなのか」という住所(IPアドレス)を付けて、目的の機器まで届ける役割を果たします。
ただし、IPは「届け先の住所を管理する」ことに専念しており、手紙がちゃんと届いたかどうかの確認まではしません。
TCP:手紙が確実に届くよう管理する「確認」の担当
TCP(Transmission Control Protocol)は、データが正しく、そして確実に届くように管理する役割を担当しています。
大きなデータを送るとき、TCPはそのデータを手紙のように小さな「パケット」という単位に分割して送ります。
そして、届いた順番がバラバラになっていないか、途中で届かなかったパケットがないかを確認し、足りない分は再送してもらう仕組みを持っています。
これは、複数枚に分かれた手紙に通し番号を振り、「1枚目、2枚目、3枚目、ちゃんと全部届きましたか?」と確認を取りながらやり取りするイメージです。
IPが「住所を頼りに届ける係」、TCPが「確実に、正しい順番で届いたか確認する係」と考えると、役割の違いがイメージしやすくなります。
実際の通信でTCP/IPの動きを確認する
実際に、TCP/IPがどのように動いているか、コマンドで確認してみましょう。
curl -v https://example.com
実行すると、以下のような出力の中に、IPとTCPの働きを示す部分が含まれています。
* Trying 93.184.216.34:443...
* Connected to example.com (93.184.216.34) port 443
> GET / HTTP/1.1
> Host: example.com
Trying 93.184.216.34の部分が、IPによる「宛先の住所」への接続を試みている様子です。
Connected to example.com ... port 443の部分は、TCPによる接続(手紙のやり取りを始める前の「準備確認」)が成立したことを示しています。
このように、普段意識することのないIPとTCPの働きが、通信の裏側で確実に動いているのです。
よくあるつまずきポイント・エラー対処
TCPとIPを「どちらか一方を選ぶもの」と誤解していた話
私が学び始めたころ、TCPとIPを「通信方式の選択肢」のように誤解していました。
❌ Before
「TCP通信」と「IP通信」という、まったく別の2つの通信方法があると思い込み、どちらを使えばいいのか混乱していました。
参考書を読んでも「TCP/IP」とまとめて書かれているのに、なぜ2つの言葉が並んでいるのか理解できずにいました。
✅ After
実際には、TCPとIPは「競合する選択肢」ではなく、「セットで動く役割分担」だとわかりました。
IPが住所を頼りに届け、TCPがその届いたデータを確認・整理するという、2つの係が協力して1つの通信を成立させているのです。
この関係性に気づいてから、「TCP/IP」という言葉が急に腑に落ちるようになりました。
応用・一歩先の使い方
TCP/IPは4つの階層で役割分担している
TCP/IPは、実際には4つの階層(レイヤー)に分かれて役割分担をしています。
大まかにいうと、Webページの内容そのものを扱う階層、TCPが確認作業を担当する階層、IPが住所を管理する階層、そして実際にケーブルや電波でデータを送る階層に分かれています。
この階層構造については、後の記事「OSI参照モデルとは?通信を7つの階層で理解する」で、より詳しく解説します。
まずは「IPが住所係、TCPが確認係」という役割分担を押さえておけば十分です。
まとめ
この記事のポイント
- TCP/IPとは、インターネット上の通信を成立させる世界共通のルールの集まり
- IPは「宛先の住所」を管理し、データを届け先まで運ぶ役割を担当する
- TCPは、データを分割し、正しい順番で確実に届いたかを確認する役割を担当する
curl -vを使うと、IPによる接続先とTCPによる接続確立の様子を確認できる
次に読むべき記事
TCPが「確認係」であることがわかったら、次はIPが管理する「住所」そのものを詳しく見ていきましょう。
「IPアドレスとは?機器の住所を理解する」で、IPアドレスの仕組みを解説しています。