OSI参照モデル

こんばんは!ジュンです。

3日連続投稿企画最終日です!1日目と2日目はよくお腹を下す仲間に向けて、投稿をさせていただきましたので、3日くらいはプログラミングでの学びについてアウトプットさせていただければと思います。

OSI参照モデルについて自分なりにまとめたので、よければ見てもらえると嬉しいです。

OSI参照モデルとは

まずOSI参照モデルとは何かについて説明する。

通信プロトコルを理論上で7つの階層に分けて定義しているもの。

簡単に言えば、インターネットを通じて情報をやり取りする方法を段階を分けて説明したもの。

第1層(レイヤ1) 物理層

ネットワークの物理的な接続や伝送方式を規定する層。

コンピュータ内で使用されているビット列を電気信号に変換しネットワークへ伝送したり、また逆に、電気信号で受信したものをビット列に変換してコンピュータに情報を取り込む役割がある。

第2層(レイヤ2) データリンク層

1つのネットワーク回線上で直接接続されたノード同士の通信について規定する層。

FCSというデータがネットワーク間を移動する際に誤りが発生していないかを確認するものを付与することと、LAN内のハードウェアにアドレスをつけ、データの送受信を実現することが役割である。

第3層(レイヤ3) ネットワーク層

ノード間での始点から終点までの通信を規定する層。

送信先のコンピュータにソフトウェアアドレスを割り当て、そのコンピュータまでの最適なパスを選択する。

要するにデータがどの経路を辿って転送されるかを計画し、効率的な経路を選択して目的のコンピュータにに到達させる役割。

第4層(レイヤ4) トランスポート層

データが送信元から受信先に確実に届くように管理する役割を果たす層。

データが途中で失われることなく正確に転送されるようにしたり(信頼性を確保する)、アプリケーション間でセッションを開始する上で必要なポート番号を割り当てたりする。

データ伝送の信頼性を確保するために、エラー制御(エラーを検出し、必要に応じて修復する手段を提供する)・フロー制御(伝送の速度を調整し、オーバーフローや過剰なデータ転送を防ぐ)などを行っている。

第5層(レイヤ5) セッション層

アプリケーション間でのセッションの確立・維持・終了などを管理し、通信を制御する層。

複数のアプリの通信がお互いに干渉しないように論理的に分けられている状態にする。

セッションが確立するとデータの転送ができるようになる。

第6層(レイヤ6) プレゼンテーション層

圧縮方式、文字コード、データの暗号/複合などのデータの表現方式を規定する層。

送信側での固有の表現形式を標準的な表現形式に変換し、受信した側固有の表現形式に変換しなおすことで文字化けなどを防ぐことができる。

第7層(レイヤ7) アプリケーション層

ユーザアプリケーションとネットワークを結びつける層。

利用するアプリケーションごとに異なるプロトコルを決定し使用する。

ユーザからの情報を処理してネットワークに送るため、ユーザが直接接する部分の階層である。

OSI参照モデルの処理の順番

送信側の処理の順番

送信側ではレイヤ7から降順で処理が進んでいく。

その処理の情報がヘッダとしてデータの前に付加されていく。

上位層の処理が最初にヘッダとして付与され、下位層の情報でどんどん包み込まれていくことから、この処理をカプセル化という。

最後まで処理が進むとレイヤ1の処理でデータが電気信号になって送信される。

※レイヤ1ではL1ヘッダを追加するのではなく物理的に電気信号に変換される。

※レイヤ2では受信したフレームに誤りがないかどうかを調べるためのFCSヘッダもL2ヘッダとは別に付加される。

受信側の処理の順番

受信側ではレイヤ1から昇順で処理が進んでいく。

レイヤ1で電気信号をビット列に変換する。

レイヤ2でL2ヘッダに基づいたデータを処理した上でL2ヘッダを外す。

レイヤ3以降も同様に処理が進んでいくと元のデータを受信側で確認できるようになる。

先ほどの処理と逆で、下位層の情報をどんどんヘッダから取り外していくことを非カプセル化という。

OSI参照モデルを例えると・・・

荷物の配送手順だとすると・・・

レイヤ1:トラックなのか飛行機なのかなど、荷物を運ぶ手段を決める。

レイヤ2:荷物を小分けにして、それぞれに宛先や住所を書く。また特定記録をつけ、確実に荷物の受け渡しができるようにする。

レイヤ3:直行便なのか、各駅停車なのかなど、最適なルートを選ぶ。

レイヤ4:荷物が確実に届くよう、仕分けを行う。荷物が全てあるか確認する作業も含む。

レイヤ5:荷物の受け渡しのルールを送信側と受信側で決める。(受け取り時にサインをもらうなど)

レイヤ6:荷物の内容を暗号化し、機密化する。(言葉を翻訳するなど、形式を変換する作業。)

レイヤ7:配送業者を決める

今はTCP/IPの方が主流になりつつあるようですので、IT関係の仕事をするにあたってOSI参照モデルを使いこなせるようになるよりは、会話ができるくらいには知っているくらいのレベルがいいそうです。

少しでも参考になれば幸いです。

© 2024 Jun&Hana'sSite