3 Minutes NetWorking
No.52

3Minutes NetWorking

第52回OSI参照モデル まとめ

■ 7つのレイヤ

インター博士

一応、レイヤ7までの説明が終わったわけだ。
ネット君。感想は?

ネット助手

感想……ですか?
う〜ん。……、すごいですね。

インター博士

小学生かね、君は。
夏休みの読書感想文は、指定原稿用紙分あらすじをみっちり書いた後、「すごかった」で終わらせたクチかね?

ネット助手

ははは、そんなことは……あります。

インター博士

うむ。だと思った。レポートもそんな感じだしな。

ネット助手

駄目ですか、僕のレポート。

インター博士

いや、駄目ではないぞ、ネット君。
大筋において間違っていることを除けば、ちゃんとしたレポートだ。

ネット助手

うぅぅ。

インター博士

それでだ、ネット君。君のレポートの駄目さ加減を糾弾するのは、ひとまず置いておいて。
すべてのレイヤが終わったということで、もう一度基本に立ち返るとする。

ネット助手

はい。

インター博士

ネット君。もちろんOSI参照モデルの7つのレイヤの名前は言えるよな。

ネット助手

もちろんですよ、博士。死んで覚えましたから。

第7層アプリケーション層
第6層プレゼンテーション層
第5層セション層
第4層トランスポート層
第3層ネットワーク層
第2層データリンク層
第1層物理層

[Table04-02:OSI参照モデル7階層]

インター博士

ふむ。死ぬと記憶力がよくなるとは。
もいっぺん死んどくか?

ネット助手

嫌です

インター博士

即答したな。
さて、ではこのOSI参照モデルを軸に、まとめ的な話をしよう。まず、OSIモデルの特徴を言ってみたまえ。

ネット助手

え〜っと。
第5回の話では、個別に考えることによって、簡単かつ修正しやすい、と。

インター博士

そうだ。
各レイヤは独立して考えることができるという話をしたな。

ネット助手

手紙通信の話を例にしてましたよね。

インター博士

うむ。
もう一度、簡単に各層の役割を説明しよう。

ネット助手

はい。

■ レイヤの機能

インター博士

以前から話している通り、各レイヤはその下のレイヤの都合は全く考えない

ネット助手

レイヤの独立、って奴ですか?

インター博士

そうだ。すべてを同一のレベルで考えてはいかん。
よく「ネットワークって難しい」という声を聞くが、そういう人はなんでもかんでもごっちゃに考えている事が多いからだ。

ネット助手

ははぁ。第5回の例であった、「手紙を書く人と、配達人の事を同時に考えてる」ってことですかね。

インター博士

うむ。必ず「順序」と「機能」を前提にわけて考えることが必要だ。
よくある例としては「ケーブルは繋がってるのにぃ」という叫びだな。

ネット助手

あはは。「物理的に繋がっている」のと「論理的に繋がっている」は別だってことですよね。

インター博士

そうだ。「物理的に繋がる」→「論理的に繋がる」という順序、そして「物理的に繋げる」機能と「論理的に繋げる」機能はまた別だ、ということがわかっていないと起きうるわけだ。

ネット助手

なるほど。

インター博士

さて、上位層から順番におさらいだ。

レイヤ5〜7

[Figure52-01:レイヤ5〜7]

インター博士

レイヤ5〜7は、レイヤ4以下の機能でアプリケーション(プロセス)別に届いたデータを処理する

ネット助手

レイヤ5〜7は実際に相手にデータを届ける役割はない、ってことですよね。

インター博士

うむ。レイヤ5〜7はレイヤ4以下が行う処理によって、届けることが出来る・届いたデータに対しての処理を行うだけだ、ということだな。

ネット助手

レイヤ7が「クライアントとサーバという役割を決める」。レイヤ6が「データの形式を変換する」。レイヤ5が「セッションを管理する」でしたよね。

インター博士

