L2スイッチとは?MACアドレスを使った基本的な仕組み・通信の流れを図解

  • URLをコピーしました!

ネットワーク初級では、 MACアドレスやARPなど、 LAN内で通信するための基本的な仕組みを学習しました。

ここから始まるネットワーク中級では、 これまで学んだ知識を使って、 実際のネットワーク機器がどのように通信を制御しているのかを もう一段深く学んでいきます。

最初に学習するのが L2スイッチ(Layer 2 Switch)です。

PCから送信されたEthernetフレームを、
L2スイッチはどのポートへ転送すればよいと判断しているのでしょうか?

その判断で重要になるのが、 初級で学習したMACアドレスです。

🌐 NETWORK INTERMEDIATE

この記事はネットワーク中級講座の一部です。 学習順を確認したい場合は講座一覧から確認できます。

ネットワーク中級講座を見る →
LESSON GOAL この記事のゴール

L2スイッチという機器の名前を覚えるだけではなく、 「L2スイッチはEthernetフレームのMACアドレスを確認し、 適切なポートへフレームを転送する」 という基本動作を説明できる状態を目指します。

目次

L2スイッチとは?

L2スイッチとは、 LAN内の機器同士を接続し、Ethernetフレームを転送するネットワーク機器 です。

「L2」のLはLayer(レイヤー)を意味しており、 OSI参照モデルの 第2層「データリンク層」 で動作することからL2スイッチと呼ばれます。

L3 ネットワーク層 IPアドレス
L2 データリンク層 MACアドレス ← L2 Switch
L1 物理層 電気信号・光信号
L2スイッチの基本

L2スイッチは、 MACアドレスを利用してEthernetフレームを転送する機器 と理解しましょう。

L2スイッチはLAN内の機器を接続する

たとえば、社内LANに3台のPCがあるとします。

💻 PC-A MAC:AA-AA
Port 1 ─────
L2 Switch Ethernet Frameを転送
Port 2 ─── 💻 PC-B MAC:BB-BB
Port 3 ─── 💻 PC-C MAC:CC-CC

PC-AからPC-Bへデータを送りたい場合、 PC-AはEthernetフレームをL2スイッチへ送信します。

L2スイッチは受信したフレームを確認し、 PC-Bが接続されているポートへ転送します。

昔のハブとL2スイッチは何が違う?

L2スイッチの役割を理解するうえで、 リピータハブ(ハブ)との違いを知っておくと分かりやすくなります。

ハブは受信した信号を、 基本的に他のすべてのポートへ送信します。

💻 PC-A
HUB 全ポートへ送信
→ 💻 PC-B 受信
→ 💻 PC-C 受信
→ 💻 PC-D 受信

一方、L2スイッチはMACアドレスを利用して、 必要なポートへフレームを転送できます。

💻 PC-A
L2 SWITCH MACアドレスで判断
→ 💻 PC-B 転送
✕ 💻 PC-C 転送しない
✕ 💻 PC-D 転送しない
HUB 基本的に全ポートへ

受信した信号を他のポートへ送る。 宛先MACアドレスを見て転送先を選択するわけではない。

L2 SWITCH 転送先を判断

MACアドレスを利用して、 フレームを適切なポートへ転送する。

L2スイッチはEthernetフレームのどこを見る?

初級で学習したように、 LAN内ではEthernetフレームを使ってデータをやり取りします。

Ethernetフレームには、 送信元MACアドレス宛先MACアドレスが含まれています。

Destination MAC BB-BB-BB-BB-BB-BB
Source MAC AA-AA-AA-AA-AA-AA
Type
Data データ
FCS

L2スイッチは、 このMACアドレス情報を利用してフレームを処理します。

SOURCE MAC 送信元MACアドレス

「このフレームは誰から来たのか」を表します。

DESTINATION MAC 宛先MACアドレス

「このフレームを誰へ届けたいのか」を表します。

L2スイッチはどうやって転送先を判断する?

ここがL2スイッチを理解するうえで最も重要なポイントです。

