どうも、みなさんこんにちは、よしです。
この記事では、「OSI参照モデルとは?」について解説します。
OSI参照モデルは、「ネットワークレイヤーをどのように分ければ効率よく通信できるのか」を示したモデルです。通信を理解する上で重要な概念ですので、初心者の方にもわかりやすく説明したいと思います。
ほな、いきましょう!
よし
Contents
標準化されたOSI参照モデル
みなさんがどこかへ荷物を送ろうとする場合、その荷物はいくつかの工程を経て相手先へ届けられます。コンピューターの世界も同様に、ネットワークを介して情報を目的地へ届けるまでにはいくつかの工程があり、その工程は「ネットワークレイヤー」で示されることを説明しました。

ネットワークレイヤーの各工程は、全世界で仕様が統一されています。これを「標準化」されていると言います。コンピューターやスマートフォンのメーカーが異なったり、それを使用する国が異なったりするだけで通信ができなくなっては、使い物にならないからです。
そして通信を行う場合のレイヤー構成や通信プロトコルの設計モデルとして「OSI参照モデル」が提唱され、標準化されました。
OSI参照モデルとは?
OSI参照モデルの定義
「OSI参照モデル」は英語で「Open System Interconnection Reference Model」と表記します。「Open」は閉鎖されていない(独自仕様ではない)、つまり、「公開されている」ことを、「Interconnection」は「相互接続」を、「Reference model」は「参考とするモデル」を意味します。
要するに、「OSI参照モデル」とは
「コンピューター間の通信システムを構築する際に参考とする公開モデル」
ということです。
わかりやすく言うと、「こう設計すると効率よく相互通信できるから自由に参照してね♪」と示してくれているモデルということです。難しそうな名前ですが、なんだか親しみやすく感じてこないでしょうか?
開発者全員が同じ仕様を参照して設計することで、コンピューターやスマートフォンのメーカーが異なっても正しく通信できるようになることを狙っているのです。
各層の呼び方
OSI参照モデルは7つの層から成ります。
各層は「〇〇層」や「〇〇レイヤー」と呼ばれます。また、7階層を上から順に「レイヤー7」、「レイヤー6」、…と表現し、レイヤーの頭文字を取って単に「L7」、「L6」…と呼ぶ場合もあります。
例えば、最上位の層は、「アプリケーション層」、「アプリケーションレイヤー」、「レイヤー7」、「L7」と表現し、全て同じ意味を表します。
各層の役割
では、ここから、OSI参照モデルで定義されている7層それぞれの役割を見ていきましょう。
メッセージアプリを使って友人へメッセージを送信する場面を例にとって考えます。
アプリケーション層(レイヤー7)
メッセージを送信するには、送信相手を選択し、伝えたい内容を入力し、送信ボタンを押します。また、相手がメッセージを開封すると、開封したという情報が送信メッセージの下側に表示されます。この振る舞いは、あるメッセージアプリの一つの例であって、仕様はアプリケーションごとに異なります。
このように、各アプリケーションにおいて、情報をどのよう取り扱うのか、
「アプリケーション固有の仕様を規定」
しているのがアプリケーション層の役割です。
プレゼンテーション層(レイヤー6)
アプリケーション層から託されたメッセージは、コンピューターが理解できる「0」と「1」の組み合わせへ変換される必要があります。例えば、「『Hello』の『H』は『01001000』と表現する」といった具合です。データをどのように「0」と「1」で表現するのかのルールを決めることで、受信側でも「Hello」というメッセージを再生成できます。
このように、
「データの表現形式を規定」
しているのがプレゼンテーション層の役割です。
プレゼンテーションは英語で「Presentation」と表記し、「Present」には「表現する」の意味があります。
よし
データの圧縮/解凍や暗号/復号のルールを決めるのもプレゼンテーション層の役割です。
セッション層(レイヤー5)
送信側と受信側のアプリケーション二者間において、通信の開始や終了などの一連の流れを「セッション」と呼びます。通信する際には、「今から接続します!」や「接続が切れたので再接続します!」など、セッションを維持、管理する必要があります。
このように、
「プログラム間の通信の開始や終了のルールを規定」
しているのがセッション層の役割です。
トランスポート層(レイヤー4)
上位レイヤーの働きにより、届けたいメッセージは「0」と「1」に変換され、またセッションの確立により相手と通信ができる状態になりました。そこで、トランスポート層以下では、データを確実に相手に届けるために必要なルールを整備しています。
コンピューターネットワークは沢山のコンピューターや様々な機器の相互接続により形成されています。
そのため、例えばある機器の不具合により、送信データが途中で消失してしまう可能性が考えられます。そのような環境においても、データを確実に送受信するために、再送などのルールを決めてデータの欠落を補っています。
このように、
「データ送受信の信頼性を保つためのルールを規定」
しているのがトランスポート層の役割です。
ネットワーク層(レイヤー3)
データを目的地へ届けるには、いくつかの経路があるでしょう。また、現実世界でも交通渋滞や交通事故が発生すれば迂回するのと同様に、最適な経路は状況によって変化します。そのため、目的地までの経路を決定するルールが必要になります。
このように、
「データを目的地へ到達させるルートの決定方法を規定」
しているのがネットワーク層の役割です。
データリンク層(レイヤー2)
送信側と受信側のコンピューターが直接繋がっていることは少なく、ほとんどの場合その経路の途中には沢山の機器が存在します。コンピューターネットワークにおいて、この機器のことを「ノード」と表現します。あるノードとあるノードは直接的に接続しており、それらが複数集まってネットワークを形成しています。
ネットワーク層では、どのノードを経由して目的地に到達するかのルートに着目していました。一方で、データリンク層では、直接繋がったノード間でのデータ送受信に着目しています。
つまり、
「直接的に接続されたノード間の通信方法を規定」
しているのがデータリンク層の役割です。
よし
物理層(レイヤー1)
ノードとノード、例えば、コンピューターとルーターはLANケーブルなどで接続されています。そのため、上位層で作成された「0」と「1」のデータを電気信号や光信号に変換してケーブルに流し込む必要があります。また、各ノードへケーブルを挿し込めるように挿し込み口の形状なども統一しておかなければなりません。
このように、
「物理的な要素を規定」
しているのが物理層の役割です。
このように、相手に情報を伝えるために必要な役割を7層に分類し、整理したモデルがOSI参照モデルです。送受信に必要な作業を役割ごとに分割し、OSI参照モデルとして標準化することで、また、各製品がその標準化された仕様に従うことで、正しくデータをやりとりすることができるのです。
OSI参照モデルは使用されていない!?
さて、ここまでOSI参照モデルと各レイヤーの役割について説明してきました。しかし、インターネットを含む実際の通信システムにおいて、なんとこのOSI参照モデルは使用されていません。
その代わりに「TCP/IPモデル」と呼ぶモデルが採用されています。
その理由は
からと言われています。
このTCP/IPモデルについては、別の記事で解説します。
まとめ
最後に、ここまでの内容を振り返ってまとめたいと思います。
今回、「OSI参照モデルとは?」について解説して来ました。
OSI参照モデルとは、
「コンピューター間の通信システムを構築する際に参考とするモデル」
であることを解説しました。
また、
していることを説明しました。
ということで、今回は以上になります。
よし
「YouTube」で動画解説もしていますので、質問のある方はコメント欄へお気軽にメッセージください!
ほなね!