
今回は「OSI 参照モデル」について解説します

なんすかそれ。iPhone のアレのこと?

…それは「iOS」のことでは?

OSI 参照モデルを学べば通信の全体像が見えてくるようになりますよ

マジすか!それはぜひ聞きたいですね
OSI参照モデル

OSI 参照モデルとは、通信にまつわるプロトコルを7つの階層に分類して考えやすくしたものです

7つと聞くと玉を集める漫画を思い出してワクワクすっぞ!

ざっくりこんな感じに分けられています
階層 | 名前 |
---|---|
7 | アプリケーション層 |
6 | プレゼンテーション層 |
5 | セッション層 |
4 | トランスポート層 |
3 | ネットワーク層 |
2 | データリンク層 |
1 | 物理層 |

なんでそんな風に分類するんですか?

分類して考えることによってわかりやすくなります
あとは役割ごとに分類しておくと、部分的に交換しやすくなるというメリットもあります

というと?

たとえばハンバーガーのセットメニューは、ハンバーガー、サイドメニュー、ドリンクという部品でできていますよね

部品に分かれているからこそ、ドリンクの種類を自由に選べたりサイドメニューをポテトからナゲットに変更することができるわけです


なるほど。自由に組み合わせられるということですね

分類して考えることのメリットがわかったところで、一番大切な「カプセル化」について考えてみましょう

カプセル?
7つの玉を集める漫画で主人公のライバルが地球にやってきたときに乗っていたアレみたいな?

わかりにくいわ
普通にガチャガチャのカプセルでいいでしょう

コンピュータ同士が通信をするとき、上位の層から渡された情報をカプセルに包み込んで次の層に渡す、というようなことをしているんです。この流れを「カプセル化」といいます。

??

これの何がいいかって、他の層のことは考えず各層が自分に必要な仕事に集中できるんです!

????
郵便で考えるカプセル化

あのー…ずん子さん?ちょっと置いてけぼり感が…

おっと失礼しました。では手紙の例で考えてみましょう

手紙を送るときは、大体次のような手順になりますね


いま、封筒に手紙を入れたところだとしましょう。封筒にはなにが必要だと思いますか?

封筒に必要なもの…
切手ですか?あ、あと宛先か

そうですね。その際、封筒からみれば手紙の中身は関係ありません

手紙の内容がラブレターだろうが果し状だろうが封筒には関係ないですね

では、郵便局員の方がポストから集荷するとき、封筒の宛先は大事だと思いますか?

うーん、関係ないのでは?
宛先の仕分けは郵便局で行うので、ポストから郵便局に持っていけばいいだけですから

そうですよね。封筒は切手と宛先があればいいし、集荷する局員の方は郵便物を郵便局に集めることに集中できます

このように各々が自分の仕事に集中して、他の仕事は他の人に任せてしまうのが「カプセル化」の考え方です

「俺は俺の責務を全うする」ってやつですね。あれはカプセル化の話だったのか!

あれはまた違う気も…
通信で考えるカプセル化

話を通信の世界に戻しましょう。といってもカプセル化の考え方は郵便と同じです

まずデータを送信する側を見てみましょう。上の層から渡された情報に対して必要な情報を追加する、ということを繰り返します


ほうほう。なんだかマトリョーシカみたいですな

そのイメージはピッタリですね!

続いてデータを受信した側。こちらでは先ほどと逆のことをします

つまり、受け取った情報からその層で必要な情報だけを取り出して、中身を上の層に渡します


全体で見るとこうですね


はー。なるほど。それぞれのレイヤーでは、そのレイヤー用の追加情報をみて仕事すればいいんですね

ん?レイヤー1だけなんか変ですね

レイヤー1はデータを電気信号に変換して送信するのが役割なんです。まあ各々のレイヤーの詳しい話はまた今度
OSI参照モデルとTCP/IPモデル

そしてこの OSI 参照モデル、実際には使われていません

ふむふむなるほど…ファッッ!?

このOSI参照モデルに従ってプロトコルをつくろうとしたのですが、これが思うように普及しなかったのですね…

いやいやいや…今までの時間はなんだったんですか?

現在主に使われているのは「TCP/IP」というモデルです

OSI参照モデルとは分け方が違いますが、通信をいくつかの層に分けて考えたり、カプセル化の考え方自体は同じですのでご安心ください

じゃあ最初からTCP/IPモデルの説明でよかったのでは?

OSI参照モデルは役割分担がより明確なので、ネットワークを理解するための学習として用いられることが多いんですよ

基本情報技術者試験なんかでも出題されることはありますので解説しておこうかなと

ややこしいですねぇ…

ちなみにもっとややこしいことをいうと、この「TCP/IPモデル」は国際的な標準規格ではありません

え?どういうことですか?

標準の規格として認められているわけではないけど、「みんな使っているから事実上の標準だよねこれ」的な立ち位置なんです

このように事実上の標準規格として扱われているものを「デファクトスタンダード」といいます

きのこよりたけのこがデファクトスタンダード、みたいな感じですね

あぁ?
まとめ

OSI参照モデルはネットワークを分割して整理したものです

カプセル化によってレイヤーごとに自分の仕事に集中できます

実際に使われているのはOSI参照モデルではなくTCP/IPモデルです