MACアドレスとは?L2通信の仕組み・IPアドレスとの違いを図解で解説

  • URLをコピーしました!

前の記事では、TCP/IPモデルを使って HTTP・TCP・IP・Ethernetがそれぞれ異なる役割を担当している ことを学びました。

その中で、TCP/IPモデルの最下層にあたる ネットワークインターフェース層では、 Ethernetなどを利用して実際にLAN内でデータを転送します。

ここで重要になるのが、 MACアドレス(Media Access Control Address)です。

MACアドレスを学び始めると、多くの初学者が次の疑問を持ちます。

「機器にはIPアドレスもあるのに、 なぜMACアドレスまで必要なの?」

この疑問を解消すると、 Ethernet、L2スイッチ、IPアドレス、ルーターなど、 これから学習するネットワーク技術同士の関係が見えやすくなります。

🌐 NETWORK BEGINNER

この記事はネットワーク初級講座の一部です。 学習順を確認したい場合は講座一覧から確認できます。

ネットワーク初級講座を見る →
LESSON GOAL この記事のゴール

MACアドレスの形式を覚えるだけではなく、 「同じLAN内でEthernetフレームが どの機器へ届けられるのか」 をイメージできる状態を目指します。

目次

MACアドレスとは?

MACアドレスとは、 Ethernetなどのデータリンク層(L2)の通信で、 ネットワークインターフェースを識別するために使われるアドレス です。

一般的なEthernetのMACアドレスは 48ビット(6バイト)で構成され、 次のような形式で表されます。

MAC ADDRESS 00:1A:2B:3C:4D:5E

16進数で12桁の値が並び、 環境によってコロンやハイフンなどで区切って表示されます。

まず覚えること

MACアドレスは、 主に同じL2ネットワーク上でEthernetフレームを届けるために使われる情報 です。

MACアドレスはOSI参照モデルの第2層で使われる

以前学んだOSI参照モデルでは、 MACアドレスは 第2層(データリンク層) と深く関係します。

L4 トランスポート層 TCP / UDP・ポート番号
L3 ネットワーク層 IPアドレス
L2 データリンク層 MACアドレス ← 今ここ
L1 物理層 信号・ケーブルなど

TCP/IPモデルでは、 Ethernetなどの機能は ネットワークインターフェース層 として整理されます。

つまり、前の記事で学習したTCP/IPモデルの最下層を もう少し詳しく見ているのが今回の記事です。

IPアドレスがあるのに、なぜMACアドレスが必要なのか

MACアドレスを理解するうえで、 ここが最も重要なポイントです。

IPアドレスとMACアドレスは、 どちらも通信相手を識別するために使われますが、 使われる階層と役割が異なります。

L2
🔀

MACアドレス

L2上の転送先を識別

Ethernetなどで、 フレームをどのインターフェースへ届けるのかを判断するときに使われます。

AA:BB:CC:DD:EE:FF
L3
🌐

IPアドレス

ネットワーク上の通信相手を識別

異なるネットワークを越えて、 最終的な通信相手へデータを届けるために使われます。

192.168.1.20
今はこの違いを理解すればOK

L2ではMACアドレスL3ではIPアドレス が重要になります。 IPアドレスについては次の記事で詳しく学習します。

同じLAN内ではMACアドレスを使ってフレームを届ける

具体的な通信を見てみましょう。

同じLANの中にPC-AとPC-Bがあるとします。

💻 PC-A IP:192.168.1.10 MAC:AA-AA-AA-AA-AA-AA
🔀 L2 Switch フレームを転送
💻 PC-B IP:192.168.1.20 MAC:BB-BB-BB-BB-BB-BB

PC-AからPC-BへEthernetフレームを送る場合、 フレームには送信元MACアドレスと宛先MACアドレスが含まれます。

SOURCE MAC AA-AA-AA-AA-AA-AA
DESTINATION MAC BB-BB-BB-BB-BB-BB
DATA IP Packet など

L2スイッチは、 この宛先MACアドレスを確認して、 適切なポートへEthernetフレームを転送します。

