OSI 参照モデルとは — 7 階層の役割と TCP/IP との対応 のサムネイル

OSI 参照モデルとは — 7 階層の役割と TCP/IP との対応

⏱ 約 14 分 view 187 like 0 LOG_DATE:2026-05-09
目次 / TOC

ISO 基本参照モデル(別名 OSI 参照モデル)は、ネットワーク通信を 7 つの階層に分けて整理した 1984 年策定の国際標準 (ISO/IEC 7498)。実プロトコルとしては TCP/IP に敗れたが、「どの層の問題か」を切り分ける共通言語として今も現役。本稿では歴史、7 層の役割、カプセル化、TCP/IP との対応、そして現代での使い道までを通しで整理する。

▸ ネットワーク初学者へ — まずこの 3 つだけ

難しく見えても、本質は次の 3 つだけ持ち帰ればいい。(1) OSI は「ネットワーク通信」を 7 つの段階 (層) に分けて整理した 地図のようなもの(2) 各層は独立していて、上の層は下の層の事情を気にしなくてよい — だから「HTTP を書く人は LAN ケーブルのことを知らなくていい」が成立する。(3) 実用上の使い道は 「ネットが繋がらない」ときに「どの層で詰まっているか」を切り分ける共通言語。— ここを土台に各章を順に開いていけば迷子になりにくい。

01

OSI 参照モデルの歴史 #

1970 年代、IBM の SNA (1974)、DEC の DECnet、Burroughs / Honeywell / Univac はそれぞれ独自プロトコルを持ち、異なるベンダーのコンピュータ同士は事実上通信できなかった。マルチベンダー環境を組むには、あらゆる組合せで翻訳ゲートウェイが要る状況。

並行して米国 ARPANET では 1974 年に Vint Cerf / Bob Kahn が TCP 原型を発表 (RFC 675)、TCP/IP の二層分離が進んでいた。

1977 — ISO SC16 設立
Charles Bachman を中心に 7 層構造の原案。各層が「上層へのサービス提供」「下層からのサービス利用」という整然とした関係を持つよう設計。
1984 — ISO 7498 公開
7 年の議論を経て標準化。ITU-T は同内容を X.200 として勧告。「通信のあるべき姿」を緻密に規定した理論モデルが完成。
1980 年代後半 — OSI vs TCP/IP
米国政府は GOSIP で OSI 採用を義務化しようとしたが、TCP/IP は既に BSD UNIX 4.2 に標準実装され、無料でシンプルだった。
1990 年代 — 商用インターネット爆発
Cisco の TCP/IP ルータ商用化で流れが決定。1995 年に米国政府は GOSIP を事実上撤回。OSI プロトコル群そのものは普及しなかった。
現在 — 7 層モデルだけが残った
「これは L7 の問題」「L2 で完結」「L3/L4 で分離」といった言い回しは、実装が TCP/IP でもOSI 用語で議論するのが今も標準。
▸ OSI プロトコル群が敗れた理由

X.400 メールスタックの仕様書は ASN.1 BER 含めて文字通り「数千ページ」。「動くもの」より「美しい仕様」を先に作るウォーターフォール型の OSI と、動くものを作って徐々に標準化するアジャイル型の TCP/IP。ソフトウェア開発史と完全に重なる教訓となった。

02

7 層モデルの全体像 #

OSI 参照モデルは通信を担う機能を 7 層に分ける。上位ほどアプリに近く、下位ほどハードウェアに近い。各層はすぐ下の層が提供するサービスを利用し、すぐ上の層にサービスを提供する

L 層名 役割 PDU 代表プロトコル
L7 Application ユーザが直接触れる Data / Message HTTP, SMTP, DNS, SSH, FTP, IMAP
L6 Presentation 文字符号化・暗号化・圧縮 Data TLS, ASCII, Unicode, JPEG, MIME
L5 Session 接続の確立・維持・切断 Data NetBIOS, RPC, SOCKS, SIP
L4 Transport エンドツーエンド配送 Segment / Datagram TCP, UDP, QUIC, SCTP
L3 Network アドレッシング・ルーティング Packet IPv4, IPv6, ICMP, OSPF, BGP
L2 Data Link 隣接ノード間配送 Frame Ethernet, Wi-Fi, PPP, ARP
L1 Physical 電気・光・電波信号 Bit / Symbol 銅線, 光ファイバ, 無線, RJ-45
▸ 覚え方 — 頭文字で唱える 7 層

