
TCP/IPプロトコルの役割と構成
インターネットや社内ネットワークなど、私たちが日々使っている通信の“土台”になっているのが TCP/IPプロトコル です。
Webサイトを開いたり、メールを送ったり、SSHでサーバーに接続したりする際にも、すべての通信はこのTCP/IPの仕組みによって支えられています💡
この記事では、TCP/IPとは何か、どんな仕組みで通信を成り立たせているのかを、図やコマンドを交えてやさしく解説します✨

🌐 TCP/IPとは
TCP/IPとは Transmission Control Protocol / Internet Protocol の略で、
「インターネット通信のための基本ルール群(プロトコルスイート)」 を指します。
つまり「TCPとIPを中心に、複数の通信規約を組み合わせたプロトコルの集合体」です。
| 項目 | 説明 |
|---|---|
| 名称 | TCP/IP(Transmission Control Protocol / Internet Protocol) |
| 種類 | プロトコルスイート(複数の通信規約の集合) |
| 主な目的 | コンピュータ同士がネットワーク上でデータ通信を行うための共通基盤 |
| 主な利用例 | Web通信(HTTP/HTTPS)、メール(SMTP/POP3/IMAP)、リモート接続(SSH)など |
💬ポイント
つまり、TCP/IPがなければ今のインターネットは存在しません。
あらゆる通信アプリケーションは、この仕組みの上で動いています🌍
🧩 TCP/IPの階層構造
TCP/IPは「階層モデル」に基づいて構成されています。
通信を「役割ごと」に分けて整理することで、柔軟で拡張性のある設計が可能になっています。
TCP/IPモデルは以下の 4階層構造 に分かれます👇
| 階層 | 主な役割 | 代表的なプロトコル | 説明 |
|---|---|---|---|
| アプリケーション層 | アプリケーション同士の通信 | HTTP, FTP, SMTP, SSH | ユーザーが直接使う通信(Web, メールなど)を扱う。 |
| トランスポート層 | 通信の信頼性・データ転送制御 | TCP, UDP | データを確実に、または高速に転送する仕組みを提供 |
| インターネット層 | 経路選択(ルーティング)とアドレス管理 | IP, ICMP | データを目的地まで届けるための経路を決定 |
| ネットワークインターフェース層 | 物理的な通信制御 | Ethernet, Wi-Fi | ネットワーク機器間の実際のデータ送受信を行う。 |
💬ポイント
このように、TCP/IPモデルでは階層ごとに役割が明確に分かれているため、
下位の層を変更しても上位のアプリケーションに影響を与えない柔軟な構造になっています。
⚙️ TCPの役割(Transmission Control Protocol)
TCPは 信頼性の高いデータ通信 を実現するプロトコルです。
通信相手と「接続を確立」し、データを順序どおりに、欠落なく届ける仕組みを持っています。
| TCPの特徴 | 説明 |
|---|---|
| 接続指向型通信 | 通信前に「三者間ハンドシェイク」で接続を確立 |
| 順序制御 | 送信した順番通りにデータを再構築 |
| 再送制御 | パケット損失時に再送要求を出す。 |
| フロー制御 | 相手の受信能力に応じて送信速度を調整 |
| 輻輳制御 | ネットワーク混雑を回避するための制御を行う。 |
💬ポイント
TCPを使う代表的なサービスは、HTTP・FTP・SSH・SMTP などです。
これらは「確実に届くこと」が重要な通信に使われています。
TCP通信の確認コマンド
AlmaLinux 9.6 では、netstat や ss コマンドを使ってTCPの通信状況を確認できます。
[suzuki@AlmaLinux ~]$ ss -t -a
State Recv-Q Send-Q Local Address:Port Peer Address:Port
ESTAB 0 0 192.168.1.10:ssh 192.168.1.20:52634| オプション | 説明 |
|---|---|
| -t | TCPソケットを表示 |
| -u | UDPソケットを表示 |
| -a | LISTEN/ESTABLISHEDなどすべての状態を表示 |
| -n | 名前解決を行わずにアドレスを表示 |
💡ポイント
上記の出力では、TCPの接続状態(ESTAB=Established)が確認できます。
🌐 IPの役割(Internet Protocol)
IPは データのルーティング(経路選択)とアドレス指定 を行うプロトコルです。
TCPが「データの順序や信頼性」を担当するのに対し、IPは「どこにデータを届けるか」を決定します。

| IPの特徴 | 説明 |
|---|---|
| コネクションレス型 | 通信を確立せず、データを独立して送信 |
| アドレッシング | 送信元と宛先をIPアドレスで識別 |
| ルーティング | 最適な経路を選んでデータを転送 |
| フラグメンテーション | 大きなデータを分割して送信 |
💬ポイント
IPは単独では信頼性を保証しないため、TCPと組み合わせて使われることが一般的です(=TCP/IP)。
一方、動画配信やDNSなどでは、信頼性より速度を重視してUDPを使うこともあります。
IP通信の確認コマンド
[suzuki@AlmaLinux ~]$ ip addr show
2: ens33: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
inet 192.168.1.10/24 brd 192.168.1.255 scope global dynamic noprefixroute ens33
valid_lft 172800sec preferred_lft 172800sec| コマンド | 説明 |
|---|---|
| ip addr show | IPアドレスの確認 |
| ip route show | ルーティングテーブルの確認 |
| ping | IP通信の疎通確認 |
💡ポイント
AlmaLinuxでは「ip」コマンドが「ifconfig」よりも推奨される最新ツールです。
🔍 TCP/IPの利用例
| 用途 | 使用プロトコル | 説明 |
|---|---|---|
| Webブラウジング | HTTP / HTTPS (TCP) | Webサーバーとブラウザ間の通信 |
| メール送受信 | SMTP / POP3 / IMAP (TCP) | メールサーバー間の通信 |
| ファイル転送 | FTP (TCP) | ファイルのアップロード・ダウンロード |
| DNS問い合わせ | UDP | 名前解決(ドメイン名 → IPアドレス) |
| リモート接続 | SSH (TCP) | セキュアなサーバー管理用通信 |
💬ポイント
このように、私たちが使うほぼすべてのネットワークアプリケーションは、TCP/IPの上で動いています。
🧱 TCP/IPとOSI参照モデルの対応関係

| TCP/IPモデル | OSI参照モデル(7階層) | 主なプロトコル |
|---|---|---|
| アプリケーション層 | アプリケーション層 / プレゼンテーション層 / セッション層 | HTTP, FTP, SSH |
| トランスポート層 | トランスポート層 | TCP, UDP |
| インターネット層 | ネットワーク層 | IP, ICMP |
| ネットワークインターフェース層 | データリンク層 / 物理層 | Ethernet, PPP |
💡ポイント
OSIモデルは理論的な通信モデル、TCP/IPは実際に動く通信体系。
両者の対応関係を理解しておくと、ネットワークトラブルの分析がしやすくなります。
🌈 まとめ
- TCP/IPはインターネット通信の基盤となるプロトコルスイート。
- TCPは信頼性のある通信を提供し、IPはデータの経路とアドレスを管理。
- 4階層構造(アプリケーション・トランスポート・インターネット・ネットワーク層)で柔軟に設計されている。
- AlmaLinuxでは ip や ss コマンドを使ってTCP/IP通信の確認や管理が可能。
現代のネットワーク通信は、すべてこのTCP/IPの上で動いています。
その仕組みを理解することで、トラブルシューティングやネットワーク設計の力がぐんと上がります💪
