MACアドレスとIPアドレスの違いがイマイチ分からない方のために、両者の違いを図解でご説明します。
ただし、上記のように説明されても結局何が違うの?と、ポイントがつかめない方がたくさんいらっしゃるかと思います。
このページでは、MACアドレスとIPアドレスってそもそも何?という前提をおさらいしつつ、MACアドレスとIPアドレスの違いを3分で分かりやすく解説します。
ネットワークスペシャリストを受験する方や、インフラエンジニアを目指す方であれば知らないと恥ずかしい超・重要知識です。是非最後までご覧ください。
前提その1:MACアドレスとは?
MAC(Media Access Control address)アドレスとは、ネットワークにつながるすべての機器に割り当てられている識別番号のことで、イーサネットや無線LANなどに接続されているノードを一意に識別するために利用されます。
ザックリ言うとスマホやパソコンについているお名前のようなものです。
MACアドレスは以下のように 0~9、A~Fの16進数・12桁で表されます。この番号は、世界中で一意の番号となります。特殊な例外を除き、重複しない識別番号があなたのスマートフォンやパソコン、家で利用されているルーターやゲーム機などにも割り当てられています。
インターネットの通信ができる機器にはすべてMACアドレスが割り当てられています。ルーター、オンライン通信ができるゲーム機(Nintendo Switchなど)など、全ての機器がMACアドレスを持っています。
MACアドレス(ベンダ識別子/ベンダ内管理番号)は以下の記事で詳しく解説しております。
前提その2:IPアドレスとは?
IPアドレス(Internet Protocol Address)も、通信の相手先を特定するために利用されるという意味でMACアドレスと同一です。
ただし、MACアドレスが「名前」として例えられるのに対してIPアドレスは「ネットワーク上の住所」と説明されるように、両者は別物です。
IPアドレスは32ビットの二進数で構成されます。表記は人間が分かりやすいように、3桁区切り・12桁の数字で表されます。
IPアドレスはMACアドレスより少し複雑な構成をしていて、グローバルIPアドレスとプライベートIPアドレスの2種類に分類されるのですが、ひとまずはMACアドレスと同様にIPアドレスも世界で一意となる番号であるという理解でOK。
IPアドレスの仕組み(グローバルIPアドレス/プライベートIPアドレス)を初心者向けに1から解説しています。
ひとまず、MACアドレスは識別番号(名前)・IPアドレスは住所、という点をざっくり頭に入れた状態で、本題「MACアドレスとIPアドレスの違いは?」という点をご説明します。
MACアドレスとIPアドレスの違い
結局MACアドレスとIPアドレスは何が違うのか?
MACアドレスとIPアドレスの違いはインターネット上での情報のやり取りを見ていくと非常に分かりやすくなるため、初めにインターネット上における通信の仕組みをざっくり解説していきます。
インターネットの通信方法:パケット通信
インターネットにおける通信はパケット通信と呼ばれる仕組みで行われます。
パケット通信では、届けたいデータを一括で届けるのではなく、届けたいデータを小さな単位で分割して送付します。
もともと1つのデータをある一定の大きさに分割。この分割されたデータをパケットと呼び、インターネットではこのパケットがそれぞれ独立したデータとして宛先に届けられます。
上記の図の場合、データは3つのパケットに分割されて、それぞれ一旦全く別のものとしてネットワーク上の回線を移動します。
パケットを受け取った側は、パケットを順番通りに再度つなぎ合わせて、データを復元。最終的に分割される前と同じデータが受け取り側で再構成される流れです。テキストだけでなく、画像も動画も音楽もパケットとしてネットワーク上を行き来します。
パケットは複数のネットワークを経由して届けられる
分割されたパケットは、MACアドレスとIPアドレスの情報を見ながら最終的な目的地まで届けられるのですが、いきなり目的地には届けられません。実は途中いくつかのネットワークに中継されて目的地まで届けられます。
郵便物も相手の住所に届くまでには、まずは最寄りの郵便局に集荷され、その後地域の中央拠点⇒宛先の拠点⇒宛先の最寄り郵便局・・・と様々な郵便局を経由しますよね。パケット通信もこれと同じです。
このとき最終的な目的地はどこか?をIPアドレスが、経由地はどこか?をMACアドレスが表します。
IPアドレス:最終目的地の情報
IPアドレスは最終的な目的地の情報を表します。
宛先IPアドレスが「987.654.32.1」となっているので、最終的にはIPアドレスが「987.654.32.1」のスマートフォンにパケットを届ければ良いと言うことが分かります。
ただしこれだけでは目的のスマートフォンにパケットを送り届けることができません。
なぜなら、先ほどインターネットの仕組みを説明した通り、インターネットは直接相手のネットワーク機器(パソコン・スマートフォン)と接続されているわけではありません。複数のルーターを経由する必要があります。
「このIPアドレス(最終目的地)に届けたいのだけど、どの経由地に送れば良い?」という情報がなければパケットは届きません。
MACアドレス:経由地の情報
MACアドレスは経由地の情報(つまり隣接するネットワーク機器の情報)を表します。MACアドレスはどのルーターにパケットを送信すれば良いかを特定するために用いられます。
ルーターには、ARP(Address Resolution Protocol)テーブルという情報が保持されており、そこには「この目的地なら経由地はこっち」という情報が記載されています。(宛先IPアドレスと宛先MACアドレスの対応表のようなもの)
このARPテーブルと宛先IPアドレスから、宛先MACアドレスを導き出しパケットを経由地に送り届けます。
北海道から沖縄に荷物を届ける際ために、一度北海道の拠点「札幌郵便局」に届けてね!と教えてあげるイメージです。
ここで言う「経由地」というのは、LANケーブルなどで直接つながれたネットワーク機器を表します。
MACアドレスの役割は直接つながれたネットワーク機器間の通信を可能にすること。したがって、全く別のネットワーク上にある機器との通信をする場合、MACアドレスだけで通信することは不可能です。
もし、隣接していない(直接つながっていない)ネットワーク機器にデータを届けたい場合MACアドレスだけでは不可能です。
ルーターを英語で書くと "rooter" (道案内)となります。
IPアドレスの情報から、MACアドレスを導き出す(経由地のご案内)をする役割を担っていることからこのような名称が名付けられました。ここまでの内容を理解できた方であれば「なるほど!」と納得できるのではないでしょうか。
経由地からまた別の経由地に送り届けられる際には、再度また別のルーターがARPテーブルを参照しどこに向かえば良いかを教えてくれます。このように、いろんなネットワーク機器をリレーするようにパケット通信は行われます。
ネットワークエンジニアを目指したい方は
IPアドレス/MACアドレスだけでなく、ネットワークの基礎を1から学びたい方はこちらの書籍を購入してがっつり学びましょう!
さくっと手軽に読める内容ではないのですが、ネットワークエンジニア全員が必ず読破している本と言っても過言ではありません。是非この機会にチャレンジしてみてみましょう。
ITを1から学びなおしたい方は
システムエンジニアを目指す方や、IT知識を1から身につけたい方は以下のページをご覧ください。
正直どこから学び始めればよいかわからない。どのように勉強していけば、エンジニアとしてのスキルが磨けるか?が分からない・・・という方は必見です。
システムエンジニア向けに「できるエンジニア」になる方法を1から解説しておりますので、是非ご覧ください。
無料で読めるようにしてあります。累計12万人に参考にしていただきました!