全5回を予定しているネットワークについてのブログの3回目になります。
まだ1回目・2回目を読んでいないよという方は以下のリンクからアクセスしてみてください!
ネットワークの基礎知識
ネットワークを勉強していく上で入門書で必ず登場するものを紹介します。
どれもコンピューター同士が通信を行うために必要な技術・知識になるので是非覚えてみてください!
・通信プロトコル
・OSI参照モデル
・IPアドレス/サブネットマスク
・MACアドレス(今回の内容)
・DHCP
・ネットワーク機器とその役割(ルーター/スイッチ)
MACアドレスとは?
前回は通信を行うために必要なアドレスとしてネットワーク層で使用されるIPアドレスを紹介しました。
今回は通信を行うために必要なもう一つのアドレスであるMACアドレスについて紹介します。
MACアドレスはMedia Access Control addressのことでOSI参照モデルのデータリンク層で使用されるアドレスです。
アドレスの値はネットワークインターフェース固有の48ビットで構成されており、
上位24ビットはOUI(Organizationally Unique Identifier)というベンダコード、
下位24ビットは各ベンダが重複しないように管理しているベンダ管理番号が割り当てられています。
具体的なMACアドレスの例は以下のようなものになっています。
MACアドレス例)
00:00:5e:00:53:68
OUI ベンダ管理番号
上のようにMACアドレスは通常48ビットの2進数を12桁の16進数で表します。
IPアドレスとMACアドレスの違い
通信を行う上で必要なアドレスにIPアドレスとMACアドレスがあるということは前回と今回のブログでご紹介しました。
では、この2つのアドレスの違いは何でしょうか?
その違いはアドレスの宛先となる範囲です。
IPアドレスはエンド・ツー・エンドの通信、つまり通信のスタートからゴール(目的地)を表します。
自身のPCからYahooにアクセスする場合を例にすると、
スタートとなる自分のPCが送信元IPアドレス※、ゴールとなるYahooのサーバーが送信先IPアドレスというような感じになります。
(※NAT/NAPTを利用している場合、インターネットへパケットが送信される際に送信元IPアドレスがプライベートIPアドレスからグローバルIPアドレスに変換されるためこの限りではありません。)
対して、MACアドレスは隣接するコンピューターとの通信を行うための宛先を表します。
先ほどと同じように、自身のPCからYahooにアクセスする場合を例にします。
前提として以下のような構成になっているとします。
ネットワーク構成)
[PC]===[自宅ルーター]===(インターネット)===[Yahooルーター]===[Yahooのサーバー]
PCとルーターが繋がっており、自宅ルーターはインターネットに繋がっているという一般家庭でよくある構成です。
上のような構成の場合、PCはまず隣接している自宅ルーターとの通信を行います。
PCから自宅ルーターへの通信を行う際の宛先イメージは以下のようになります。
送信元・送信先 IPアドレス・MACアドレスイメージ)
[送信元IP:自宅PCのIP |送信先IP:YahooサーバーのIP|送信元MAC:自宅PCのMAC|送信先MAC:自宅ルーターのMAC]
上のイメージの赤字部分は最終的な目的地となるYahooサーバーのIPアドレス、
青字部分は送信元を表す自宅PCのMACアドレス、自宅PCから次にパケットを送信する宛先を表す送信先MACアドレスです。
送信元IPはスタート地点、送信先IPは最終的なゴールとなる宛先を表しているため通信の途中で変わることはありませんが※、
送信元MACアドレスと送信先MACアドレスはルーターを経由するたびに変わっていきます。
(※NAT/NAPTを利用している場合、インターネットへパケットが送信される際に送信元IPアドレスがプライベートIPアドレスからグローバルIPアドレスに変換されるためこの限りではありません。)
このように、IPアドレスはネットワーク間の通信(ネットワーク層)、MACアドレスは隣接した機器間の通信(データリンク層)と使用ケースが異なっており、インターネットへの通信を行うためにはMACアドレスとIPアドレスを併用しながら目的となるサーバと通信をしているということになります。
おわりに
いかがだったでしょうか?
今回はMACアドレスについてと、IPアドレスとMACアドレスの違いについてご紹介しました。
普段当たり前のようにインターネットなどの通信が行えているのは、
これらのアドレスによって通信相手を特定できるようになっているからということがおわかりいただけたんじゃないかなと思います!
次回はDHCPについてご紹介する予定です!!