リンドくんたなべ先生、「OSI参照モデル」って聞いたことあるんですけど、これって何なんですか?ネットワークを勉強するのに必要なんですか?
たなべOSI参照モデルはネットワーク通信の仕組みを理解するための「設計図」みたいなものなんだ。
これを知っていると、インターネットがどうやって動いているのか、トラブルが起きたときにどこを調べればいいのかが分かるようになるよ。
ネットワークの学習を始めると、必ず出会うのが「OSI参照モデル」という概念です。
しかし、多くの初心者の方が「7層って何?」「なぜこんなに細かく分ける必要があるの?」と疑問を持たれるのではないでしょうか。
実は、OSI参照モデルはネットワーク通信を理解するための最も基本的な考え方であり、これを理解することで、普段何気なく使っているインターネットの仕組みが手に取るように分かるようになります。
この記事では、ネットワークを学び始めたばかりの方でも理解できるよう、OSI参照モデルの7つの層について、身近な例えを交えながら丁寧に解説していきます。
OSI参照モデルとは何か?その存在意義を理解しよう
リンドくんそもそもOSI参照モデルって、なぜ作られたんですか?
たなべそれはね、昔は各メーカーが独自の方式で通信システムを作っていて、異なるメーカーの機器同士では通信できないという問題があったんだ。
そこで「共通のルールを作ろう!」ということで生まれたのがOSI参照モデルなんだよ。
OSI参照モデルの基本概念
OSI参照モデル(Open Systems Interconnection Reference Model)は、国際標準化機構(ISO)が1984年に策定した、ネットワーク通信の標準モデルです。
このモデルの最大の特徴は、複雑なネットワーク通信を7つの階層(レイヤー)に分割して整理している点にあります。なぜこのような分割が必要だったのでしょうか?
それは、以下のようなメリットがあるからです。
- 役割の明確化 → 各層が独立した機能を持つため、問題の切り分けがしやすい
- 標準化の促進 → 異なるメーカーの機器でも通信できるようになる
- 保守性の向上 → 一つの層を変更しても、他の層に影響を与えにくい
- 教育・理解の容易化 → 複雑な通信を段階的に理解できる
郵便配達に例えると分かりやすい
OSI参照モデルを理解する上で、郵便配達のシステムに例えるとイメージしやすいでしょう。
手紙を送る場合を考えてみてください。
- 内容を書く(何を伝えるか)
- 封筒に入れる(形式を整える)
- 宛先を書く(どこに届けるか)
- ポストに投函する(配達システムに託す)
- 郵便局が仕分ける(適切なルートを選択)
- 配達員が運ぶ(物理的な移動)
- 受取人が開封する(内容を受け取る)
このように、一つの「手紙を届ける」という行為も、実は複数の段階に分かれているのです。OSI参照モデルも同じように、データ通信を複数の役割に分けて管理しているというわけです。
7層構造の全体像
OSI参照モデルは、下から順に以下の7つの層で構成されています。
- 物理層(physical layer) → 電気信号の送受信
- データリンク層(data link layer) → 直接接続された機器間の通信
- ネットワーク層(network layer) → 異なるネットワーク間の通信
- トランスポート層(transport layer) → 信頼性のあるデータ転送
- セッション層(session layer) → 通信の開始・維持・終了
- プレゼンテーション層(presentation layer) → データの表現形式
- アプリケーション層(application layer) → ユーザーが直接利用するサービス
覚え方として、「物・デ・ネ・ト・セ・プ・ア」という語呂合わせがよく使われます。
また、英語圏では各層の頭文字を取って「Please Do Not Throw Sausage Pizza Away(お願いだからソーセージピザを捨てないで)」という有名な覚え方もあります。
次のセクションからは、各層の役割について詳しく見ていきましょう。
下位層(物理層・データリンク層・ネットワーク層)の役割
リンドくん下の3つの層って、具体的に何をしているんですか?
たなべ下位層はデータを物理的に届けるための仕組みを担当しているんだ。
電気信号に変換したり、正しい相手に届けたり、最適な経路を選んだりしているよ。
第1層 物理層(Physical Layer)
物理層は、OSI参照モデルの最下層であり、実際の電気信号や光信号を扱う層です。
具体的には以下のような役割を担っています。
- ビット列を電気信号や光信号に変換する
- ケーブルやコネクタの規格を定義する
- 信号の伝送速度や電圧レベルを規定する
身近な例で言うと、LANケーブル、光ファイバー、無線電波などが物理層に該当します。この層では「0」と「1」のデジタルデータを、実際に伝送できる形に変換しているのです。
物理層で使われる主な機器やケーブルは以下の通りです。
- リピータ → 信号を増幅して遠くまで届ける
- ハブ → 複数の機器を物理的に接続する
- LANケーブル(イーサネットケーブル) → データを電気信号で伝送
- 光ファイバーケーブル → データを光信号で伝送
第2層 データリンク層(Data Link Layer)
データリンク層は、直接接続された機器同士が正しく通信できるようにする層です。
主な役割は以下の通りです。
- MACアドレスによる機器の識別
- フレームという単位でデータを管理
- エラー検出と訂正
- 同じネットワーク内での通信制御
皆さんが使っているパソコンやスマートフォンには、必ず「MACアドレス」という固有の識別番号が割り当てられています。これは機器の「住所」のようなもので、データリンク層はこのMACアドレスを使って「どの機器にデータを届けるか」を判断しています。
データリンク層で使われる主な機器とプロトコルは以下です。
- スイッチ(L2スイッチ) → MACアドレスを見て適切なポートにデータを転送
- ブリッジ → 複数のネットワークセグメントを接続
- イーサネット(Ethernet) → 最も一般的なLAN技術
- Wi-Fi(無線LAN) → 無線でのデータリンク層通信
第3層 ネットワーク層(Network Layer)
ネットワーク層は、異なるネットワーク間でデータを届けるための層です。インターネット通信の要となる重要な層と言えます。
主な役割は以下のようなものです。
- IPアドレスによる論理的な識別
- 最適な経路(ルート)の選択
- パケットという単位でデータを管理
- 異なるネットワーク間の中継
皆さんがWebサイトにアクセスするとき、データは複数のルーターを経由して目的地に届きます。この「どの経路を通るか」を決めるのがネットワーク層の仕事です。
ネットワーク層で使われる主な機器とプロトコルは以下です。
- ルーター(L3スイッチ) → IPアドレスを見て最適な経路にデータを転送
- IP(Internet Protocol) → インターネット通信の基本プロトコル
- ICMP → pingコマンドなどで使われる通信確認プロトコル
下位3層は、データを「物理的に」そして「論理的に」正しい相手に届けるための仕組みを提供しているのです。
上位層(トランスポート層・セッション層・プレゼンテーション層・アプリケーション層)の役割
リンドくん上の4つの層は、どんなことをしているんですか?
たなべ上位層はデータを正しく、効率的に、使いやすい形で届けるための仕組みを担当しているんだ。
下位層が「配達システム」なら、上位層は「内容の管理と利用」を担当していると言えるね。
第4層 トランスポート層(Transport Layer)
トランスポート層は、エンドツーエンド(端から端まで)の信頼性のある通信を保証する層です。
主な役割は以下の通りです。
- データの分割と再構成
- 通信の信頼性を確保する(エラー検出・再送制御)
- ポート番号によるアプリケーションの識別
- フロー制御(送信速度の調整)
トランスポート層で最も重要なプロトコルがTCP(Transmission Control Protocol)とUDP(User Datagram Protocol)です。
TCPは信頼性を重視したプロトコルで、以下の特徴があります。
- データが確実に届いたか確認する
- データの順序を保証する
- 通信前に接続を確立する(3ウェイハンドシェイク)
Webブラウジングやメール送信など、データの正確性が重要な場面で使われます。
一方、UDPは速度を重視したプロトコルで、以下の特徴があります。
- 確認応答を行わない
- データの順序を保証しない
- 高速で軽量
動画ストリーミングやオンラインゲームなど、多少のデータ欠損よりも速度が重要な場面で使われます。
第5層 セッション層(Session Layer)
セッション層は、アプリケーション間の通信セッション(対話)を管理する層です。
主な役割は以下のようなものです。
- 通信の開始・維持・終了を制御
- 同期ポイントの設定(通信の区切り)
- 対話の管理(どちらが送信するか)
実際には、現代のネットワークではセッション層の機能は明確に分離されず、アプリケーション層やトランスポート層に統合されていることが多いです。
例えば、Webサイトへのログイン状態を維持する仕組み(セッション管理)などがこの層の概念に該当します。
第6層 プレゼンテーション層(Presentation Layer)
プレゼンテーション層は、データの表現形式を管理する層です。
主な役割は以下です。
- データの符号化・復号化
- データの圧縮・展開
- データの暗号化・復号化
- 文字コードの変換
具体的には、以下のような処理が行われます。
- 画像や動画のエンコード・デコード(JPEG、MP4など)
- テキストの文字コード変換(UTF-8、Shift_JISなど)
- 暗号化通信(SSL/TLSによるHTTPS通信)
- データの圧縮(ZIP、gzipなど)
プレゼンテーション層も、現代のネットワークでは明確に独立した層として実装されることは少なく、アプリケーション層に統合されていることが多いです。
第7層 アプリケーション層(Application Layer)
アプリケーション層は、OSI参照モデルの最上位層であり、ユーザーが直接利用するネットワークサービスを提供する層です。
主な役割は以下の通りです。
- ユーザーインターフェースの提供
- アプリケーション固有のプロトコルの実装
- ネットワークサービスへのアクセス
私たちが日常的に使っているインターネットサービスは、すべてこの層で動作しています。
代表的なプロトコルとサービスは以下です。
- HTTP/HTTPS → Webブラウジング
- SMTP/POP3/IMAP → メールの送受信
- FTP → ファイル転送
- DNS → ドメイン名とIPアドレスの変換
- SSH → 安全なリモートログイン
例えば、あなたがWebブラウザで「https://example.com」にアクセスするとき、以下のような流れでアプリケーション層が動作しています。
- DNSプロトコルでドメイン名をIPアドレスに変換
- HTTPSプロトコルでWebサーバにリクエストを送信
- Webサーバからレスポンス(HTMLファイルなど)を受信
- ブラウザがHTMLを解析して画面に表示
このように、上位4層は私たちが実際に利用するサービスを実現するための仕組みを提供しているのです。
実際の通信の流れ
リンドくん実際にデータが送られるときは、7層全部を通るんですか?
たなべそうなんだ!送信側では上から下へ、受信側では下から上へとデータが各層を通過していくんだよ。
各層でヘッダー情報が追加されて、まるで玉ねぎのように何重にも包まれていくイメージだね。
カプセル化とデカプセル化
ネットワーク通信では、データが各層を通過する際に「カプセル化(Encapsulation)」と「デカプセル化(Decapsulation)」という処理が行われます。
送信側のカプセル化の流れ
- アプリケーション層 → ユーザーが送りたいデータ(例:メールの本文)を作成
- プレゼンテーション層 → データを適切な形式に変換(暗号化など)
- セッション層 → セッション管理情報を追加
- トランスポート層 → TCPヘッダーを追加(ポート番号、シーケンス番号など)
- ネットワーク層 → IPヘッダーを追加(送信元IPアドレス、宛先IPアドレスなど)
- データリンク層 → イーサネットヘッダーを追加(送信元MACアドレス、宛先MACアドレスなど)
- 物理層 → 電気信号や光信号に変換して送信
このように、各層で必要な情報(ヘッダー)が追加されていき、データは何重にも包まれた状態で送信されます。
受信側のデカプセル化の流れ
受信側では、逆の順序で各層のヘッダーを取り除いていきます。
- 物理層 → 電気信号や光信号をデジタルデータに変換
- データリンク層 → イーサネットヘッダーを確認し、自分宛てか判断
- ネットワーク層 → IPヘッダーを確認し、正しいIPアドレスか判断
- トランスポート層 → TCPヘッダーを確認し、該当するポートのアプリケーションに渡す
- セッション層 → セッション情報を処理
- プレゼンテーション層 → データを適切な形式に変換(復号化など)
- アプリケーション層 → 最終的にユーザーが利用できる形でデータを受け取る
実例:WebサイトにアクセスするときのOSI参照モデル
具体的な例として、あなたがブラウザで「https://example.com」にアクセスする場合を見てみましょう。
- アプリケーション層 → ブラウザがHTTPSリクエストを生成
- プレゼンテーション層 → TLS/SSLで暗号化
- セッション層 → セッションを確立
- トランスポート層 → TCPヘッダーを追加(ポート番号443)
- ネットワーク層 → IPヘッダーを追加(宛先IPアドレス)
- データリンク層 → イーサネットヘッダーを追加(ルーターのMACアドレス)
- 物理層 → LANケーブルを通じて電気信号として送信
- ルーターはネットワーク層まで処理を行い、最適な経路を選択してデータを次のルーターに転送します
- この処理が複数のルーターで繰り返され、データは目的地に向かって進んでいきます
- 物理層 → 電気信号を受信してデジタルデータに変換
- データリンク層 → イーサネットヘッダーを確認
- ネットワーク層 → IPヘッダーを確認し、自分宛てであることを確認
- トランスポート層 → TCPヘッダーを確認し、ポート443のアプリケーションに渡す
- セッション層 → セッションを管理
- プレゼンテーション層 → TLS/SSLで復号化
- アプリケーション層 → Webサーバソフトウェアがリクエストを処理し、HTMLファイルを返す
そして、Webサーバからの返信も同じように7層を経由して、あなたのブラウザに届くのです。
このように、私たちが何気なく使っているインターネット通信は、OSI参照モデルの7層すべてを通過する複雑な処理の上に成り立っているんですね。
TCP/IPモデルとOSI参照モデルの違い
リンドくんTCP/IPモデルっていうのもあるって聞いたんですけど、OSI参照モデルと何が違うんですか?
たなべ実は現代のインターネットはTCP/IPモデルをベースに動いているんだ。
OSI参照モデルは「理論的な標準モデル」で、TCP/IPモデルは「実際に使われている実装モデル」という違いがあるよ。
TCP/IPモデルの4層構造
TCP/IPモデルは、インターネットで実際に使われているプロトコルスイートをベースにした、より実践的なモデルです。OSI参照モデルの7層に対して、TCP/IPモデルは4層で構成されています。
TCP/IPモデルの4層
- ネットワークインターフェース層 → OSI参照モデルの物理層+データリンク層に相当
- インターネット層 → OSI参照モデルのネットワーク層に相当
- トランスポート層 → OSI参照モデルのトランスポート層に相当
- アプリケーション層 → OSI参照モデルのセッション層+プレゼンテーション層+アプリケーション層に相当
両者の比較と使い分け
| 項目 | OSI参照モデル | TCP/IPモデル |
|---|---|---|
| 層の数 | 7層 | 4層 |
| 開発時期 | 1984年(ISO) | 1970年代(米国防総省) |
| 目的 | 標準化のための理論モデル | 実際のインターネット通信のための実装モデル |
| 採用状況 | 教育・説明用として広く使用 | 現実のネットワークで使用 |
| 柔軟性 | 厳密な階層分離 | より実践的で柔軟 |
実際のところ、現代のネットワークエンジニアは以下のように使い分けています。
- OSI参照モデル → ネットワークの概念を説明したり、トラブルシューティングで問題箇所を特定したりする際の「共通言語」として使用
- TCP/IPモデル → 実際のプロトコル設計や実装を行う際の指針として使用
どちらが優れているというわけではなく、両方を理解しておくことが重要です。OSI参照モデルは理論的な理解に、TCP/IPモデルは実践的な理解に役立つのです。
OSI参照モデルを理解することの実践的メリット
リンドくんOSI参照モデルを学ぶと、実際にどんな場面で役に立つんですか?
たなべ日常的なトラブルシューティングから、ネットワーク設計、セキュリティ対策まで、あらゆる場面で役立つんだよ。
「どの層の問題か」を切り分けられるだけで、問題解決のスピードが格段に上がるからね。
トラブルシューティングでの活用
ネットワークに問題が発生したとき、OSI参照モデルの知識があれば効率的に原因を特定できます。
例) インターネットに接続できない場合
- 物理層の確認 → LANケーブルは接続されているか?ランプは点灯しているか?
- データリンク層の確認 → MACアドレスは正しく認識されているか?
- ネットワーク層の確認 → IPアドレスは取得できているか?pingは通るか?
- トランスポート層以上の確認 → 特定のアプリケーションだけ使えないのか?
このように、下の層から順番に確認していくことで、問題箇所を効率的に特定できます。
セキュリティ対策での活用
各層には、それぞれ異なるセキュリティ上の脅威があります。OSI参照モデルを理解していれば、各層に適切なセキュリティ対策を施すことができます。
- 物理層 → 物理的なアクセス制御、ケーブルの盗聴対策
- データリンク層 → MACアドレスフィルタリング、VLANによるセグメント分離
- ネットワーク層 → ファイアウォール、IPアドレスフィルタリング
- トランスポート層 → ポートフィルタリング、TCPフラグによる攻撃検知
- アプリケーション層 → WAF(Web Application Firewall)、アプリケーションレベルの認証
ネットワーク設計での活用
新しいネットワークを設計する際も、OSI参照モデルの考え方は非常に役立ちます。
- 物理層 → ケーブルの種類、配線経路の設計
- データリンク層 → スイッチの配置、VLAN設計
- ネットワーク層 → IPアドレス設計、ルーティング設計
- トランスポート層以上 → 必要なサービスとポート番号の決定
各層の役割を理解していれば、バランスの取れた効率的なネットワークを設計できるのです。
キャリアアップでの活用
ネットワークエンジニアやインフラエンジニアとして成長するためには、OSI参照モデルの深い理解が不可欠です。
- 面接での質問 → 多くの企業がOSI参照モデルに関する質問を行います
- 資格試験 → CCNAやネットワークスペシャリストなどの試験で頻出
- 実務でのコミュニケーション → 「レイヤー3の問題だね」といった共通言語として使用
- 技術文書の理解 → 製品仕様書や技術文書でも頻繁に使用される
OSI参照モデルは、単なる理論ではなく、ネットワークの世界で働く上での共通言語なのです。
まとめ
リンドくんOSI参照モデルの7層、なんとなく理解できてきました!でも覚えることが多くて大変ですね...
たなべ最初は大変かもしれないけど、一度理解してしまえば、ネットワークの仕組みが手に取るように分かるようになるよ。
まずは各層の基本的な役割を覚えて、実際の機器やプロトコルと結びつけて考える練習をしていこう!
この記事では、OSI参照モデルの7層について、初心者の方でも理解できるよう詳しく解説してきました。
重要なポイントをおさらいしましょう。
- OSI参照モデルは、ネットワーク通信を7つの層に分けて整理した標準モデル
- 各層は独立した役割を持ち、下の層から順に「物理層、データリンク層、ネットワーク層、トランスポート層、セッション層、プレゼンテーション層、アプリケーション層」
- 送信時は上から下へカプセル化され、受信時は下から上へデカプセル化される
- 現実のインターネットはTCP/IPモデルで動作しているが、OSI参照モデルは理論的理解と共通言語として重要
- トラブルシューティング、セキュリティ対策、ネットワーク設計など、実践的な場面で活用できる
ネットワークの世界は奥が深く、学べば学ぶほど面白さが増していきます。
OSI参照モデルという「地図」を手に入れたあなたは、もうネットワークの世界で迷うことはありません。
もしネットワークエンジニアやインフラエンジニアを目指しているなら、OSI参照モデルの理解は必須のスキルです。
また、Webエンジニアやアプリケーション開発者にとっても、ネットワークの基礎知識は大きなアドバンテージになります。
普段、関わる機会があるサーバなどから始め、少しずつ学習を進めていきましょう!