7 層は順番に意味があるので、最初は 下から積み上げる順番で覚える。Physical / Data Link / Network / Transport / Session / Presentation / Application の頭文字を取って、英語圏では "Please Do Not Throw Sausage Pizza Away" (どうかソーセージピザを捨てないで) と語呂合わせで唱える。日本では 「物 (ぶつ) データ 寝 (ね) 送る、製品 (せいひん) アプ」のように下から / 上から好みの順で唱えて覚える。一度覚えると、トラブル切り分け (§07) でもセキュリティ設計 (§08) でも、この順番が頭にあるかどうかで世界の見え方が全く変わる。

▸ かみ砕いて言うと — 7 層を「会社で外国に郵便を送る」で例える

外国の取引先に書類を送る場面を想像する。L7 (アプリ) 担当者が書類を作成 → L6 (プレゼンテーション) 翻訳部が現地語に訳して暗号化 → L5 (セッション) 秘書が「これからやり取りを始めます」と先方と段取り → L4 (トランスポート) 仕分け担当が「相手企業の○○部宛」と部署 (= ポート番号) を書き → L3 (ネットワーク) 配送計画担当が「○○国・○○市」と住所 (= IP) を書き → L2 (データリンク) 配達員が「次の集配局」へ手渡しし → L1 (物理) がトラック・船・飛行機そのもの。受け取った側は逆順で剥がしていく — これがそのまま OSI のカプセル化 (§05)。

03

下位 4 層 (L1〜L4) の詳細 #

▸ かみ砕いて言うと — 下位 4 層は「物流の世界」

下位 4 層は、家から外国に荷物を届けるまでの「物流」と完全に同じ構造。L1 = 道路 / 線路 / 航空便そのもの (走る土台)、L2 = 同じ街での宅配 (隣の建物まで MAC アドレスで運ぶ)、L3 = 都市・国をまたぐ配送 (IP アドレスで世界中の住所へ)、L4 = 家の何号室宛か (ポート番号 = 部屋番号 / 担当部署)。下位ほど物理に近く、上位ほどアプリに近いとはこのこと。下を 1 つずつ詰まりなく動かしてあげるから、上のアプリが動く。読んでいて分からなくなったらこの 4 つのイメージに戻ればいい。

L1 — 物理層 (Physical Layer) #

ビット (0/1) を物理的な信号 (電圧・光・電波) として送受信。「ケーブルとコネクタとビットの世界」

  • 電気・光・電波のエンコード (NRZ, Manchester, 4B/5B, PAM)
  • コネクタ形状とピン配列 (RJ-45, SFP, USB-C)
  • 電圧 / 周波数 / 変調方式 / 同期 (クロック)

代表規格: Ethernet PHY (10BASE-T〜10GBASE-SR) / 光ファイバ (シングル / マルチモード) / 無線 (802.11 PHY, Bluetooth) / RS-232 / DSL / DOCSIS。

障害例: ケーブル断線、コネクタ嵌合不良、SFP 故障、電源ノイズ。「ping が通らないが LED も光らない」はここを疑う。

L2 — データリンク層 (Data Link Layer) #

隣接した 2 ノード間でフレームを正しく届ける層。同じ LAN セグメント内、または同じ点対点リンクの両端でのやり取り。

  • フレーム化 (preamble でビット列を意味のある単位に区切る)
  • MAC アドレス (6 byte = 48 bit、世界一意)
  • 誤り検出 (FCS / CRC)
  • メディアアクセス制御 (CSMA/CD, CSMA/CA, トークンパッシング)
  • VLAN タグ付け (802.1Q)

L2 は内部的に LLC (802.2, 上位層接続) と MAC (媒体アクセス) のサブレイヤに分かれる。代表プロトコルは Ethernet (802.3) / Wi-Fi (802.11) / PPP / ARP (L2.5) / STP / LACP。

