ネットワークについて学んでいると、「OSI参照モデル」「レイヤー2(L2)」「レイヤー3(L3)」「レイヤー7(L7)」といった言葉を目にすることがあります。
OSI参照モデルは、コンピュータ同士が通信するために必要な機能を7つの階層に分けて整理したモデルです。
現在のインターネットがOSI参照モデルの7階層をそのまま実装しているわけではありませんが、ネットワークの仕組みを理解したり、障害の原因を切り分けたりするための基本的な考え方として広く利用されています。
この記事では、OSI参照モデルの7階層それぞれの役割や、TCP/IPモデルとの違いについてわかりやすく解説します。
OSI参照モデルとは
OSI参照モデル(OSI Reference Model)とは、ネットワーク通信に必要な機能を役割ごとに7つの階層へ分けた参照モデルです。
OSIは「Open Systems Interconnection」の略で、日本語では「開放型システム間相互接続」などと訳されます。
ISO(国際標準化機構)が策定したOSIの基本参照モデルでは、通信機能を次の7階層に分けて考えます。
| レイヤー | 名称 |
|---|---|
| 第7層 | アプリケーション層 |
| 第6層 | プレゼンテーション層 |
| 第5層 | セッション層 |
| 第4層 | トランスポート層 |
| 第3層 | ネットワーク層 |
| 第2層 | データリンク層 |
| 第1層 | 物理層 |
上位になるほどアプリケーションに近い役割を持ち、下位になるほど通信媒体やデータ転送に近い役割を持ちます。
OSI参照モデルの7階層
OSI参照モデルでは、それぞれの階層に異なる役割があります。
第7層:アプリケーション層
アプリケーション層は、OSI参照モデルの最上位に位置する階層です。
利用者が使用するアプリケーションに対して、ネットワークを利用するためのサービスを提供する役割を担います。
実際のTCP/IPネットワークをOSIモデルに対応させて説明する場合、HTTP、SMTP、DNSなどのアプリケーションプロトコルが、この層に関連する代表例として挙げられます。
Webサイトの閲覧やメールの送受信など、利用者が直接利用するネットワークサービスに最も近い階層です。
第6層:プレゼンテーション層
プレゼンテーション層は、アプリケーションが扱うデータの表現形式に関する処理を担当する階層です。
代表的な役割として、データ形式の変換や文字コードなどの表現形式の調整、圧縮、暗号化に関係する処理が挙げられます。
異なるシステム間でもデータを適切に解釈できるようにするための役割を持っています。
ただし、現在広く利用されているTCP/IPでは、OSIモデルのプレゼンテーション層と完全に対応する独立した階層が存在するわけではありません。
第5層:セッション層
セッション層は、通信するアプリケーション間の対話やセッションを管理するための階層です。
通信の開始、維持、同期、終了などに関係する機能を扱います。
TCP/IPでは、OSIモデルにおけるセッション層の役割が独立した一つの階層として実装されているわけではなく、アプリケーションなどが必要に応じてその機能を担当します。
第4層:トランスポート層
トランスポート層は、通信するホスト間でデータを届けるための機能を担当します。
TCP/IPにおける代表的なプロトコルには、TCP(Transmission Control Protocol)とUDP(User Datagram Protocol)があります。
TCPは、順序制御や再送などを利用して信頼性のあるデータ転送を実現します。一方、UDPはTCPより簡素な仕組みでデータグラムを送信するプロトコルです。
また、TCPやUDPではポート番号によって通信先のアプリケーションやサービスを識別します。
ネットワーク関連の会話で「L4」と呼ばれている場合、このトランスポート層を指します。
第3層:ネットワーク層
ネットワーク層は、異なるネットワークをまたいでデータを目的地まで届けるための階層です。
現在のTCP/IPネットワークでは、IPがこの役割に対応します。
IPアドレスを利用して送信元と宛先を識別し、ルーターなどによってパケットが適切なネットワークへ転送されます。
「L3スイッチ」のL3は、この第3層を意味しています。
第2層:データリンク層
データリンク層は、同一のリンク上でデータを転送するための機能を担当します。
Ethernetなどでは、フレームを使用してデータを転送し、MACアドレスが利用されます。
一般的なL2スイッチはMACアドレスなどの情報を利用してフレームを適切なポートへ転送します。
ネットワーク機器でよく使われる「L2スイッチ」のL2は、このデータリンク層を意味しています。
第1層:物理層
物理層は、OSI参照モデルの最下位に位置する階層です。
ビットを電気信号、光信号、無線信号などとして物理媒体上で伝送するための機能を扱います。
ケーブル、コネクター、信号など、物理的な通信に密接に関係する階層です。
ネットワーク障害では、ケーブルが正しく接続されているか、信号を送受信できているかといった確認が、物理層に関連する基本的な切り分けになります。
OSI参照モデルを一覧で整理
7階層を簡単に整理すると、次のようになります。
| レイヤー | 名称 | 主な役割 | TCP/IPネットワークで関連する代表例 |
|---|---|---|---|
| L7 | アプリケーション層 | アプリケーション向けネットワークサービス | HTTP、DNS、SMTPなど |
| L6 | プレゼンテーション層 | データ表現、変換など | データ形式・文字表現・暗号化などに関する機能 |
| L5 | セッション層 | セッションや対話の管理 | アプリケーションなどによるセッション管理 |
| L4 | トランスポート層 | ホスト間のデータ転送 | TCP、UDP |
| L3 | ネットワーク層 | ネットワーク間の転送 | IP |
| L2 | データリンク層 | 同一リンク上でのフレーム転送 | Ethernet、MACアドレス |
| L1 | 物理層 | ビットの物理的な伝送 | 電気信号、光信号、無線信号など |
プロトコルによってはOSIの一つの階層へ厳密に対応させることが難しいものもあります。そのため、この表は現在のTCP/IPネットワークを理解するためのおおまかな対応として考えることが重要です。
L2・L3・L4・L7とは何か
ネットワーク関連の製品や技術では、「L2」「L3」「L4」「L7」という表現が頻繁に使われます。
この「L」は「Layer」を意味しており、OSI参照モデルの階層番号を表しています。
例えば、L2スイッチは主としてデータリンク層の情報を利用して通信を処理します。
L3スイッチはIPアドレスなどネットワーク層の情報を利用し、ルーティング機能を持つ機器です。
ロードバランサーでは「L4ロードバランサー」「L7ロードバランサー」という分類があります。
L4ロードバランサーでは、IPアドレスやTCP・UDPのポート番号などを利用して通信を振り分けます。
一方、L7ロードバランサーではHTTPなどアプリケーションレベルの情報を解釈して振り分けることができます。
例えば、WebサービスでURLのパスなどを条件として、
/api/へのリクエストはAPIサーバーへ送り、別のパスへのリクエストはWebサーバーへ送る、といった制御はL7で行うロードバランシングの代表例です。
データは階層を移動しながら送信される
ネットワーク通信では、アプリケーションが生成したデータが下位の階層へ渡されていきます。
例えば、WebブラウザからWebサーバーへHTTP通信を行う場合、概念的には次のように考えられます。
HTTPなどのアプリケーションデータ
↓
TCP
↓
IP
↓
Ethernetなど
↓
物理的な信号による伝送
送信側では上位から下位へ処理され、受信側では逆に下位から上位へ処理されていきます。
カプセル化とは
データが各階層を通過するときには、それぞれの通信処理に必要な制御情報が付加されます。
このように、上位層から受け取ったデータに各プロトコルのヘッダーなどを付加しながら下位層へ渡していく考え方を「カプセル化」と呼びます。
例えばTCP/IP通信を単純化すると、
アプリケーションデータ
↓
TCPヘッダーなどを付加
↓
IPヘッダーを付加
↓
Ethernetフレームとして転送
という形になります。
受信側では、これらの情報を順番に処理して元のアプリケーションデータを上位へ渡します。
OSI参照モデルとTCP/IPモデルの違い
OSI参照モデルと一緒に覚えておきたいのが「TCP/IPモデル」です。
OSI参照モデルは7階層ですが、RFC 1122で示されるインターネットアーキテクチャでは、Application、Transport、Internet、Linkという階層で整理されています。
両者を概念的に対応させると、次のように整理できます。
| OSI参照モデル | TCP/IPモデル |
|---|---|
| アプリケーション層 | アプリケーション層 |
| プレゼンテーション層 | アプリケーション層 |
| セッション層 | アプリケーション層 |
| トランスポート層 | トランスポート層 |
| ネットワーク層 | インターネット層 |
| データリンク層 | リンク層 |
| 物理層 | リンク層としてまとめて説明されることが多い |
ただし、OSI参照モデルとTCP/IPモデルは別々のアーキテクチャを整理したものであるため、完全な一対一対応ではありません。
実際のインターネット通信を理解する場合にはTCP/IPの仕組みが重要ですが、ネットワークの機能を階層ごとに整理したり、「L2」「L3」「L7」といった用語を理解したりするうえではOSI参照モデルが便利です。
OSI参照モデルは障害の切り分けにも役立つ
OSI参照モデルは、ネットワーク障害の原因を整理するときにも役立ちます。
例えばWebサイトへアクセスできない場合、原因はさまざまです。
まず物理層に関連する問題として、ケーブルや通信インターフェースなどを確認します。
次にデータリンク層、ネットワーク層と確認範囲を広げ、IPアドレスやルーティングなどに問題がないかを確認します。
さらにTCP接続が成立するか、最後にHTTPなどのアプリケーションレベルで正常に通信できているかを調査します。
このように、
L1:物理的に通信できるか
↓
L2:同一リンク上で通信できるか
↓
L3:IPによる通信やルーティングが正常か
↓
L4:TCPやUDPを利用した通信が正常か
↓
L7:HTTPなどのアプリケーションレベルで正常か
という形で問題を整理できます。
必ずしもすべての障害調査をL1から順番に行うわけではありませんが、「どの階層で問題が発生しているのか」を意識すると原因を切り分けやすくなります。
OSI参照モデルを覚えるメリット
OSI参照モデルを理解すると、ネットワーク関連の用語や機器の役割を整理しやすくなります。
例えば、「IPアドレスはL3」「TCPはL4」「L2スイッチは主にMACアドレスを利用する」といった形で、個別に覚えていた知識を階層ごとに関連付けられます。
また、ネットワーク設計、インフラ構築、クラウド、セキュリティなどの分野でも、「L3」「L4」「L7」といった表現は頻繁に登場します。
OSI参照モデルは単なる暗記項目ではなく、ネットワーク技術を体系的に理解するための共通言語として役立つ考え方です。
まとめ
OSI参照モデルとは、ネットワーク通信に必要な機能を7つの階層に分けて整理した参照モデルです。
第1層の物理層から第7層のアプリケーション層まで、それぞれ異なる役割が定義されています。
現在のインターネットではTCP/IPが中心となっているため、OSI参照モデルの7階層がそのまま実装されているわけではありません。
しかし、「L2スイッチ」「L3」「L4ロードバランサー」「L7ロードバランサー」といった現在でも広く使われるネットワーク用語を理解するうえで、OSI参照モデルは重要です。
7階層の名前だけを暗記するのではなく、「L1は物理的な伝送」「L2は同一リンク上の転送」「L3はネットワーク間の転送」「L4はホスト間の転送」「上位層はアプリケーションに近い処理」というように、それぞれの役割と関連付けて理解すると、ネットワーク全体の仕組みを把握しやすくなります。


コメント