目的
「MACアドレス」は、インフラエンジニアとして知っておくべき必須の用語です。
同一LAN上でのネットワーク機器間の通信(イーサネット)で使用されるアドレスなのですが、ネットワークエンジニアだけでなく、サーバエンジニアにとっても日頃の実務でよく出てくる用語の1つです。
記事を通して「MACアドレス」とは何か、どのようにして「MACアドレス」を使用した通信をネットワーク機器同士で行うか理解していきましょう。
*イーサネットについて知りたい方はこちら「https://lovelabengineer.com/2026/08/26/イーサネット(ethernet)について_osi基本参照モデル第1/」
MACアドレスとは
「MACアドレス」は、同一LAN上の通信で通信相手を識別するためのアドレスで、ネットワーク機器に固有で割り当てられています。
ネットワーク機器の1つ1つに割り当てられた16進数12桁の固有の番号(アドレス)です。前半の6桁は「メーカー名」、後半の6桁は「製品の固有の番号」になります。
(例)12:34:AB:56:78:CD
「MACアドレス」はスイッチにとってはなくてはならない存在です。
例えば、送信元Aが送信先Bにフレームを送信する際、スイッチは送信元Aから送信されたフレームに付加されている「宛先MACアドレス」を見て送信先の機器とそれに紐づくインタフェースを特定し、フレームを送信します。
MACアドレステーブルとは
スイッチは「宛先MACアドレス」を見て該当の機器にフレームを送信しますが、これを実現するには「機器」と「MACアドレス」の対応表をスイッチ内で持っておく必要があります。
この対応表が「MACアドレステーブル」です。

この「MACアドレステーブル」はユーザが作成する必要はなく、機器間の通信を通じて自動でスイッが行います。
例えば、ある「機器A」から「機器B」にフレームを送信する際、スイッチは自身を通過するフレームを学習して「機器Aが接続されたスイッチ上のインタフェース」と「機器AのMACアドレス」を対応づけてテーブルに記載します。
これによりスイッチは「MACアドレス〇〇(機器A)はこのインタフェースに接続されている…..」と理解できます。
フラッディングとは
しかし、上記の方法では事前にフレームを送信した機器のMACアドレスしかスイッチは知りません(MACアドレステーブルに情報がない)。
仮に「宛先MACアドレス」に一度もフレーム送信を行ったことがない機器を指定したらどうなるでしょう。スイッチは受け取ったフレームをどこに送信すればいいか分かりません。
その場合、スイッチはフレームを受信したインタフェース(送信元機器が接続されたインタフェース)以外の全てのインタフェースにフレームを送信します。該当のMACアドレスを持つ機器はそのフレームを受け取り、それ以外の機器はフレームを破棄します。

その後、スイッチはその結果を「MACアドレステーブル」に記載します。
「スイッチがフレームを受信したインタフェース(送信元機器が接続されたインタフェース)以外の全てのインタフェースにフレームを送信すること」をフラッディングと言います。

フォワーディングとは
通常、スイッチはフレームを受信すると、その「宛先MACアドレス」と「MACアドレステーブル」を参照して該当のインタフェースにフレームを送信します。
これを「フォワーディング」と言います。

エージングタイムとは
「MACアドレステーブル」に登録された「MACアドレス」は一定時間、その「MACアドレス」を送信元とするフレームを受け取らないと「MACアドレス」情報を削除します。
この「MACアドレスをテーブルに保持する時間」を「エージングタイム」と言います。
「エージングタイム」はスイッチ上で任意の時間を指定できます。
まとめ
MACアドレスはイーサネットプロトコルの通信では不可欠です。
CCNAを受験する方やネットワークを始めたばかりの方はこのMACアドレスの仕組みは必ず忘れないようにしておきましょう。
コメント