MACアドレス (Media Access Control address) とは、ネットワークにつながるすべての機器に割り当てられている識別子のことで、イーサネットや無線LANなどに接続されているノードを一意に識別するために利用されます。
apple製品のmac(Macintosh)ではありません。
androidスマホでも、windowsのPCでもMACアドレスを持っています!
このページでは、MACアドレスって何?何のためにどうやって利用されているの?という点をIT初心者向けに分かりやすく解説します。
ネットワークエンジニアを目指す方であれば知らないと恥ずかしい超・重要知識。また、ネットワークエンジニアでなくても、知っておいて損はないITの基礎知識の1つですので、是非最後までご覧ください。
MACアドレスとは?(ざっくり分かりやすく)
MACアドレスとは、ネットワーク(インターネット)に接続できる全ての機器に割り当てられている一意の番号のことで、ザックリ言うとスマホやパソコンについているお名前のようなものです。
youtubeを見る―。友達に画像を送る―。会社の人にメールを送る―。スマホやパソコンでデータのやり取りを行う際に、必ずMACアドレスが使われています。
MACアドレスを頼りにコンピュータなどのネットワーク機器はデータの送り先を決定します。
もしMACアドレスがこの世の中になかったら、あなたが送ったメールが知らない誰かに届いてしまったり、youtubeで見たい動画が隣の人のパソコンで流れ出す・・・なんてことが発生してしまうかもしれないということです。
MACアドレスはインターネットの世界において非常に重要な役割を担っています。
今お使いになっているパソコンやスマートフォンだけでなく、有線LAN、ルーター、インターネットにつなげて遊べるゲーム(任天堂Switchなど)機にもmacアドレスが割り当てられています。
MACアドレスは世界で唯一の番号
MACアドレスは以下のように 0~9、A~Fの16進数・12桁で表されます。
前半の6桁は、ベンダ識別子と呼ばれてネットワーク機器の製造会社(メーカー)ごとに割り当てられている数字が付与されます。
後半の6桁は、ベンダ(メーカー)内で管理されている番号が一意に付与される仕組み。結果として、macアドレスは世界で一意の数字となります。
同一のネットワーク内に同じMACアドレスが複数存在してしまうと、宛先を一意に特定することができなくなるため適切に通信を行うことができません。そのため、MACアドレスは世界で唯一の番号となるように決められているのです。
MACアドレスの確認方法:コマンド
WindowsのPCで自分のMACアドレスを知るには以下のコマンドを実行します。
ipconfig /all
すると以下のようなリストが表示されますが、この中の物理アドレスがMACアドレスを指し示しています。
Wireless LAN adapter ローカル エリア接続* 1: メディアの状態. . . . . . . . . . . .: メディアは接続されていません 接続固有の DNS サフィックス . . . . .: 説明. . . . . . . . . . . . . . . . .: Microsoft Wi-Fi Direct Virtual Adapter 物理アドレス. . . . . . . . . . . . .: 99-99-99-A2-7B-3C DHCP 有効 . . . . . . . . . . . . . .: はい 自動構成有効. . . . . . . . . . . . .: はい
ネットワークの通信障害が起きた場合などに「ipconfigして!(=IPアドレスやMACアドレスを教えて!)」と言われることもありますので、この内容は頭に入れておきましょう!
MACアドレスの役割
ここからは、ネットワークエンジニア向けにより深く技術的な観点でMACアドレスを解説していきます。
MACアドレスは「データリンク」に接続しているノードの識別 / そのノード間の通信を行うために利用されます。
データリンクとはイーサネットや無線LANを通して直接接続されているネットワーク機器の集合体ととらえてOKです。
「家の中にあるルーターとスマートフォンは1つのデータリンク内にいる」と言えます。
逆に、インターネット越しに通信するスマートフォン同士は同じデータリンク内にはいない、と言うことになります。
MACアドレス=データリンクでの通信時に必要
データリンクに接続しているコンピュータ同士は、ただ単にLANケーブルを繋いでいるだけでは通信することはできません。LANケーブル上を電気通信が流れたとしても、そのデータ形式が共通の約束事を守っていない場合はコンピュータは識別できないためです。
この共通の約束事(=Ethernet)の1つとして用いられるのがMACアドレスです。
Ethernetでは、データリンク同士で通信を行うために「宛先のMACアドレス」と「送信元のMACアドレス」を明記することを規定しています。
プリアンプル | 宛先MACアドレス | 送信元MACアドレス | タイプ | データ | FCS |
8Byte | 6byte | 6byte | 2byte | 46~1500byte | 4byte |
この表から分かる通り、コンピュータ同士が通信する際には宛先・送信元MACアドレスが必要になるのです。もしこのMACアドレスが分からない場合は、コンピュータ同士での通信は不可能です。
仮にコンピュータのIPアドレスが分かっていても、最終的にはコンピュータのMACアドレスを把握していない限り通信は行えません。
MACアドレスを利用した通信の仕組み:複数の機器が接続されている場合
より、MACアドレスの理解を深められるように複数のコンピュータがリピータハブでつながれたデータリンクを考えてみましょう。
データリンク内でコンピュータ同士が通信するには、宛先MACアドレスと送信元MACアドレスが必要です。逆に言えば、宛先MACアドレスと送信元MACアドレスをデータとして保持していれば、宛先でないコンピュータにもデータを送るようになります。
ただし、実際に送られてきたデータを受け取るのは、宛先MACアドレスと自分のMACアドレスが一致する場合のみ。それ以外の場合はデータを破棄します。
仮に、宛先MACアドレスがどのMACアドレスとも一致しない場合はデータはすべて破棄されます。
このようにして、データリンク内における通信が適切なコンピュータ間で実現されることになります。
MACアドレスはあくまでも同じデータリンク内における通信(=隣接してる機器同士の通信)で用いられます。
インターネット越しのコンピュータ同士で通信を行うためには、IPアドレスが必要となります。この点を初心者の方は理解するのが難しいので何度も復習しておく必要があります。
以下の記事ではIPアドレスとMACアドレスの違いをより分かりやすく解説しています。合わせてご覧下さい。
ネットワークエンジニアを目指す方は
コンピュータとコンピュータはどのように通信をしているのか?インターネットはどのような仕組みで構成されているのか?
ネットワークの基礎を1から学習したい方(=ネットワークエンジニアを目指す方)は、以下の書籍が非常におすすめ。
日常生活で例えた説明や豊富な図解付きでIT初心者でも分かりやすく理解することができます。
ただし、ページ数も多くさくっと手軽に読める内容ではありません。しかしながら、ネットワークエンジニアを目指す場合、ほぼ全員が一度は読んだことがある書籍なので是非一度読破しておきたい1冊
ネットワークエンジニアを目指す方ではなくても、ネットワークの知識がある/なしで今後のキャリアプランに大きく影響します。1度手に取ってみてはいかがでしょうか?
またシステムエンジニアを目指す方や、IT知識を1から身につけたい方は以下のページをご覧ください。
正直どこから学び始めればよいかわからない。どのように勉強していけば、エンジニアとしてのスキルが磨けるか?が分からない・・・という方は必見です。
システムエンジニア向けに「できるエンジニア」になる方法を1から解説しておりますので、是非ご覧ください。
無料で読めるようにしてあります。累計15万人に参考にしていただきました!