InfraAcademy

InfraAcademy Blog

MACアドレスとは?MACアドレスの概要や用途、確認方法など詳しく解説【ネットワーク基礎講座】

| #ネットワーク #ITパスポート講座 #ネットワーク基礎講座
Linuxをブラウザで試してみる

Linux・ネットワーク・AWSを、環境構築なしで実践学習できます

こんにちは、インフラエンジニアのryuです。

今回の記事では、MACアドレスとは何かを、ネットワーク初心者向けにわかりやすく解説します。

ネットワークを学び始めると、IPアドレスと一緒にMACアドレスという言葉が登場します。

「どちらも機器を識別する番号なら、何が違うの?」 「MACアドレスはパソコンに1つだけ付いているの?」 「どのような場面で使われているの?」

このように疑問を感じる方も多いのではないでしょうか。

最初に結論をまとめると、MACアドレスは、LAN内で通信相手を識別するためにネットワークインターフェースへ割り当てられる識別子です。IPアドレスがネットワーク上の場所を示すのに対し、MACアドレスは同じLAN内でデータを届けるために使われます。

ARPやスイッチの動作とあわせて、順番に確認していきましょう。

MACアドレスとは?

MACアドレスは何のために使うのか?

同じLAN内で、通信相手のネットワークインターフェースを識別するために使います。

MACアドレスは、Media Access Control Addressの略です。

一般的には、LANポートや無線LANなどのネットワークインターフェースごとに割り当てられる識別子を指します。イーサネットやWi-Fiによる通信では、データを同じLAN内の相手へ届けるために利用されます。

「パソコンに1つだけ付いている番号」と説明されることがありますが、厳密にはパソコン本体ではなく、通信を行うインターフェースに割り当てられます。

たとえば、有線LANとWi-Fiの両方を利用できるパソコンには、それぞれ別のMACアドレスがあります。USB接続のLANアダプターを追加した場合は、そのアダプターにも別のMACアドレスが割り当てられます。

スマートフォン、サーバー、ルーター、プリンター、ゲーム機などでもMACアドレスが使われています。

MACアドレスの表記

一般的なMACアドレスは48ビットで構成され、16進数12桁で表します。

FC-3F-DB-12-34-56
FC:3F:DB:12:34:56
fc3f.db12.3456

ハイフン、コロン、ピリオドなど、区切り方はOSや機器によって異なりますが、表している値は同じです。

16進数では、0から9までの数字とAからFまでの英字を使います。2桁で8ビットを表し、それが6組並んで48ビットになります。

MACアドレスとIPアドレスの違い

IPアドレスとMACアドレスは、どのように使い分けるのか?

IPアドレスは通信先のネットワークを判断し、MACアドレスは同じLAN内でデータを届けるために使います。

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

比較項目 MACアドレス IPアドレス
主な役割 同じLAN内の通信相手を識別する ネットワーク上の通信先を識別する
主に使われる層 データリンク層・レイヤー2 ネットワーク層・レイヤー3
主な対象 ネットワークインターフェース ネットワーク上の機器や接続先
変更 固定の場合も変更される場合もある 接続先によって変わることが多い
関連技術 Ethernet、Wi-Fi、ARP、スイッチ IPv4、IPv6、ルーティング、ルーター

たとえば、ノートパソコンを自宅のWi-Fiから会社のWi-Fiへ接続し直すと、通常はIPアドレスが変わります。接続するネットワークが変わるためです。

一方、工場出荷時に設定されたMACアドレスは同じ値が使われることがあります。ただし、MACアドレスは絶対に変更できないわけではありません。OSの設定で別の値へ変更したり、プライバシー保護のためにランダムなMACアドレスを使用したりする場合があります。

そのため、MACアドレスを人や端末を永久に特定できる番号だと考えるのは正確ではありません。

MACアドレスはどのようなときに使われる?

MACアドレスは、主に同じLAN内でイーサネットフレームを届けるときに使用されます。

パソコンからデータを送るときは、IPアドレスだけでなく、同じLAN内で次にデータを渡す相手のMACアドレスも必要です。

同じネットワークにある相手へ通信する場合は、相手のMACアドレスを使用します。異なるネットワークへ通信する場合は、遠くのサーバーのMACアドレスではなく、まずデフォルトゲートウェイであるルーターのMACアドレスを使用します。

ルーターを越えるたびに、フレームの送信元MACアドレスと宛先MACアドレスは、その区間に合わせて付け替えられます。一方、通信元と通信先を表すIPアドレスは、通常そのまま引き継がれます。

ARPでIPアドレスとMACアドレスを対応させる

パソコンは、通信したい相手のIPアドレスが分かっていても、同じLAN内で使用するMACアドレスが分からないことがあります。

そこで、IPv4ではARPという仕組みを使います。

ARPはAddress Resolution Protocolの略で、IPアドレスに対応するMACアドレスを調べるためのプロトコルです。

たとえば、192.168.1.20へ通信したいとき、パソコンはLAN内へ「192.168.1.20を使用している機器は、MACアドレスを教えてください」と問い合わせます。該当する機器が自分のMACアドレスを応答すると、その情報を使ってフレームを送信します。

ARPでMACアドレスとIPアドレスを紐づけしている

一度確認した対応関係はARPテーブルへ一時的に保存されるため、通信のたびに問い合わせる必要はありません。

ARPについては、こちらの記事で詳しく解説しています。

ARPとは?IPアドレスからMACアドレスを調べる仕組み

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

同じLAN内で複数のパソコンをスイッチングハブへ接続すると、スイッチは受信したフレームの送信元MACアドレスを確認します。

