今回は、「OSI参照モデル」についての説明です。
目次
1.初めに
私たちは、日常生活で何気なく通信を行っていますよね。
例えば、会社のPCではLANポートにLANケーブルを挿し込むことでネットワークが繋がり、インターネットの検索などができるようになります。
何となく行っているこの行動ですが、よくよく考えるとすごいですよね?
どこのメーカのPCであろうと、同じLANケーブルを挿しさえすればネットワークが繋がるんですから。
もしもメーカごとに好き勝手に通信の方式を開発していたら、LANケーブルなど存在せずにPCごとに指定された専用のケーブルが必要になり、非常に面倒なことになるでしょう。
私たちがノーストレスで気軽に通信を行っているのは、見えないところでルールを決めて、ネットワークのモデルを統一しているからなのです。
そのモデルに合わせてメーカがPCを作っているから、どのPCも同じケーブルでインターネット接続ができるんです。
今回は、このネットワークの基本構成となっているモデルである“OSI参照モデル”について簡単に説明していこうと思います。
ちなみに、データ通信の共通化のためのネットワークモデルとしては、他にTCP/IP階層モデルが存在します。
このモデルに関しては次回説明します。
2.OSI参照モデルとは?
OSI参照モデルとは、ネットワークで繋がったコンピュータ間で様々な種類のデータ通信を行うために共通化・統一されたネットワークモデルのことです。
要するに、どんなプロトコル(通信規約)に則るか、どんな機能を持たせるか、どんな構造にするかなどを決定し、メーカはその決められた方針に基づいて機器の開発を行っているのです。
OSIとは、[Open Systems Interconnection(開放システム間相互接続)]の略称です。
OSIは、1984年にISOとITU-T(当時のCCITT)が共同で策定したネットワークの標準規格です。
この規格で用いられるネットワーク通信のモデルだからOSI参照モデルと呼ぶわけです。
OSIという規格を参照したモデルなのです。
3.OSI参照モデルの7つの層
OSI参照モデルは、以下の7層にて構成されています。
- 第1層:Layer1(L1):物理層
- 第2層:Layer2(L2):データリンク層
- 第3層:Layer3(L3):ネットワーク層
- 第4層:Layer4(L4):トランスポート層
- 第5層:Layer5(L5):セッション層
- 第6層:Layer6(L6):プレゼンテーション層
- 第7層:Layer7(L7):アプリケーション層
OSIで通信機能を分類した結果、この7層に分類してモデル表現するようになっているのです。

数字が小さいほどハードウェア寄り、大きいほどソフトウェア寄りの分類となり、通信が行われる過程がこの層の順番に当て嵌まります。
第1層に物理的にLANケーブルなどを接続して、コンピュータ内部のアプリケーションまで順番に信号が伝わっていくのです。
なので、コンピュータAとコンピュータBで通信を行っていた場合、コンピュータAの第7層⇒…⇒コンピュータAの第1層⇒ケーブル⇒コンピュータBの第1層⇒…⇒コンピュータBの第7層という具合に通信が行われるのです。
また、最初に述べたように、似たようなモデル表現にTCP/IPのものがあります。