うむ。これらはTCP/IPでは同一のプロトコルで処理されているので、実際は明確に区別されていないのが実情だ。
まぁ、これについては今後にプロトコル別に話していこう。

レイヤ4

[Figure52-02:レイヤ4]

インター博士

レイヤ4はレイヤ3以下の機能でホストに届くデータに対し信頼性の高いデータ通信各アプリケーションのレイヤ5に提供する。

ネット助手

レイヤ4といえば、TCP・UDPですよね。

インター博士

うむ。レイヤ4以下はどのアプリケーションでも共通だ。
レイヤ4は通信アプリケーションを識別し、それぞれに対し信頼性のある・なしを提供するわけだ。

ネット助手

通信アプリケーションの識別、ってポート番号ですよね。
で、TCPかUDPのどちらかを使うことによって、信頼性のある・なしを決定する、っと。

インター博士

うむうむ。今日はなかなかの助手ぶりだな。

ネット助手

てへへ。

インター博士

まぁ、この時点でゴタゴタ言うようでは話が全く進まないからな。
神様もそれぐらいは考えていてくれるのだろう。

レイヤ3

[Figure52-03:レイヤ3]

インター博士

レイヤ3はレイヤ2以下の機能で物理的に接続されたデバイス間のデータ通信を使って異なるネットワーク間の接続レイヤ4に提供する

ネット助手

ルーティングッスね。

インター博士

まぁ、そうだな。
現在のTCP/IP環境下での中核といってもいいレイヤだな。レイヤ3で規定されるもののほとんどがインターネットワークを実現するために存在する。

ネット助手

IPアドレスとか、ルーティングプロトコルとかですね。

インター博士

うむ。
レイヤ4はレイヤ3によって異なるネットワーク間でも接続できるようになるし、逆にレイヤ3はレイヤ2の物理的に接続されたデバイス間の通信機能を使って、ネットワーク間の接続を行う。

レイヤ2

[Figure52-04:レイヤ2]

インター博士

レイヤ2はレイヤ1の機能で電気的なデータの受け渡しを使って異なるデバイス間の接続レイヤ3に提供する

ネット助手

レイヤ2といえば、イーサネットですよね。

インター博士

実際はイーサネットはレイヤ1とレイヤ2の統合した範囲を規定しているが、まぁ、そうだな。
レイヤ2は直接的なデータ転送を行うレイヤだな。

ネット助手

直接的?

インター博士

うむ。物理的と言いかえてもいいな。
つまるところ、実際のデータの受け渡しと制御を担当する。

ネット助手

制御っていうと、CSMA/CDですか?

インター博士

うむ。レイヤ1の電気信号の流れを衝突が発生しないよう効率的に運用し、レイヤ3にデバイス間接続を提供する

ネット助手

電気信号は単に流れるだけですからねぇ。

レイヤ1

[Figure52-05:レイヤ1]

インター博士

レイヤ1は電気と信号を担当する。つまりビット列の転送レイヤ2に提供する

ネット助手

結局、本当にデータを流すのはレイヤ1ってことですね。

インター博士

そういうことだ。データを電気信号にし相手に送る、というよりもやはり「信号を流す」が正解だな。

ネット助手

流す、ですか。
確かに「送る」よりは「流す」かもしれませんね。

インター博士

うむ。
さて、まとめとして今回の説明は上位レイヤに提供する機能というものに重点を置いてみた。どうだ?

ネット助手

どうだって、あの……。
う〜ん。……、すごいですね

インター博士

…。

ネット助手

…ごめんなさい。

インター博士

わかればいい。
つまり、下のレイヤは上のレイヤに機能を提供して、データ転送を行う環境を作り上げていくわけだ。そして最終的にレイヤ7がユーザアプリケーションにネットワークサービスそのものを提供する、という形になる。

ネット助手

手紙通信でいうところの、「郵便配達人」→「郵便局」→「ポスト」→「封筒」→「手紙の中身」という感じですよね。最終的に手紙を使った「意思疎通」ができるようになる、と。

