2022-05-06 06:53:44 +07:00
---
2022-10-04 14:44:53 +07:00
title: '#90DaysOfDevOps - OSIモデル - 7つのレイヤー - 22日目'
2022-05-06 06:53:44 +07:00
published: false
2022-10-04 14:44:53 +07:00
description: 90DaysOfDevOps - OSIモデル - 7つのレイヤー
2022-05-06 06:53:44 +07:00
tags: 'devops, 90daysofdevops, learning'
cover_image: null
canonical_url: null
id: 1049037
---
2022-10-04 14:44:53 +07:00
## OSIモデル - 7つのレイヤー
2022-05-06 06:53:44 +07:00
2022-10-04 14:44:53 +07:00
産業としてのネットワークの全体的な目的は、ネットワーク化する前に2つのホストがデータを共有できるようにすることです。
このホストからこのホストにデータを送るには、このホストに何かを差し込んで、もう一方のホストまで歩いて行って、もう一方のホストに差し込まなければなりません。
2022-05-06 06:53:44 +07:00
2022-10-04 14:44:53 +07:00
ネットワーク化によって、ホストがワイヤーを介して自動的にデータを共有できるようになり、これを自動化することができるようになりました。
2022-05-06 06:53:44 +07:00
2022-10-04 14:44:53 +07:00
これは、英語には英語を話す者同士が守らなければならないルールがあり、スペイン語にはスペイン語のルールがあり、フランス語にはフランス語のルールがあるのと同じで、ネットワークにもルールがあります。
2022-05-06 06:53:44 +07:00
2022-10-04 14:44:53 +07:00
ネットワークのルールは7つの層に分かれており、それらの層はOSIモデルとして知られています。
2022-05-06 06:53:44 +07:00
2022-10-04 14:44:53 +07:00
### OSIモデルの紹介
2022-05-06 06:53:44 +07:00
2022-10-04 14:44:53 +07:00
OSIモデル( Open Systems Interconnection Model) は、ネットワークシステムの機能を記述するために使用されるフレームワークである。OSIモデルは、異なる製品やソフトウェア間の相互運用性をサポートするために、コンピューティング機能を普遍的な規則と要件のセットに特徴付けます。OSI参照モデルでは、コンピュータシステム間の通信は、7つの異なる抽象化層に分割されています。**物理層、データリンク層、ネットワーク層、トランスポート層、セッション層、プレゼンテーション層、アプリケーション層です。
2022-05-06 06:53:44 +07:00
![](Images/Day22_Networking1.png)
2022-10-04 14:44:53 +07:00
### 物理層
OSIモデルの第1層は物理層と呼ばれ、あるホストから別のホストへ、物理ケーブルやWi-Fiなどの手段でデータを転送することを前提にしています。また、あるホストから別のホストへデータを転送するために、ハブやリピータなどのレガシーハードウェアも見られるかもしれません。
2022-05-06 06:53:44 +07:00
![](Images/Day22_Networking2.png)
2022-10-04 14:44:53 +07:00
### データリンク層
レイヤ2、データリンクは、データがフレームにパッケージされているノ ード間の転送を可能にします。また、物理層で発生したであろうエラー訂正のレベルも存在する。また、MACアドレスを導入したり、初めて目にするのもこの層です。
2022-05-06 06:53:44 +07:00
2022-10-04 14:44:53 +07:00
21 日目](day21.md) のネットワーキングの初日で取り上げたスイッチについても、ここで初めて言及されています。
2022-05-06 06:53:44 +07:00
![](Images/Day22_Networking3.png)
2022-10-04 14:44:53 +07:00
### ネットワーク層
レイヤー3スイッチやレイヤー2スイッチという言葉を聞いたことがあると思います。OSIモデルのレイヤ3では、ネットワークはエンドツーエンドの配信を目標としており、初日の概要でも触れたIPアドレスはここにあたります。
2022-05-06 06:53:44 +07:00
2022-10-04 14:44:53 +07:00
ルータとホストはレイヤ3に存在し、ルータは複数のネットワーク間をルーティングする機能であることを忘れないでください。IPを持つものはすべてレイヤー3と考えることができます。
2022-05-06 06:53:44 +07:00
![](Images/Day22_Networking4.png)
2022-10-04 14:44:53 +07:00
では、なぜレイヤ2と3の両方でアドレス方式が必要なのでしょうか? (MACアドレスとIPアドレスの比較)
2022-05-06 06:53:44 +07:00
2022-10-04 14:44:53 +07:00
あるホストから別のホストにデータを送ることを考えると、各ホストはIPアドレスを持っていますが、その間にはいくつかのスイッチやルーターがあります。それぞれの機器には、そのレイヤー2のMACアドレスがあります。
2022-05-06 06:53:44 +07:00
2022-10-04 14:44:53 +07:00
レイヤー2 MACアドレスは、ホストからスイッチ/ルーターに移動するだけで、レイヤー3 IPアドレスがそのデータのパケットがエンドホストに到達するまで残るのに対し、ホップに焦点が当てられています。(エンド・ツー・エンド)
2022-05-06 06:53:44 +07:00
2022-10-04 14:44:53 +07:00
IPアドレス - レイヤ3 = エンド・トゥ・エンド配送
2022-05-06 06:53:44 +07:00
2022-10-04 14:44:53 +07:00
MACアドレス - レイヤ2 = ホップ・トゥ・ホップ配送
2022-05-06 06:53:44 +07:00
2022-10-04 14:44:53 +07:00
さて、レイヤ3とレイヤ2のアドレスを結びつけるARP( Address Resolution Protocol) というネットワークプロトコルがありますが、今日は触れません。
2022-05-06 06:53:44 +07:00
2022-10-04 14:44:53 +07:00
### トランスポート層
サービスからサービスへ、レイヤ4はデータストリームを区別するために存在する。レイヤー3とレイヤー2がアドレス方式を持つのと同じように、レイヤー4にはポートがあります。
2022-05-06 06:53:44 +07:00
![](Images/Day22_Networking5.png)
2022-10-04 14:44:53 +07:00
### セッション層、プレゼンテーション層、アプリケーション層
レイヤー5,6,7の区別は、やや曖昧になっている、あるいはなっていた。
2022-05-06 06:53:44 +07:00
2022-10-04 14:44:53 +07:00
[TCP IPモデル ](https://www.geeksforgeeks.org/tcp-ip-model/ )を見ると、より最新の理解が得られるでしょう。
2022-05-06 06:53:44 +07:00
2022-10-04 14:44:53 +07:00
では、このネットワークスタックを使ってホスト同士が通信しているときに、実際に何が起こっているかを説明しましょう。このホストには、別のホストに送信するデータを生成するアプリケーションがあります。
2022-05-06 06:53:44 +07:00
2022-10-04 14:44:53 +07:00
送信元のホストは、カプセル化プロセスと呼ばれるものを通過することになります。そのデータはまずレイヤー4に送られます。
2022-05-06 06:53:44 +07:00
2022-10-04 14:44:53 +07:00
レイヤ4はそのデータにヘッダを追加し、レイヤ4の目標であるサービス間デリバリーを容易にします。これは、TCPまたはUDPを使用したポートになります。また、送信元ポートと送信先ポートも含まれます。
2022-05-06 06:53:44 +07:00
2022-10-04 14:44:53 +07:00
これは、セグメント(データとポート)とも呼ばれます。
2022-05-06 06:53:44 +07:00
2022-10-04 14:44:53 +07:00
このセグメントは、osiスタックからレイヤー3、ネットワーク層に渡されます。ネットワーク層はこのデータに別のヘッダを追加します。
このヘッダはレイヤ3の目的であるエンド・ツー・エンド・デリバリを容易にします。つまり、このヘッダにはソースIPアドレスとデスティネーションIPがあり、ヘッダとデータはパケットと呼ばれることがあります。
2022-05-06 06:53:44 +07:00
2022-10-04 14:44:53 +07:00
レイヤ3はそのパケットをレイヤ2に渡します。レイヤ2は再びそのデータに別のヘッダを追加し、レイヤ2の目標であるホップ・トゥ・ホップ配送を達成します。
このレイヤー2のヘッダーとデータを合わせて1つのフレームと呼びます。
2022-05-06 06:53:44 +07:00
2022-10-04 14:44:53 +07:00
このフレームは、1と0に変換され、レイヤ1物理ケーブルまたは無線LANで送信されます。
2022-05-06 06:53:44 +07:00
![](Images/Day22_Networking6.png)
2022-10-04 14:44:53 +07:00
ヘッダー+データの各レイヤーのネーミングについては前述しましたが、これも描き出すことにしました。
2022-05-06 06:53:44 +07:00
![](Images/Day22_Networking7.png)
2022-10-04 14:44:53 +07:00
明らかに、データを送信しているアプリケーションは、どこかに送信されているので、受信側では逆にスタックを上がって受信側のホストにデータを戻します。
2022-05-06 06:53:44 +07:00
![](Images/Day22_Networking8.png)
2022-10-04 14:44:53 +07:00
## リソース
2022-05-06 06:53:44 +07:00
- [Computer Networking full course ](https://www.youtube.com/watch?v=IPvYjXCsTg8 )
- [Practical Networking ](http://www.practicalnetworking.net/ )
2022-10-04 14:44:53 +07:00
[23日目 ](day23.md )でお会いしましょう。