【超わかりやすく】IPアドレスとMACアドレスの違い(OSI参照モデル 第1層〜第3層)

 

ネットワークを学び始めたころは、OSI 参照モデルの第3層(レイヤ3)と第2層(レイヤ2)の関係がイメージしにくく、「IP アドレスがあるのに、なぜ MAC アドレスも必要なのか」と疑問に思う人も多いと思います。

この記事では、トラックで荷物を運ぶたとえを使って、OSI 参照モデルの第1層〜第3層と、IP アドレス・MAC アドレスの関係をざっくりイメージでつかみます。

この記事でわかること
  1. レイヤ1〜レイヤ3の役割(道路・トラック・荷物のたとえ)
  2. IP アドレスで最終的な宛先を決め、MAC アドレスで次の機器まで運ぶしくみ
  3. ルータを越えるたびに MAC アドレスが書き換わることと、ARP の役割

OSI参照モデル レイヤ1〜レイヤ3のイメージ

トラックで荷物を運ぶ場面を思い浮かべてください。

荷物レイヤ3(IP パケット)荷札:宛先 IP アドレストラックレイヤ2(イーサネットフレーム)宛先 MAC アドレスを見て走る道路:レイヤ1(ケーブル、光ファイバーなど)
図1 荷物(レイヤ3)、トラック(レイヤ2)、道路(レイヤ1)

荷物が OSI 参照モデルの第3層(ネットワーク層、レイヤ3)にあたります。荷物の荷札には、宛先の IP アドレスを書きます。これで「この荷物はこの IP アドレスに送る」ということがわかります。

しかし、荷物だけがあっても宛先には届きません。荷物はトラックに積んで、道路を走らせる必要があります。このトラックが第2層(データリンク層、レイヤ2)です。トラックがあっても、道がなければ荷物は運べません。この道路が第1層(物理層、レイヤ1)です。

層たとえ役割使うアドレス・例
レイヤ3(ネットワーク層)荷物と荷札最終的な宛先を決めて、ネットワークをまたいで届けるIP アドレス
レイヤ2(データリンク層)トラック同じネットワーク内で、隣の機器まで運ぶMAC アドレス(イーサネットの場合)
レイヤ1(物理層)道路信号を実際に伝えるUTP ケーブル(銅線)、光ファイバー、無線など

イーサネットの通信イメージ

トラックにもいろいろな種類があります。いま最もよく使われているのはイーサネットのトラックです。以前はフレームリレーや ATM といった種類も使われていました。

イーサネットのトラックの運転手は、MAC アドレスを見て運転します。トラックが向かう先は MAC アドレスで決まり、IP アドレスではありません。トラックの種類が変われば、見るアドレスも変わります。たとえば、レイヤ2がフレームリレーであれば、運転手は DLCI 番号を見て運転します。

宛先 MAC送信元 MACタイプ宛先 IP送信元 IPその他データFCSイーサネットヘッダ(トラック)IP ヘッダ(荷札)データ(荷物の中身)IP パケット(荷物)イーサネットフレーム(荷物を積んだトラック)
図2 IP パケット(荷物)をイーサネットフレーム(トラック)に積む

実際のデータでは、IP パケット(IP ヘッダとデータ)の前にイーサネットヘッダが付き、イーサネットフレームとして送られます。イーサネットヘッダに宛先 MAC アドレスと送信元 MAC アドレスが、IP ヘッダに宛先 IP アドレスと送信元 IP アドレスが入っています。

ルータって、なんでしょう

ネット通販で買った荷物を、遠くから配送してもらう場面を考えます。発送元から1台のトラックで家まで届くことは、まずありません。荷札に書かれた宛先の住所を見ながら、いくつかの配送センターを経由して届けられます。この配送センターがルータです。IP アドレスが「インターネットの住所」といわれるのは、このためです。

荷物は配送センター(ルータ)に着くと、いったんトラックから降ろされます。ルータは荷札の宛先 IP アドレスを見て、次にどの配送センターへ送るかを経路表(ルーティングテーブル)で決めます。そして荷物を新しいトラックに積み直し、次の配送センター(ルータ)の MAC アドレスに向けて運びます。

端末AR1R2端末B宛先 MAC:R1宛先 IP:端末B宛先 MAC:R2宛先 IP:端末B宛先 MAC:端末B宛先 IP:端末B宛先 MAC は区間ごとに書き換わる(ルータが付け直す)宛先 IP は端末A から端末B まで変わらない
図3 ルータを越えるたびに宛先 MAC アドレスが書き換わる

これを繰り返して、荷物は目的の宛先まで届きます。荷札の宛先 IP アドレスは最後まで変わりませんが、トラックの宛先 MAC アドレスは区間ごとに変わります。送信元 MAC アドレスも、その区間で送り出す機器の MAC アドレスに付け直されます。

次の機器の MAC アドレスは ARP で調べる

トラックの運転手は、次の配送センター(ルータ)の MAC アドレスをどうやって知るのでしょうか。ここで使われるのが ARP(Address Resolution Protocol)です。ARP は、同じネットワーク内に「この IP アドレスを持つ機器の MAC アドレスを教えてください」とブロードキャストで問い合わせ、該当する機器が自分の MAC アドレスを返します。調べた結果は ARP テーブルにしばらく保存されます。

補足

端末は、宛先 IP アドレスが自分と同じネットワークにあるかを、自分の IP アドレスとサブネットマスクで判断します。同じネットワークなら相手の MAC アドレスを ARP で調べて直接送り、違うネットワークならデフォルトゲートウェイ(出口のルータ)の MAC アドレスを調べて、そこへ送ります。

人から見ると IP アドレスで通信しているように見えますが、実際には次に渡す機器の MAC アドレスがわからないとトラックを走らせられず、通信できません。このイメージを持っておくことが大事です。

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

項目IP アドレスMAC アドレス
層レイヤ3(ネットワーク層)レイヤ2(データリンク層)
たとえ荷札の宛先住所トラックの行き先
指す相手最終的な宛先同じネットワーク内の、次に渡す機器
途中で変わるか変わらない(NAT を除く)ルータを越えるたびに付け直される
決まり方ネットワークの設計に合わせて設定する(IPv4 は 32 ビット)ネットワークインタフェースごとに割り当てられている(48 ビット)
調べ方DNS などで名前から調べるARP で IP アドレスから調べる

コメント