スイッチは L2 機器の代表。MAC アドレステーブルでフレームを適切なポートへ転送する。

L3 — ネットワーク層 (Network Layer) #

異なるネットワークをまたいで宛先までパケットを運ぶ層。「世界規模のルーティング」の世界。

  • 論理アドレッシング (IP アドレス)
  • 経路選択 (ルーティングテーブル + プロトコル)
  • フラグメント化 (MTU 超過時)
  • エラー通知 (ICMP)

代表プロトコル: IPv4 / IPv6 / ICMP / IPsec / OSPF / IS-IS / BGP (AS 間ルーティング、インターネットの背骨)。ルータが L3 機器の代表。

L4 — トランスポート層 (Transport Layer) #

エンドホスト同士の論理接続を担う層。L3 までで「IP アドレスで端末まで」、L4 で「どのアプリ (port) に届けるか」を識別。

  • ポート番号 (16 bit, 0〜65535)
  • コネクション管理 (TCP の 3-way ハンドシェイク)
  • 再送 / 順序 / フロー制御 (TCP)
  • 輻輳制御 (cwnd, BBR, CUBIC)

代表プロトコル: TCP (信頼配送 / HTTP, SSH, SMTP) / UDP (ベストエフォート / DNS, VoIP) / QUIC (HTTP/3 の土台、TLS 1.3 内蔵) / SCTP / DCCP

▸ ファイアウォールは何層で動くか

従来型ファイアウォールは L3+L4 (IP / port のフィルタ)。L7 ファイアウォール (WAF) は HTTP の URL・メソッド・ヘッダまで見る。「Next-Gen FW」と呼ばれる製品は L3〜L7 を横断的に解析する。

04

上位 3 層 (L5〜L7) の詳細 #

▸ かみ砕いて言うと — 上位 3 層は「人の言葉に近い世界」

上位 3 層は、もう人間が触る世界に近い。L5 = 会話の段取り (「これから話を始めます」/「もう一度仕切り直し」/「終わります」)、L6 = 通訳 + 暗号化 + 圧縮 (英語を日本語に / 鍵をかける / かさばらない形に詰める)、L7 = 実際の中身 (メール / Web / DNS — 普段ユーザが触っているものほぼ全部)。「ブラウザを開いた瞬間にやっているのは L7」と思っておくと、上位の話が一気にイメージしやすくなる。L7 から逆順に下りていくと、ネットワーク全体の流れも追いやすい。

L5 — セッション層 (Session Layer) #

複数のメッセージをまたぐ「対話 (セッション)」を管理。接続の確立・維持・切断・同期点 (チェックポイント) の挿入。

OSI が想定したオリジナルなセッション層 (X.225) は長い対話の中で同期点を打ち、障害復旧後にそこから再開できる重厚な仕組みだったが、TCP/IP では L4 TCP と L7 アプリ自身がセッション管理を兼ねるため、L5 の独立した存在感は薄い。

TCP/IP 文脈で L5 と呼ばれるもの: NetBIOS Session Service / RPC / SOCKS プロキシ / SIP (VoIP シグナリング) / PPTP / L2TP (VPN トンネル)。

L6 — プレゼンテーション層 (Presentation Layer) #

データの「表現形式」変換を担う層。文字コード、エンコード、圧縮、暗号化がここ。

  • 文字コード変換 (ASCII ↔ EBCDIC ↔ UTF-8)
  • データ符号化 (ASN.1 / BER / DER, JSON, XML)
  • 暗号化 (TLS / SSL)
  • 圧縮 (gzip, deflate)
  • メディア変換 (JPEG, MP3, MPEG)

OSI 文脈で TLS は L6 に分類されるが、TCP/IP 実装では「TCP の上、HTTP の下」の薄い層として L4〜L7 のどこかに居る、と語られる。

L7 — アプリケーション層 (Application Layer) #

ユーザのアプリと最も近い層。アプリの目的に合わせた具体的なプロトコルが並ぶ。OSI の理念「上層は下層の詳細を知らなくてよい」が最も美しく実現される層。

