こんにちは!
ITエンジニアのナガです 。
今回は、OSI参照モデルの層と層の間でどのようにデータが受け渡されるのかを解説します。
キーワードはカプセル化と非カプセル化です!
・カプセル化
・非カプセル化
OSI参照モデルの層と層の間でどのようにデータが受け渡されるのかがわかる。
OSI参照モデルって何?というかたはまずはこちらの記事をご覧ください。
どのようにデータが受け渡されるのか
コンピュータAからコンピュータBにメールを送ることを考えてみましょう。
まずコンピュータAでメールソフトを起動しメールの本文を入力します。
メールソフトはマイクロソフトのOutLookなどをイメージしてもらえばOKです!
このとき入力したメールの本文がコンピュータBに送りたい「データ」となります。
メールの本文が「データ」
アプリケーション層
まずアプリケーション層のプロトコルがこの「データ」に「ヘッダ」と呼ばれるものを付加します。
荷物を誰かに送る時のことを考えてみてください。
「データ」を荷物とすると「ヘッダ」は荷物に貼り付ける荷札のイメージです。
「データ」だけだとその「データ」を
・誰に送ったらよいか?
・どのように処理したらよいか?
がわかりません。
「ヘッダ」(荷札)をつけることで「誰に送ったらよいか?」「どのように処理したらよいか?」を分かるようにしているのです。
アプリケーション層のプロトコルで付加される「ヘッダ」を「L7ヘッダ」といいます。
L7ヘッダ のLは、英語のLayerからきています。
Layerは層のことです 。
7は、アプリケーション層がOSI参照モデルの下から数えて7つ目の層であることからきています 。
アプリケーション層のプロトコルは、アプリケーション層の直下の層であるプレゼンテーション層のプロトコルに「データ」(荷物)に「L7ヘッダ」(荷札)を付けたものを渡します。
プレゼンテーション層
アプリケーション層のプロトコルから「L7ヘッダ」つき「データ」(メールの本文)を受け取ったプレゼンテーション層のプロトコルは、これに「L6ヘッダ」を付加して、プレゼンテーション層の直下の層であるセッション層のプロトコルに渡します。
「L7ヘッダ」つき「データ」 (メールの本文) がプレゼンテーション層にとっての「データ」となります。
L6ヘッダ の6は、プレゼンテーション層がOSI参照モデルの下から数えて6つ目の層であることからきています。
「データ」(メールの本文)に「L7ヘッダ」がつけられたものが、プレゼンテーション層にとっての「データ」となります。
カプセル化
このように上位の層から下位の層に「ヘッダ」を付加しながら「データ」を受け渡していきます。
「ヘッダ」を付加することを「カプセル化」といいます。
「データ」である荷物を「ヘッダ」である荷札でつつみこむ(カプセル化する)イメージです。
OSI参照モデルの下から2番目の層であるデータリンク層でのカプセル化が終われば、コンピュータBに送るための「データ」が完成します。
この完成した「データ」のことを「フレーム」と呼びます。
これは単なるデータの呼び方なのでそういうものだと思ってください。
この「フレーム」を「物理層」に渡します。
「フレーム」を受け取った「物理層」は、「フレーム」を電気信号や光信号や電波信号に変換してケーブルに流し込みます。
便宜的にケーブルと記載していますが、
無線での通信の場合は物理的なケーブルは存在しません。
無線での通信の場合は電波のことをケーブルと考えてください。
そして、ケーブルを伝わって電気信号や光信号や電波信号が「コンピュータB」に届きます。
下図は「カプセル化」の様子を表しています。
画像をクリック(タッチ)することで拡大表示できます。
非カプセル化
つぎにメールを受信するコンピュータBの処理を見ていきます。
コンピュータBはケーブルを伝わってきた電気信号・光信号・電波信号を受信します。
物理層のプロトコルが電気信号・光信号・電波信号を「フレーム」に変換してデータリンク層のプロトコルに渡します。
データリンク層は「フレーム」の「L2ヘッダ」を参照してデータリンク層での処理を行います。
「ヘッダ」は「データ」をどう処理するべきかの情報がかかれた荷札でしたね。
データリンク層のプロトコルは「L2ヘッダ」を参照することで「データ」をどう処理したらよいかがわかります。
データリンク層のプロトコルは、処理が終わると「フレーム」から「L2ヘッダ」を取り除いてすぐ上の層であるネットワーク層に渡します。
このように下位の層から上位の層に「ヘッダ」を取り除きながら「データ」を受け渡していきます。
「ヘッダ」を取り除くことを「非カプセル化」といいます。
最終的にアプリケーション層のプロトコルの処理が終わり「L7ヘッダ」が取り除かれて処理が完了します。
これで、もともとの「データ」(メールの本文)を「コンピュータB」で読むことができるようになりました!
下図は「非カプセル化」の様子を表しています。
画像をクリック(タッチ)することで拡大表示できます。
以上が、OSI参照モデルの層と層の間でのデータの受け渡し方です。
OSI参照モデルについて解説しましたが、
TCP/IPモデルでも同じです!
最後まで読んでいただきありがとうございました!
コメント