WEB PROTOCOL

OSI参照モデル(OSI Reference Model)

ネットワーク通信を7つの階層に分類した国際標準の理論モデル。各層の役割とデータの流れを可視化

INTERACTIVE VISUALIZATION
アプリケーション層
トランスポート層
ネットワーク層
データリンク層
モデル
OSI
7層参照モデル
注目層
-
概要
プロトコル
-
初期状態
進捗
1 / 10
初期状態
シナリオ
各層の役割と代表プロトコルを順番に確認します
ステップ1 / 10
自動再生でOSI参照モデルの各層を順番に確認できます
OSI参照モデルは国際標準化機構(ISO)が1984年に策定した、ネットワーク通信を7つの層に分類した理論モデルです。
ネットワークエンジニアが通信の仕組みを理解し、障害を切り分けるための「共通言語」として広く使われています。
層の情報
アクティブ層-
概要
プロトコル
N/A
解説

📌
OSI参照モデルとは

OSI参照モデルは、ネットワーク通信を7つの階層に分類した国際標準の理論モデルです。各層が独立して機能することで、異なるメーカーの機器やソフトウェアが相互に通信できます。郵便システムに例えてみましょう。手紙を書く(アプリケーション層)→封筒に入れる(プレゼンテーション層)→住所を書く(ネットワーク層)→郵便局に持っていく(データリンク層)→トラックで運ぶ(物理層)。各層が自分の仕事に集中し、他の層のことは気にしません。手紙の内容がフランス語でも日本語でも、郵便局の仕事は変わらないのと同じです。

手紙を書く (アプリケーション層 — ユーザーの操作)
封筒に入れて封をする (プレゼンテーション層 — データの整形・暗号化)
住所を書いて切手を貼る (ネットワーク層 — IPアドレスで宛先指定)
郵便局に持っていく (データリンク層 — 近くの中継地点へ)
トラック・飛行機で運ぶ (物理層 — 物理的な伝送)

なぜこのモデルが重要なのでしょうか? ネットワーク障害が発生したとき、「どの層で問題が起きているか?」で原因を切り分けることができます。ケーブルが抜けていれば物理層、IPアドレスの設定ミスならネットワーク層、TLS証明書の期限切れならプレゼンテーション層の問題です。Wiresharkなどのパケット解析ツールも各層ベースで情報を表示します。上のツールで「OSI参照モデル 7層」シナリオを再生すると、第7層から第1層まで順番に各層の役割が確認できます。

📌
特徴

  • 🏗️階層化(レイヤー構造)ネットワーク通信を7つの明確な層に分離します。各層は自分の役割だけに集中し、上位層のサービスを下位層に依存します。これにより、ある層の技術を変更しても他の層に影響しません。たとえば、Wi-FiからLANケーブルに切り替えても(物理層の変更)、ブラウザの動作(アプリケーション層)はまったく変わりません。これはソフトウェア開発における「関心の分離」と同じ原理です。
  • 🔍障害切り分けネットワークのトラブルシューティングにおいて、OSIモデルは「どの層で問題が起きているか」を体系的に特定するためのフレームワークです。pingが通らなければネットワーク層(IP)、pingは通るがWebページが表示されないならアプリケーション層(HTTP)の問題です。サーバーエンジニアが「L2の問題だ」「L7のエラーだ」と言うとき、OSI層番号で問題箇所を伝えています。
  • 🌍標準化と相互運用性OSIモデルは国際標準化機構(ISO)が策定した国際標準(ISO 7498)です。この標準があることで、Cisco製のルーター、HP製のスイッチ、Windowsのネットワークスタック、Linuxのカーネルなど、異なるメーカー・異なるOSの製品が共通のルールで通信できます。「Ethernet」「TCP/IP」「HTTP」といったプロトコルはすべてOSI層に対応付けられています。
  • 📦カプセル化と脱カプセル化送信時、データは上位層から下位層へ向かって各層のヘッダーが次々と追加されます(カプセル化)。HTTPデータにTCPヘッダー→IPヘッダー→Ethernetヘッダーが付加され、最終的にビット列として送出されます。受信時は逆に、下位層から上位層へ向かって各層のヘッダーが剥がされます(脱カプセル化)。上のツールで「データの流れ」シナリオを選択すると、カプセル化・脱カプセル化の過程が確認できます。

📌
ユースケース