MACアドレスはEthernetフレームに含まれる

Ethernetでは、 データをフレーム(Ethernetフレーム) という単位で転送します。

細かなフィールドはありますが、 初学者の段階では次のようなイメージを持っておけば十分です。

DESTINATION MAC 宛先MAC
SOURCE MAC 送信元MAC
TYPE 種別
DATA IP Packetなど
FCS 誤り検出

つまり、 IPパケットなどのデータをEthernetで運ぶ際に、 その外側へ 送信元MACアドレスや宛先MACアドレスなどのL2情報 が付けられます。

L2スイッチはMACアドレスを見てフレームを転送する

L2通信で重要な機器が L2スイッチです。

スイッチは、 受信したフレームの送信元MACアドレスなどから 「どのMACアドレスの機器がどのポート側にいるのか」を学習します。

💻 PC-A AA-AA Port 1
🔀 L2 Switch MAC Address Table
💻 PC-B BB-BB Port 2

学習した情報は、 MACアドレステーブル などと呼ばれるテーブルに保持されます。

MACアドレス ポート
AA-AA Port 1
BB-BB Port 2
CC-CC Port 3

たとえば宛先MACアドレスが BB-BBのフレームを受信すると、 スイッチはMACアドレステーブルを確認します。

BB-BBがPort 2に存在すると分かっていれば、 フレームをPort 2へ転送できます。

宛先MAC BB-BB MAC Table Port 2 Port 2へ転送

宛先MACアドレスをスイッチが知らない場合はどうなる?

では、宛先MACアドレスが MACアドレステーブルに登録されていなかった場合はどうなるでしょうか。

このようなフレームは Unknown Unicast(未知のユニキャスト) として扱われます。

L2スイッチは基本的に、 受信したポートを除く同一VLAN内のポートへ フレームを転送します。

💻 PC-A
🔀 Switch 宛先不明
→ PC-B
→ PC-C
→ PC-D

この動作を フラッディング と呼びます。

その後、通信によってMACアドレスを学習すれば、 以降は必要なポートへ絞って転送できるようになります。

MACアドレスにはブロードキャストアドレスもある

Ethernetでは、 特定の1台だけではなく、 同じL2ネットワーク上の端末全体へフレームを送る場合もあります。

そのとき利用される代表的なアドレスが ブロードキャストMACアドレスです。

BROADCAST MAC ADDRESS FF:FF:FF:FF:FF:FF

同じブロードキャストドメイン内へ フレームを送信するために利用されます。

今の段階では、 「FFが6個並んだMACアドレスはブロードキャスト」 と覚えておけば十分です。

MACアドレスはどのような形式になっている?

一般的なEthernet MACアドレスは48ビット、 つまり6バイトで構成されています。

8bit 00
8bit 1A
8bit 2B
8bit 3C
8bit 4D
8bit 5E

合計すると、

8bit × 6 = 48bit

MACアドレスの一部には、 ネットワーク機器のベンダーを識別する OUI(Organizationally Unique Identifier) が関係しています。

ただし、MACアドレスの割り当て方式や ローカルアドレスなどの詳細まで、 この段階で暗記する必要はありません。

MACアドレスは絶対に変更できない?

初心者向けの説明では、 MACアドレスを 「機器固有の変更できない番号」 と表現することがあります。

しかし、これは完全に正確ではありません。

MACアドレス=絶対に変更できない番号、ではない

ネットワークインターフェースにはMACアドレスが割り当てられていますが、 OS・仮想マシン・スマートフォンなどでは、 別のMACアドレスを設定・生成して利用するケースもあります。

特に近年のスマートフォンなどでは、 プライバシー保護のためにWi-Fi接続時のMACアドレスを ランダム化する機能もあります。

初級では、 「EthernetなどのL2通信でインターフェースを識別するためのアドレス」 と理解しておけば問題ありません。

ここで実際に試してみよう:L2スイッチの転送先を判断しよう

ここまでの内容を使って、 スイッチがEthernetフレームをどのポートへ転送するのか確認してみましょう。