代表プロトコル: HTTP / HTTPS / HTTP/2 / HTTP/3 / SMTP / IMAP / POP3 / DNS / SSH / FTP / SFTP / NTP / SNMP / MQTT

05

カプセル化と非カプセル化 #

データが上位層から下位層に渡るたび、その層のヘッダが付与される。最終的に物理層からビット列として送出され、受信側は逆順で剥がす。

▸ かみ砕いて言うと — カプセル化は「マトリョーシカ」

送信側はデータを 「アプリ → TCP → IP → Ethernet」と外側にどんどん封筒を被せていき、受信側は逆順に開けていく。手紙を封筒に入れ、それを宅配便のダンボールに入れ、それをコンテナに入れ、それを船に乗せる — のとそっくり。各層は「自分の封筒」しか気にしないから、中の封筒に何が書いてあるかは知らなくてよい。これが「層が独立している」の具体的な意味で、OSI モデルの一番大事な発明ポイント。

送信側カプセル化 — 上から下へヘッダが積み上がる
# L7 Application: HTTP リクエスト [ HTTP Data ] # L4 TCP: src/dst port を付与 [ TCP hdr | HTTP Data ]Segment # L3 IP: src/dst IP を付与 [ IP hdr | TCP hdr | HTTP Data ]Packet # L2 Ethernet: src/dst MAC + FCS を付与 [ Eth hdr | IP hdr | TCP hdr | HTTP Data | FCS ]Frame # L1 Physical: ビット列として線へ送出 10101100 11001010 01110001 ...

実際のヘッダサイズ感:

  • Ethernet: 14 byte (header) + 4 byte (FCS) = 18 byte
  • IP: 20 byte (IPv4) / 40 byte (IPv6)
  • TCP: 20 byte (option なし) / 最大 60 byte
  • TLS: ハンドシェイク後は 5 byte の record header + AEAD タグ
▸ MTU と MSS の関係

合計で数十 byte のヘッダが必ずペイロードに付くため、MTU 1500 byte の Ethernet で送れるアプリペイロード (MSS) は ~1460 byte (TCP の場合)。VPN・PPPoE 経由ではさらに縮む。MTU ミスマッチによる「大きいファイルだけ詰まる」現象の原因はここ。

06

TCP/IP モデルとの対応 #

実用される TCP/IP モデルは 4 層 または 5 層 で語られるのが一般的で、OSI 7 層との対応は以下:

OSI 層 TCP/IP 4 層 TCP/IP 5 層 (DoD) 代表プロトコル
L7 Application Application Application HTTP, SSH, DNS, SMTP
L6 Presentation (Application 内) Application TLS, MIME, JSON
L5 Session (Application 内) Application NetBIOS, SOCKS, SIP
L4 Transport Transport Transport TCP, UDP, QUIC
L3 Network Internet Network IPv4, IPv6, ICMP
L2 Data Link Link Data Link Ethernet, Wi-Fi, PPP
L1 Physical (Link 内) Physical 銅線, 光ファイバ, 電波

OSI L5/L6/L7 を TCP/IP では Application 層に統合、OSI L1/L2 を TCP/IP 4 層では Link 層にまとめるのが実装上の流儀。

07

障害切り分けの共通言語 #

「Web サイトが見えない」というインシデントを下から順に切り分ける (bottom-up troubleshooting) のは、ネットワーク運用の基礎。

▸ はじめての人向け — 切り分けは「下から順に」が鉄則

「ネットが繋がらない」と言われたら、必ず L1 から順に上っていく(1) LAN ケーブルは刺さっているか / Wi-Fi のリンクは確立しているか (L1)。(2) ルータの MAC アドレスが取れているか (L2)。(3) ping で IP まで届くか (L3)。(4) 該当ポートが開いているか (L4)。(5) ようやく HTTP / TLS の問題か確認 (L5-7)。「いきなりブラウザを再起動しても直らない」のは、原因が下層にあるとき。逆に下から行くと、ほとんどのケースで途中の階で答えが見える。