このモデルは、OSI参照モデルをより具体的な通信方法として規定したものなので、一般的に普及しているのはどちらかというとTCP/IP階層モデルだったりします。
ソフト屋さんと話したりしているとOSI参照モデルの呼び名もちょくちょく出てきますけどね。
4.第1層:Layer1(L1):物理層とは?
物理層は、通信をするためのハードウェアの仕様を決定している層です。
無線と有線どちらにするか、有線ならどんなコネクタ形状を使用するか、どの通信方式を使用するか、通信速度をどうするか、伝送距離はどの程度を想定するかなどを定義します。
要するに、回線やネットワークで物理的に繋がれた二台のハードウェアの間で通信を行えるようにするために必要な物理的接続・物理的変換を担っている層です。
その為、実際のデータの中身は物理層では気にしていなかったりします。
その役割は上位層にぶん投げているわけです。
また、物理層はPHYと呼ばれていることもあります。
物理層は英語で[PHYsical layer]なので、ここから取っているのだと思われます。
5.第2層:Layer2(L2):データリンク層とは?
データリンク層は、物理層で物理的に繋がれた二台のハードウェアの間で実際にデータの伝送を行うための規則を決定している層です。
通信相手の認識・識別(MACアドレスの設定)、データの伝送単位の決定・分割・組立、伝送路上での信号の衝突検知及び回避、対応トポロジーなどを定義します。
要は、物理層を経由して実際にデータの送受信を行い、そのデータに問題があるかを確認している層がデータリンク層です。
仮に問題があった場合、上位にあたるネットワーク層に向けてエラーを発信します。
また、ネットワーク層から送信するデータを受け取って、受信先が受信準備完了するまで待機する制御なども担っています。
上位層であるネットワーク層から色々指令を受けてデータの送受信をする層というわけです。
6.第3層:Layer3(L3):ネットワーク層とは?ANとは?
ネットワーク層は、物理的な複数のネットワークを相互に繋いで一つのネットワークを形成する層です。
ネットワークアドレスの割り当て、伝送経路の選択などを行います。
データリンク層ではMACアドレスを定義していましたが、ネットワーク層ではネットワークアドレスを定義しています。
MACアドレスとネットワークアドレスの違いがわかっていればしっくり来るかと思います。
あまり詳しくない方は以下の記事を参考にしてください。
身近なところでいうと、ルータなんかがネットワーク層に当たります。
あるルータと他のルータが繋がって中継地点になることで、別々のネットワーク同士でもデータのやり取りが可能になります。
ネットワーク層はデータリンク層に指令を送っていましたが、ネットワーク層はその上位であるトランスポート層から指令を受けてデータを送受信しています。
ちなみに、ネットワーク層という名称からは「ネットワークを構成するルールを決める層」というイメージをしてしまうかもしれませんが、複数のネットワークが相互に繋がっているものってインターネットのことですよね?
なので、実際は「インターネットを構成するルールを決める層」と言えます。
そこは勘違いしないように注意しましょう。
ネットワークの集まり=インターネットです。
7.第4層:Layer4(L4):トランスポート層とは?
トランスポート層は、データの送信元と受信先の間の通信の制御・通知を正しく行うための層です。
上位層であるセッション層と下位層であるネットワーク層の間でデータを橋渡しする際に、データ圧縮や誤り検出・訂正・再送制御などを行うことで、効率的なデータ伝送を実現させています。
データの通信の決まり事であるTCPやUDPが関連しているのもこの層です。
どちらのプロトコルにするかで通信の制御方式がガラッと変わりますからね。
ちなみに、TCP/IP階層モデルにもトランスポート層は存在し、どちらも役割は同じようなものになっています。
名称は全く同じですし意味するところも同じようなものですが、一応別物なので注意しましょう。
8.第5層:Layer5(L5):セッション層とは?
セッション層は、連続する通信の開始・維持・終了の手順を規定した層です。
そもそもセッションは開始から終了までの一連の通信のことを指す用語なので、意味合いはそのままなのです。
アプリケーション間で連携して状態を共有し、一連の通信処理を一つのセッションとして管理するための機能を実現しています。
当たり前のように行われていることですが、一度ログインしたらログアウトするまでその利用者の状態で通信を維持できますよね?
この仕組みを実現しているのがセッション層です。
9.第6層:Layer6(L6):プレゼンテーション層とは?
プレゼンテーション層は、アプリケーション間でやり取りするデータの表現形式を定義する層です。
データの暗号化・圧縮、ファイル形式、データ形式、文字コードの定義などを行います。
簡単に言えば、会話(通信)するための言語を選んでいるようなイメージです。
英語で会話するものと思っている相手に向かって日本語で話しかけたら混乱するでしょう?
だから、あらかじめ日本語で話しますよとルールを共通化しているだけです。
どんな暗号を使うか、どの形式のファイルを送受信するかなどを決定しているんです。
10.第7層:Layer7(L7):アプリケーション層とは?
アプリケーション層は、具体的なシステムやサービスに必要な機能を実装するための層です。
最上位の階層なので、実際に利用者が操作するソフトウェアが提供する機能・通信手段・データ形式などについて定義しています。
HTTP・HTTPS・FTPなどのプロトコルの指定はこの層に当たります。
ファイルを送信する、メールを送信するなどの具体的なサービス内容を決定する層ということです。
ちなみに、TCP/IP階層モデルにもアプリケーション層は存在しますが、OSI参照モデルにおけるアプリケーション層にプレゼンテーション層とセッション層の役割を混ぜたようなものになります。
どのような形式や手順でデータのやり取りをするかも定義します。
名称は同じだけど意味するところは違うんです。
11.大雑把なまとめ
OSI参照モデルの各階層の役割をまとめると、以下のような感じになります。
第7層:アプリケーション層:どんなアプリケーションにするのかを具体的に指定する。
第6層:プレゼンテーション層:データの表現形式を指定する。
第5層:セッション層:接続の手順を指定する。
第4層:トランスポート層:データ通信を制御する。
第3層:ネットワーク層:複数のネットワークを取りまとめて通信する。インターネットを形成する。
第2層:データリンク層:同一のネットワーク内で通信する。
第1層:物理層:機器を接続する。
以上、「OSI参照モデル」についての説明でした。