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