🌐 Webブラウジング
ブラウザでURLを入力すると、アプリケーション層(HTTP)でリクエストを生成し、トランスポート層(TCP)で信頼性を確保し、ネットワーク層(IP)で経路を決定し、データリンク層(Ethernet)でフレームに変換し、物理層(電気信号)で送出します。たった1回のクリックで全7層が連携して動作しています。
📧 メール送信
Gmailでメールを送信するとき、アプリケーション層でSMTPプロトコルが使われます。プレゼンテーション層でTLSによる暗号化が行われ、トランスポート層でTCPポート587(SMTP submission)を通じて確実に配信されます。添付ファイルのBase64エンコードもプレゼンテーション層の役割です。
🔒 VPN通信
VPN(Virtual Private Network)は主にネットワーク層(IPsec)またはセッション層(SSL VPN)で動作します。物理的にはインターネットを経由しながら、論理的にはプライベートネットワークに接続しているように見せる技術です。カプセル化により、元のIPパケットが暗号化されて別のIPパケットに包まれます。
🔬 Wireshark解析
Wiresharkはネットワークパケットをキャプチャして、OSI層ごとに解析結果を表示します。物理層のフレーム情報、データリンク層のMAC情報、ネットワーク層のIP情報、トランスポート層のTCP/UDP情報、アプリケーション層のHTTP情報が階層的に展開できます。障害解析の必須ツールです。
☁️ CDN(Cloudflare)
CDNはアプリケーション層(HTTP/HTTPS)でコンテンツを配信し、ネットワーク層(Anycast IP)で最寄りのエッジサーバーにルーティングします。L7ロードバランサーはHTTPヘッダーを解析してリクエストを振り分け、L4ロードバランサーはTCPポート番号で振り分けます。
🐳 Docker/Kubernetes
Dockerのbridge networkはデータリンク層の仮想ブリッジで実現されます。KubernetesのService(ClusterIP)はネットワーク層のIPルーティング、Ingressはアプリケーション層(HTTP)のルーティングを提供します。ネットワーク設計にはOSI層の理解が不可欠です。
🔥 ファイアウォール
ファイアウォールは動作する層によって種類が異なります。パケットフィルタリング(L3/L4)はIPアドレスとポート番号で制御し、アプリケーションファイアウォール(WAF、L7)はHTTPリクエストの内容を検査します。AWS Security GroupはL3/L4、AWS WAFはL7で動作します。
📡 IoTデバイス通信
IoTデバイスはBluetooth LE(物理層)やZigbee(データリンク層)など、用途に応じた低レイヤーのプロトコルを使います。MQTT(アプリケーション層)で軽量なメッセージングを行い、TCP/UDP(トランスポート層)で通信します。各層の省電力プロトコルの選択がIoT設計の鍵です。

📌
用語解説

PDU(Protocol Data Unit)
= 各層のデータ単位
各層で扱うデータの呼び名が異なります。アプリケーション層では「データ」または「メッセージ」、トランスポート層ではTCPの場合「セグメント」、UDPの場合「データグラム」、ネットワーク層では「パケット」、データリンク層では「フレーム」、物理層では「ビット」と呼びます。Wiresharkで表示される各層の情報はPDU単位で構造化されています。
DataSegmentPacketFrame
Encapsulation(カプセル化)
= ヘッダーの付加
送信側でデータが上位層から下位層へ渡される際、各層が自分のヘッダー情報を追加していくプロセスです。HTTPデータにTCPヘッダーが追加されてセグメントとなり、さらにIPヘッダーが追加されてパケットになり、Ethernetヘッダーとトレーラー(FCS)が追加されてフレームになります。各層のヘッダーには、その層で必要な制御情報(ポート番号、IPアドレス、MACアドレスなど)が含まれます。
DATATCP + DATAIP + TCP + DATAETH + IP + TCP + DATA + FCS
Decapsulation(脱カプセル化)
= ヘッダーの除去
受信側でデータが下位層から上位層へ渡される際、各層が自分のヘッダー情報を取り除いていくプロセスです。カプセル化の逆の操作で、Ethernetヘッダーを剥がしてIPパケットを取り出し、IPヘッダーを剥がしてTCPセグメントを取り出し、TCPヘッダーを剥がしてHTTPデータを取り出します。各層は自分のヘッダーだけを処理し、ペイロード(中身のデータ)には触れません。
ETH + IP + TCP + DATA + FCSIP + TCP + DATATCP + DATADATA
Router(ルーター)
= L3(ネットワーク層)機器
異なるネットワーク間でパケットを転送する機器です。ネットワーク層(L3)で動作し、IPアドレスに基づいてルーティングテーブルを参照して最適な経路を選択します。家庭のWi-Fiルーターからインターネットバックボーンの大型ルーターまで、規模は様々です。ルーターはIPヘッダーのTTL(Time to Live)を1減らし、TTLが0になったパケットは破棄してICMP Time Exceededメッセージを返します(tracerouteはこの仕組みを利用しています)。
L3Router
Switch(スイッチ)
= L2(データリンク層)機器
同一ネットワーク(LAN)内でフレームを転送する機器です。データリンク層(L2)で動作し、MACアドレステーブル(CAMテーブル)を参照して宛先ポートにフレームを転送します。ハブ(L1)と異なり、宛先が明確なポートにのみフレームを送るため、帯域幅を効率的に利用できます。VLANによる論理的なネットワーク分割もスイッチの機能です。L3スイッチはルーティング機能も備えています。
L2Switch
Protocol Stack(プロトコルスタック)
= プロトコルの積み重ね
OSI各層で使用されるプロトコルの組み合わせを指します。「スタック」は積み重ねの意味で、下位層から上位層へプロトコルが積み上がっている様子を表します。Webアクセスの場合、Ethernet → IP → TCP → HTTP が典型的なプロトコルスタックです。LinuxカーネルのネットワークスタックやWindowsのWinsockも、このOSI層に対応した実装です。TCP/IPスタックとも呼ばれます。
HTTPTCPIPEthernet

