MACアドレスの役割:L2スイッチから見るIPアドレスとの違い
スイッチングハブ、LANカード、ルーターなどのネットワーク機器間の相互通信を実現するために、互いの「存在」と「住所」を知らなければならない。
その「存在」と「住所」を記したのMACアドレスである。
MACアドレスとは
MACアドレスの構成
通常のMACアドレスは48ビット(6バイト)で構成され、「XX-XX-XX-XX-XX-XX-XX」という12桁の形式で表される。
前半の6桁(上位の24ビット)がベンダーコード (OUI:Organizationally Unique Identifier)と呼ばれ、各ベンダーに割り当てられた固有番号である。
後半の6桁(下位の24ビット)は製品ごとに割り当てたアドレスである。
上記の図に示すように、前半6桁でメーカーやブランドが判別できる。後半の6桁を参考に、所属ネットワーク機器の型番や詳細が分かるはず。
MACアドレスに基づくデータリンク層(L2)での通信
データリンク層でのパケット通信、いわゆるレイヤ2スイッチの動作はMACアドレスに依存すると言っても過言ではない。
レイヤ2スイッチが正常に動作するために、接続しているネットワーク機器の所在を把握する必要がある。つまり、どのポートにどのホストが繋がっているのか、そのネットワーク機器のMACアドレスなどの情報を学習して、フレームの送受信を中継する。
起動時MACアドレスの学習・フラッディング
例えば、送信元のホストAのMACアドレスが「A1-A2-A3-00-00-01」、受信先のホストBのMACアドレスが「A1-A2-A3-00-00-02」。
ホストAからホストBにフレームを送信する場合、レイヤ2スイッチはフレームの中に含まれるMACアドレスの関連情報(送信元MACアドレス、宛先のポート番号、所属VLANなど)をキャッシュして、所持のMACアドレステーブルに記録しておく。
受信先のMACアドレスが分からないため、スイッチングハブは送信先ホストAを除くすべてのポートにフレームを転送する。この動作はフラッディングと言う。
スイッチングハブのフィルタリング機能
次に、ホストBからホストAへ送信してみる。前述の動作と同様にホストBはMACアドレステーブルにキャッシュされる。
宛先であるホストAのMACアドレスが記録されているため、従ってフレームはホストAのみに転送される。この動作はフィルタリングと呼ばれる。
ちなみに、一定時間内にホストAとホストBの相互通信が発生しなければ、MACアドレステーブルから双方のMACアドレスが削除される。この動作はエージング(デフォルト設定は300秒)と言う。
IPアドレスとは
誤解されがちですが、同じく通信相手を特定する手段だけれど、IPアドレスとMACアドレスは違う意味を持つ。
MACアドレスは隣接するネットワーク機器間の通信を可能にする識別番号である。
それに対して、IPアドレスはインターネット上の通信を可能にするために使用される番号で、「ネットワーク上の住所」とも呼ばれる。一番よく見られたIPアドレスは「192.168.1.1」だろう。
フレーム転送から見る、IPアドレスとMACアドレスの違い
フレーム転送を荷物の運送に例えると:
IPアドレスは宛先、いわゆる「最終目的地」を知らせる情報。
に対して、MACアドレスは「次に届くべき場所」を示してくれる
MACアドレスの変更
通常、MACアドレスの変更はできません。
世界唯一の固有な識別番号として、MACアドレスの変更はネットワークの故障に繋がりかねない。
ただし、PCではMACアドレスを変更することも可能である。
MACアドレステーブルの更新
ネットワーク機器の新設に伴って、ポートの接続情報は常に更新している。スイッチングハブは送信元のMACアドレスを学習し、アドレステーブルをダイナミックに更新する。