OSI参照モデルをわかりやすく!考え方、解き方、覚え方などを図解を用いて解説【情報処理技術者-ネットワーク】

今回はOSI参照モデルを用いたネットワークの仕組みについて、初心者の方でも理解できるようにわかりやすく解説していこうと思います。

基本情報や応用情報などの情報技術者試験対策のためでもありますが、ネットワークについて理解しようとするときにコアとなる部分かと思いますので、

これからネットワークを知識として取り入れようとしている方のためにもOSI参照モデルの仕組みやその覚え方を丁寧に解説いたします。

また試験対策としてOSI参照モデルに関する問題の解説もいたしますので必要な方は見てみてください。

スポンサーリンク
目次

OSI参照モデルとは

OSI参照モデルとは何なのかを簡単に説明すると
ネットワークにおける通信の仕組みを統一させるための標準規格です。

もっとわかりやすく例えるなら、
ネットワークにおける標準語として登場したのがOSI参照モデルということです。

OSI参照モデルが策定される前は各社で使用するネットワークの言語(仕組み)が、A社は英語、
B社は日本語というようにバラバラであり、A社とB社で使用する言語が違うので通信ができない状況でした。

OSI参照モデル 策定前

「ネットワークだというのに通信ができないなんて問題だ!」ということで、「ネットワークの通信方法は我々が定義した形で作ってください」というようにISO(国際標準化機構)によって策定されたのがOSI参照モデルというわけです。

OSI参照モデル 策定後

つまり、OSI参照モデルはネットワークの通信のルールを表しているとも言えます。

情報技術者試験対策におけるOSI参照モデル

OSI参照モデルの問題は情報技術者試験ではほぼ必ず問われるレベルの科目になると思いますが、細かいところまで覚える必要があるのか、大まかに覚えれば良いのか迷うかと思います。

ちゃんと理解して覚えるのが最適解ではありますが、そうも言っていられないほど情報技術者試験の出題範囲は広いのでなるべく勉強リソースは最低限にしたいところです。

覚えれば良い粒度は
午後問でネットワークを選択する、もしくは
ネットワークスペシャリスト(以下ネスペ)を視野に入れている
かどうかでかわります。

午後問でネットワークを選択しない人

正直ネットワークを避けるという人が多い気がするので、まずこちらから説明します。
要は午前問さえ解ければよいという人です。

こちらは、
OSI参照モデルの構成と、各階層での役割、および代表的なプロトコルと関連する装置をある程度覚えていれば
問題ありません

そのため、目次の「OSI参照モデルの内容について」の内容を覚えるように対策しましょう。
今回紹介している問題は午後問ですが、難易度は午前問題レベルのものですので問題には挑戦してみてください。

午後問でネットワークを選択する、もしくはネスペを視野に入れている人

午後問題を選択する、もしくはネットワークスペシャリストを受験する予定だという方々は
OSI参照モデルの表からカプセル化の話まで全部理解しましょう。

ネットワークの午後問はネットワークの構造図が100%出てきて通信がどういう形で行われているかというのは理解せざるを得ないので、その理解を助けるためにもOSI参照モデルの内容の理解はしておいた方がよいです。

その他、午後問題では直接または間接的にOSI参照モデルの話が出てくる場合があるので理解しておかないと落としてしまう可能性が高いです。

ネスペではさらにここに記載する内容以上の粒度の問題が出てくるかと思いますので、OSI参照モデルの細かいところまで理解が必須となります。

チェックポイント

午前だけ対策したい人 :
目次3. 「OSI参照モデルの内容について」を理解し
目次5.「OSI参照モデルの問題を解いてみる」をやってみましょう

それ以外の人 :
上記に合わせて目次4. 「OSI参照モデルの考え方や仕組み」を理解しましょう。

OSI参照モデルの内容について

それではOSI参照モデルの詳細について説明いたします。
こちらは午前問題でも必要な内容になります。

まずはよく見るOSI参照モデルの早見表で全体像を確認します。
OSI参照モデルは以下のような7階層からなる構成で成り立っています。

