MACアドレステーブル まっくあどれすてーぶる
簡単に言うとこんな感じ!
スイッチが「どのポートにどの機器がつながっているか」を覚えておく住所録みたいなものだよ!これがあるから、スイッチは届いたデータを必要なポートだけに送れるんだ。なければ全部屋に叫ぶ羽目になっちゃう!
MACアドレステーブルとは
MACアドレステーブルとは、ネットワークスイッチが持つ対応表のことで、「どのMACアドレスを持つ機器が、どのポートに接続されているか」を記録したデータベースです。スイッチはこの表を参照することで、受け取ったフレーム(データの塊)を適切なポートだけに転送できます。
MACアドレスとは、ネットワーク機器(PCやスマートフォン、プリンターなど)のネットワークカードに製造時から割り当てられた固有の識別番号です(例:00:1A:2B:3C:4D:5E)。スイッチはこの番号を手がかりに「このデータは何番ポートに転送すればいい」と判断します。
MACアドレステーブルがないと、スイッチは届いたフレームをすべてのポートに一斉送信(フラッディング)するしかなく、ネットワーク全体の負荷が増大します。MACアドレステーブルはネットワークを効率的に動かすための、スイッチの「頭脳」とも言えます。
仕組みと動作フロー
MACアドレステーブルは、スイッチが自動的に学習・更新します。この一連の動作を理解することが、スイッチングの基本です。
| フェーズ | 動作 | 説明 |
|---|---|---|
| 学習(Learning) | 送信元を記録 | フレームを受け取ると、送信元MACアドレスと受信ポート番号を表に登録する |
| 転送(Forwarding) | 宛先ポートへ送信 | 宛先MACアドレスが表に存在すれば、対応するポートだけに転送する |
| フラッディング(Flooding) | 全ポートへ一斉送信 | 宛先MACアドレスが表に存在しない場合、全ポートに送信して反応を待つ |
| エージング(Aging) | 古い情報を削除 | 一定時間(デフォルト300秒)通信がなければその記録を削除する |
覚え方:「学習→確認→転送→忘却」の4ステップ
スイッチの動きは「学ぶ・調べる・送る・忘れる」のサイクル。人間の記憶と同じで、使われなくなった情報は自動的に消えていきます(エージング)。このおかげでネットワーク構成が変わっても表が古いまま残り続けることを防げます。
テーブルの中身のイメージ
+-------------------+---------+--------+
| MACアドレス | ポート | 経過秒 |
+-------------------+---------+--------+
| 00:1A:2B:3C:4D:5E | Port 1 | 120秒 |
| 11:22:33:44:55:66 | Port 3 | 45秒 |
| AA:BB:CC:DD:EE:FF | Port 5 | 280秒 |
+-------------------+---------+--------+
↑ 300秒を超えると自動削除(エージング)
歴史と背景
- 1980年代初頭:初期のネットワーク機器は「ハブ」が主流。ハブはすべてのポートに一斉送信するだけで、転送の判断機能を持たなかった
- 1990年代:「ブリッジ」という機器が登場し、2ポート間でMACアドレスを学習して転送を効率化。MACアドレステーブルの原型となる「ブリッジテーブル」が誕生
- 1990年代後半:多ポートのブリッジとしてスイッチングハブ(スイッチ)が普及。MACアドレステーブルの仕組みがそのままスイッチに継承された
- 現在:企業ネットワークではハブはほぼ絶滅し、スイッチが標準。MACアドレステーブルはVLANごとに管理されるなど、より高度な機能を持つようになった
スイッチとハブの違い:MACアドレステーブルがあるかどうか
MACアドレステーブルの有無が、スイッチとハブの最大の違いです。
フラッディングが起きる3つのケース
スイッチでも以下の場合はフラッディングが発生します。これは正常な動作ですが、過剰になるとネットワーク負荷の原因になります。
| ケース | 説明 |
|---|---|
| 宛先不明 | MACアドレステーブルに宛先が登録されていないとき |
| ブロードキャスト | 宛先がFF:FF:FF:FF:FF:FF(全員宛)のフレーム |
| マルチキャスト | 特定グループ全員宛のフレーム(設定によって異なる) |
関連する規格・RFC
| 規格・RFC番号 | 内容 |
|---|---|
| IEEE 802.1D | スパニングツリープロトコル(STP)を含むブリッジング全般の規格。MACアドレステーブルの動作基盤 |
| IEEE 802.1Q | VLANタギングの規格。VLANごとにMACアドレステーブルを分離管理する仕組みを定義 |
| RFC 7048 | Neighbor Unreachability Detection(NUD)に関連するMACアドレス解決の挙動について |