MACアドレス重複時のネットワークの動き

MACアドレスが重複した際、ネットワークではどのような動きになるのかをまとめてみた。

発生する事象

まず、以下のようなネットワーク構成でMACアドレスが重複した場合にどういった事象が発生するのか。

サーバAとサーバBがあり、それぞれに同一セグメントの別IPアドレスがふられている。 しかし、NICのMACアドレスは同じものが設定されてしまっている状態。接続はL2スイッチ相当で行われている。

この状態でクライアント機からサーバA、サーバBに同時にpingを実行すると、以下のような状態になる。

この状態はずっと続くわけではなく、ブロードキャストが行われるごとにサーバAとサーバBの状態が入れ替わる、つまりサーバAが疎通できず、サーバBが疎通出来る状態になる。

ではMACアドレスが重複しているものどうし、この例ではサーバAとサーバBで疎通が可能かというと、ブロードキャストが行われても疎通される事は無い。

原因

上記事象をみて、分かる人は分かると思うんだけどスイッチ上で保有している「ARPテーブル(MACアドレステーブル)」上でMACアドレスが重複して存在出来ず、MACアドレス1個ごとに1回線しか疎通出来なくなっている事が要因となる。

L2スイッチやスイッチングハブは、自分自身の中でどのポートの接続先にどういったMACアドレスがあるかを保持しており、目的のポート以外には通信を送らないようになっている。

では、実際にはどういった形でMACアドレスを持っているのか。
自宅で使用しているCiscoのCatalyst 2940で確認。

以下のコマンドを実行する。

show mac-address-table

このMACアドレスとポートの対応は、ブロードキャストを受けるたびに更新されていく。
このため、IPアドレス重複時と違い疎通が取れたり取れなかったりといった事象が発生する。

では影響範囲はどの程度かというと、これはあくまでもL2スイッチを経由した通信で発生するので、ルーターをまたいで重複しているのであれば影響は無い。