階層 名称 内容 代表プロトコル 代表機器
7層(L7) アプリケーション層 アプリケーションプログラムにおけるファイル転送やメール送受信などの機能

HTTP,SMTP,

POP3,FTP

ゲートウェイ
6層(L6) プレゼンテーション層 データフォーマットの共通化をする機能
5層(L5) セッション層 通信アプリケーションが必要とする共通的な転送制御機能
4層(L4) トランスポート層 下位3層が提供するサービスと上位3層が要求するサービスの補完 TCP,UDP
3層(L3) ネットワーク層 終端ノード間のデータ通信に関する機能

IP,ICMP

ルータ

L3スイッチ

2層(L2) データリンク層 隣接ノード間のデータ通信に関する機能

ARP,RARP

Ethernet

ブリッジ

L2スイッチ

1層(L1) 物理層 物理的信号伝送に関する機能

LAN

LANケーブルNIC

覚える項目としては各層の名前、代表的なプロトコル、関連する機器の名前を覚えましょう。

情報処理技術者試験におけるネットワークの午後問題では必ずと言っていいほど通信方法に関する問題が散りばめられています。

プロトコルの名前や機械の名前から派生する問題が多いので上記の表は情報技術者試験に臨む際は丸暗記しておいた方が良いです。

それでは各層について少し詳しく確認しましょう。

1層 – 物理層

物理層 図解

コンピューターによって送られてくるデータをLANや光ファイバーなどのケーブルでやり取りできるように
電気的な信号に置き換える役割を担っているのが物理層です。

コンピューターではデータを0と1にからなるビットによって扱っています。
つまりこのビット値を電気信号に変換するのです。
そうすることでハードウェア間の通信を実現します。

物理層では異なる機種のハードウェアでもやり取りが可能なように以下のような決まり事があります。

・通信に用いるケーブルの種類及び長さ ( CAT.5e, CAT.6)
・コネクタの形状 (RJ-45 , GG-45)
・電気信号に変化する際の符号化の方式 (マンチェスタ符号化, MLT-3)

上記の内容も地味に午前問題に出てくるのでケーブルの種類やコネクタの形状は覚えておいた方が良いです。

2層 – データリンク層

データリンク層 図解

データリンク層はケーブルによってつながれたネットワーク内で正確な通信を実現するための役割を担います。
物理層は電気信号の変換を行っておりましたが、データリンク層ではどこからどこへ転送するデータなのかまた、データに破損がないかも判断します。

3層 – ネットワーク層

ネットワーク層 図解

ネットワーク層は複数のネットワークがある環境において、ネットワークから別のネットワークへと
複数のネットワーク間の通信を実現する役割を担います。

ネットワーク層では送信相手を認識し正しく通信を行うためにIPアドレスを用います。

4層 – トランスポート層

トランスポート層 図解

トランスポート層通信の品質、信頼性を確保する役割を担います。
送信元から送ったデータが正しく相手に届くことを保証し、送信したデータに問題があれば再送信などで対応します。

5層 – セッション層

セッション層 図解

通信の開始から終了までの一連の流れをセッションと呼びますが、このセッションを管理しているのがセッション層です。

プログラムが通信を行うためには送信して、応答と送受信の順番を合わせる必要がありますが、これを合わせて通信を実現する役割を担います。

つまり、こちらと通信相手とで同期するように働きかけます。

6層 – プレゼンテーション層

プレゼンテーション層 図解

プレゼンテーション層ではネットワークに流れるデータの数値や文字列などの表現形式を統一する役割を担います。

よく文字コードの違いによって文字列が文字化けを起こすことがありますが、それはこの層で問題が起こっていることを意味します。

7層 – アプリケーション層

アプリケーション層 図解

アプリケーション層はユーザーが利用するアプリケーションに対してネットワークサービスを提供する役割を担います。

利用するアプリケーションによって様々な振る舞いをします。
メールや、Webの閲覧、ファイルの転送など様々です。

OSI参照モデルの覚え方

