ネットワークを学び始めたころは、OSI 参照モデルの第3層(レイヤ3)と第2層(レイヤ2)の関係がイメージしにくく、「IP アドレスがあるのに、なぜ MAC アドレスも必要なのか」と疑問に思う人も多いと思います。
この記事では、トラックで荷物を運ぶたとえを使って、OSI 参照モデルの第1層〜第3層と、IP アドレス・MAC アドレスの関係をざっくりイメージでつかみます。
- レイヤ1〜レイヤ3の役割(道路・トラック・荷物のたとえ)
- IP アドレスで最終的な宛先を決め、MAC アドレスで次の機器まで運ぶしくみ
- ルータを越えるたびに MAC アドレスが書き換わることと、ARP の役割
OSI参照モデル レイヤ1〜レイヤ3のイメージ
トラックで荷物を運ぶ場面を思い浮かべてください。
荷物が OSI 参照モデルの第3層(ネットワーク層、レイヤ3)にあたります。荷物の荷札には、宛先の IP アドレスを書きます。これで「この荷物はこの IP アドレスに送る」ということがわかります。
しかし、荷物だけがあっても宛先には届きません。荷物はトラックに積んで、道路を走らせる必要があります。このトラックが第2層(データリンク層、レイヤ2)です。トラックがあっても、道がなければ荷物は運べません。この道路が第1層(物理層、レイヤ1)です。
| 層 | たとえ | 役割 | 使うアドレス・例 |
|---|---|---|---|
| レイヤ3(ネットワーク層) | 荷物と荷札 | 最終的な宛先を決めて、ネットワークをまたいで届ける | IP アドレス |
| レイヤ2(データリンク層) | トラック | 同じネットワーク内で、隣の機器まで運ぶ | MAC アドレス(イーサネットの場合) |
| レイヤ1(物理層) | 道路 | 信号を実際に伝える | UTP ケーブル(銅線)、光ファイバー、無線など |
イーサネットの通信イメージ
トラックにもいろいろな種類があります。いま最もよく使われているのはイーサネットのトラックです。以前はフレームリレーや ATM といった種類も使われていました。
イーサネットのトラックの運転手は、MAC アドレスを見て運転します。トラックが向かう先は MAC アドレスで決まり、IP アドレスではありません。トラックの種類が変われば、見るアドレスも変わります。たとえば、レイヤ2がフレームリレーであれば、運転手は DLCI 番号を見て運転します。
実際のデータでは、IP パケット(IP ヘッダとデータ)の前にイーサネットヘッダが付き、イーサネットフレームとして送られます。イーサネットヘッダに宛先 MAC アドレスと送信元 MAC アドレスが、IP ヘッダに宛先 IP アドレスと送信元 IP アドレスが入っています。
ルータって、なんでしょう
ネット通販で買った荷物を、遠くから配送してもらう場面を考えます。発送元から1台のトラックで家まで届くことは、まずありません。荷札に書かれた宛先の住所を見ながら、いくつかの配送センターを経由して届けられます。この配送センターがルータです。IP アドレスが「インターネットの住所」といわれるのは、このためです。
荷物は配送センター(ルータ)に着くと、いったんトラックから降ろされます。ルータは荷札の宛先 IP アドレスを見て、次にどの配送センターへ送るかを経路表(ルーティングテーブル)で決めます。そして荷物を新しいトラックに積み直し、次の配送センター(ルータ)の 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 アドレスから調べる |
コメント