■ レイヤの機能分離

インター博士

せっかくなので、「レイヤの独立」と「上位レイヤへのサービス提供」の例を出してみよう。
以下のようなネットワークがあるとする。

ネットワーク図

[Figure52-06:ネットワーク図]

ネット助手

あれ?
ハブで繋がっているのに、ネットワークが違う

インター博士

うむ、そういう構成にしてみた。
さて、ネット君。この場合2つのネットワークの関係はどうかね?

ネット助手

ええ〜っと。ネットワークが異なるのにルータで接続されていないので、相互通信は不可能です。

インター博士

よしよし。異なるネットワーク間の接続はルータが必須だったな。
つまり先ほどの構成図は、こういう意味になる。

レイヤ3の視点

[Figure52-07:レイヤ3の視点]

インター博士

ハブで接続はされていても、相互通信はできない。つまり接続されていないと同じわけだろう?

ネット助手

えぇ、そうなりますね。

インター博士

うむ。レイヤ3から見ればこの形なわけだ。

ネット助手

そうですね。ネットワークという概念から考えれば、接続されてませんから。

インター博士

では質問だ。
ホストAとホストDが同時に通信した場合、どうなる?

ネット助手

どうなるって?
…、コリジョンが発生する!?

インター博士

するのか?
右(192.168.0.0)と左(200.100.10.0)は接続されていないんだろう?

ネット助手

いや、でも。
実際はハブで接続されているわけですし。

レイヤ2の視点

[Figure52-08:レイヤ2の視点]

インター博士

つまりレイヤ2では接続されている
よって同一コリジョンドメインに4台は入っているし、CSMA/CDに従って送受信を行うということだな?

ネット助手

えぇ、そうです。そうなります。

インター博士

たとえレイヤ3で分離しているように見えても、レイヤ2では接続されている。
だが、ホストAが送信するデータはレイヤ3では切断されているのでホストDには届かない

ネット助手

でも、ホストCやホストDとの間でコリジョンは発生する可能性があるってことですよね。
なるほど、レイヤそれぞれの接続は別ということですね。

インター博士

そうだ。論理的(レイヤ3)では接続されていないのに、物理的(レイヤ1・2)に接続されているからコリジョンの影響がでる。
逆に考えると、物理的に接続されているのに、IPアドレスのネットワーク部が違うとデータ転送できない、というのも当たり前といえば当たり前なのだよ。

ネット助手

ははぁ。

インター博士

レイヤ2はレイヤ3に物理的な接続の制御を提供する。ネットワークアドレスが違う(論理的に切断)されていようがいまいが、物理的に接続されていればコリジョンが発生しないように制御を行うのだよ。

ネット助手

それを受けてレイヤ3でデータ転送を行うわけですね。
レイヤ3から見れば、論理的に接続されている相手とのデータ通信でも、裏ではレイヤ2が物理的な制御をしている、と。

インター博士

そうだ。だがレイヤ3から見ればレイヤ2の制御はまったく影響しない
レイヤ3が行うのはあくまでもネットワーク間接続だからな。

ネット助手

レイヤ2がコリジョンの発生を抑えるよう制御しているからですね。
なので、レイヤ3は安心してネットワーク間接続に専念できる、と。

インター博士

うむ、そういうことだ。
ということで、今回はこれでお終いだ。

ネット助手

はい。

インター博士

次回からはTCP/IPネットワークアプリケーションについて説明していくぞ。

ネット助手

了解です。
3分間ネットワーキングでした〜♪

同一のプロトコルで処理
TCP/IPモデルに限らず、ほとんどのモデルでレイヤ5〜7は明確に区別されていません。
それぐらいは考えていてくれる
毎回大変です。
ネット助手ネット君の今日のポイント
  • 各レイヤは上位レイヤにサービスを提供する。
  • 各レイヤは独立しており、他のレイヤに影響を及ぼさない。

3 Minutes NetWorking No.52

管理人:aji-ssz(at)selene.is.dream.jp