コンテンツにスキップ

OSI 参照モデル

はじめに

本サイトにつきまして、【IT技術の知見】はじめに - 俺の技術ノート をご認識のほど宜しくお願いいたします。


01. OSI 参照モデル

OSI 参照モデルとは

ネットワークで使用されているプロトコルを 7 階層に分類したモデルこと。


種類

OSI 参照モデルは、次の 7 階層から構成される。

  • 物理層 (L1)
  • データリンク層 (L2)
  • ネットワーク層 (L3)
  • トランスポート層 (L4)
  • セッション層 (L5)
  • プレゼンテーション層 (L6)
  • アプリケーション層 (L7)

OSI参照モデル


02. OSI の各層の責務

処理するプロトコル

各層で異なるプロトコルを処理する。

プロトコルとしての暗号化技術である『暗号化プロトコル』は、赤色で示してある。

層名からとって、プロトコルを『アプリケーションプロトコル』『トランスポートプロトコル』『インターネットプロトコル』『ネットワークインターフェースプロトコル』ともいう。

encryption_protocol


通信機器との対応関係

OSI参照モデルと通信機器

OSI 参照モデルの各層と通信機器の間の対応関係は以下の通りである。

  1. プライベートネットワークにクライアント PC がある。

  2. クライアント PC にて、Web ブラウザのアプリケーションのプロセスが、OSI アプリケーション層、OSI プレゼンテーション層、OSI セッション層で稼働している。

    ここで、パケットを作成する。

  3. パケットは、クライアント PC の OSI トランスポート層、OSI ネットワーク層、OSI データリンク層、OSI 物理層を経る。各層で、パケットにヘッダー情報が追加される。

  4. PC からルーターにパケットを送信する。

  5. ルーターは OSI ネットワーク層に属する。

    そのため、パケットはより上層へ一度戻ることになる。

  6. パブリックネットワークを経て、宛先のプライベートネットワークのルーターに到達する。

  7. ルーターからサーバーにパケットを送信する。

  8. パケットは、OSI データリンク層、OSI 物理層 (NIC:Network Interface Card (例:LAN アダプタ、LAN ボード、LAN カード) ) 、リピータ、LAN ケーブル、OSI ネットワーク層、OSI トランスポート層を経る。

  9. サーバーにて、アプリケーションのプロセスが特定のポート番で受信している。アプリケーションによってパケットが処理される。


03. パケット

パケットとは

パケットは、パケットペイロードとヘッダー情報から構成される。

パケットペイロードは、IP ヘッダー、トランスポートヘッダー、アプリケーションデータからなる。

パケットの構造


アプリケーションへの操作がパケットになるまで

ここでは、OSI 参照モデルを使用する。

まず、アプリケーション層で、アプリケーションがパケットパケットペイロードを作成する。

パケットペイロードは、OSI の層を経るたびにヘッダーを追加していく。

osi-reference-model_packet

  1. アプリケーション層 (L7) にて、アプリケーションの入力に応じてパケットパケットペイロードを作成する。さらに、L7 ヘッダーを追加する。

    プロトコルに応じてパケットペイロードやL7ヘッダーの持つ情報は異なる。

    例えば、HTTPであればパケットペイロードはWebページやリクエストメッセージである。

    また、L7ヘッダーはリクエストヘッダーである。

  2. プレゼンテーション層 (L6) にて、パケットペイロードを文字コード変換し、また暗号化/復号する。さらに L6 ヘッダーを追加する。

    例えば、HTTPであればWebページやリクエストメッセージを文字コード変換し、また暗号化/復号する。

  3. セッション層 (L5) にて、セッションを開始し、L5 ヘッダーを追加する。

  4. トランスポート層 (L4) にて、L4 ヘッダーを追加する。

    パケットペイロードはTCP/UDPパケットを持つ。

    L4ヘッダーはポート番号を持つ。

  5. ネットワーク層 (L3) にて、L3 ヘッダーを追加する。

    パケットペイロードはIPパケットを持つ。

    L3ヘッダーはIPアドレスを持つ。

  6. データリンク層 (L2) にて、L2 ヘッダーを追加する。

  7. 物理層 (L1) にて、L1 ヘッダーが追加される。

  8. パケットを HTTP リクエストとして送信する。