ネットワーク講座 > OSI参照モデル
OSIとは? †
OSIとは、Open Systems Interconnectionの略であり、日本語では「開放型システム間相互接続」と訳されています。
OSIは、ISO(International Organization for Standardization 国際標準化機構)によって策定されたネットワークアーキテクチャです。
OSIの実装は複雑だったので普及せず、シンプルだったTCP/IPが普及しました。
OSIやOSI参照モデルは、教育用の概念として残りました。
OSIの階層構造は? †
OSIのネットワークアーキテクチャでは、通信に必要な機能を、7つの独立した階層に分けて定義しています。
各階層のことを「レイヤ(layer)」とも言います。
第7層(レイヤー7) | アプリケーション層 |
第6層(レイヤー6) | プレゼンテーション層 |
第5層(レイヤー5) | セッション層 |
第4層(レイヤー4) | トランスポート層 |
第3層(レイヤー3) | ネットワーク層 |
第2層(レイヤー2) | データリンク層 |
第1層(レイヤー1) | 物理層 |
覚え方:頭文字をつなげて「アプセとネデブ」と覚える。
- 階層の呼び方
- 名前:「ネットワーク層」のように名前で呼ぶ
- 数値:「第3層」、「レイヤー3」のように数値で呼ぶ
OSIネットワークの通信フローは? †
データの転送に必要な制御情報(ヘッダ)を付加しながら、各階層で受け渡しを行います。
送信側の処理は? †
- 送信元は、上位の階層(第7層・アプリケーション層)から、順に下位の階層に向けて処理していく。
- 各階層では、データの前にヘッダを付加した後、下位の階層に渡す。
- データリンク層では、ヘッダに加えて、トレーラも付加される。
- 物理層では、データリンク層から受け取ったデータを、層新作のネットワークに応じた信号に変えて、ネットワークに送信する。
- ※ヘッダとは、制御情報のことです。
- ※トレーラとは、データリンク層で扱うデータのエラーチェックに使用される制御情報です。
ある計算式(CRCなど)に基づいた値を、FCS(Frame Check Sequense)に入れます。
トレーラは、データリンク層のみで付加されます。
受信側の処理は? †
- 受信側は、下位の階層(第1層・物理層)から、順に上位の階層に向けて処理していく。
- データリンク層では、FCSを確認しエラーチェックを行い、その後ヘッダを確認しヘッダを取り外して、上位のネットワーク層にデータを渡す。
- ネットワーク層以上の階層では、ヘッダに応じた処理を行った上でヘッダを取り外して、上位の階層にデータを渡す。
- 受信側で7階層すべての処理が完了すると、送信された元データを受け取ることができる。
カプセル化とは? †
データにヘッダを付加することをカプセル化といいます。
逆に、ヘッダを取り外すことを非カプセル化(逆カプセル化)といいます。
OSIの各階層は? †
OSIの7階層の定義・役割を確認しましょう。
(1) 物理層とは? †
物理層では、データと信号の変換にかかわる機能が定義されています。
- コンピューター内部で扱っている「0」と「1」の情報(ビット列)を信号に変換して、ネットワーク上へ転送する。
- ネットワーク上から受信した信号を「0」と「1」の情報(ビット列)に変換して、コンピューター内部に取り込む機能。
物理層では、次の項目が規定されています。
- 電気的な条件: 信号として扱う電流・電圧など。
- 機械的な条件: ケーブルやハブの仕様など。
- 論理的な条件: 使用するケーブルのピンアサイン(電極の配置)など。
(2) データリンク層とは? †
データリンク層では、隣接ノード間のデータ通信にかかわる機能が定義されています。
隣接ノードとは、1つの回線に接続されたノードのことです。
データリンク層では、以下の規定がされています。
- ハードウェアアドレス
- フレームのフォーマット
- フロー制御
- エラー制御
- 同期
フレームとは? †
データリンク層で扱うデータをフレームといいます。
ハードウェアアドレスとは? †
隣接ノード間で通信を行うためには、通信相手を識別する情報が必要です。
ハードウェアアドレスは、データリンク層で、隣接ノードを識別するために使用されるアドレスです。
ハードウェアアドレスは、「物理アドレス」とも呼ばれます。
LANでは、通信相手を識別するハードウェアアドレスとして、MACアドレスを使用します。
データリンク層では、1つの伝送媒体に接続されたノード間(LANなど)でのデータ転送が定義されています。
そのため、異なる回線を介したネットワークへの通信はできません。
異なる回線を介したネットワークへの通信は、ネットワーク層(第3層)で定義されています。
(3) ネットワーク層とは? †
ネットワーク層では、複数の異なるネットワークを介したノード間の通信(エンドツーエンドの通信)を実現するための機能が定義されています。
ルータによって接続されたネットワークを、異なるネットワークといいます。
異なるネットワーク上のエンドツーエンドのノード間で通信を実現するために、ネットワーク層では次の項目が規定されています。
- ソフトウェアアドレス
- ルーティング
- データの中継
ソフトウェアアドレスとは? †
ソフトウェアアドレスは、ハードウェアに依存しないアドレスです。
ソフトウェアアドレスは、「論理アドレス」とも呼ばれます。
ソフトウェアアドレスは、ネットワーク番号とノード番号から構成されています。
ネットワーク番号 | ノード番号 |
=どのネットワークに所属する、どのノードなのかを把握できるようになっています。
ソフトウェアアドレスの代表例は、TCP/IPで使用するIPアドレスがあります。
パケットとは? †
ネットワーク層で扱うデータをパケットまたはデータグラムといいます。
ルーティングとは? †
ルーティングとは、あて先ネットワークへの最適なルートを決定することです。
ネットワーク層の通信では、ソフトウェアアドレスを参照して、ルーティングします。
データ中継とは? †
ネットワーク層の通信では、ルーティングによって決定した最適なルートに、データを中継します。
(4) トランスポート層とは? †
トランスポート層では、エンドツーエンドの透過的な通信の信頼性を提供するための機能が定義されています。
トランスポート層では、仲介する様々なネットワークの違いを吸収して、エンドツーエンド通信の透過的な信頼性を提供するために、次の項目が規定されています。
エラー制御 | エラーがあったデータを再送する |
フロー制御 | ネットワークの混雑の度合いに応じて、データの送信量を変化させる |
順序制御 | 届いたデータを下の順序に再構成できるようにする |
(5) セッション層とは? †
セッション層では、エンドツーエンドのアプリケーションプロセス間の通信を実現するための機能が定義されています。
セッション層では、次の項目を規定しています。
- アプリケーションプロセスの識別・管理
- セッションパラメータの定義
など
サーバからの応答は、クライアントのソフトウェアアドレスを基に、クライアントまで中継されます。
そして、セッション層では、受信したデータをアプリケーションプロセスを識別し、それぞれ対応したアプリケーションに振り分けます。
このように、セッション層では、アプリケーションプロセスを識別し、アプリケーション間で意味のある通信を実現します。
(6) プレゼンテーション層とは? †
プレゼンテーション層では、データの表現形式の違いを吸収するために、ユーザーアプリケーションで使用するデータの表現形式と、ネットワーク上で使用するデータの表現形式を定義しています。
プレゼンテーション層では、次の項目を規定しています。
- 圧縮方法
- 文字コード
- データの暗号化/復号
など
プレゼンテーション層によって、送信側ユーザーが使用する表現形式と、受信側ユーザーが使用する表現形式が違っていても、送信側で共通の表現形式に変換し、受信側で受信した表現形式から使用している表現形式に変換することができます。
(7) アプリケーション層とは? †
アプリケーション層では、それぞれのアプリケーションのサービスが利用できるように、固有の規定が行われています。
例えば、Webページの閲覧や、電子メールの送受信、ファイル転送などであれば、それぞれのサービスを実現するためのプロトコルが用意されています。
これらのプロトコルによって、ユーザーは目的のサービスを利用することができます。