層ごとの切り分けコマンド例
# L1 — リンク確認 (ケーブル / NIC / SFP) $ ip link show 2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 # L2 — ARP は引けているか $ ip neigh show 192.168.1.1 dev eth0 lladdr aa:bb:cc:dd:ee:ff REACHABLE # L3 — ping (ICMP) で IP まで届くか $ ping -c 3 8.8.8.8 $ traceroute 8.8.8.8 # L4 — 該当 port は開いているか $ nc -vz example.com 443 Connection to example.com 443 port [tcp/https] succeeded! # L5-L7 — TLS / HTTP のレベルで何が起きているか $ curl -vI https://example.com $ openssl s_client -connect example.com:443
08

セキュリティ対策のレイヤ分け #

セキュリティ対策も「どの層で守るか」を意識するのが実務常識。

▸ かみ砕いて言うと — レイヤ別防御は「家の警備」

家を守るときも 1 個の鍵だけでは心もとなく、玄関の鍵 / 窓の防犯センサ / 塀 / 監視カメラ / 警備員の巡回を組み合わせる。ネットワーク防御も同じで、「WAF を入れれば安心」でも「FW を入れれば安心」でもない。各層で 1 つずつ防御を置き、どれかが破られても他で受け止めるのが Defense in Depth。下表は「どの層で・どんな攻撃 → どんな対策」の早見表として手元に置くといい。

攻撃例 対策例
L1 ケーブル盗聴、電磁波傍受 物理セキュリティ、シールド
L2 MAC spoofing, ARP poisoning, VLAN hopping Port Security, DAI, 802.1X
L3 IP spoofing, DDoS, ルーティング詐欺 uRPF, BCP 38, RPKI
L4 SYN flood, port scan SYN cookies, ファイアウォール
L5-L7 TLS 中間者, XSS, SQL injection, CSRF TLS, WAF, 入力検証
▸ 防御は「重層」が基本

単一層の対策はバイパスされうる。Defense in Depth = 複数層で重ね合わせるのが鉄則。L7 WAF と L4 IDS と L3 RPKI を同時に走らせて、どれかが落ちても他で受ける構成にする。

ベンダー製品の分類軸 #

  • L2 スイッチ (純粋な MAC スイッチ) / L3 スイッチ (ルータ機能内蔵)
  • L4 ロードバランサ (TCP/UDP) / L7 ロードバランサ (HTTP 内容を見る、e.g. nginx, F5)
  • L4 ファイアウォール / L7 ファイアウォール (WAF)
  • L7 プロキシ (HTTP プロキシ。SOCKS は L5)

製品選定でも「何層で動かすか」が議論の出発点になる。

09

まとめ #

ISO 基本参照モデルは「実プロトコルとしては敗れたが、思考の枠組みとしては今なおスタンダード」という稀有な存在。実装の世界は TCP/IP が支配しているが、「どの層の問題か」「どの層で守るか」「どの層に機能を置くか」を議論するときに、すべての人が共通して使える 7 段階のスケールを提供しているのが OSI モデルの最大の価値。

  • ネットワークを学ぶ最初の入り口として
  • 実務での障害切り分けの言語として
  • セキュリティ設計の重層化の枠組みとして
  • 製品選定時の機能比較の軸として

OSI 7 層は最初に押さえ、最後まで使い続ける概念。下から積み上げて理解し、上から下まで行き来できるようになると、「なぜ HTTPS が遅い」「なぜ ping は通るのに HTTP が落ちる」のような複合的な問題も、迷わずに切り分けていける。

▸ はじめての人向け — まずやってみる小さな練習

OSI を理解する一番速い方法は 「自分の PC で今起きていることを 7 層に分けて言葉にしてみる」こと。たとえば https://google.com を開いた瞬間、頭の中で 「(L7) ブラウザが HTTPS リクエストを書き → (L6) TLS で暗号化 → (L4) TCP で 443 番ポート宛 → (L3) IP で 142.250.x.x 宛 → (L2) ルータの MAC へ → (L1) Wi-Fi の電波で送出」と唱えてみる。これを 5 回くらい違うシナリオ (メール送信 / SSH 接続 / DNS 問い合わせ) でやると、頭の中に「7 層の引き出し」が出来上がる。あとは現実のトラブルに当てるだけで、自然と使いこなせるようになる。

𝕏 ポスト B! はてブ