OSI参照モデルの覚え方ですがいたって単純です。
上の階層から頭文字をとって以下のように覚えます。

OSI参照モデル 覚え方

アプセトネデブ」です。(☆はいりません)

由来となる言葉や何等かの言葉に当てはめてるわけでもありません。
特に意味のない文字の羅列ですが、結構覚えやすいのでこれで覚えてしまうのが良いと思います。

OSI参照モデルの考え方や仕組み

それではOSI参照モデルの考え方を解説いたします。
ここからは午後問レベルの内容になります。

層ごとにやってることは分かったけど、実際にどういう流れで通信が行われるのかというところです。

送信側の処理 – カプセル化

まず通信で渡したいデータがあるとします。
これを送信側ではOSI参照モデルの上位の層、つまり7層のアプリケーション層から処理します。

この際処理の内容として渡ってきたデータに対して7層特有のヘッダという情報を付加します。
ヘッダの内容としては受け取り側の7層で行ってもらいたい処理が記載された指示書のようなものが書かれています。

そして付け加えたデータを6層に渡し、6層でも同様にヘッダを付与し、次の層に渡す…といった作業を繰り返します。

OSI参照モデル 仕組み

この作業を繰り返して物理層まで届けられ各層のヘッダがついたデータを電気信号に変えて送り出します。
この一連の作業をカプセル化といいます。

OSI参照モデル カプセル化

受信側の処理 – 非カプセル化

受信側では送信側より送られてきたヘッダ付きのすべてのデータを処理していきます。
まずは1層で電気信号をデータに戻し、その後2層では2層でつけられたL2ッダの内容を読み取ります。

ヘッダには送信側で指示された内容が記載されていますので、その内容をもとに処理を実施します。
そして処理が問題なく完了したら、L2のヘッダ情報を取り除き3層に引き渡します

OSI参照モデル 仕組み2

3層も同様にして処理し、完了したら上位の層へ…

このように、下位の層からヘッダを読み取り、処理が完了したらヘッダを取り除き上位の層へ渡す動き
非カプセル化といいます。

OSI参照モデル 非カプセル化

カプセル化と非カプセル化のイメージ

カプセル化と非カプセル化について解説しましたが、なんだかイメージが湧かないという時は荷物の運送を例にイメージしてみると良いかもしれません。

荷物を送るには送り状を用意したり、ダンボールに詰める必要がありますね。
この梱包作業がいわゆるカプセル化であり、送り状はヘッダ情報、ダンボールはL1層での電気信号への変換とイメージできます。

カプセル化のイメージ

そして荷物が詰められたダンボールを運送会社に渡し、送り状の情報を基に相手先に送ってもらいます。

カプセル化のイメージ-送信

荷物を受け取った側はダンボールを開封し、中の荷物を確認し、必要に応じて使っていきます。
この荷解き作業が非カプセル化に値すると考えられます。
(ダンボールの開封と送り状が逆転してますが…)

非カプセル化のイメージ

PDU (Protocol Data Unit)

送信側と受信側での各層の処理を記載しましたが、各層におけるデータの状態にはそれぞれ呼び方があります。

まず、各層で扱われるデータの単位のことを総称して PDU (Protocol Data Unit) と呼びます。
PDUは各層でくっつけられるヘッダその層の処理には関与しないペイロードからなります。

例えば送信側の6層ではデータの状態は以下のようになっております。

PDUの構造

上記のようにL7ヘッダと元のデータがペイロードで、L6ヘッダがくっついた状態がPDUです。

さらに、ややこしくなるのですが、PDUには各層ごとに呼び方が変わり以下の表のようになっております。

階層 名称 PDU
7層 アプリケーション層 データ
6層 プレゼンテーション層
5層 セッション層
4層 トランスポート層 セグメント
3層 ネットワーク層 パケット
2層 データリンク層 フレーム
1層 物理層 ビット

さて、覚えるべき単語がごちゃごちゃ出てきたので再度確認です。

チェックポイント

