OSI参照モデル

そう言えばこの前、みんなの前でTCPについて話す機会があったので今回は簡単にざっくりと内容をまとめておこうと思ったので残しておこうと思います。

ホントはQiitaとかにエンジニアは載せるかと思うんですが僕はこっちに自分用として残します!

まずTCPを理解する前にOSI参照モデル、TCP/IPについて理解する必要があると思います。なのでそこから簡単にメモしておきます。

OSI参照モデル

OSI参照モデルとは、国家標準化機構(IOS)により策定された、コンピュータなどの通信機器の通信機能を、階層構造に分割したモデルらしいです!
そしてこのモデルは通信プロトコルを7つの階層に分けて定義しています。

TCP/IPモデル

TCP/IPは、現在のインターネット通信およびイントラネット通信において最も利用されている通信プロトコルです。
TCP/IPは複数のプロトコルからなりますが、中心的な役割を果たすのがTCPとIPであることからTCP/IPと呼ばれているそうです。

わかりやすい図

スクリーンショット 2020-07-10 23.54.52

一番左側がOSI参照モデルです。7つの層から生成されて送信の時はアプリケーション層から物理層へ、受信の時は物理層からアプリケーション層へといった感じの流れになります。
そしてTCP/IPプロトコルのところがそれぞれの定義されているプロトコルで、一番右側がどの段階での処理かが表示されています。

それぞれのレイヤーの役割を確認。

レイヤー7:アプリケーション層
サーバのプログラムと、ユーザーが利用するアプリケーションとの間の通信を提供します。
webを参照するプロトコルであるHTTPは、サーバーで稼働しているwebサーバープログラムと、webブラウザとの間で通信を制御します。
同様にFTPは、ファイル転送サーバーと、ユーザーが使用する転送プログラムに対してプログラム間通信のための機能を提供します。

レイヤー6:プレゼンテーション層
データの表現形式を規定し、テキスト、画像、ストリーミングといったデータ形式を区別します。またデータの暗号化、圧縮方式、文字コードといったデータの表現形式についてもここのレイヤで規定しています。

レイヤー5:セッション層
通信内容(プロセス)を区別し、論理的な通信路を確立します。セッションとは、通信が開始されてから一連の通信が終了するまでをいい、レイヤ5ではセッションを管理する機能を提供します。

レイヤー4:トランスポート層
エラー制御やフロー制御によって、通信品質を確保し、信頼性のあるデータ転送を可能にします。
データが正しく相手に届いたかどうかを確認しながらデータを分割して送信したり、受信した方でエラーを訂正したり正しい順番に並び替えたりしています。

レイヤー3:ネットワーク層
レイヤ2で通信できる範囲を超えて、隣接したネットワークに接続されたノードとのデータ通信を可能にします。隣接したネットワークとの通信が可能になれば、その隣にあるネットワークとの通信も可能になり、遠く離れていたとしても隣接したネットワークを辿ることによって任意のノードとのデータ通信が可能になります。

レイヤー2:データリンク層
隣接したノードへのデータ通信を可能にします。「フレーム」という意味のある通信単位が導入され、データの正当性や電気信号の誤り訂正なども行います。
ノードを識別するためのアドレスを持っているので、データを届ける相手を指定することができます。また、レイヤー2のプロトコルの多くはレイヤー1と密接な関係を持っており、これらのプロトコルによって接続形態(トポロジー)も決まります。

レイヤー1:物理層
ハードウェアに依存した物理特性を扱います。例えばケーブル、ケーブルとの接続部分のコネクタの形状、ケーブルを流れる転機信号の電圧・クロックなどを規定し、物理的な伝送路を確保します。

一旦長くなったので今回はここまでで、今回のOSI参照モデルはネットワークエンジニアであれば一般的な知識になりますし、そうでなくても知っていて損はない知識になると思ったので一応noteに残しておきます。


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