MENU

YouTube

「YouTube」始めました!
、だからさらに・・・分かる!

プロフィール

よし

「IT」をこよなく愛する大手メーカーの現役エンジニア
IT技術を独自の視点で、初心者の方にもわかりやすく解説します!


\Follow me/
YouTube始めました!

OSI参照モデルとは? もう迷わない!7層の役割

OSI参照モデルとは?

どうも、みなさんこんにちは、よしです。

この記事では、「OSI参照モデルとは?」について解説します。

OSI参照モデルは、「ネットワークレイヤーをどのように分ければ効率よく通信できるのか」を示したモデルです。通信を理解する上で重要な概念ですので、初心者の方にもわかりやすく説明したいと思います。

ほな、いきましょう!



よし

「YouTube」で動画解説もしています!

標準化されたOSI参照モデル

物を輸送する工程

みなさんがどこかへ荷物を送ろうとする場合、その荷物はいくつかの工程を経て相手先へ届けられます。コンピューターの世界も同様に、ネットワークを介して情報を目的地へ届けるまでにはいくつかの工程があり、その工程は「ネットワークレイヤー」で示されることを説明しました。

ネットワークとは? ネットワークとは? ネットワークの本質は○○できることだ!

標準化とは?

ネットワークレイヤーの各工程は、全世界で仕様が統一されています。これを「標準化」されていると言います。コンピューターやスマートフォンのメーカーが異なったり、それを使用する国が異なったりするだけで通信ができなくなっては、使い物にならないからです。

そして通信を行う場合のレイヤー構成や通信プロトコルの設計モデルとして「OSI参照モデル」が提唱され、標準化されました。

OSI参照モデルとは?

OSI参照モデルの定義

OSI参照モデルとは?

「OSI参照モデル」は英語で「Open System Interconnection Reference Model」と表記します。「Open」は閉鎖されていない(独自仕様ではない)、つまり、「公開されている」ことを、「Interconnection」は「相互接続」を、「Reference model」は「参考とするモデル」を意味します。

要するに、「OSI参照モデル」とは
「コンピューター間の通信システムを構築する際に参考とする公開モデル」
ということです。

わかりやすく言うと、「こう設計すると効率よく相互通信できるから自由に参照してね♪」と示してくれているモデルということです。難しそうな名前ですが、なんだか親しみやすく感じてこないでしょうか?

開発者全員が同じ仕様を参照して設計することで、コンピューターやスマートフォンのメーカーが異なっても正しく通信できるようになることを狙っているのです。

各層の呼び方

OSI参照モデルの7階層

OSI参照モデルは7つの層から成ります。

各層は「〇〇層」や「〇〇レイヤー」と呼ばれます。また、7階層を上から順に「レイヤー7」、「レイヤー6」、…と表現し、レイヤーの頭文字を取って単に「L7」、「L6」…と呼ぶ場合もあります。

例えば、最上位の層は、「アプリケーション層」、「アプリケーションレイヤー」、「レイヤー7」、「L7」と表現し、全て同じ意味を表します。

各層の役割

では、ここから、OSI参照モデルで定義されている7層それぞれの役割を見ていきましょう。

通信ネットワークの全体像

メッセージアプリを使って友人へメッセージを送信する場面を例にとって考えます。

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

アプリケーション層とは?

メッセージを送信するには、送信相手を選択し、伝えたい内容を入力し、送信ボタンを押します。また、相手がメッセージを開封すると、開封したという情報が送信メッセージの下側に表示されます。この振る舞いは、あるメッセージアプリの一つの例であって、仕様はアプリケーションごとに異なります。

このように、各アプリケーションにおいて、情報をどのよう取り扱うのか、
「アプリケーション固有の仕様を規定」
しているのがアプリケーション層の役割です。

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

プレゼンテーション層とは?

アプリケーション層から託されたメッセージは、コンピューターが理解できる「0」と「1」の組み合わせへ変換される必要があります。例えば、「『Hello』の『H』は『01001000』と表現する」といった具合です。データをどのように「0」と「1」で表現するのかのルールを決めることで、受信側でも「Hello」というメッセージを再生成できます。

このように、
「データの表現形式を規定」
しているのがプレゼンテーション層の役割です。

プレゼンテーションは英語で「Presentation」と表記し、「Present」には「表現する」の意味があります。

よし

「アルファベット」や「ひらがな」などの文字を「0」と「1」に変換することを「エンコーディング」と呼びます。代表的なエンコーディングにはASCIIやShift-JIS、UTF-8などがあります。
データの圧縮/解凍や暗号/復号のルールを決めるのもプレゼンテーション層の役割です。

セッション層(レイヤー5)

セッション層とは?

