OSI参照モデルについて今一度まとめてみる
どもです。そろそろ新しいジーンズが欲しいsaisaiです。
今回は、OSI参照モデルについて今一度確認し、知識の定着を図るべく作成した記事です。インフラエンジニアたるもの避けて通れない領域になりますので、しっかり学習しようと思います。
そもそもOSI参照モデルとは
OSI参照モデルとは通信機器(コンピュータなど)が互いに通信する際に必要な機能を階層ごとに大まかに分類して分かりやすくしたモデルです。ネットワークを介した通信が行われる際に、どのようなプロセスを経ているのかをわかりやすくしたモデルとも言えそうですね。
7つの階層に分けられているので、それぞれ確認してみましょう。
アプリケーション層(L7)
ネットワークを介して受信したデータが最初に行き着く階層です。
読んで字の如く、アプリケーション内の通信を定める役割があります。例えばファイル転送アプリがあったとしましょう。このアプリにはファイルをzip化する機能と、ファイルを転送する機能があったとした場合、ファイルを転送する機能をを実現するにはアプリケーションの通信機能が必要です。この役割を担うのがアプリケーションそうです。
アプリ自体の通信機能を実現しているんだなと思っていただければと思います。
プレゼンテーション層(L6)
通信するデータの表示形式を整合性が取れた形式に変換する役割があります。
通信機器の種類やシステム・アプリの種類によって使用するデータ表示形式は異なります。しかし、例えばGmailからThunderBirdにメールを送ってもほとんどは正しく文章や添付ファイルが表示されると思います。なぜこのようなことが可能なのか、それはデータを一旦全ての機器やアプリの間で共通である形式に変換して送信し、受信側は受信したデータを固有の形式に変換して取り込むというプロセスを介しているためです。
その役割を担うのがプレゼンテーション層です。データを正しい表現で送受信するために形式の変換を行っている階層なんだなと思ってもらえればと思います。
セッション層(L5)
通信のセッション情報を管理しています。
通信コネクションを繋いだままにするのか、あるいは断続的に遮断するのか、複数確立して並列に通信するのかと言った情報を管理しています。ログイン情報のセッション管理などが分かりやすいかと思います。
トランスポート層(L4)
データの通信経路の確立、及び通信準備を行う層です。アプリケーションにデータを確実に届けるための働きをします。
セッション層では通信コネクションの状態を管理していますが、そもそもコネクション自体を確立しているのはこの階層です。また、データの送信が完了しているかの確認や再送信を行ったりするのもこの階層です。
データ送信の信頼性を担う層なんだなと思っていただければと思います。
ネットワーク層(L3)
ネットワーク層にはデータの通信経路を決定し、宛先までデータを配送できるようにする役割があります。
データ通信を行う送受信者の間には様々なネットワーク機器があり、正しく宛先を判別するにはかなり複雑な構成になっています。そのような構成を介して正しく宛先までデータを送信するには住所のようなものが必要ですね。その住所のような役割をは果たすのがIPアドレスで、そのIPアドレスを参照して宛先を確定し経路を定めているのがネットワーク層です。
データ通信の宛先と経路を定めている階層なんだなと思ってもらえればと思います。ちなみにL3スイッチ(ルーター)とはこのネットワーク層の情報を元に経路を中継している機器なんですよ。
データリンク層(L2)
データリンク層は物理的に直接接続されている機器同士の通信を可能にします。
ネットワーク層ではIPアドレスを用いてネットワーク単位で送受信する機器を判別していましたが、データリンク層ではMACアドレス(物理アドレス)を使用して通信する機器を物理的に判断します。
IPアドレスは使用するネットワーク環境などによって設定されるものですが、MACアドレスは機器本体が固有しているものです。一つのネットワーク機器に複数の物理機器が接続されていた場合はデータリンク層からの情報を参照して宛先を定めることができるというわけです。
ちなみにL2スイッチはMACアドレスの情報を管理し、その情報を参照して通信を中継しています。
物理層
データを物理的に通信できる形に変換します。
コンピュータ上で扱うデータは0と1のビット列で構成されていることはよく知られていることですが、この0と1の形そのまま通信が行われているわけではありません。これらの情報は、光の点滅や電圧に変換されなければそもそも物理的にやりとりができません。
データという抽象的な存在を具現化しているのがこの物理層です。
一連の流れ
それではOSI参照モデルを使用してデータ通信が行われる一連の流れを振り返ってみます。説明しやすさの都合上これまでの解説とは逆の流れになるので注意してください。
物理層(L1):まずはデータを物理的に通信できる形に変換します。
データリンク層(L2):次に通信に使用される機器の物理的な情報を与えます。
ネットワーク層(L3):通信に使用される宛先や経路の情報を与えます。
トランスポート層(L4):セッションを確立します。データが確実に送信された判別できるようにもします。
セッション層(L5):確立したセッションをどのように扱うのかを定め情報として与えます。
プレゼンテーション層(L6):データに不整合がないように表示形式を変換します。
アプリケーション層(L7):アプリの通信機能を利用して実際にデータを送受信します。
上記がデータが送信されるまでのプロセスとなります。受信する場合はアプリケーション層から逆向きに処理が行われるという認識で問題ないでしょう。
ひとこと
異常がOSI参照モデルでした。結局内容としては簡易的なものになってしまいましたが、この記事の執筆を通して今まで曖昧だった知識がかなりクリアなものになったと思います。
OSI参照モデルは本当によくできたモデルでこの記事で紹介した機能以外にも様々な機能があります。これからインフラエンジニアを目指す方や、インフラエンジニアとして一歩成長したい方は是非深掘りしてみることをお勧めいたします。
ここまで読んでいただきありがとうございました!
-saisai-
↓本日のオススメ教材