本文へジャンプします。

TOP

用語集

OSI参照モデルとは

2019年8月20日


OSI参照モデルとは

現在、多くのコンピューターはネットワークに接続され、ほかのコンピューターとさまざまな通信を行っています。こうしたコンピューター間の通信は、ケーブルに電気信号を流したり、Wi-Fiの電波を飛ばすことで行われています。しかし、アプリケーションが利用する(人間にとって意味のある)データをケーブルの上にいきなり流せるわけではありません。

通信を行うには、「通信相手を特定する」「エラーを訂正する」「ひとまとまりの通信をセッションとして管理する」といった、さまざまな通信プロトコルを積み重ね、データの抽象度を上げていく必要があります。そうして積み重なったプロトコル層の一番上にアプリケーションが利用するデータを載せることができるのです。

そして、ケーブルのような物理的な装置から、HTTPのような実際にアプリケーションが利用するプロトコルまで、通信に必要な機能を階層型のモデルとして表したものが「OSI参照モデル」です。OSI参照モデルは、物理層からアプリケーション層までの7つの階層(レイヤー)で構成されています。各層は、ハードウェアに近い(低い)層から順に、レイヤ1(L1)、レイヤ2(L2)・・・のように番号で呼ぶこともあります。

レイヤー1 物理層

物理層はその名の通り、電気信号を流すための物理的な層です。主にデータと電気信号の伝達、変換、信号の増幅などを行っています。LANケーブルや光ファイバー、ケーブルの延伸を行うリピーターハブなどがこの層に該当します。

レイヤー2 データリンク層

データリンク層は、1つのネットワークに接続されているノード間でデータ転送を行う層です。この層のプロトコルで最も馴染みが深いものは、企業や家庭内のLANに利用されている「イーサネット」でしょう。イーサネット内では、各コンピューターのネットワークインターフェイスが持つ固有の「MACアドレス」を利用して宛先を特定し、パケットの送受信を行っています。

イーサネットのほか、ネットワークを延伸するブリッジ、MACアドレスを判別してパケットの中継を行うスイッチングハブ、家庭からインターネットに接続する際に利用するPPPoEなどがこの層に該当します。

レイヤー3 ネットワーク層

ネットワーク層は、通信相手を特定してパケットのルーティングを行う層です。インターネットで利用されているIPv4/IPv6はネットワーク層のプロトコルで、IPアドレスを用いてネットワーク上のコンピューターを特定し、パケットの送受信を行っています。

ほかには、IPアドレスに対応するMACアドレスを調べるプロトコルであるARPや、異なるネットワーク間でパケットを中継するルーターがこの層に該当します。

レイヤー4 トランスポート層

トランスポート層は、ポート番号による宛先の管理やパケットの配送順序の制御、エラー訂正などを行う層です。インターネット上の通信は、IPアドレスとポート番号を指定して行いますが、このポート番号を提供しているのがトランスポート層のプロトコルであるTCPやUDPです。

ネットワーク層のプロトコルであるIPは、単に宛先アドレスに対してパケットを送出する機能しか持っていません。それに対し、トランスポート層のTCPは欠損パケットの再送機能やエラー訂正機能を持っており、これらを組み合わせることで通信の信頼性を向上させています。

レイヤー5 セッション層

アプリケーションにログインしてからログアウトするまでの通信のように、特定のユーザー固有の通信は、ほかの通信と混じらないように管理する必要があります。ここの管理ができていないと、アプリケーションが次の状態に遷移できなかったり、ほかのユーザーのデータが混じってしまったりする可能性もあります。セッション層は、このような一連の通信を管理するための層です。

しかし、インターネット上では、アプリケーションが独自にセッション管理機能を実装するのが一般的です。そのため後述するTCP/IPの4層モデルでは、セッション層は存在しません。

レイヤー6 プレゼンテーション層

プレゼンテーション層はデータの表現方法を規定し、必要であれば上位層であるレイヤー7のアプリケーションと、下位層のプロトコルとの間で変換を行う層です。具体的には、データ形式の変換や文字コードの変換などが挙げられます。

しかし、セッション層同様、TCP/IPの4層モデルではプレゼンテーション層は存在しません。例に挙げたようなデータの変換は、アプリケーションが必要に応じて行うのが一般的な実装です。

レイヤー7 アプリケーション層

アプリケーション層は、具体的な通信サービスやアプリケーションの機能を提供する層です。WebページやWebアプリを提供するHTTP、ドメイン名からIPアドレスを検索するDNS、メールサーバーからメールを受信するPOP/IMAPなどは、すべてアプリケーション層のプロトコルです。

OSI参照モデルと実装の違い

OSI参照モデルは、通信の基本モデルとして広く知られています。しかし、実際の通信プロトコルがOSI参照モデルに準拠して設計されているとは限りません。例えば、インターネットで利用されているTCP/IPは7層ではなく、下から順に「ネットワーク層」「インターネット層」「トランスポート層」「アプリケーション層」の4層で構成されています。

あるプロトコルがOSI参照モデルにおいてどの層に分類されるかも、厳密に決まっているわけではありません。解釈によって異なることもあれば、複数の層にまたがるプロトコルも存在します。そのため、OSI参照モデルは絶対的な原理原則ではなく、「一般的なネットワークはこういう機能を積み重ねて構成される」という理解を助ける程度に留めておくのがよいでしょう。

また最近では、クラウドとオンプレミスでハイブリッドクラウド環境を構築する際に、OSI参照モデルにおけるレイヤを意識してネットワークを設計しなければならない場合もあります(関連記事: L2延伸とは)。

  • このエントリーをはてなブックマークに追加