ネットワーク初級では、 MACアドレスやARPなど、 LAN内で通信するための基本的な仕組みを学習しました。
ここから始まるネットワーク中級では、 これまで学んだ知識を使って、 実際のネットワーク機器がどのように通信を制御しているのかを もう一段深く学んでいきます。
最初に学習するのが L2スイッチ(Layer 2 Switch)です。
L2スイッチはどのポートへ転送すればよいと判断しているのでしょうか?
その判断で重要になるのが、 初級で学習したMACアドレスです。
L2スイッチという機器の名前を覚えるだけではなく、 「L2スイッチはEthernetフレームのMACアドレスを確認し、 適切なポートへフレームを転送する」 という基本動作を説明できる状態を目指します。
L2スイッチとは?
L2スイッチとは、 LAN内の機器同士を接続し、Ethernetフレームを転送するネットワーク機器 です。
「L2」のLはLayer(レイヤー)を意味しており、 OSI参照モデルの 第2層「データリンク層」 で動作することからL2スイッチと呼ばれます。
L2スイッチは、 MACアドレスを利用してEthernetフレームを転送する機器 と理解しましょう。
L2スイッチはLAN内の機器を接続する
たとえば、社内LANに3台のPCがあるとします。
PC-AからPC-Bへデータを送りたい場合、 PC-AはEthernetフレームをL2スイッチへ送信します。
L2スイッチは受信したフレームを確認し、 PC-Bが接続されているポートへ転送します。
昔のハブとL2スイッチは何が違う?
L2スイッチの役割を理解するうえで、 リピータハブ(ハブ)との違いを知っておくと分かりやすくなります。
ハブは受信した信号を、 基本的に他のすべてのポートへ送信します。
一方、L2スイッチはMACアドレスを利用して、 必要なポートへフレームを転送できます。
受信した信号を他のポートへ送る。 宛先MACアドレスを見て転送先を選択するわけではない。
MACアドレスを利用して、 フレームを適切なポートへ転送する。
L2スイッチはEthernetフレームのどこを見る?
初級で学習したように、 LAN内ではEthernetフレームを使ってデータをやり取りします。
Ethernetフレームには、 送信元MACアドレスと 宛先MACアドレスが含まれています。
L2スイッチは、 このMACアドレス情報を利用してフレームを処理します。
「このフレームは誰から来たのか」を表します。
「このフレームを誰へ届けたいのか」を表します。
L2スイッチはどうやって転送先を判断する?
ここがL2スイッチを理解するうえで最も重要なポイントです。
L2スイッチは、 接続されている端末のMACアドレスとポートの対応関係を学習します。
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アドレステーブルを確認します。
L2スイッチの転送には3つの基本パターンがある
L2スイッチのフレーム転送を理解するときは、 大きく次の3パターンを押さえておくと理解しやすくなります。
宛先MACアドレスが分かっている場合、 対応するポートへ転送します。
宛先MACアドレスがテーブルにない場合、 受信ポート以外へフラッディングします。
ブロードキャストフレームは、 同一VLAN内の受信ポート以外へ転送されます。
① 宛先が分かっている場合
MACアドレステーブルに宛先MACアドレスが登録されていれば、 対応するポートだけへフレームを転送できます。
② 宛先が分からない場合
では、MACアドレステーブルに 宛先MACアドレスが存在しなかったらどうなるでしょうか。
この場合、L2スイッチは フレームを受信したポートを除く、同一VLAN内のポートへフラッディング します。
L2スイッチが宛先MACアドレスを知らない場合、 すぐにフレームを破棄するわけではありません。 受信ポート以外へフラッディングして宛先へ届けようとします。
③ ブロードキャストの場合
宛先MACアドレスが FF:FF:FF:FF:FF:FF のブロードキャストフレームも、 同一VLAN内の受信ポート以外へ転送されます。
初級で学習したARP Requestなどが代表例です。
L2スイッチではポートごとに通信を分離できる
L2スイッチでは、 基本的に各ポートがそれぞれ独立した コリジョンドメインになります。
リピータハブを利用していたネットワークと比較すると、 通信を効率的に扱えるようになります。
L2スイッチだけではブロードキャストドメインは分割されない
ここは初学者が混乱しやすいポイントです。
通常のL2スイッチで同じVLANに接続されている端末は、 同じブロードキャストドメインに属します。
ブロードキャストドメインを論理的に分割する代表的な技術が VLANです。
VLANについては、 ネットワーク中級の後続記事で詳しく学習します。
理解度チェック:L2スイッチの転送先を選んでみよう
実際にL2スイッチになったつもりで、 Ethernetフレームをどこへ転送するか考えてみましょう。
L2 Switch Forwarding Simulator
AA-AA
Port 1
BB-BB
Port 2
CC-CC
Port 3
このフレームをL2スイッチはどこへ転送する?
MACアドレステーブルとDestination MACを確認して考えてみましょう。
もう一問:知らないMACアドレスだったら?
MACアドレステーブルには DD-DDが登録されていません。 L2スイッチはどうするでしょうか?
宛先MACアドレスを知らない場合の動作を考えてみましょう。
実際のスイッチではMACアドレステーブルを確認できる
Cisco IOSを使用するスイッチでは、 たとえば次のコマンドでMACアドレステーブルを確認できます。
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スイッチの動作を理解していると原因を切り分けやすくなります。
ケーブルや接続ポート、 リンク状態などを確認します。
MACアドレステーブルから、 端末のMACアドレスを確認できます。
VLAN設定が異なると、 想定したL2通信ができないことがあります。
確認問題:L2スイッチの基本を理解できたか確認しよう
L2スイッチがフレーム転送で主に利用する情報はどれですか?
L2スイッチはOSI参照モデルのデータリンク層で動作し、 MACアドレスを利用してEthernetフレームを転送します。
宛先MACアドレスがMACアドレステーブルに存在しない場合、 L2スイッチの基本的な動作はどれですか?
未知のユニキャストフレームの場合、 同一VLAN内の受信ポート以外へフラッディングします。
通常、同一VLANのL2スイッチだけで分割されないものはどれですか?
L2スイッチではポートごとにコリジョンドメインが分かれますが、 同じVLAN内ではブロードキャストドメインは分割されません。
3問に挑戦してみましょう。
まとめ
L2スイッチは LAN内でEthernetフレームを転送するネットワーク機器
OSI参照モデルの 第2層(データリンク層) で動作する
フレームに含まれる MACアドレス を利用して転送先を判断する
宛先MACアドレスが不明な場合は 受信ポート以外へフラッディング する
MACアドレスとポートの対応関係は MACアドレステーブル に保持される
次は「MACアドレステーブルの仕組み」を理解しよう
L2スイッチがMACアドレスを利用して フレームを転送することは理解できました。
ではL2スイッチは、 「どのMACアドレスが、どのポートの先に存在するのか」 をどうやって知るのでしょうか?
次の記事では、 MACアドレスの学習(Learning)・転送(Forwarding)・ フラッディング(Flooding)・エージング(Aging)を使って、 MACアドレステーブルが作られる仕組みを詳しく学習します。
MACアドレステーブルの仕組みを理解する →
