いつか、技術ブログを

新人SE(OJT中)が技術ブログを書きたがっているブログです

レイヤ2スイッチ(スイッチングハブ)とは?

ネットワーク図でよくL2SW(レイヤ2スイッチ)やL3SW(レイヤ3スイッチ)ってみますよね! よくわかんなかったので調べてみました!

レイヤ2、レイヤ3とは

まずレイヤ2、レイヤ3とは、OSI参照モデルの何層かを表します。

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

レイヤ2スイッチは、データリンク層のスイッチという意味です。
レイヤ3スイッチは、ネットワーク層のスイッチという意味です。

スイッチとは?

ネットワークスイッチとは、コンピュータネットワークの集線装置の一種で、受信したデータの宛先を見て、接続された各機器への転送の可否を判断する機能を内蔵したもの。
ネットワークスイッチとは - IT用語辞典 より

とあります。
データが来たら、宛先を見て、どの機器に送っていいのか判断する、というものをスイッチというみたいです。
レイヤ2スイッチ、レイヤ3スイッチだけでなく、トランスポート層のレイヤ4スイッチというものもあるそうです。

L2スイッチとは(スイッチングハブとは)

L2スイッチは、スイッチングハブとほぼ同じ意味で使われるようです。
スイッチングハブは、MACアドレスを基にフレームの中継を制御します。

スイッチングハブはこんな感じのやつです。
f:id:ramenchahan:20180322143753p:plain:w300
スイッチングハブの内部には、MACアドレステーブルというものがあり、ポートとMACアドレスの対応を学習します。
(ちなみに、この「ポート」っていうのはトランスポート層のポート番号とは違います。私はこれで混乱してました。同じ言葉を違う意味で使うのやめてほしい…)
例えば、以下のようにスイッチングハブとPCがつながっているとします。
f:id:ramenchahan:20180322152504p:plain
PCはそれぞれ、macA,macB,macC,macDというMACアドレスを持っています。
スイッチングハブでつながっているので(データリンク層の機器なので)、4台のPCは同じネットワーク上にあります。
スイッチングハブは1〜4のポートを持っています。

MACアドレステーブルはメモリ上にあるので、電源を入れてすぐは何も掲載されてません。

ポート MACアドレス
なんにも ないよ

ここで、macAのPCがmacBのPCにデータを送ったとします。(①)
f:id:ramenchahan:20180322152635p:plain
PC同士は同じネットワークにあるので、当たり前にブロードキャストされます。
ですが、スイッチングハブは「ポート1にはMACアドレスが"macA"のPCがつながっている!」と覚えてくれます。

ポート MACアドレス
1 macA

次に、macBのPC→macCのPCにデータを送ったとします。(②)
f:id:ramenchahan:20180322153144p:plain

ポート MACアドレス
1 macA
2 macB

こんな感じで、スイッチングハブは「ポート2にはMACアドレスが"macB"のPCがつながっている!」と覚えてくれます。
同じように、macCのPC→macDのPCにデータを送ったとします。(③)
f:id:ramenchahan:20180322153528p:plain

ポート MACアドレス
1 macA
2 macB
3 macC

macCとポート3の対応も覚えてくれました。
しつこいようですが、次はmacDのPC→macAのPCにデータを送ったとします。(④)
f:id:ramenchahan:20180322153719p:plain

ポート MACアドレス
1 macA
2 macB
3 macC
4 macD

そうなんです!今度は「macAというMACアドレスを持ったPCのポートは1」だとスイッチングハブが覚えていてくれたので、ブロードキャストではなくユニキャストで送ってくれるのです!こんな便利なものだったんですね←

L3スイッチとは

レイヤ3スイッチとは、スイッチングハブの機能にルーティングの機能を備えたものです。
レイヤ3スイッチは、ルータと機能的に似ていて、区別が曖昧になってきているそうです。

基本的に、多くのプロトコルに対応し、主にソフトウェアで処理を行うものがルータ、イーサネットを中心に対応し、主にハードウェアで処理を行うものがレイヤ3スイッチです。
徹底攻略ネットワークスペシャリスト教科書 平成26年度 (ITプロ/ITエンジニアのための徹底攻略 Tettei Kouryak) p.185より

とのことなので、応用情報などの問題を解く上では「ルータ」と読み替えてしまってもいいかもしれませんね。

まとめ

  • レイヤ2スイッチは、スイッチングハブと同じものだと思っていい。
  • スイッチングハブは、ポート(PCとのケーブルをつなげるところだと思えばいい?)と、(PCの)MACアドレスの対応を学習して、宛先MACアドレスのポートを知ってる時はユニキャストしてくれる
  • レイヤ3スイッチは、ルータと読み替えてしまってもなんとかなる(?)