・ヘッダを付与していくカプセル化という処理
・ヘッダを読み取っていく非カプセル化という処理
・データの単位はPDU
・PDUは各層のヘッダとその層に関与しないデータ群のペイロードからなる
・PDUは呼び方が各層で変わる(データ、セグメント、パケット、フレーム、ビット

OSI参照モデルの問題を解いてみる

最後にOSI参照モデルに関する問題を解いてみましょう。

問題. 次の 問題文(a) , (b) , (c) に該当するものを選択肢の中から選び記号で答えよ。

SLBには,サーバへの処理要求の振分け機能,クライアントとサーバの間のセッション維持機能,サーバの稼働監視機能などがある。セッション維持の方式は,OSI基本参照モデルのレイヤを基に,三つの方式に分類される。レイヤ3方式では送信元IPアドレスを基に,レイヤ4方式では送信元IPアドレスとポート番号を基に,レイヤ7方式ではクッキー又はURL情報に埋め込まれた (a) を基に,セッション維持が行われる。サーバの稼働監視については,レイヤ3では (b) パケットによる装置監視,レイヤ4では (c) 確立要求に対する応答を確認するサービス監視,レイヤ7ではアプリケーション監視が行われる。

(a) , (b) , (c) に関する選択肢

  • ア. ICMPエコー要求
  • イ. ICMPリダイレクト
  • ウ. TCPコネクション
  • エ. アプリケーションセッション
  • オ. シーケンス番号
  • カ. セッションID

応用情報技術者過去問題 平成25年春期 午後問5 より

Step1. 問題文を分解する

午後問最初によくある簡単な穴埋め問題です。

内容としてはOSI参照モデルで考えたときに (a) , (b) , (c) に入る選択肢はどれかという問題です。

まず、この問題はSLB (ロードバランサー) という機械がセッション維持機能と、サーバー監視機能を持ち、それぞれの機能においてレイヤ3方式レイヤ4方式レイヤ7方式3通りあるといっています。

これを穴埋めと連動させると以下のような表にまとめることができます。

SLB
  セッション維持機能 サーバー監視機能
レイヤ7方式 クッキー又は、URLに埋め込まれた (a) を利用 アプリケーション監視
レイヤ4方式 送信元IPアドレスとポート番号を利用 (c) 確立要求でのサービス監視
レイヤ3方式 送信元IPアドレスを利用 (b) パケットによる装置監視

Step2. 選択肢の組み分けをする

次に、選択肢について確認しますが、選択肢にはプロトコル名等が含まれているのでいずれもOSI参照モデルの各層に関する内容が含まれていると推察できます。

そのため、それぞれの選択肢はOSI参照モデルのどの階層の内容でかつ、今回の問題である3つの方式のどの方式に値するか組み分けていきます。

最初に同じICMPというプロトコル名が入っている ア. イ. についてですが、ICMPは上記の表よりネットワーク層のプロトコルとして位置付けられているのでレイヤ3に関する選択肢だということがわかります。

続いてウ.ですが、TCPと書いてあるので表よりレイヤ4に関する内容であることがわかります。

その次のエ.ですが、こちらはプロトコルが書いていないのですが、単純にアプリケーションとセッションという単語が出てきているので、レイヤ7もしくはレイヤ5の内容だといった形でおいておきましょう。

次のオ.シーケンス番号ですが、これについては今回解説した内容だけでは推測できないのですが、シーケンス番号はTCPヘッダに含まれる内容です。つまりレイヤ4に関する内容です。

シーケンス番号は TCP の3ウェイハンドシェイクを勉強するときに見かける単語かと思います。

最後のカ.セッションIDですが、セッションIDはHTTPプロトコルに利用される情報です。
(今回解説した内容からではわかりえない情報です)

表よりHTTPプロトコルはレイヤ7のプロトコルですので、レイヤ7に関する内容であるということがわかります。
以上の内容を先ほどの表に当てはめるとこのようになります。

SLB
  セッション維持機能 サーバー監視機能 関連する選択肢
レイヤ7方式 クッキー又は、URLに埋め込まれた (a) を利用 アプリケーション監視 エ , カ
レイヤ4方式 送信元IPアドレスとポート番号を利用 (c) 確立要求でのサービス監視 ウ , オ
レイヤ3方式 送信元IPアドレスを利用 (b) パケットによる装置監視 ア , イ

Step3. 穴埋めをする

内容がまとまりましたので問題文の穴埋めをしていきます。

上記の表を見ると各方式に対して穴埋めはいずれか一個だけですので、関連する選択肢の中から50 : 50で選べば良い形になっています。

まず (a) ですが、クッキーまたはURLに埋め込む情報です。

URLかクッキーに埋めこまれる情報はセッションIDですので、「カ. セッションID」が正解です。

もし、セッションIDが何なのかはわからなくても、エ.のアプリケーションセッションは埋め込んだりする情報ではないだろうという観点から消去法でクリアしましょう。

次に (b) ですが、装置監視を行うとあります。

選択肢はプロトコルは同じICMPでリダイレクトかエコー要求かの違いがあります。
エコー要求とは ping コマンドなど相手方に応答要求のメッセージを発信することを言います。
リダイレクトはアクセスしたURLから別のURLへと自動的に転送する仕組みです。

行いたいことはサーバーの監視ですので、応答要求の有無でサーバーの監視は行うことができそうですので、(b) には「ア. ICMPエコー要求」が当てはまります。

最後に (c) ですが、やりたいことはサービスの監視で、穴埋めが「(c) 確立要求」です。

「オ. シーケンス番号」では意味がそもそも通らないので、「ウ. TCPコネクション」が当てはまることがわかります。

よって正解は以下になります。

(a) : カ. セッションID

(b) : ア. エコー要求

(c) : ウ. TCPコネクション

ここまで丁寧にやる必要もない問題ですが、もしごちゃごちゃになって混乱してしまったら
問題文と選択肢を分解してみてみるといいかもしれません。

OSI参照モデルの現状について

長々と説明してきたOSI参照モデルですが、実際にこの形式でネットワークが普及しているかというと、そういうわけではありません。

OSI参照モデルが出たころには、すでにTCP/IPモデルが普及し始めており、OSI参照モデルは活躍の場を得られなかったのです。

ただし、ネットワークを理解する上では都合がよく、概念として存在しているのが現状です。

実際にネットワークの作業をする場合もOSI参照モデルで考えるとより効率的に作業できる場合もあります。
TCP/IPモデルについてですが、今回はOSI参照モデルの話ですので簡単に4階層からなるとだけご紹介します。

OSI参照モデルと比較し、以下のようになっております。

階層 OSI参照モデル TCP/IPモデル
7層 アプリケーション層 アプリケーション層
6層 プレゼンテーション層
5層 セッション層
4層 トランスポート層 トランスポート層
3層 ネットワーク層 インターネット層
2層 データリンク層 ネットワークインターフェース層
1層 物理層

いかがでしょうか。

OSI参照モデルは情報技術者試験の対策をする上でかなり拒否反応を起こしやすい科目かと思いますので、
なるべくわかりやすいように解説したつもりです。

わかりにくい、ここはどういうことなの?間違っているよ!等ありましたらご連絡いただければ幸いです

今回はここまでです。

お疲れ様でした。

【参考書】
より詳しく知りたい方は以下の本を参考にしてみてください。

ネットワークはなぜつながるのか 第2版

スラスラわかるネットワーク&TCP/IPのきほん 第2版

楽天ブックス
¥2,090 (2022/05/25 08:37時点 | 楽天市場調べ)
よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

本業ではPHPを使ったWEBアプリやJavaを使用した基幹アプリを作成しております。Pythonは個人的に勉強しており、E資格を取ったりしたおかげで、業務でAIの研究とかも任されるようになりました。学習のアウトプットのために本サイトを運営しておりますが、これからPythonを学ぶという人のお役に立てればいいなと思います。わからないことや調査して記事にしてほしいことがございましたらご連絡いただけると幸いです。

コメント

コメントする

目次
閉じる