OSI参照モデルとは?

ネットワーク

OSI参照モデルはネットワークに関するプロトコル(通信規約)を7つの層に分類したものです。

コンピュータとコンピュータがネットワークを通じて通信するとき 、たくさんの機能が必要になります。
通信というものは相手があるものですから自分だけが勝手にその機能を実装したとしても通信は行えません。そのため、全世界で共有された取り決めが必要となります。この取り決めがプロトコル(通信規約)と呼ばれるものです。

たくさんのプロトコルが体系付けられずにいると大変分かりずらいです。
そのため、7つの層を設けてプロトコルを分類したものがOSI参照モデルです。

ごちゃごちゃ…
分類分けするとスッキリ!

OSI参照モデルはネットワークの全体像を記した地図のようなものです。
しっかりと理解しておきましょう!

7つの層は下記のとおりです。

アプリケーション層
プレゼンテーション層
セッション層
トランスポート層
ネットワーク層
データリンク層
物理層

この7つの層の名称と順番は重要ですので暗記してしまいましょう。

上から読んで「アプセトネデブ」
下から読んで「ブネデトセプア」
と覚えておきます。

各層の役割を見ていきましょう。

物理層

コンピュータの内部では、情報は「0」と「1」の2進数で取り扱われています。
コンピュータとコンピュータがネットワークを通じて通信するとき、
送信元のコンピュータが「0」と「1」の情報を電気信号や光信号に変換しケーブルに流し込みます。
電気信号の場合、「0」は低い電圧、「1」は高い電圧に変換するイメージです。

物理層ではこの”「0」と「1」の情報を電気信号や光信号に変換する”機能が定義されています。
電気信号や光信号がケーブルを伝わって送信先のコンピュータに届きます。
電気信号や光信号のままではコンピュータは理解できません。コンピュータが理解できるように電気信号や光信号を「0」と「1」の情報に変換する(もとに戻す)のも物理層の役割です。

また、コンピュータとコンピュータがネットワーク通じて通信をするときに使用するネットワークメディア(日本語では通信媒体と呼ばれます。ケーブルのことです。) の種類や形状なども物理層で定義されています。

データリンク層

「隣接するノード」と通信を行うための機能が定義されています。
「ノード」とはネットワークを構成する機器のことです。
つまりネットワークに接続されているコンピュータやルータやプリンタのことですね。

「隣接するノード」とはなんでしょうか?
「隣接するノード」は「同じネットワークに存在するノード」のことです。
ネットワークは「ルーター」や「レイヤ3スイッチ」というネットワーク層の機器で分割されます。
下の図を見てください。

ルータやレイヤ3スイッチによるネットワークの分割

ネットワークが「ルータ」「レイヤ3スイッチ」によって、「ネットワークA」と「ネットワークB」に分割されています。

「ネットワークA」に接続されているノードにとって、
同じように「ネットワークA」に接続されているノードは「同じネットワークに存在するノード」つまり「隣接するノード」です。
「ネットワークB」に接続されているノードは「異なるネットワークに存在するノード」つまり「隣接するノード」ではありません。

データリンク層の機能を利用することにより、「同じネットワーク」のノード同士で通信が行えます。

しかし、通信を行いたい相手のノードが必ずしも同じネットワークに存在しているとは限りませんね。
異なるネットワークに存在するノードと通信する場合はデータリンク層の機能だけでは通信できません。
1つ上の層であるネットワーク層の機能を使用します。

ネットワーク層

ネットワーク層では、
通信相手のノードとの「エンドツーエンドの通信」を行うための機能が定義されています。

「エンドツーエンドの通信」とはなんでしょうか?
例えば「コンピュータA」と「コンピュータB」が通信を行うときに、
「コンピュータA」⇔「ルータ」⇔「コンピュータB」のように「ルータ」を介して通信を行う場合を考えてみましょう。
データリンク層のところで説明したようにネットワークは「ルータ」で分割されますので、「コンピュータA」と「コンピュータB」は異なるネットワークに接続されています。

この場合、
・「コンピュータA」と「ルータ」
・「ルータ」と「コンピュータB」
の間の通信は「エンドツーエンドの通信」とはいいません。

・「コンピュータA」と「 コンピュータ B」
・「 コンピュータ B」と「 コンピュータ A」
の間の通信のことを「エンドツーエンドの通信」といいます。

データリンク層の機能ではルータやレイヤ3スイッチを超えた先にある異なるネットワークのノードとの通信は行えませんでしたが、
ネットワーク層の機能により、異なるネットワークに存在するノードとの通信(つまり「エンドツーエンドの通信」)を行うことができるのです。

トランスポート層

ネットワーク層までの機能でエンドツーエンドの通信が可能となりました。

ただ、ネットワーク層までの機能だけでは
本当にデータが相手のノードに届いたかどうかはわかりません。

届いたかもしれませんが届いてないかもしれません。

ネットワーク層までの機能によってデータを相手に送ることはできますが、送ったデータが無事に相手のノードに届いたかどうかまで確認することはできないためです。

トランスポート層では相手にデータが届いたかどうかの確認や、
その確認に対して相手からの応答がなかった場合にデータを再送する機能が定義されています。

また、一つのノードで複数のアプリケーションが起動している場合に
ネットワーク層までの機能だけでは、どのアプリケーションにデータを届けるべきかわかりませんでした。
(ノードにデータを届けることまではできましたが、そのノードのどのアプリケーションにデータを届けるべきか判断することはできませんでした。)

例えばメールソフトで相手とメールのやり取りをしながら、
Webブラウザソフトでネットサーフィンをしている場合です。

トランスポート層の機能により目的のアプリケーションにデータを届けることができるようになります。

セッション層

「セッション」とはなんでしょうか?
「セッション」とはアプリケーションによる一連の通信全体のことです。

あるショッピングサイトで買い物をするとき、
ショッピングサイトにログインし、
購入したい商品をカートに入れ、
商品を購入し
ショッピングサイトからログアウトする
までの一連の通信全体が「セッション」ということになります。

セッション層ではセッションを管理ための機能が定義されています。


とはいったもののOSI参照モデルのセッション層の機能に準拠したプロトコルは普及していません。
世界的に統一され標準化されたセッション管理機能というものはなく、
個々のアプリケーションが必要に応じて独自にセッション管理機能を提供しているのが現状です。

そのため「セッション」という言葉の意味だけ理解していただければ問題ありません。

OSI参照モデルに代わって全世界に普及しているTCP/IPモデルでは、セッション層は存在しません。OSI参照モデルにおけるセッション層はTCP/IPモデルのアプリケーション層に統合されています。

プレゼンテーション層

プレゼンテーション層ではデータの表示形式に関するルールが定義されています。
この層の機能により、文字化けせずに文字を表示することができます。


とはいったもののOSI参照モデルのプレゼンテーション層の機能に準拠したプロトコルは普及していません。
世界的に一つに統一され標準化されたデータの表現形式を変換する機能というものはなく、
個々のアプリケーションが必要に応じてデータの表現形式の変換をしているのが現状です。

OSI参照モデルに代わって全世界に普及しているTCP/IPモデルでは、プレゼンテーション層は存在しません。OSI参照モデルにおけるプレゼンテーション層はTCP/IPモデルのアプリケーション層に統合されています。

アプリケーション層

アプリケーションに関するルールが定義されています。
アプリケーションとはメールをするときのメールソフトや
ネットサーフィンをするときのWebブラウザソフトのことです。

メールを相手に送信する際のルール、
Webサイトの情報をWebブラウザソフトに送る際のルールなどが定められています。

コメント

タイトルとURLをコピーしました