はじめに
最近、少し前にしていたCS(コンピュータサイエンス)の勉強を再開しました。その中で、「えっ、このへんのことみんな理解してるん?」と感じ、自身の理解を浅かったので、改めて自身の言葉で説明したく執筆しました。かなり噛み砕いているので間違ってたら絶対に指摘ください笑。
※テキストとしては、基本情報技術者試験用のテキストを使っています。
※ぶっちゃけ以下のURL見た方がいいかもです、、汗
参考URL:https://www.itmanage.co.jp/column/osi-reference-model/
プロトコルとOSI基本参照モデル
めっちゃ簡単に言うと、
- プロトコルはルールという名の約束事
- OSI基本参照モデルはそのルールを各ジャンル別にしたもの
って感じです。
おそらくプロトコルくらいはわかるけど、それがなんなのかがいまいちピンとこないはずです。まずは、OSI基本参照モデルを見てみましょう!
層 | 名前 |
---|---|
第7層 | アプリケーション層 |
第6層 | プレゼンテーション層 |
第5層 | セッション層 |
第4層 | トランスポート層 |
第3層 | ネットワーク層 |
第2層 | データリンク層 |
第1層 | 物理層 |
これで理解できた方は天才なのでここで見るのやめてOKです笑
これらの層が意味することも見てみましょう!
層 | 名前 | 何のルール? |
---|---|---|
第7層 | アプリケーション層 | 具体的にどんなサービスを提供するのか |
第6層 | プレゼンテーション層 | データはどんな形式にするか |
第5層 | セッション層 | 通信の開始から終了までどう管理するのか |
第4層 | トランスポート層 | 通信の信頼性はどう確保するのか |
第3層 | ネットワーク層 | ネットワーク同士をどう繋ぐのか |
第2層 | データリンク層 | 同一ネットワーク内でどう繋ぐのか |
第1層 | 物理層 | 物理的にどう繋ぐのか |
ちなみに事実上、世界中では「TCP/IP」というプロトコルが標準となっていますので、OSI基本参照モデル=TCP/IPと考えてもらって差し支えないです。今は。(多分よく知っている方からすると殴られますがwww)
ところで、上記の表見て「あ〜〜なるほど」となった部分もあればそうでない部分もあるかと思います。そこで各装置がどこに属すかを考えるとよりわかりやすいのでそれをみてみます。
層 | 名前 | 何のルール? | 装置(例) |
---|---|---|---|
第7層 | アプリケーション層 | 具体的にどんなサービスを提供するのか | ゲートウェイ |
第6層 | プレゼンテーション層 | データはどんな形式にするか | ゲートウェイ |
第5層 | セッション層 | 通信の開始から終了までどう管理するのか | ゲートウェイ |
第4層 | トランスポート層 | 通信の信頼性はどう確保するのか | ゲートウェイ |
第3層 | ネットワーク層 | ネットワーク同士をどう繋ぐのか | ルータ |
第2層 | データリンク層 | 同一ネットワーク内でどう繋ぐのか | ブリッジ |
第1層 | 物理層 | 物理的にどう繋ぐのか | LANケーブル、リピータ |
いかがでしょうか。理解できますか?
第1層では電気的な信号を送ったり増幅したりする装置があり、第2層ではパケット(届く小さなデータの塊)のMACアドレス情報を使って、ネットワーク内のセグメント間を中継します。第3層では、パケットのIPアドレスを使って、ネットワーク間の中継をして、それ以上の層ではゲートウェイでプロトコル変換を行って、異なるネットワーク間を中継します。
まあ結局、OSI基礎参照モデルって、単にルールを層という概念で分けてるだけという認識でOKです。(本当はこの層に合わせて、データをカプセル化したりします。)
実際、TCP/IPとOSI基礎参照モデルは何が違うの?
今までの説明では流石にざっくりしすぎているので、、、
引用:https://www.itmanage.co.jp/column/osi-reference-model/
これを踏まえ、TCP/IPプロトコルと比べてみます!
引用:https://www.itmanage.co.jp/column/osi-reference-model/
比べてわかるのは、実はOSI基礎参照モデル=TCP/IPというのは全くの嘘で、正確にはOSI基礎参照モデルという基本ベースという型があり、TCP/IPはみんなが使いまくった結果、デファクトスタンダードになったプロトコルです。
おわりに
以上、自分なりに噛み砕いて説明してみました!
もっと良い説明方法や、そもそも違うよと言うことがあれば是非コメントをいただきたいです!