L2スイッチは、 接続されている端末のMACアドレスとポートの対応関係を学習します。

MAC ADDRESS PORT
AA-AA-AA-AA-AA-AA Port 1
BB-BB-BB-BB-BB-BB Port 2
CC-CC-CC-CC-CC-CC Port 3

このような情報を保持しているのが、 MACアドレステーブルです。

たとえば宛先MACアドレスが BB-BB-BB-BB-BB-BB だった場合、L2スイッチはMACアドレステーブルを確認します。

DESTINATION MAC BB-BB-BB-BB-BB-BB
MAC ADDRESS TABLE BB-BB → Port 2
FORWARD Port 2へ転送
NEXT LESSON PREVIEW では、L2スイッチはMACアドレスとポートの対応を どうやって覚えるのでしょうか?

この仕組みは次の記事 「MACアドレステーブルの仕組みを理解する」で詳しく学習します。

L2スイッチの転送には3つの基本パターンがある

L2スイッチのフレーム転送を理解するときは、 大きく次の3パターンを押さえておくと理解しやすくなります。

01 既知のユニキャスト

宛先MACアドレスが分かっている場合、 対応するポートへ転送します。

02 未知のユニキャスト

宛先MACアドレスがテーブルにない場合、 受信ポート以外へフラッディングします。

03 ブロードキャスト

ブロードキャストフレームは、 同一VLAN内の受信ポート以外へ転送されます。

① 宛先が分かっている場合

MACアドレステーブルに宛先MACアドレスが登録されていれば、 対応するポートだけへフレームを転送できます。

💻 PC-A
L2 Switch BB-BB → Port 2
💻 PC-B Port 2

② 宛先が分からない場合

では、MACアドレステーブルに 宛先MACアドレスが存在しなかったらどうなるでしょうか。

この場合、L2スイッチは フレームを受信したポートを除く、同一VLAN内のポートへフラッディング します。

L2 Switch 宛先MAC:不明
→ Port 2
→ Port 3
→ Port 4
「知らない宛先=破棄」ではない

L2スイッチが宛先MACアドレスを知らない場合、 すぐにフレームを破棄するわけではありません。 受信ポート以外へフラッディングして宛先へ届けようとします。

③ ブロードキャストの場合

宛先MACアドレスが FF:FF:FF:FF:FF:FF のブロードキャストフレームも、 同一VLAN内の受信ポート以外へ転送されます。

初級で学習したARP Requestなどが代表例です。

💻 PC-A
L2 Switch FF:FF:FF:FF:FF:FF
→ 💻 PC-B
→ 💻 PC-C
→ 💻 PC-D

L2スイッチではポートごとに通信を分離できる

L2スイッチでは、 基本的に各ポートがそれぞれ独立した コリジョンドメインになります。

L2 SWITCH
Port 1 Collision Domain 1
Port 2 Collision Domain 2
Port 3 Collision Domain 3

リピータハブを利用していたネットワークと比較すると、 通信を効率的に扱えるようになります。

L2スイッチだけではブロードキャストドメインは分割されない

ここは初学者が混乱しやすいポイントです。

通常のL2スイッチで同じVLANに接続されている端末は、 同じブロードキャストドメインに属します。

BROADCAST DOMAIN
💻 PC-A
▣ L2 Switch
💻 PC-B
💻 PC-C

ブロードキャストドメインを論理的に分割する代表的な技術が VLANです。

VLANについては、 ネットワーク中級の後続記事で詳しく学習します。

理解度チェック:L2スイッチの転送先を選んでみよう

実際にL2スイッチになったつもりで、 Ethernetフレームをどこへ転送するか考えてみましょう。

INTERACTIVE LAB

L2 Switch Forwarding Simulator

Layer 2
MAC ADDRESS TABLE
MAC PORT
AA-AA Port 1
BB-BB Port 2
CC-CC Port 3
RECEIVED FRAME
受信ポート Port 1
Source MAC AA-AA
Destination MAC BB-BB

