最終更新
リンドくん
たなべ先生、「OSI参照モデル」って聞いたことあるんですけど、これって何なんですか?ネットワークを勉強するのに必要なんですか?
たなべ
OSI参照モデルはネットワーク通信の仕組みを理解するための「設計図」みたいなものなんだ。
これを知っていると、インターネットがどうやって動いているのか、トラブルが起きたときにどこを調べればいいのかが分かるようになるよ。
ネットワークの学習を始めると、必ず出会うのが「OSI参照モデル」という概念です。
しかし、多くの初心者の方が「7層って何?」「なぜこんなに細かく分ける必要があるの?」と疑問を持たれるのではないでしょうか。
実は、OSI参照モデルはネットワーク通信を理解するための最も基本的な考え方であり、これを理解することで、普段何気なく使っているインターネットの仕組みが手に取るように分かるようになります。
この記事では、ネットワークを学び始めたばかりの方でも理解できるよう、OSI参照モデルの7つの層について、身近な例えを交えながら丁寧に解説していきます。
HackATAは、エンジニアを目指す方のためのプログラミング学習コーチングサービスです。 経験豊富な現役エンジニアがあなたの学習をサポートします。
✓ 質問し放題
✓ β版公開中(2025年内の特別割引)
リンドくん
そもそもOSI参照モデルって、なぜ作られたんですか?
たなべ
それはね、昔は各メーカーが独自の方式で通信システムを作っていて、異なるメーカーの機器同士では通信できないという問題があったんだ。
そこで「共通のルールを作ろう!」ということで生まれたのがOSI参照モデルなんだよ。
OSI参照モデル(Open Systems Interconnection Reference Model)は、国際標準化機構(ISO)が1984年に策定した、ネットワーク通信の標準モデルです。
このモデルの最大の特徴は、複雑なネットワーク通信を7つの階層(レイヤー)に分割して整理している点にあります。なぜこのような分割が必要だったのでしょうか?
それは、以下のようなメリットがあるからです。
OSI参照モデルを理解する上で、郵便配達のシステムに例えるとイメージしやすいでしょう。
手紙を送る場合を考えてみてください。
このように、一つの「手紙を届ける」という行為も、実は複数の段階に分かれているのです。OSI参照モデルも同じように、データ通信を複数の役割に分けて管理しているというわけです。
OSI参照モデルは、下から順に以下の7つの層で構成されています。
覚え方として、「物・デ・ネ・ト・セ・プ・ア」という語呂合わせがよく使われます。
また、英語圏では各層の頭文字を取って「Please Do Not Throw Sausage Pizza Away(お願いだからソーセージピザを捨てないで)」という有名な覚え方もあります。
次のセクションからは、各層の役割について詳しく見ていきましょう。
リンドくん
下の3つの層って、具体的に何をしているんですか?
たなべ
下位層はデータを物理的に届けるための仕組みを担当しているんだ。
電気信号に変換したり、正しい相手に届けたり、最適な経路を選んだりしているよ。
物理層は、OSI参照モデルの最下層であり、実際の電気信号や光信号を扱う層です。
具体的には以下のような役割を担っています。
身近な例で言うと、LANケーブル、光ファイバー、無線電波などが物理層に該当します。この層では「0」と「1」のデジタルデータを、実際に伝送できる形に変換しているのです。
物理層で使われる主な機器やケーブルは以下の通りです。
データリンク層は、直接接続された機器同士が正しく通信できるようにする層です。
主な役割は以下の通りです。
皆さんが使っているパソコンやスマートフォンには、必ず「MACアドレス」という固有の識別番号が割り当てられています。これは機器の「住所」のようなもので、データリンク層はこのMACアドレスを使って「どの機器にデータを届けるか」を判断しています。
データリンク層で使われる主な機器とプロトコルは以下です。
ネットワーク層は、異なるネットワーク間でデータを届けるための層です。インターネット通信の要となる重要な層と言えます。
主な役割は以下のようなものです。
皆さんがWebサイトにアクセスするとき、データは複数のルーターを経由して目的地に届きます。この「どの経路を通るか」を決めるのがネットワーク層の仕事です。
ネットワーク層で使われる主な機器とプロトコルは以下です。
下位3層は、データを「物理的に」そして「論理的に」正しい相手に届けるための仕組みを提供しているのです。
リンドくん
上の4つの層は、どんなことをしているんですか?
たなべ
上位層はデータを正しく、効率的に、使いやすい形で届けるための仕組みを担当しているんだ。
下位層が「配達システム」なら、上位層は「内容の管理と利用」を担当していると言えるね。
トランスポート層は、エンドツーエンド(端から端まで)の信頼性のある通信を保証する層です。
主な役割は以下の通りです。
トランスポート層で最も重要なプロトコルがTCP(Transmission Control Protocol)とUDP(User Datagram Protocol)です。
TCPは信頼性を重視したプロトコルで、以下の特徴があります。
Webブラウジングやメール送信など、データの正確性が重要な場面で使われます。
一方、UDPは速度を重視したプロトコルで、以下の特徴があります。
動画ストリーミングやオンラインゲームなど、多少のデータ欠損よりも速度が重要な場面で使われます。
セッション層は、アプリケーション間の通信セッション(対話)を管理する層です。
主な役割は以下のようなものです。
実際には、現代のネットワークではセッション層の機能は明確に分離されず、アプリケーション層やトランスポート層に統合されていることが多いです。
例えば、Webサイトへのログイン状態を維持する仕組み(セッション管理)などがこの層の概念に該当します。
プレゼンテーション層は、データの表現形式を管理する層です。
主な役割は以下です。
具体的には、以下のような処理が行われます。
プレゼンテーション層も、現代のネットワークでは明確に独立した層として実装されることは少なく、アプリケーション層に統合されていることが多いです。
アプリケーション層は、OSI参照モデルの最上位層であり、ユーザーが直接利用するネットワークサービスを提供する層です。
主な役割は以下の通りです。
私たちが日常的に使っているインターネットサービスは、すべてこの層で動作しています。
代表的なプロトコルとサービスは以下です。
例えば、あなたがWebブラウザで「https://example.com」にアクセスするとき、以下のような流れでアプリケーション層が動作しています。
このように、上位4層は私たちが実際に利用するサービスを実現するための仕組みを提供しているのです。
リンドくん
実際にデータが送られるときは、7層全部を通るんですか?
たなべ
そうなんだ!送信側では上から下へ、受信側では下から上へとデータが各層を通過していくんだよ。
各層でヘッダー情報が追加されて、まるで玉ねぎのように何重にも包まれていくイメージだね。
ネットワーク通信では、データが各層を通過する際に「カプセル化(Encapsulation)」と「デカプセル化(Decapsulation)」という処理が行われます。
送信側のカプセル化の流れ
このように、各層で必要な情報(ヘッダー)が追加されていき、データは何重にも包まれた状態で送信されます。
受信側のデカプセル化の流れ
受信側では、逆の順序で各層のヘッダーを取り除いていきます。
具体的な例として、あなたがブラウザで「https://example.com」にアクセスする場合を見てみましょう。
そして、Webサーバからの返信も同じように7層を経由して、あなたのブラウザに届くのです。
このように、私たちが何気なく使っているインターネット通信は、OSI参照モデルの7層すべてを通過する複雑な処理の上に成り立っているんですね。
リンドくん
TCP/IPモデルっていうのもあるって聞いたんですけど、OSI参照モデルと何が違うんですか?
たなべ
実は現代のインターネットはTCP/IPモデルをベースに動いているんだ。
OSI参照モデルは「理論的な標準モデル」で、TCP/IPモデルは「実際に使われている実装モデル」という違いがあるよ。
TCP/IPモデルは、インターネットで実際に使われているプロトコルスイートをベースにした、より実践的なモデルです。OSI参照モデルの7層に対して、TCP/IPモデルは4層で構成されています。
TCP/IPモデルの4層
| 項目 | OSI参照モデル | TCP/IPモデル |
|---|---|---|
| 層の数 | 7層 | 4層 |
| 開発時期 | 1984年(ISO) | 1970年代(米国防総省) |
| 目的 | 標準化のための理論モデル | 実際のインターネット通信のための実装モデル |
| 採用状況 | 教育・説明用として広く使用 | 現実のネットワークで使用 |
| 柔軟性 | 厳密な階層分離 | より実践的で柔軟 |
実際のところ、現代のネットワークエンジニアは以下のように使い分けています。
どちらが優れているというわけではなく、両方を理解しておくことが重要です。OSI参照モデルは理論的な理解に、TCP/IPモデルは実践的な理解に役立つのです。
リンドくん
OSI参照モデルを学ぶと、実際にどんな場面で役に立つんですか?
たなべ
日常的なトラブルシューティングから、ネットワーク設計、セキュリティ対策まで、あらゆる場面で役立つんだよ。
「どの層の問題か」を切り分けられるだけで、問題解決のスピードが格段に上がるからね。
ネットワークに問題が発生したとき、OSI参照モデルの知識があれば効率的に原因を特定できます。
例) インターネットに接続できない場合
このように、下の層から順番に確認していくことで、問題箇所を効率的に特定できます。
各層には、それぞれ異なるセキュリティ上の脅威があります。OSI参照モデルを理解していれば、各層に適切なセキュリティ対策を施すことができます。
新しいネットワークを設計する際も、OSI参照モデルの考え方は非常に役立ちます。
各層の役割を理解していれば、バランスの取れた効率的なネットワークを設計できるのです。
ネットワークエンジニアやインフラエンジニアとして成長するためには、OSI参照モデルの深い理解が不可欠です。
OSI参照モデルは、単なる理論ではなく、ネットワークの世界で働く上での共通言語なのです。
リンドくん
OSI参照モデルの7層、なんとなく理解できてきました!でも覚えることが多くて大変ですね...
たなべ
最初は大変かもしれないけど、一度理解してしまえば、ネットワークの仕組みが手に取るように分かるようになるよ。
まずは各層の基本的な役割を覚えて、実際の機器やプロトコルと結びつけて考える練習をしていこう!
この記事では、OSI参照モデルの7層について、初心者の方でも理解できるよう詳しく解説してきました。
重要なポイントをおさらいしましょう。
ネットワークの世界は奥が深く、学べば学ぶほど面白さが増していきます。
OSI参照モデルという「地図」を手に入れたあなたは、もうネットワークの世界で迷うことはありません。
もしネットワークエンジニアやインフラエンジニアを目指しているなら、OSI参照モデルの理解は必須のスキルです。
また、Webエンジニアやアプリケーション開発者にとっても、ネットワークの基礎知識は大きなアドバンテージになります。
普段、関わる機会があるサーバなどから始め、少しずつ学習を進めていきましょう!