送信側と受信側のアプリケーション二者間において、通信の開始や終了などの一連の流れを「セッション」と呼びます。通信する際には、「今から接続します!」や「接続が切れたので再接続します!」など、セッションを維持、管理する必要があります。

このように、
「プログラム間の通信の開始や終了のルールを規定」
しているのがセッション層の役割です。

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

トランスポート層とは?

上位レイヤーの働きにより、届けたいメッセージは「0」と「1」に変換され、またセッションの確立により相手と通信ができる状態になりました。そこで、トランスポート層以下では、データを確実に相手に届けるために必要なルールを整備しています。

コンピューターネットワークは沢山のコンピューターや様々な機器の相互接続により形成されています。

そのため、例えばある機器の不具合により、送信データが途中で消失してしまう可能性が考えられます。そのような環境においても、データを確実に送受信するために、再送などのルールを決めてデータの欠落を補っています。

このように、
「データ送受信の信頼性を保つためのルールを規定」
しているのがトランスポート層の役割です。

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

ネットワーク層とは?

データを目的地へ届けるには、いくつかの経路があるでしょう。また、現実世界でも交通渋滞や交通事故が発生すれば迂回するのと同様に、最適な経路は状況によって変化します。そのため、目的地までの経路を決定するルールが必要になります。

このように、
「データを目的地へ到達させるルートの決定方法を規定」
しているのがネットワーク層の役割です。

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

データリンク層とは?

送信側と受信側のコンピューターが直接繋がっていることは少なく、ほとんどの場合その経路の途中には沢山の機器が存在します。コンピューターネットワークにおいて、この機器のことを「ノード」と表現します。あるノードとあるノードは直接的に接続しており、それらが複数集まってネットワークを形成しています。

ネットワーク層では、どのノードを経由して目的地に到達するかのルートに着目していました。一方で、データリンク層では、直接繋がったノード間でのデータ送受信に着目しています。

つまり、
「直接的に接続されたノード間の通信方法を規定」
しているのがデータリンク層の役割です。

よし

コンピューターやスマートフォンをWiFiルーターに接続して使用されているかと思います。このコンピューターやルーターを一つのノードと考えることができます。

物理層(レイヤー1)

物理層とは?

ノードとノード、例えば、コンピューターとルーターはLANケーブルなどで接続されています。そのため、上位層で作成された「0」と「1」のデータを電気信号や光信号に変換してケーブルに流し込む必要があります。また、各ノードへケーブルを挿し込めるように挿し込み口の形状なども統一しておかなければなりません。

このように、
「物理的な要素を規定」
しているのが物理層の役割です。


このように、相手に情報を伝えるために必要な役割を7層に分類し、整理したモデルがOSI参照モデルです。送受信に必要な作業を役割ごとに分割し、OSI参照モデルとして標準化することで、また、各製品がその標準化された仕様に従うことで、正しくデータをやりとりすることができるのです。

OSI参照モデルは使用されていない!?

さて、ここまでOSI参照モデルと各レイヤーの役割について説明してきました。しかし、インターネットを含む実際の通信システムにおいて、なんとこのOSI参照モデルは使用されていません。

実際の通信にはOSI参照モデルではなくTCP/IPモデルが使用されている

その代わりに「TCP/IPモデル」と呼ぶモデルが採用されています。

その理由は

  • TCP/IPモデルの実装がオープンソースとして公開され広く普及した
  • OSI参照モデルが登場したとき、TCP/IPモデルは研究機関や大学ですでに広く用いられていた

からと言われています。

このTCP/IPモデルについては、別の記事で解説します。

まとめ

最後に、ここまでの内容を振り返ってまとめたいと思います。

今回、「OSI参照モデルとは?」について解説して来ました。

まとめ

OSI参照モデルとは、
「コンピューター間の通信システムを構築する際に参考とするモデル」
であることを解説しました。

また、

  • L7のアプリケーション層は「アプリケーション固有の仕様を規定」、
  • L6のプレゼンテーション層は「データの表現形式を規定」、
  • L5のセッション層は「プログラム間の通信の開始や終了のルールを規定」、
  • L4のトランスポート層は「データ送受信の信頼性を保つためのルールを規定」、
  • L3のネットワーク層は「データを目的地へ到達させるルートの決定方法を規定」、
  • L2のデータリンク層は「直接的に接続されたノード間の通信方法を規定」、
  • L1の物理層は「物理的な要素を規定」、

していることを説明しました。


ということで、今回は以上になります。

よし

ここまで、記事をお読み下さり、ありがとうございました。

「YouTube」で動画解説もしていますので、質問のある方はコメント欄へお気軽にメッセージください!

ほなね!