このフレームをL2スイッチはどこへ転送する?

RESULT 転送先を選択してください

MACアドレステーブルとDestination MACを確認して考えてみましょう。

もう一問:知らないMACアドレスだったら?

RECEIVED FRAME Destination MAC:DD-DD 受信:Port 1

MACアドレステーブルには DD-DDが登録されていません。 L2スイッチはどうするでしょうか?

回答を選択してください

宛先MACアドレスを知らない場合の動作を考えてみましょう。

実際のスイッチではMACアドレステーブルを確認できる

Cisco IOSを使用するスイッチでは、 たとえば次のコマンドでMACアドレステーブルを確認できます。

Cisco IOS
Switch> enable
Switch# show mac address-table

表示例は次のようになります。

          Mac Address Table
-------------------------------------------

Vlan    Mac Address       Type        Ports
----    -----------       --------    -----
   1    aaaa.aaaa.aaaa    DYNAMIC     Gi0/1
   1    bbbb.bbbb.bbbb    DYNAMIC     Gi0/2
   1    cccc.cccc.cccc    DYNAMIC     Gi0/3

この表示から、 どのMACアドレスがどのポート側に存在するのかを確認できます。

ただし、 なぜこのテーブルが自動的に作成されるのかは 次の記事で詳しく学習します。

L2スイッチを理解するとトラブルシューティングにも役立つ

L2スイッチの仕組みは、 単に資格試験のために覚える知識ではありません。

実際のネットワーク障害でも、 L2スイッチの動作を理解していると原因を切り分けやすくなります。

CHECK 01 正しいポートに接続されているか

ケーブルや接続ポート、 リンク状態などを確認します。

CHECK 02 MACアドレスを学習しているか

MACアドレステーブルから、 端末のMACアドレスを確認できます。

CHECK 03 正しいVLANに所属しているか

VLAN設定が異なると、 想定したL2通信ができないことがあります。

確認問題:L2スイッチの基本を理解できたか確認しよう

QUESTION 01

L2スイッチがフレーム転送で主に利用する情報はどれですか?

正解:B

L2スイッチはOSI参照モデルのデータリンク層で動作し、 MACアドレスを利用してEthernetフレームを転送します。

QUESTION 02

宛先MACアドレスがMACアドレステーブルに存在しない場合、 L2スイッチの基本的な動作はどれですか?

正解:C

未知のユニキャストフレームの場合、 同一VLAN内の受信ポート以外へフラッディングします。

QUESTION 03

通常、同一VLANのL2スイッチだけで分割されないものはどれですか?

正解:A

L2スイッチではポートごとにコリジョンドメインが分かれますが、 同じVLAN内ではブロードキャストドメインは分割されません。

YOUR SCORE 0 / 3

3問に挑戦してみましょう。

まとめ

01

L2スイッチは LAN内でEthernetフレームを転送するネットワーク機器

02

OSI参照モデルの 第2層(データリンク層) で動作する

03

フレームに含まれる MACアドレス を利用して転送先を判断する

04

宛先MACアドレスが不明な場合は 受信ポート以外へフラッディング する

05

MACアドレスとポートの対応関係は MACアドレステーブル に保持される

NEXT LESSON

次は「MACアドレステーブルの仕組み」を理解しよう

L2スイッチがMACアドレスを利用して フレームを転送することは理解できました。

ではL2スイッチは、 「どのMACアドレスが、どのポートの先に存在するのか」 をどうやって知るのでしょうか?

次の記事では、 MACアドレスの学習(Learning)・転送(Forwarding)・ フラッディング(Flooding)・エージング(Aging)を使って、 MACアドレステーブルが作られる仕組みを詳しく学習します。

MACアドレステーブルの仕組みを理解する
NETWORK INTERMEDIATE

ネットワーク中級講座の一覧へ戻る

学習順を確認したい場合は、 ネットワーク中級講座の一覧へ戻れます。

← ネットワーク中級講座へ戻る
目次