OSI参照モデル/TCP/IPモデル
更新日:
ネットワーク通信を「層(レイヤー)」に分割して考えるためのモデル。一気に理解しようとすると混乱するので、今どの層の話をしているかを意識すると設計・トラブルシューティングが楽になる。
OSI参照モデル(7層、理論モデル)
| 層 | 名前 | 役割 | 具体例 |
|---|---|---|---|
| 7 | アプリケーション層 | ユーザーが使うサービスの中身 | HTTP, DNS, SMTP |
| 6 | プレゼンテーション層 | データ形式の変換(暗号化・圧縮) | TLS, JPEG |
| 5 | セッション層 | 通信の開始〜終了の管理 | (実務では意識薄い) |
| 4 | トランスポート層 | 端点間の信頼性・ポート管理 | TCP, UDP |
| 3 | ネットワーク層 | 異なるネットワーク間の経路選択 | IP, ルーター |
| 2 | データリンク層 | 同一LAN内の伝送 | Ethernet, MACアドレス, スイッチ |
| 1 | 物理層 | 電気信号・光信号そのもの | ケーブル, 無線 |
TCP/IPモデル(4層、実装ベース)
現実のインターネットはOSIの7層ではなく、もっとシンプルなTCP/IPモデルで実装されている。
| TCP/IP層 | 対応するOSI層 | 代表プロトコル |
|---|---|---|
| アプリケーション層 | 5〜7層 | HTTP, DNS, SSH |
| トランスポート層 | 4層 | TCP, UDP |
| インターネット層 | 3層 | IP |
| ネットワークインターフェース層 | 1〜2層 | Ethernet, Wi-Fi |
「OSIは教科書用の理論、TCP/IPは実際に動いているもの」とざっくり割り切ってよい。実務や資格試験では両方の言葉が飛び交うので対応表だけ覚えておけば十分。
通信の流れ(ブラウザでURLを打つ例)
- アプリケーション層: HTTPリクエストを組み立てる
- トランスポート層: TCPが「どのポートに届けるか」「データが欠けていないか」を管理
- インターネット層: IPが「どのサーバーまで届けるか」の宛先(IPアドレス)を管理
- ネットワークインターフェース層: 実際に電気/光信号としてケーブルやWi-Fiに流す
送信側は上から下に降り、受信側は下から上に登るイメージ。
エンドツーエンド vs ホップバイホップ(重要な感覚)
- データリンク層(MACアドレス)は「区間(ホップ)ごと」にしか有効ではない。ルーターを1つ通過するたびにEthernetフレームの外側が剥がされ、新しいMACアドレスに貼り替えられる
- ネットワーク層以上(IPアドレス・ポート・HTTPの中身)は「エンドツーエンド」で一貫して働く。送信元から宛先まで、ルーターを何台経由してもIPアドレスは基本的に変わらない(NAT等の例外は別途)
イメージ: 「IPは道案内(変わらない宛先)、MACは今いる区間の隣人への手渡し(区間ごとに変わる)」。この感覚は後でルーティングを学ぶときの土台になる。