無職なので、OSI参照モデル1~4層を勉強してみた。

PC

無職のため時間があるので、オンラインITスクールに通い始めました。

そこで学んだことをちょいちょいとこちらで復習がてら上げていこうと思います。

 

 OSI参照モデルとは?

OSI参照モデルは、ネットワーク通信を7つの階層に分けて整理した考え方です。

階層ごとに役割が分かれており、下位層は物理的なデータ伝送、上位層はアプリケーションに近い処理を担当します。

上から順に頭文字をとって、

「ア・プ・セ・ト・ネ・デ・ブ」と覚えると良いみたいです。

第7層 アプリケーション層
第6層 プレゼンテーション層
第5層 セッション層
第4層 トランスポート層
第3層 ネットワーク層
第2層 データリンク層
第1層 物理層

第1層 物理層

  • ケーブルや電波など、ビット列をそのまま伝える役割

  • 電気信号や光信号のやり取りを担います。

例:LANケーブル、Wi-Fiの電波


第2層 データリンク層

  • 同一ネットワーク内での通信を可能にする。

  • 通信相手を識別するのが MACアドレス。MACアドレスは機器1つに割り当てられた番号で、唯一無二の番号だそうです。(MACアドレスは固定で変わることはありません。)

  • 接続機器が3台以上であれば、スイッチングテーブルを使って、ポートと機器を紐づけるようです。
  • ただ、機器が増えるたびにこのスイッチングテーブルは増えていくので、限界がありますね。

Aにつながるポートを1、Bにつながるポートを2、Cにつながるポートを3としたとき以下のようになります。

 


第3層 ネットワーク層

  • 異なるネットワーク間の通信を実現する。

  • 俗にいうこれが「インターネット」ですね。

  • IPアドレスは、最終目的地点として使われます。(これはネットワークにつながるときに割り振られるもので番号は変わります。)異なるネットワークにいるパソコンAがパソコンBに「とあるデータ」を送りたいと仮定します。データくんは、パソコンBのIPアドレスをゴールとして向かいます。そこにたどり着くために中継点①、中継点②、中継点③を辿っていったとします。

A→中継点①→中継点②→中継点③→B

この中継点にいるときもデータくんは、常にBのIPアドレス(住所)を目指して進んでいます。

データくんとルータの会話を見てみましょう

データくん:「Bに行きたいんですけどどうやって行けばよいですか。」

ルータ:「Bに行くにはね。まずはここに行きな。(中継点①のMACアドレスを教えてもらう)」

データくん:中継点①に到着。またルータに「Bに行きたいんだけど…」

ルータ:「次はここに行きな。(中継点②のMACアドレスを教えてもらう)」

といった感じで、最後にデータくんはBに到着できます。

つまり、IPアドレスは目的地として使用、MACアドレスは中継点の機器に到達するために、機器特定のために使用します。

 


第4層 トランスポート層

  • アプリケーションごとの通信を識別する役割

  • IPアドレスが「マンションの住所」としたとき、ポート番号は「部屋番号」のようなものです。

    同じサーバ上にWebやメールなど複数サービスを同時に置けるのは、ポート番号があるからです。

well known ポート番号

ポート番号は全部で0 〜 65535個あります。

このうち0~1023はよく使われるポート番号(ウェルノーンポート番号)として割り振られてます。

ウェルノーンポート番号の一部

  • 22番:SSH

  • 80番:HTTP

  • 443番:HTTPS

Common Ports Cheat Sheet: The Ultimate Ports & Protocols List
Use this comprehensive common ports cheat sheet to learn about any port and several common protocols. It also includes a...

 


番外編:デーモンとListen

デーモン

  • サーバ上で常に待機しているプログラムを デーモン(Daemon) といいます。

  • ポート番号に「Listen(待ち受け)」していることで外部からの通信を受け付けます。
  • 例えばHPなんかはいつ見ても、見れますよね。この時間しか見れませんとかじゃないですよね。
  • いつでも見れるのは、そのプログラムが常に動いているから。つまりデーモンだからです。

Listen

ポート番号が開いている。

  • ポート80がListen → Webアクセス可能

  • Listenしていない → サーバは動いていても外部から接続できない

 

Listenとデーモン

例えば、以下のような状況の場合

  • ポート80がListenしている。
  • ホームページのプログラムがデーモンではない。

→アクセスはできるけど、ホームページは見れないという状態になる。

 店は開いているけど、営業していない。みたいな感じ

 

 

コメント

タイトルとURLをコピーしました