そして、どのMACアドレスの機器がどのポートに接続されているかをMACアドレステーブルへ学習します。

宛先MACアドレスが登録されていれば、該当するポートだけへフレームを転送します。宛先が分からない場合やブロードキャストの場合は、受信したポート以外へフレームを送信します。

この仕組みによって、スイッチは同じLAN内の通信を効率よく中継できます。

ハブとルーターの違いとは?初心者向けに解説

MACアドレスの確認方法

次に自分のPCのMACアドレスを確認してみましょう。

OSのコマンドやネットワーク設定画面から確認できます。

Windowsで確認する

Windowsでは、コマンドプロンプトまたはPowerShellを開き、次のコマンドを実行します。

ipconfig /all

ipconfig/allの間には半角スペースを入れます。

出力されたネットワークアダプターの情報から、物理アドレスという項目を探してください。

MACアドレスの確認方法

有線LAN、Wi-Fi、仮想ネットワークアダプターなどが複数表示される場合があります。現在利用しているインターフェースの項目を確認しましょう。

次のコマンドでも一覧を確認できます。

getmac /v

macOSで確認する

macOSでは、ターミナルで次のコマンドを実行できます。

ifconfig

利用するインターフェースのetherに続く値がMACアドレスです。

Linuxで確認する

Linuxでは、次のコマンドを使用します。

ip link

各インターフェースのlink/etherに続く値がMACアドレスです。

link/ether 52:54:00:12:34:56

古い環境ではifconfigも使われますが、現在はipコマンドで確認する方法を覚えておくとよいでしょう。

MACアドレスの構成

MACアドレスは、一般的に前半と後半に分けて説明されます。

MACアドレスの構成

先頭側の24ビットは、OUIと呼ばれる識別子としてベンダーへ割り当てられることがあります。後半側は、ベンダーが製品やインターフェースを識別できるように割り当てます。

OUIはOrganizationally Unique Identifierの略です。OUIを確認すると、そのMACアドレスに関係するメーカーや組織を推測できる場合があります。

ただし、すべてのMACアドレスから端末メーカーを正確に判断できるわけではありません。仮想マシン、管理者が設定したローカルアドレス、スマートフォンのランダムMACアドレスなどでは、端末本体のメーカーと一致しない場合があります。

MACアドレスは変更されることがある

MACアドレスは工場出荷時に設定されることが多いものの、常に固定とは限りません。

Windows、macOS、iPhone、Androidなどには、Wi-Fi接続時にランダム化されたMACアドレスを使用する機能があります。公共のWi-Fiなどで、同じ端末が継続的に追跡されにくくするためです。

仮想マシンでは、仮想的なネットワークインターフェースへMACアドレスが自動的に割り当てられます。管理者が設定を変更することもあります。

このため、MACアドレスだけを使ったアクセス制限は、強力な本人確認にはなりません。MACアドレスフィルタリングは補助的な対策と考え、Wi-Fiでは適切な暗号化と認証を利用することが重要です。

MACアドレスを実際の通信で確認してみよう

MACアドレスは、用語だけを暗記するより、実際にコマンドを実行すると理解しやすくなります。

自分のパソコンのMACアドレスを確認した後、ARPテーブルを表示してみましょう。

Windowsでは次のコマンドを使います。

arp -a

Linuxでは次のコマンドを使います。

ip neigh

IPアドレスとMACアドレスの対応が表示されます。通信前後で結果を比較すると、ARPによって情報が登録される流れを確認できます。

InfraAcademyのネットワーク入門講座では、MACアドレス、ARP、IPアドレス、スイッチ、VLAN、ルーティングなどを基礎から学習できます。

ブラウザ上のネットワークシミュレーターを利用するため、専用ソフトをインストールする必要はありません。端末やスイッチ、ルーターを配置し、通信結果を確認しながらネットワークの仕組みを学べます。

サーバー上でネットワーク情報を確認する方法も学びたい方は、Linux入門講座がおすすめです。また、クラウド上のネットワークインターフェースやVPCを学びたい方は、AWS講座へ進むと、基礎知識を実務に近い構成へつなげられます。

MACアドレスとは?まとめ

今回は、MACアドレスについて解説しました。

  • MACアドレスは、ネットワークインターフェースを識別するために使われる
  • 一般的なMACアドレスは48ビットで、16進数12桁で表す
  • IPアドレスはネットワーク上の通信先、MACアドレスは同じLAN内の転送先を判断するために使う
  • IPv4では、ARPを使ってIPアドレスに対応するMACアドレスを調べる
  • スイッチはMACアドレスを学習し、必要なポートへフレームを転送する
  • MACアドレスは必ずしも固定ではなく、変更やランダム化が行われることもある

まずは、自分のパソコンでMACアドレスとARPテーブルを確認してみてください。

IPアドレス、MACアドレス、ARP、スイッチの関係が分かると、同じLAN内でデータがどのように相手へ届くのか理解できるようになります。

Next Action

記事で読んだ内容を、講座で実装してみましょう

InfraAcademyでは、ブラウザ上でLinuxやネットワークの実践環境を使いながら学習できます。無料で始められる講座から、学習の流れを試せます。

この記事を書いた人

ryu

InfraAcademy運営 / エンジニア

エンジニア歴10年。Linux、ネットワーク、クラウドを中心に、実務で役立つインフラ技術を初心者にもわかりやすく解説しています。

X: @ryu63614894

Related

関連記事

ブログ一覧へ

Roadmap

まずはこの4講座から

ログインすれば無料で始められる講座です。気になったテーマから手を動かして学べます。

講座一覧を見る