宛先MACアドレスを選択すると、 MACアドレステーブルを参照した結果が表示されます。

INTERACTIVE LAB

MACアドレス転送シミュレーター

L2
MAC ADDRESS TABLE
AA-AA Port 1
BB-BB Port 2
CC-CC Port 3

フレームの宛先MACアドレスを選択してください。

SWITCH DECISION

Port 2へ転送

宛先MACアドレスBB-BBはMACアドレステーブルに登録されています。 BB-BBはPort 2に存在するため、スイッチはフレームをPort 2へ転送します。

理解度チェック:MACアドレスとIPアドレスを区別してみよう

次は、 どの情報がL2で使われ、 どの情報がL3で使われるのかを確認します。

値をクリックしてください

MACアドレスなのかIPアドレスなのか確認してみましょう。

MACアドレスは実際のネットワーク運用でも確認する

MACアドレスは、 資格試験のためだけに覚える知識ではありません。

実際のネットワーク運用やトラブルシューティングでも、 頻繁に確認する情報です。

CASE 01 端末はどのスイッチポートにいる?

MACアドレステーブルから、 特定の端末がどのポート側で学習されているか確認できます。

CASE 02 MACアドレスは学習されている?

通信できない端末のMACアドレスが スイッチに正しく学習されているか確認できます。

CASE 03 L2でどこまで通信できている?

VLANやスイッチポートなど、 L2ネットワークの切り分けにも利用できます。

確認問題:MACアドレスとL2通信を理解できたか確認しよう

最後に3問の確認問題へ挑戦してみましょう。

QUESTION 01

MACアドレスと特に関係が深いOSI参照モデルの層はどれですか?

正解:B

MACアドレスはEthernetなどの 第2層(データリンク層)の通信で重要になる情報です。

QUESTION 02

L2スイッチがEthernetフレームの転送先を判断するとき、 主に利用する情報はどれですか?

正解:C

L2スイッチはMACアドレステーブルと Ethernetフレームの宛先MACアドレスなどを利用して 転送先ポートを判断します。

QUESTION 03

EthernetのブロードキャストMACアドレスはどれですか?

正解:A

FF:FF:FF:FF:FF:FFは、 Ethernetで利用されるブロードキャストMACアドレスです。

YOUR SCORE 0 / 3

3問に挑戦してみましょう。

MACアドレスを理解したら、次はIPアドレスを理解しよう

ここまでで、 MACアドレスを使って 同じL2ネットワーク上でEthernetフレームを転送する仕組み を理解しました。

しかし、ネットワーク通信では 同じLAN内だけでなく、 別のネットワークに存在する端末とも通信する必要があります。

そこで重要になるのが、 OSI参照モデルの第3層で利用される IPアドレスです。

CURRENT MACアドレス L2通信

次の記事では、 IPv4アドレスの基本的な構造や、 ネットワーク部・ホスト部、 プライベートIPアドレスなどを学習していきます。

まとめ

今回は、MACアドレスとL2通信の基本について解説しました。

01

MACアドレスは EthernetなどのL2通信で利用される識別情報

02

一般的なEthernet MACアドレスは 48ビット(6バイト) で構成される

03

L2スイッチは 宛先MACアドレスとMACアドレステーブル を利用してフレームを転送する

04

宛先MACアドレスが未知の場合、 スイッチは同一VLAN内へ フラッディングする

05

MACアドレスはL2、 次に学ぶIPアドレスはL3で重要になる

NEXT LESSON

次は「IPアドレスとは?IPv4の基本を理解する」を学びましょう

MACアドレスを使ったL2通信を理解したら、 次は異なるネットワークを越えて通信するために重要となる IPアドレスを学びます。 IPv4アドレスの構造やネットワーク部・ホスト部を理解すると、 ルーターがどのように通信先を判断するのかも理解しやすくなります。

次のレッスンへ進む
NETWORK BEGINNER

ネットワーク初級の学習一覧へ戻る

他のレッスンを確認したい場合は、 ネットワーク初級講座の一覧ページへ戻りましょう。

ネットワーク初級講座へ戻る
目次