つい最近、とんでもない経験をしました。
某社のブロードバンドルータ(以降 BB ルータ)2 台を使って、
ネットワーク検証を実施したいたのですが、
どうにもうまいこと通信が出来ない。
色々と切り分けを行った結果、なんと BB ルータ 2 台の MAC アドレスが
まったく同じであることが発覚。。。
MAC アドレスは世界で一意の値であることは、半ば当然のことだと
思い込んでいただけに、さすがにこれは驚きました。
当然、メーカにクレームを出すのですが、せっかくなので
同じ MAC アドレスの機器をスイッチに接続してみると
どうなるのかを確認してみました。
実際に実験を始める前に、スイッチの動作についておさらいしておこう。
スイッチは、L2(レイヤ 2)スイッチとも呼ばれていて、
受信したフレームの先頭にあるイーサネット・ヘッダにある
宛先 MAC アドレスをチェックして、その MAC アドレスが
接続されているポートにだけフレームを転送します。
ハブのように、フレームを受信したポート以外の全ポートに
フレームを転送するなんてことはしないため、
ネットワーク上に余計なフレームが流れないのが特徴。
PC を 3 台接続した環境で、MAC アドレス学習のやり取りを
見てみましょう。
まず、まったく通信をしていない状態だと、スイッチは
すべての MAC アドレスを学習していませんので、
MAC アドレステーブルも空っぽです。
PC-A から PC-B へ通信を行うと、スイッチは
宛先 MAC アドレスが PC-B のフレームを受信します。
スイッチは宛先 MAC アドレスと自身の MAC アドレステーブルを
比較し、その MAC アドレスがどのポートにあるのかをチェックします。
しかし、MAC アドレステーブルは空っぽですので、
受信したフレームは受信したポート以外の全ポートへ転送します。
スイッチはこの時に、送信元 MAC アドレスとフレームを
受信したポート番号の組み合わせを MAC アドレステーブルに登録します。
先ほどのフレームを受信した PC-B が PC-A
へフレームを返信したとします。
そのフレームを受信したスイッチは、宛先 MAC アドレスを参照し、
自身の MAC アドレステーブルをチェックします。
MAC アドレステーブルには、PC-A のテーブルがあるため、
該当のポートにのみフレームを転送します。
そして、送信元である PC-B の MAC アドレスと、
受信したポート番号の組み合わせを MAC アドレステーブルへと登録します。
スイッチはこのようにして、MAC アドレスの学習を繰り返して、
効率良く通信を行っています。
さて、スイッチの動作を理解したところで、
早速同じ MAC アドレスを持つ 2 台の機器をスイッチに接続して検証してみましょう。
構成は以下のように接続してみました。
次回はこの構成で実際に検証してみます。