ネットワークの仕組みについて勉強をしていると出てくるMACアドレスとIPアドレスですが、どちらも同じアドレスです。では、どちらか片方を有しているとインターネット通信が行えるのか?というとそうではなく、両者とも必要となってきます。
MACアドレスとIPアドレスの役割の違いについて理解することができれば、なぜインターネット通信において両者が必要となってくるのかが理解できるため、今回はMACアドレスとIPアドレスの違いについて解説を行います。
MACアドレスとは?
MACアドレス(Media Access Control Address)とはOSI参照モデルの第二層にあたる、物理的に隣接する機器同士の通信を行うためにデバイス製造時に割り当てられる一意の識別子です。
メーカーごとに一意に割り当てられた24ビットのOUI(ベンダコード)とベンダ(メーカー)が重複しないように管理を行う24ビットのベンダ管理番号の計48ビットで構成されており、09、AFの16進数で表されます。このOUIはアメリカ合衆国に拠点を置くIEEE(アイ・トリプル・イー)が管理をしており、公式ページのSearch for an AssignmentからMACアドレスを入力することで製造メーカーを調べることができます。
OS別のMACアドレスの確認方法については以下の記事で解説されています。
https://envader.plus/article/92
IPアドレスとは?
IPアドレス(Internet Protocol Address)とはOSI参照モデルの第三層にあたる、インターネット通信を行う際に機器を識別するために割り振られる識別子です。
現在IPアドレスには「IPv4」と「IPv6」の2つのバージョンが存在します。IPv4は1983年頃から使用され、約43億個のIPアドレスが使用できます。しかし、近年の急速なモバイル機器などの普及により既にほぼすべてのIPアドレスが割り当てられ、新たに割り当てることができないIPv4の枯渇が問題となりました。この問題を回避するために作られたのがIPv6でIPv6では43億個の4乗である約340澗個のIPアドレスが使用できるようになりました。ですが、IPv4とIPv6では仕様の違いなどから普及が進んでおらず、現在もIPv4が主流となっています。そのため枯渇を緩和させるために行われているのがグローバルIPアドレスとプライベートIPアドレスの使い分けです。
グローバルIPアドレスとプライベートIPアドレスの違い
IPアドレスにはグローバルIPアドレスとプライベートIPアドレスが存在します。両者の違いについて解説を行います。
グローバルIPアドレス
グローバルIPアドレスとは対インターネットで通信を行う際に使われる識別子です。
全世界で一意となり重複することはなく、Webサイトを閲覧するなどインターネット接続をする際に必ず必要となります。言い換えるとグローバルIPアドレスがない場合はインターネット接続は行えません。一般的にグローバルIPアドレスは回線を契約した際にプロバイダーから割り当てられます。
プライベートIPアドレス
プライベートIPアドレス(またはローカルIPアドレス)はローカルネットワーク内で使われる識別子です。
一般家庭での使用を例にあげると、3人家族の家庭でプロバイダーと1回線の契約を行います。この時プロバイダーから割り当てられるグローバルIPアドレスは1つですが、この家庭では1人1台のPCを持っており、3台全てをインターネット接続しなければなりません。ですが、先ほど説明した通りインターネットで通信を行う際は重複しない一意のグローバルIPアドレスが必要となるため、3つのグローバルIPアドレスが必要となり、グローバルIPアドレス(IPv4)が枯渇してしまいます。
この時使われるのがプライベートIPアドレスです。グローバルIPアドレスを1つのルーターに割り当てます。そして3台のPCはこのルーターとプライベートIPアドレスを使用して通信を行い、ルーター経由でインターネット接続を行います。これにより、1つのグローバルIPアドレスで3台のPCをインターネットへ接続することが可能になります。言い換えるとプライベートIPアドレスは対ルーターで通信を行う際に使われる識別子といえます。
MACアドレスとIPアドレスの違い
MACアドレスは物理的に隣接する機器同士の通信を行うためにデバイスの製造時に割り当てられる一意の識別子で、IPアドレスはインターネット通信を行う際に機器を識別するためにプロバイダー契約時に割り振られる一意の識別子という事が分かりました。
両者の違いが分かった所でインターネット通信において、なぜどちらも必要なのかについて解説を行います。
IPアドレスの役割
IPアドレスはインターネット通信を行う際に機器を識別するための識別子です。
インターネット通信を物流に例えるとIPアドレスは住所にあたり、最終目的地を表します。PC1からPC2へデータを送りたい場合に発送元である自身の住所(IPアドレス)とお届け先であるPC2の住所(IPアドレス)が必要となります。お届け先であるIPアドレスがあるならMACアドレスは必要ないのでは?と思いますが、これだけでは通信を行えません。
先ほどの物流で例えると送りたい荷物をA支店へ預けてもA支店が直接PC2の自宅へ荷物を届けてくれる訳ではなく、A支店からPC2の最寄りであるB支店へ荷物の中継を行ってから自宅へ配送するためです。
MACアドレスの役割
MACアドレスは物理的に隣接する機器同士の通信を行うための識別子です。
インターネット通信では相手のネットワーク機器と直接接続されている訳ではなく、いくつも中継を行って通信をしています。この中継を行う上で必要となるのがMACアドレスであり、MACアドレスは経由地を表します。先ほどの物流で例えた際の荷物を運んでくれる支店がMACアドレスにあたります。
そのため通信の際に発送元とお届け先であるIPアドレスは変わらないのに対し、経由地点のMACアドレスは更新されながら荷物(データ)が届けれられます。
まとめ
IPアドレスはインターネット通信を行う際に機器を識別するための識別子であり、MACアドレスは物理的に隣接する機器同士の通信を行うための識別子です。
インターネット通信を行う上でIPアドレスはデータを届けるための最終目的地の役割があり、MACアドレスには荷物を届けるための中継地点の役割があります。そのためどちらか片方では通信を確立することができず、インターネット通信においてIPアドレスとMACアドレスはどちらも必要になります。エンジニアを目指す上で通信技術の基礎知識は必須となるため、役割の違いなど様々な観点から考察を行い、楽しく学びましょう。
【番外編】USBも知らなかった私が独学でプログラミングを勉強してGAFAに入社するまでの話
プログラミング塾に半年通えば、一人前になれると思っているあなた。それ、勘違いですよ。「なぜ間違いなの?」「正しい勉強法とは何なの?」ITを学び始める全ての人に知って欲しい。そう思って書きました。是非読んでみてください。
「フリーランスエンジニア」
近年やっと世間に浸透した言葉だ。ひと昔まえ、終身雇用は当たり前で、大企業に就職することは一種のステータスだった。しかし、そんな時代も終わり「優秀な人材は転職する」ことが当たり前の時代となる。フリーランスエンジニアに高価値が付く現在、ネットを見ると「未経験でも年収400万以上」などと書いてある。これに釣られて、多くの人がフリーランスになろうとITの世界に入ってきている。私もその中の1人だ。数年前、USBも知らない状態からITの世界に没入し、そこから約2年間、毎日勉学を行なった。他人の何十倍も努力した。そして、企業研修やIT塾で数多くの受講生の指導経験も得た。そこで私は、伸びるエンジニアとそうでないエンジニアをたくさん見てきた。そして、稼げるエンジニア、稼げないエンジニアを見てきた。
「成功する人とそうでない人の違いは何か?」
私が出した答えは、「量産型エンジニアか否か」である。今のエンジニア市場には、量産型エンジニアが溢れている!!ここでの量産型エンジニアの定義は以下の通りである。
比較的簡単に学習可能なWebフレームワーク(WordPress, Rails)やPython等の知識はあるが、ITの基本概念を理解していないため、単調な作業しかこなすことができないエンジニアのこと。
多くの人がフリーランスエンジニアを目指す時代に中途半端な知識や技術力でこの世界に飛び込むと返って過酷な労働条件で働くことになる。そこで、エンジニアを目指すあなたがどう学習していくべきかを私の経験を交えて書こうと思った。続きはこちらから、、、、
エンベーダー編集部
エンベーダーは、ITスクールRareTECHのインフラ学習教材として誕生しました。 「遊びながらインフラエンジニアへ」をコンセプトに、インフラへの学習ハードルを下げるツールとして運営されています。
関連記事
2020.02.25
完全未経験からエンジニアを目指す爆速勉強法
USBも知らなかった私が独学でプログラミングを勉強してGAFAに入社するまでの話
- キャリア・学習法
- エンジニア
2024.10.26
【Zabbix入門】統合監視ソフトウェア Zabbixの基本を理解する
この記事では、Zabbixの基本的な機能と、どのような役割を果たすのかについて解説します。
- インフラエンジニア
- ネットワーク
2024.08.25
TCP/IPモデルとOSI参照モデルの違いと実際の利用シーン
この記事では、これらのモデルを理解することで、ネットワークの基本的な仕組みを把握し、エンジニアとしてのスキルを向上させることを目指します。
- ネットワーク
- インフラエンジニア
2024.08.17
自分のPCからインターネットのWebサイトに繋がるまでのプロセス
今回は、Webサイトが表示されるまでのデータの旅路、「自分のPCからインターネットのWebサイトに繋がるまでのプロセス」を解説します。この記事を通して、Webの基本となるさまざまな知識に触れることができます。ネットワークエンジニアを目指す方にとって必須の基本となる要素が多くありますので、ぜひ一緒に学んでいきましょう!
- ネットワーク