この記事は、 「ネットワーク初級編|通信の仕組みをゼロから学ぶ」 の第14回です。
前回学んだOSI参照モデルを、実際のインターネット通信で使われる TCP/IPモデルへつなげて理解します。
TCP/IPモデルとは?4階層と通信の流れを初心者向けに図解
TCP/IPモデルは、Web閲覧やメール、ファイル転送などの通信を、 4つの役割に分けて整理する考え方です。 この記事では、パソコンからWebサーバーへデータが届くまでを追いながら、 各階層の役割とカプセル化を図で理解します。
TCP/IPモデルの4階層を、名前だけ暗記しても通信の仕組みは理解できません。
大切なのは、アプリケーションが作ったデータに、通信に必要な情報が順番に追加され、 ネットワーク上へ送り出されるという流れをつかむことです。
この記事を読み終えるとできること
- TCP/IPモデルの4階層を順番に説明できる
- 各階層で使われる代表的なプロトコルを分類できる
- カプセル化と非カプセル化の流れを説明できる
- OSI参照モデルとの対応関係を整理できる
TCP/IPモデルとは何か
TCP/IPモデルとは、インターネットで使われる通信の仕組みを、 役割ごとに4つの階層へ分けて整理したモデルです。
TCP/IPという名前にはTCPとIPが含まれていますが、 実際にはTCPとIPだけを指す言葉ではありません。
HTTP、DNS、TCP、UDP、IP、Ethernetなど、 インターネット通信で使われる多くのプロトコルをまとめた TCP/IPプロトコル群を、階層ごとに整理したものです。
TCP/IPには2つの使われ方があります。
- インターネット通信で使われるプロトコル群の総称
- 通信の役割を4階層に分けたTCP/IPモデル
なぜ階層に分けるのか
Webサイトを見るだけでも、通信相手の指定、データの分割、 経路選択、同じネットワーク内での配送など、複数の処理が必要です。
これらを一つの巨大な仕組みとして扱うと複雑になるため、 役割ごとに分けて考えます。
階層化することで、「どの役割で問題が起きているか」を分けて考えられます。 これは通信の理解だけでなく、障害切り分けにも役立ちます。
TCP/IPモデルの4階層
TCP/IPモデルは、上から次の4階層で構成されます。
TCP/IPモデルの4階層
資料によっては、最下位層を ネットワークアクセス層またはリンク層と呼ぶことがあります。 呼び方は異なっても、LANやWi-Fiなどを使ってデータを運ぶ役割は同じです。
4.アプリケーション層
アプリケーション層は、利用者が使うサービスに近い階層です。 Web閲覧、名前解決、メール、アドレス自動設定などのルールを扱います。
| プロトコル | 主な役割 |
|---|---|
| HTTP・HTTPS | WebページやAPIのデータをやり取りする |
| DNS | ドメイン名からIPアドレスを調べる |
| DHCP | 端末へIPアドレスなどの設定を配布する |
| SMTP・IMAP | メールを送受信する |
3.トランスポート層
トランスポート層は、端末上で動く どのアプリケーションへデータを渡すかを管理します。
ポート番号を使って通信先のアプリケーションを識別し、 TCPまたはUDPによってデータを運びます。
- TCP:到着確認や再送を行い、信頼性を重視する
- UDP:確認処理を少なくし、軽さや即時性を重視する
HTTP/1.1やHTTP/2のHTTPS通信では一般にTCPを使用します。 HTTP/3では、UDPを基盤とするQUICが使われます。 初級段階では「アプリケーション層の通信を、TCPまたはUDPが運ぶ」と理解すれば十分です。
2.インターネット層
インターネット層は、異なるネットワークを越えて、 データを最終的な宛先へ届ける役割を持ちます。
送信元IPアドレスと宛先IPアドレスを使い、 ルーターが次にどこへ転送するかを判断します。
- IP:宛先IPアドレスまでパケットを届ける
- ICMP:通信状態やエラーを通知する
1.ネットワークインターフェース層
ネットワークインターフェース層は、 LANケーブルやWi-Fiなどを使って、隣接する機器までデータを運びます。
EthernetではMACアドレスを使ってフレームを届けます。 スイッチやネットワークインターフェースカードは、この階層と深く関係します。
IPアドレスは最終的な宛先を示し、MACアドレスは次に渡す相手を示す と考えると、役割を整理しやすくなります。
Webサイトへアクセスする通信の流れ
パソコンからWebサーバーへHTTPS通信を行う例で、 4階層がどの順番で動くか確認します。
Webアクセスの全体像
- アプリケーション層:ブラウザが要求データを作る ブラウザは「このWebページを送ってください」というHTTPの要求を作ります。 HTTPSの場合は、暗号化された通信として送ります。
- トランスポート層:通信先のアプリケーションを指定する TCP通信の例では、宛先ポート番号443などを付け、 データを必要な大きさへ分割しながら配送します。
- インターネット層:宛先IPアドレスを指定する 送信元と宛先のIPアドレスを付けます。 ルーターは宛先IPアドレスを見て、次の転送先を決めます。
- ネットワークインターフェース層:次の機器へ送る EthernetやWi-Fiの情報を付け、最初の中継先である デフォルトゲートウェイなどへデータを送ります。
- Webサーバー側で逆順に処理する 受信したフレームから各階層の情報を外し、 最後にWebサーバーのアプリケーションへ要求を渡します。
カプセル化とは何か
送信側では、アプリケーションが作ったデータに、 各階層が通信に必要な情報を順番に追加します。 この処理をカプセル化と呼びます。
送信側:上の階層から下の階層へ情報を付ける
各階層でデータの呼び方が変わる
| TCP/IPモデル | 代表的な呼び方 | 主に追加される情報 |
|---|---|---|
| アプリケーション層 | データ | HTTP要求など、サービス固有の情報 |
| トランスポート層 | セグメント(TCP)/データグラム(UDP) | ポート番号、シーケンス番号など |
| インターネット層 | パケット | 送信元・宛先IPアドレスなど |
| ネットワークインターフェース層 | フレーム | 送信元・宛先MACアドレス、FCSなど |
資料や製品によって「パケット」という言葉を広い意味で使うことがあります。 初級では、厳密な呼び方を暗記するより、 階層を下るごとに必要な情報が外側へ追加されることを理解しましょう。
受信側では情報を逆順に外す
受信側では、送信側とは逆に、 ネットワークインターフェース層からアプリケーション層へ向かって 各階層の情報を確認し、外していきます。
この処理を非カプセル化または デカプセル化と呼びます。
受信側:下の階層から上の階層へ渡す
送信側は上から下へ追加し、 受信側は下から上へ確認して外す。 この往復がTCP/IPモデルを理解する中心です。
ルーターを通ると何が変わるのか
パソコンから遠くのWebサーバーへ通信するとき、 データは複数のルーターを通過します。
ルーターは受信したEthernetフレームをそのまま遠くまで転送するのではありません。 いったんフレームの情報を外してIPパケットを確認し、 次の通信経路に合った新しいフレームを作ります。
前の区間用の
Ethernetフレーム
フレームを外し
宛先IPを確認
次の区間用の
新しいフレーム
| 情報 | ルーター通過時の基本的な考え方 |
|---|---|
| MACアドレス | 区間ごとに次の送信元・宛先へ書き換わる |
| IPアドレス | 原則として送信元端末と最終宛先のまま維持される |
| ポート番号 | 原則として通信の送信元・宛先アプリケーションを示し続ける |
NATやNAPTを通過する場合は、IPアドレスやポート番号が変換されることがあります。 ここでは、変換処理がない基本的な通信として理解してください。
OSI参照モデルとの違い
OSI参照モデルは7階層、TCP/IPモデルは一般に4階層で説明されます。 目的はどちらも、複雑な通信を役割ごとに整理することです。
| OSI参照モデル | TCP/IPモデル | 主な役割 |
|---|---|---|
| 第7層 アプリケーション層 第6層 プレゼンテーション層 第5層 セッション層 |
アプリケーション層 | 利用者向けサービス、データ表現、通信の開始・管理 |
| 第4層 トランスポート層 | トランスポート層 | アプリケーション間のデータ配送 |
| 第3層 ネットワーク層 | インターネット層 | IPアドレスを使った経路選択 |
| 第2層 データリンク層 第1層 物理層 |
ネットワークインターフェース層 | 同一リンク上での配送と信号の送受信 |
OSI参照モデル
通信機能を細かく7つに分けて整理する考え方です。 学習、設計、障害切り分けで共通言語として使われます。
TCP/IPモデル
実際のインターネットで使われるプロトコル群を、 より実用的な4階層で整理します。
どちらか一方だけが正しいわけではありません。 OSI参照モデルで役割を細かく考え、TCP/IPモデルで実際の通信へ結びつける と理解しやすくなります。
障害切り分けでTCP/IPモデルをどう使うか
TCP/IPモデルを理解すると、 「Webサイトが表示できない」という申告を階層ごとに分けて確認できます。
| 階層 | 確認する内容の例 | 問題の例 |
|---|---|---|
| ネットワークインターフェース層 | ケーブル、Wi-Fi、リンク状態、MACアドレス | LANケーブル抜け、無線未接続 |
| インターネット層 | IPアドレス、サブネットマスク、デフォルトゲートウェイ、経路 | IP設定ミス、ルート不足 |
| トランスポート層 | TCP・UDP、ポート番号、ファイアウォール | 443番ポートが遮断されている |
| アプリケーション層 | DNS、HTTP、Webサーバー、ブラウザ | 名前解決失敗、Webサービス停止 |
下の階層から確認する方法
多くの障害対応では、まず物理的な接続に近い部分から確認し、 徐々に上位のサービスへ進みます。
- 接続できているか ケーブル、Wi-Fi、リンクランプなどを確認します。
- IP通信できるか IP設定、デフォルトゲートウェイ、pingなどを確認します。
- 必要なポートで接続できるか TCP・UDPとポート番号、ファイアウォールを確認します。
- アプリケーションが正常か DNS、Webサーバー、ブラウザ、サービス状態などを確認します。
必ず下位層から調べなければならないわけではありません。 エラーメッセージや影響範囲から原因候補を絞れる場合は、 疑わしい階層から確認することもあります。
TCP/IPモデルに関するよくある勘違い
HTTP、DNS、UDP、ICMP、Ethernetなど、 多数のプロトコルを階層ごとに整理したモデルです。
各階層は役割を分担していますが、実際の通信では 上位層のデータを下位層へ渡しながら連携して動きます。
MACアドレスは同じ通信区間で使われるため、 ルーターを越えるたびに次の区間用へ変わります。
OSI参照モデルは役割を細かく整理し、 TCP/IPモデルは実際のインターネット通信へ結びつける際に便利です。
送信側は各階層の情報を追加し、 受信側は各階層の情報を確認して外していきます。
理解度チェック
次の5問に答えて、TCP/IPモデルの役割を確認しましょう。
問題1.TCP/IPモデルを上の階層から正しく並べたものはどれですか。
- インターネット層 → アプリケーション層 → トランスポート層 → ネットワークインターフェース層
- アプリケーション層 → トランスポート層 → インターネット層 → ネットワークインターフェース層
- アプリケーション層 → インターネット層 → トランスポート層 → 物理層
- トランスポート層 → アプリケーション層 → ネットワーク層 → データリンク層
解答を見る
上から、アプリケーション層、トランスポート層、 インターネット層、ネットワークインターフェース層です。
問題2.ポート番号を使ってアプリケーションを識別する階層はどれですか。
- アプリケーション層
- トランスポート層
- インターネット層
- ネットワークインターフェース層
解答を見る
TCPやUDPが属するトランスポート層では、 ポート番号を使って送信元・宛先アプリケーションを識別します。
問題3.ルーターが主に確認して転送先を決める情報はどれですか。
- 宛先IPアドレス
- Webページの文字
- 利用者の名前
- ファイル名
解答を見る
ルーターはインターネット層の宛先IPアドレスを確認し、 ルーティングテーブルを使って次の転送先を決めます。
問題4.カプセル化の説明として正しいものはどれですか。
- 受信したデータを削除すること
- 通信データを暗号化することだけを指す
- 各階層が通信に必要な情報を順番に追加すること
- IPアドレスをMACアドレスへ変換すること
解答を見る
送信側で、TCPヘッダー、IPヘッダー、 Ethernetヘッダーなどを順番に追加する処理です。
問題5.通常のルーター転送で、区間ごとに変わる情報はどれですか。
- 最終宛先のIPアドレス
- Webサーバーのポート番号
- Ethernetの送信元・宛先MACアドレス
- HTTP要求の内容
解答を見る
ルーターは次の通信区間に合わせて新しいフレームを作るため、 MACアドレスは区間ごとに変わります。
実践演習:通信情報を階層へ分類しよう
次のWebアクセスを考えます。
演習用通信
課題1.情報を階層へ分類する
次の情報を、TCP/IPモデルのどの階層で主に使うか分類してください。
- HTTPS
- 宛先ポート番号443
- 宛先IPアドレス203.0.113.20
- 宛先MACアドレス
トランスポート層:______
インターネット層:______
ネットワークインターフェース層:______
課題1の解答を見る
- アプリケーション層:HTTPS
- トランスポート層:宛先ポート番号443
- インターネット層:宛先IPアドレス203.0.113.20
- ネットワークインターフェース層:宛先MACアドレス
課題2.カプセル化の順番を並べる
次の処理を、送信側で行われる順番に並べてください。
- Ethernetヘッダーを付ける
- アプリケーションが要求データを作る
- IPヘッダーを付ける
- TCPヘッダーを付ける
課題2の解答を見る
B → D → C → A
アプリケーション層から下へ進み、 トランスポート層、インターネット層、 ネットワークインターフェース層の情報を追加します。
課題3.ルーター通過後に変わる情報を考える
PC-AからWebサーバーへ通信するとき、 ルーターが次の区間へ転送する際に、基本的に書き換える情報は何でしょうか。
課題3の解答を見る
Ethernetフレームの送信元・宛先MACアドレスです。
ルーターは受信したフレームを外し、 次の通信区間に合った新しいフレームを作ります。 NATなどがなければ、送信元・宛先IPアドレスは原則として維持されます。
自分の言葉で説明する課題
最後に、次の質問へ30秒から1分程度で答えてください。
「TCP/IPモデルとは何ですか。Webサイトを見るとき、 データはどのように送られますか」と質問されました。
送信側では、________________________。
受信側では、________________________。
説明例を見る
TCP/IPモデルとは、インターネット通信の役割を アプリケーション層、トランスポート層、インターネット層、 ネットワークインターフェース層の4つに分けた考え方です。 Webアクセスでは、ブラウザが作ったデータにポート番号、 IPアドレス、MACアドレスなどの情報を順番に付けて送信します。 受信側は逆順に情報を確認して外し、最後にWebサーバーへデータを渡します。
模範解答と同じ表現でなくても構いません。 4階層、送信側のカプセル化、受信側の非カプセル化 を含めて説明できれば、この記事の目標は達成です。
まとめ
- TCP/IPモデルは、インターネット通信の役割を4階層に分けたモデル
- 上から、アプリケーション層、トランスポート層、インターネット層、ネットワークインターフェース層
- アプリケーション層はHTTPやDNSなど、利用者向けサービスの通信を扱う
- トランスポート層はTCP・UDPとポート番号を使い、アプリケーション間でデータを運ぶ
- インターネット層はIPアドレスを使い、異なるネットワークを越えて宛先へ届ける
- ネットワークインターフェース層はEthernetやWi-Fiを使い、隣接する機器へデータを運ぶ
- 送信側では上から下へ情報を付けるカプセル化を行う
- 受信側では下から上へ情報を外す非カプセル化を行う
- ルーターを越えるとMACアドレスは区間ごとに変わり、IPアドレスは原則として維持される
TCP/IPモデルは階層名を暗記するための表ではなく、 データがどの情報を付けながら相手へ届くのかを理解するための地図です。

コメント