技術アウトプット(CCNA編)

 皆さんこんにちは!エンジニアファーストの会社、株式会社CRE-COのTaiseiと申します!今回も技術アウトプットやっていきたいと思いますのでよろしくお願いいたします!今回は前回の続きということでOSI参照モデルから紹介していきたいと思います!

 私はCCNAを勉強する前に、ITパスポート・基本情報について勉強したのですがその時にもこのOSI参照モデルやTCP/IPモデルという単語は出てきました。私のような未経験エンジニアにとっては二つの違いを中々覚えづらく苦労したのを覚えています。今回はしっかり覚えられるように一つ一つ丁寧にアウトプットしていきたいと思います!

※本記事では下記を中心に参考文献から学習した結果、要点をまとめて投稿しています。

OSI参照モデル

OSI参照モデルの概要について

 かつて、ネットワーク機器は機器メーカーそれぞれ独自のプロトコルで通信を行っていたため、機器のメーカーが異なると通信ができませんでした。しかしそれではいけないと機種が異なってもあらゆるPC 、ネットワーク機器、ソフトウェアなどがそれぞれ相互につなげるように定められたのがOSI参照モデルです。これを定めたのがISO(国際標準化機構:International Organization for Standardization)という団体です。
 
 しかし現在では、最初に書きましたTCP/IPモデルが主流になっているためOSI参照モデルは実際に使われてはいませんが、通信の基本的な概念として残っている為、覚えておくといいでしょう。

第1層:物理層

 まずは第1層:物理層について紹介していきたいと思います。物理層はデータ通信を行う際に、データ(ビット列)を電気信号に変換すると言ったことや、ノード間で接続するケーブルやその接続口の規格などを規定するものになります。
 コンピューターは全てのデータをそれぞれ「1」か「0」の2進数で保持しており、これら2進数のデータを電気信号に変換することでケーブルなどを通して相互に通信しています。これらの機能を規定しているものが物理層になります。

第2層:データリンク層

 続いて第2層:データリンク層についてです。データリンク層は直接接続されたノード間の通信に関して規定しています。物理層でデータを電気信号に変換するだけでは、正確に通信はできません。直接接続されているノード間でデータを転送していく必要があります。そうした直接接続されているノード間で相手を識別するためのアドレスに関する規定を行なっているのがこのデータリンク層です。
 また、データ送信時に起きたエラーなどの対処方法もこの層で規定しています。

第3層:ネットワーク層

 続いて第3層:ネットワーク層についてです。ネットワーク層は複数のネットワークをまたがったエンドツーエンド(通信を開始する送信元から最終的な宛先までの端末間)の通信に関する規定をしています。つまりデータを最初から最後まで送り届けられるような規定を定めています。
 そういった宛先を識別するために必要になっているのがIPアドレスなどです。ネットワーク層ではこういったIPアドレスなどに関することも規定されています。
 また、インターネットは複数のネットワークから構成されておりいくつかの機器を経由していく必要があります。その際にどのような経路を通ればいいのかを決定する機能が提供されています。この機能のおかげで私たちが日頃何気なく行っている通信が可能になっています。

第4層:トランスポート層

 続いて第4層トランスポート層についてです。トランスポート層はノード間の通信の制御・信頼性について規定しています。
 送信元から送られてきたデータは、途中で様々な機器を経由して宛先まで運ばれていきます。しかしその際、途中でデータが欠けていくと宛先は正しくデータを処理できません。そうならないように、送信元から送信されたデータを欠ける事なく宛先に届けるような機能を提供しているのがトランスポート層です。
 トランスポート層にはもう一つ重要な役割があります。それはコンピュータ内のどのアプリケーショにデータを届ければいいかと判別する事です。メールやExcelなど同時にアプリケーションを開いていても作業できるのは、コンピュータ内で複数のアプリケーションが動いているためです。したがって送られてくるデータもどのアプリに対するものなのか判断をする必要があります。
 アプリケーションの識別を行う際には、アプリケーションごとに決められたポート番号を参照しにいきます。ポート番号は部屋番号のようなもので、ポート番号があるからこそ、メールデータをきちんとメールサーバーに届けることができるのです。この辺りもトランスポート層の重要な役割です。

第5層:セッション層

 続いて第5層セッション層についてです。セッション層は通信の開始から終了まで一連のデータの流れをやりとりしています。
 機器では複数のアプリケーションを利用して通信を行っていることがあります。その際に、あるアプリケーションでやりとりしているデータが他のアプリケーションに届かないように制御しています。

第6層:プレゼンテーション層

 続いて第6層プレゼンテーション層についてです。プレゼンテーション層は通信する際の文字コードなどといった、データの表現方式に関して規定しています。
 コンピュータは世界各国のあらゆるメーカーによって作られているため、同じ文字を表す際にも表現方法が変わってきます。そんな送信元、受信側それぞれ独自の表現方式を共通の表現方式に変換します。このアプリケーション層の機能によって表現方式が違う二つのコンピュータでも文字化けせずに相手に正しく届きます。

第7層:アプリケーション層

 最後はアプリケーション層です。アプリケーション層はユーザーが
実際に利用するアプリケーション間の通信関して規定しています。WebブラウザであればWeb用のプロトコル、メーラーであればメール用のプロトコルといった、ユーザーが利用するアプリケーションで使用するプロトコルが規定されています。

 以上7つの層に分けられているのがOSI参照モデルです。このように通信機能を階層化することで次のメリットが得られます。

  • 各階層に機能を分けることにより、ネットワーク設計者やアプリケーション開発者が各階層の役割を理解しやすい。

  • 標準化されているため各ベンダーの製品やプロトコルを組み合わせて設計や構築がしやすい

  • プログラムの開発や改修が容易

  • 階層が分かれているため、ネットワーク障害などの問題の切り分けが可能

カプセル化と非カプセル化

 通信を行う際の流れを身近な例で表すと、手紙です。手紙はまず便箋に手紙を書き、それを封筒に入れ、宛先と差出人を書き、切手を貼ってポストに投函します。投函された手紙は各地区の郵便局を経由して宛先に届きます。郵便局では手紙に記載された住所と受取人を参照します。

 コンピュータ同士の通信でも同じようなことが行われます。上の階層から順番にアプリケーション層、セッション層、、、物理層と下の階層にデータが渡されていき、その過程で各階層の情報が付加されます。そして最終的に物理層で電気信号に変換されてケーブル上に送信されます。
 この時各階層にデータを送信するために必要な情報は、ヘッダという形でデータの先頭に付与されます。通信データはヘッダ+データという形で送られます。
 各階層では、ヘッダを作成し、上の階層から渡されたヘッダ+データをデータとして、新たにヘッダを付加して通信データを作成します。


 このように上の階層の通信データをそのままデータをし、新たなヘッダを付与することをカプセル化と言います。
 受信側では送信側とは逆に下の階層から上の階層に向かって通信データが渡されます。各階層では、ヘッダ+データ形式のヘッダ部分を見て処理を行い、データ部分をそのまま上の階層に渡します。これを日カプセル化と言います。
 これが先程、例えで出した手紙の手紙の出し方につながる訳です。難しそうに見えますが例えを見るとわかりやすいと思います。

 今回はOSI参照モデルについてまとめていきました。以前自分で独学したよりも、このようにアウトプットすることによってさらに自分の中に落とし込んでいけるなと感じました。次回はTCP/IPモデルについてまとめて意おきたいと思いますので、よろしくお願いいたします!

今回はここまでです。最後まで読んでくださってありがとうございました。


エンジニアファーストの会社
株式会社CRE-CO  Taisei


この記事が気に入ったらサポートをしてみませんか?