■ 7つのレイヤ
一応、レイヤ7までの説明が終わったわけだ。
ネット君。感想は?
感想……ですか?
う〜ん。……、すごいですね。
小学生かね、君は。
夏休みの読書感想文は、指定原稿用紙分あらすじをみっちり書いた後、「すごかった」で終わらせたクチかね?
ははは、そんなことは……あります。
うむ。だと思った。レポートもそんな感じだしな。
駄目ですか、僕のレポート。
いや、駄目ではないぞ、ネット君。
大筋において間違っていることを除けば、ちゃんとしたレポートだ。
うぅぅ。
それでだ、ネット君。君のレポートの駄目さ加減を糾弾するのは、ひとまず置いておいて。
すべてのレイヤが終わったということで、もう一度基本に立ち返るとする。
はい。
ネット君。もちろんOSI参照モデルの7つのレイヤの名前は言えるよな。
もちろんですよ、博士。死んで覚えましたから。
第7層 | アプリケーション層 |
第6層 | プレゼンテーション層 |
第5層 | セション層 |
第4層 | トランスポート層 |
第3層 | ネットワーク層 |
第2層 | データリンク層 |
第1層 | 物理層 |
[Table04-02:OSI参照モデル7階層]
ふむ。死ぬと記憶力がよくなるとは。
もいっぺん死んどくか?
嫌です。
即答したな。
さて、ではこのOSI参照モデルを軸に、まとめ的な話をしよう。まず、OSIモデルの特徴を言ってみたまえ。
え〜っと。
第5回の話では、個別に考えることによって、簡単かつ修正しやすい、と。
そうだ。
各レイヤは独立して考えることができるという話をしたな。
手紙通信の話を例にしてましたよね。
うむ。
もう一度、簡単に各層の役割を説明しよう。
はい。
■ レイヤの機能
以前から話している通り、各レイヤはその下のレイヤの都合は全く考えない。
レイヤの独立、って奴ですか?
そうだ。すべてを同一のレベルで考えてはいかん。
よく「ネットワークって難しい」という声を聞くが、そういう人はなんでもかんでもごっちゃに考えている事が多いからだ。
ははぁ。第5回の例であった、「手紙を書く人と、配達人の事を同時に考えてる」ってことですかね。
うむ。必ず「順序」と「機能」を前提にわけて考えることが必要だ。
よくある例としては「ケーブルは繋がってるのにぃ」という叫びだな。
あはは。「物理的に繋がっている」のと「論理的に繋がっている」は別だってことですよね。
そうだ。「物理的に繋がる」→「論理的に繋がる」という順序、そして「物理的に繋げる」機能と「論理的に繋げる」機能はまた別だ、ということがわかっていないと起きうるわけだ。
なるほど。
さて、上位層から順番におさらいだ。
[Figure52-01:レイヤ5〜7]
レイヤ5〜7は、レイヤ4以下の機能でアプリケーション(プロセス)別に届いたデータを処理する。
レイヤ5〜7は実際に相手にデータを届ける役割はない、ってことですよね。
うむ。レイヤ5〜7はレイヤ4以下が行う処理によって、届けることが出来る・届いたデータに対しての処理を行うだけだ、ということだな。
レイヤ7が「クライアントとサーバという役割を決める」。レイヤ6が「データの形式を変換する」。レイヤ5が「セッションを管理する」でしたよね。
うむ。これらはTCP/IPでは同一のプロトコルで処理されているので、実際は明確に区別されていないのが実情だ。
まぁ、これについては今後にプロトコル別に話していこう。
[Figure52-02:レイヤ4]
レイヤ4はレイヤ3以下の機能でホストに届くデータに対し信頼性の高いデータ通信を各アプリケーションのレイヤ5に提供する。
レイヤ4といえば、TCP・UDPですよね。
うむ。レイヤ4以下はどのアプリケーションでも共通だ。
レイヤ4は通信アプリケーションを識別し、それぞれに対し信頼性のある・なしを提供するわけだ。
通信アプリケーションの識別、ってポート番号ですよね。
で、TCPかUDPのどちらかを使うことによって、信頼性のある・なしを決定する、っと。
うむうむ。今日はなかなかの助手ぶりだな。
てへへ。
まぁ、この時点でゴタゴタ言うようでは話が全く進まないからな。
神様もそれぐらいは考えていてくれるのだろう。
[Figure52-03:レイヤ3]
レイヤ3はレイヤ2以下の機能で物理的に接続されたデバイス間のデータ通信を使って異なるネットワーク間の接続をレイヤ4に提供する。
ルーティングッスね。
まぁ、そうだな。
現在のTCP/IP環境下での中核といってもいいレイヤだな。レイヤ3で規定されるもののほとんどがインターネットワークを実現するために存在する。
IPアドレスとか、ルーティングプロトコルとかですね。
うむ。
レイヤ4はレイヤ3によって異なるネットワーク間でも接続できるようになるし、逆にレイヤ3はレイヤ2の物理的に接続されたデバイス間の通信機能を使って、ネットワーク間の接続を行う。
[Figure52-04:レイヤ2]
レイヤ2はレイヤ1の機能で電気的なデータの受け渡しを使って異なるデバイス間の接続をレイヤ3に提供する。
レイヤ2といえば、イーサネットですよね。
実際はイーサネットはレイヤ1とレイヤ2の統合した範囲を規定しているが、まぁ、そうだな。
レイヤ2は直接的なデータ転送を行うレイヤだな。
直接的?
うむ。物理的と言いかえてもいいな。
つまるところ、実際のデータの受け渡しと制御を担当する。
制御っていうと、CSMA/CDですか?
うむ。レイヤ1の電気信号の流れを衝突が発生しないよう効率的に運用し、レイヤ3にデバイス間接続を提供する。
電気信号は単に流れるだけですからねぇ。
[Figure52-05:レイヤ1]
レイヤ1は電気と信号を担当する。つまりビット列の転送をレイヤ2に提供する。
結局、本当にデータを流すのはレイヤ1ってことですね。
そういうことだ。データを電気信号にし相手に送る、というよりもやはり「信号を流す」が正解だな。
流す、ですか。
確かに「送る」よりは「流す」かもしれませんね。
うむ。
さて、まとめとして今回の説明は上位レイヤに提供する機能というものに重点を置いてみた。どうだ?
どうだって、あの……。
う〜ん。……、すごいですね。
…。
…ごめんなさい。
わかればいい。
つまり、下のレイヤは上のレイヤに機能を提供して、データ転送を行う環境を作り上げていくわけだ。そして最終的にレイヤ7がユーザアプリケーションにネットワークサービスそのものを提供する、という形になる。
手紙通信でいうところの、「郵便配達人」→「郵便局」→「ポスト」→「封筒」→「手紙の中身」という感じですよね。最終的に手紙を使った「意思疎通」ができるようになる、と。
■ レイヤの機能分離
せっかくなので、「レイヤの独立」と「上位レイヤへのサービス提供」の例を出してみよう。
以下のようなネットワークがあるとする。
[Figure52-06:ネットワーク図]
あれ?
ハブで繋がっているのに、ネットワークが違う。
うむ、そういう構成にしてみた。
さて、ネット君。この場合2つのネットワークの関係はどうかね?
ええ〜っと。ネットワークが異なるのにルータで接続されていないので、相互通信は不可能です。
よしよし。異なるネットワーク間の接続はルータが必須だったな。
つまり先ほどの構成図は、こういう意味になる。
[Figure52-07:レイヤ3の視点]
ハブで接続はされていても、相互通信はできない。つまり接続されていないと同じわけだろう?
えぇ、そうなりますね。
うむ。レイヤ3から見ればこの形なわけだ。
そうですね。ネットワークという概念から考えれば、接続されてませんから。
では質問だ。
ホストAとホストDが同時に通信した場合、どうなる?
どうなるって?
…、コリジョンが発生する!?
するのか?
右(192.168.0.0)と左(200.100.10.0)は接続されていないんだろう?
いや、でも。
実際はハブで接続されているわけですし。
[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は明確に区別されていません。
- それぐらいは考えていてくれる
- 毎回大変です。
- ネット君の今日のポイント
-
- 各レイヤは上位レイヤにサービスを提供する。
- 各レイヤは独立しており、他のレイヤに影響を及ぼさない。