ルータの転送と ARP による MAC アドレス解決
ルータは宛先IPアドレスで経路を決めること、ARPはIPアドレスからMACアドレスを調べる仕組みであることを区別して説明できるようにする。ルータをまたぐ通信で、宛先MACと宛先IPがそれぞれどこを指すかを答えられるようにする。arp・ping・ipconfigなどのコマンドを、目的から選べるようにする。
「どの機器が、どの層の、どのアドレスを見るか」は、ネットワーク分野で毎年のように選択肢を入れ替えて出される定番の論点です。ここを押さえると、ルータ・スイッチ・ARP・pingの問題を一つの考え方でまとめて解けます。
このレッスンで稽古する(用語チェック・過去問)結論:ルータはIP、スイッチはMAC、ARPがその2つをつなぐ
ルータは宛先IPアドレスで次の転送先を決めます。MACアドレスでは経路を決めません。
- IPアドレス:ネットワーク全体での住所。最終的な相手を指し、途中で変わらない。
- MACアドレス:LANケーブルやWi-Fiの口(NIC=ネットワークカード)ごとに付いた固有番号。同じLANの中で、次に渡す相手を指す。
- ARP:同じLANの中で「このIPアドレスを持っている機器のMACアドレスは?」と調べる仕組み。
前のレッスンのサブネットマスクで「相手が同じネットワークか」を判定したら、次は「誰に渡すか(MAC)」をARPで調べる、という流れです。
ルータの仕事:宛先IPアドレスとルーティングテーブルで経路を決める
ルータは、届いたパケット(データの小包)の宛先IPアドレスを読みます。それをルーティングテーブル(宛先ネットワークごとに次の転送先を書いた表)と突き合わせて、出す口を1つ選びます。宛先IPを見るのは、相手がどのネットワークにいるかがIPアドレスに含まれているからです。
たとえ:郵便局の仕分けは、封筒に書かれた届け先の住所で行います。差出人の住所や、配達員が持っている車の番号では仕分けません。
そのため、3台のルータが専用線でつながった図の問題(menjo_20160724#33)では、「宛先端末のIPアドレスに基づいて、ルータbだけに中継する」が正解になります。
- 全部のルータに送る:ルータは経路を選ぶ機器なので、ばらまかない
- MACアドレスに基づく:スイッチやブリッジの動作
機器と層の比較表(この表が一番よく出ます)
| 機器 | OSI参照モデルの層 | 見る情報 | 何をするか |
|---|---|---|---|
| リピータ・ハブ | 第1層 物理層 | 電気信号 | 信号を増幅して全部の口に流す |
| ブリッジ・L2スイッチ | 第2層 データリンク層 | MACアドレス | MACアドレステーブルを見て、該当する口だけに中継する(宛先が分からなければ全部の口に流す) |
| ルータ | 第3層 ネットワーク層 | 宛先IPアドレス | ネットワーク同士をつなぎ、転送経路を決める。媒体やアクセス方式が違うネットワークもつなげる |
| ゲートウェイ | 第4〜7層 トランスポート層〜アプリケーション層 | プロトコル全体 | 異なるプロトコルを変換する |
OSI参照モデルは、通信の役割を7段に分けた教科書上の整理です。ルータは下から3段目のネットワーク層と覚えます。
ARP:IPアドレスからMACアドレスを求める
ARP(アープ)は、IPアドレスからMACアドレスを得るプロトコルです。パソコンが送り先のIPアドレスを知っていても、LANの中で実際に届けるにはMACアドレスが必要です。そこでARPを使います。
動き方
- LAN全員に「IPアドレス192.168.1.10の人、MACアドレスを教えて」と一斉に問い合わせる(ブロードキャスト=全員あての送信)。
- 該当する機器だけが自分のMACアドレスを返す。
- 聞いた側は、IPとMACの組をしばらく覚えておく(ARPキャッシュ)。
たとえ:会議室で「田中さんはどなたですか?」と呼びかけ、手を挙げた人の顔を覚えておくのに似ています。名前がIPアドレス、顔がMACアドレスです。
名前の似たプロトコルの比較表
| プロトコル | 何から | 何を得る/何をする |
|---|---|---|
| ARP | IPアドレス | MACアドレスを得る |
| RARP | MACアドレス | IPアドレスを得る(ARPの逆) |
| DNS | ホスト名(ドメイン名) | IPアドレスを得る(逆引きならIP→名前) |
| DHCP | (起動した端末の要求) | IPアドレスなどの設定を自動で配る |
| BOOTP | (起動した端末の要求) | IPアドレスを配る。DHCPの前身 |
| ICMP | — | 通信のエラーや状態を知らせる。pingが使う |
覚え方:ARPの「A」はAddress Resolution(アドレス解決)。IPを手がかりにMACを引く方向だけを覚え、逆方向はR(Reverse=逆)が付いたRARPと覚えます。
ルータをまたぐときの宛先:MACは次の機器、IPは最終の相手
別のネットワークにいる相手へ送るとき、ARPで調べるのは相手のMACアドレスではなく、ルータ(デフォルトゲートウェイ)のMACアドレスです。相手は別のLANにいるので、自分のLANからは直接届かないためです。
| 部分 | 宛先 | 途中で変わるか |
|---|---|---|
| イーサネットフレームの宛先MAC | 次に渡す機器(同じLAN内のルータ) | ルータを通るたびに書き換わる |
| IPデータグラムの宛先IP | 最終的な相手 | 変わらない |
たとえ:宅配便の伝票には最終の届け先(IP)が書いてあり、最後まで変わりません。一方で、区間ごとに荷物を運ぶトラックの行き先(MAC)は「次の営業所」で、区間ごとに変わります。
flowchart LR
A["ホストA (MAC1/IP1)"] -->|"LAN1: 宛先MAC3 / 宛先IP2"| R["ルータ (MAC3/IP3 | MAC4/IP4)"]
R -->|"LAN2: 宛先MAC2 / 宛先IP2"| B["ホストB (MAC2/IP2)"]
コマンドの使い分け:arp・ping・ipconfig・netstat
試験では「目的に合うコマンド」を選ばせます。pingが最頻出(本試験系3回)です。
| コマンド | 何をするか | 使う場面 |
|---|---|---|
| ping | ICMPのエコー要求を送り、エコー応答が返るかで疎通を確認する | 相手とつながるか確かめる |
| arp | ARPキャッシュ(IPとMACの対応)を表示・操作する | 同じLANの機器のMACアドレスを調べる |
| ipconfig | 自分のPCのIPアドレス・サブネットマスクなどを表示する(Windows) | 自分の設定を見る |
| netstat | 自分のPCの通信の接続状況やポートを表示する | どこと接続中かを見る |
- pingの選択肢には、BOOTP・DHCP(IPアドレスの自動割当て)やMIB(SNMPという監視の仕組みで管理する情報の一覧)が並びます。疎通確認ではありません。
- arpの問題(2018h30h_am#33)は「プリンタを直前に使った」という条件が鍵です。直前に通信したので、プリンタのIPとMACの組がARPキャッシュに残っており、arpコマンドで表示できます。
- echoは文字を表示するだけのコマンドで、疎通確認には使えません。
ARPを利用した端末認証(少数出題)
ARPで得られるのはMACアドレスなので、事前に登録したMACアドレスの端末だけ通信を許可するという判定ができます。インストール済みのソフト、OSのパッチ、ウイルス定義ファイルの状態はARPでは分からないので、それらの選択肢は誤りです。
ルータ越えでLAN1を流れるパケットの宛先を答える
ア イーサネットフレームの宛先: MAC2,IP データグラムの宛先: IP2
イ イーサネットフレームの宛先: MAC2,IP データグラムの宛先: IP3
ウ イーサネットフレームの宛先: MAC3,IP データグラムの宛先: IP2
エ イーサネットフレームの宛先: MAC3,IP データグラムの宛先: IP3
出典:基本情報技術者試験 科目A免除 修了試験 20221211 実施分 問33
解き方と答えを見る
- 手順1:送信元と宛先を確認する。ホストA(MAC1/IP1)はLAN1、ホストB(MAC2/IP2)はLAN2にいる。別のネットワークなので、ルータを経由する。
- 手順2:IPデータグラムの宛先を決める。IPの宛先は最終的な相手なので、ホストBのIP2。途中のルータのIP3にはならない。→ この時点でイとエ(IP3)が消える。
- 手順3:イーサネットフレームの宛先を決める。MACの宛先は同じLAN1の中で次に渡す機器。LAN1にいて次に受け取るのはルータのLAN1側の口なので、MAC3。ホストBのMAC2はLAN1には存在しないので、直接は届かない。→ アが消える。
- 手順4:組み合わせると、フレームの宛先MAC3、IPの宛先IP2。
- 補足:ルータを通過してLAN2に出ると、フレームの宛先はMAC2(送信元はMAC4)に書き換わる。IPの宛先IP2は最後まで変わらない。
答え:ウ(フレームの宛先:MAC3、IPデータグラムの宛先:IP2)
要点(試験直前に読む)
- ルータはネットワーク層の機器で、宛先IPアドレスとルーティングテーブルで経路を決める。MACでも発信元IPでもない。
- 機器と層:ハブ=物理層、L2スイッチ・ブリッジ=データリンク層(MAC)、ルータ=ネットワーク層(IP)、ゲートウェイ=トランスポート層以上(プロトコル変換)。
- ARPはIP→MAC。RARPはMAC→IP、DNSは名前→IP、DHCPは設定の自動配布。
- ルータをまたぐとき、宛先MACは次の機器(ルータ)、宛先IPは最終の相手で途中で変わらない。
- 疎通確認はping(ICMPのエコー要求・応答)。同じLANの機器のMACを調べるならarp(ARPキャッシュを表示)。
- ARPを利用した認証で判定できるのは、MACアドレスが登録済みかどうかだけ。
ひっかけ
- 「MACアドレスに基づいて中継」はスイッチ・ブリッジの説明。ルータの問題で見たら外す。
- 「MACアドレステーブルで中継先を判断」はL2スイッチ、「データリンク層で接続」はブリッジ、「トランスポート層以上でプロトコル変換」はゲートウェイ。ルータの正解は「IPアドレスを識別して経路を決定」。
- ARPの説明問題では、逆向きのRARP(MAC→IP)と、DNS(名前↔IP)が並ぶ。矢印の向きを確認する。
- ルータ越えの問題で「フレームの宛先=相手のMAC」を選ばせる。相手は別のLANにいるので、MACは同じLAN内のルータの口になる。
- 疎通確認の問題で、BOOTP・DHCP(アドレス配布)、MIB(管理情報)、arp・ipconfigが並ぶ。疎通ならping一択。
用語(16)
ネットワーク層でネットワーク同士をつなぎ、宛先IPアドレスを見てパケットの転送経路を決める機器。
⚠ L2スイッチ・ブリッジはデータリンク層でMACアドレスを見る。「IPで経路決定」とあればルータ。
宛先ネットワークごとに、次にどの機器・どの口へ転送するかを書いた、ルータが持つ表。
⚠ MACアドレステーブルはL2スイッチが持つ、MACアドレスとポートの対応表。
ネットワーク全体で通信相手を特定する論理的な住所で、パケットの最終的な宛先を表す。
⚠ MACアドレスは機器の口ごとの固有番号で、同じLAN内の次の相手を表す。
NIC(ネットワークカード)ごとに割り当てられた48ビットの固有番号で、同じLAN内の配送に使う。
⚠ IPアドレスと違い、ルータを通過するたびにフレームの宛先MACは書き換わる。
同じLANで問い合わせを一斉に送り、IPアドレスに対応するMACアドレスを得るプロトコル。
⚠ RARPは逆にMAC→IP。DNSはホスト名→IP。
MACアドレスから自分のIPアドレスを得るためのプロトコル。
⚠ ARPの逆方向。Reverse(逆)のRと覚える。
ARPで調べたIPアドレスとMACアドレスの対応を、端末が一定時間覚えておく表。
ARPキャッシュの中身を表示・操作し、同じLANの機器のMACアドレスを確認するコマンド。
⚠ ipconfigは自分のPCの設定を表示するだけで、他の機器のMACは分からない。
ICMPのエコー要求を送り、エコー応答が返るかで相手との疎通を確認するコマンド。
⚠ arpは対応表の表示、ipconfigは自分の設定の表示。疎通確認ならping。
IP通信のエラー(到達不能など)や状態を知らせるためのプロトコルで、pingが利用する。
⚠ pingはコマンド名、ICMPはその中で使われるプロトコル名。
Windowsで、自分のPCのIPアドレス・サブネットマスク・デフォルトゲートウェイなどを表示するコマンド。
⚠ 他の機器のMACを調べるならarp。
自分のPCの通信の接続状況や使用中のポートを表示するコマンド。
⚠ 疎通確認(ping)やMAC確認(arp)とは目的が違う。
ネットワークにつないだ端末に、IPアドレスなどの設定を自動で配るプロトコル。
⚠ BOOTPはその前身。どちらも疎通確認やアドレス解決ではない。
SNMPでネットワーク機器を監視するときに扱う、管理情報の定義の集まり。
⚠ 疎通確認の選択肢に紛れ込む。pingとは無関係。
同じネットワーク内の全員に向けてデータを一斉送信すること。ARPの問い合わせで使う。
別のネットワークへ送るときに、端末が最初にパケットを渡すルータ。
⚠ 機器の種類としての「ゲートウェイ」(上位層でプロトコルを変換する機器)とは別物。
このレッスンの過去問
- ルータの経路選択に用いる情報(宛先IPアドレス)平成29年度 春期 基本情報技術者試験 午前 問33
- ARPによるIP→MACアドレス解決平成25年度 秋期 基本情報技術者試験 午前 問35
- arpコマンドによるMACアドレス確認平成30年度 春期 基本情報技術者試験 午前 問33
- MACアドレスによる端末認証(ARPの利用)基本情報技術者試験 科目A免除 修了試験 20160124 実施分 問40
- ルータ越え通信の宛先MACとIPアドレス基本情報技術者試験 科目A免除 修了試験 20221211 実施分 問33
- pingによるネットワーク疎通確認令和5年度 基本情報技術者試験 科目A 公開問題 問8