📌
データの流れ

Webページにアクセスしたとき、データが送信側の各層を上から下へ(カプセル化)通過し、ネットワークを経由して受信側の各層を下から上へ(脱カプセル化)通過する過程を追います。

1
アプリケーション処理
ブラウザがHTTPリクエスト「GET /index.html HTTP/1.1」を生成します。ユーザーのURLの入力がHTTPプロトコルに変換される最初のステップです。
2
トランスポート(セグメント化)
HTTPデータにTCPヘッダーを追加。送信元ポート・宛先ポート・シーケンス番号が付与され、信頼性のある通信を保証します。
3
ネットワーク(パケット化)
TCPセグメントにIPヘッダーを追加。送信元IPと宛先IP、TTLが設定され、ルーターが経路を判断できるようになります。
4
データリンク(フレーム化)
IPパケットにEthernetヘッダーとFCSを追加。送信元MACと宛先MAC(次のホップ)が設定されます。
5
物理伝送
Ethernetフレームをビット列に変換し、LANケーブルの電気信号、光ファイバーの光信号、またはWi-Fiの電波として送出します。
6
受信処理(脱カプセル化)
受信側で各層のヘッダーを順番に取り除き、最終的にHTTPリクエストを取り出します。Webサーバーが「200 OK」レスポンスを返し、ブラウザにページが表示されます。
AppTCPIPFrameBitsカプセル化: 上位層 → 下位層

📌
各層の代表プロトコル一覧

名前PDU代表プロトコル
L7アプリケーション層データHTTP, HTTPS, SMTP, IMAP, POP3, FTP, SSH, DNS, DHCP, SNMP, MQTT
L6プレゼンテーション層データSSL/TLS, JPEG, PNG, MPEG, ASCII, UTF-8, gzip, Brotli
L5セッション層データRPC, NetBIOS, PPTP, L2TP, SIP
L4トランスポート層セグメント / データグラムTCP, UDP, SCTP, QUIC
L3ネットワーク層パケットIPv4, IPv6, ICMP, ARP, OSPF, BGP, IPsec
L2データリンク層フレームEthernet (802.3), Wi-Fi (802.11), PPP, VLAN (802.1Q)
L1物理層ビットRJ-45, 光ファイバー, Bluetooth, USB, DSL, 100BASE-TX

TCP/IPモデル(4層)では、OSIの上位3層(第7-5層)がアプリケーション層に、第4層がトランスポート層に、第3層がインターネット層に、下位2層(第2-1層)がネットワークアクセス層に対応します。実務ではTCP/IPモデルの方がよく使われますが、OSI層番号(L2、L3、L7等)は業界共通の用語として定着しています。

関連コンテンツ

TCP/IPモデル

TCP/IPモデル

実際のインターネットで使われている4層の実装ベースモデル。各層の役割とデータの流れを可視化

パケット交換

パケット交換

データを小さなパケットに分割して独立にルーティングする通信方式を可視化

回線交換

回線交換

通信前に専用の経路を確保してからデータを送る通信方式を可視化

HTTP通信

HTTP通信

ブラウザとサーバー間のHTTPリクエスト/レスポンスの仕組みを可視化

TLSハンドシェイク

TLSハンドシェイク

HTTPSで安全に通信するためのTLSハンドシェイクの仕組みを可視化

DNS名前解決

DNS名前解決

ドメイン名からIPアドレスへの階層的な問い合わせの流れを可視化