応用情報技術者 2019年 秋期 午前2 問33
問題文
TCP/IPネットワークで使用される ARPの説明として、適切なものはどれか。
選択肢
ア:IPアドレスから MACアドレスを得るためのプロトコル(正解)
イ:IPアドレスからホスト名 (ドメイン名)を得るためのプロトコル
ウ:MACアドレスからIPアドレスを得るためのプロトコル
エ:ホスト名(ドメイン名)からIPアドレスを得るためのプロトコル
🔒 解説は解答すると表示されます
IP→MACアドレス解決【午前2解説】
正解の理由
ARP(Address Resolution Protocol)は、ネットワーク層のIPアドレスからリンク層のMACアドレスを対応付けるためのプロトコルです。送信ホストが同一ネットワーク内の特定IPへフレームを送る必要があるとき、まずそのIPに対応するMACアドレスを求めるためにブロードキャストのARPリクエストを送信し、該当ホストがARPリプライで自身のMACアドレスを返します。したがって選択肢のうち ア が正しい説明です。
補足として、逆方向(MAC→IP)を解決する手段も歴史的・実用的に存在します。RARP(Reverse ARP)は歴史的にMACからIPを取得する仕組みとして使われましたし、BOOTPや DHCP はクライアントのMACアドレスを基にIPアドレスを割り当て/照合する役割を果たします。よって「MAC→IPは存在しない」という誤記述は避けるべきです。
解法ステップ
- 問題が「どの方向の変換か」を問うていると認識する(IP→MAC または MAC→IP など)。
- 各選択肢をプロトコルの役割で当てはめる:
- ARP は IP→MAC。
- DNS/名前解決系はホスト名⇔IP(選択肢イ・エに該当)。
- MAC→IP は RARP/BOOTP/DHCP に該当するが、ARPではない。
- 上記対応から正解を特定する(ア)。
選択肢別の誤答解説
- ア:正しい。ARPはIPアドレスから対応するMACアドレスを求めるためにARPリクエスト/リプライを行う。
- イ:誤り。IPアドレスからホスト名(ドメイン名)を得る処理は名前解決(リバースDNS、PTRレコードの照会)であり、DNSの機能に関連する。ARPではない。
- ウ:誤り。MACアドレスからIPアドレスを得る仕組みは歴史的にはRARP、運用ではBOOTPやDHCPがMACをキーにIPを割り当てる。ARPは逆方向(IP→MAC)を扱う。
- エ:誤り。ホスト名(ドメイン名)からIPアドレスを得るのはDNSの正引き(A/AAAA レコード)であり、ARPの役割ではない。
よくある誤解
- 「ARPはMAC→IPも行う」:ARPはIP→MAC解決のためのプロトコル。MAC→IPはRARPやBOOTP/DHCPなど別機構で扱われる(現代ではDHCPが一般的)。
- 「名前解決(DNS)とARPは同じ役割」:DNSは名前⇔IP の解決(アプリケーション層〜ネットワーク層)で、ARPは同一リンク内でのIP→MACの解決(ネットワーク層とデータリンク層の橋渡し)で役割が異なる。
- 「ARPは安全なプロトコル」:ARPは認証を伴わないため、ARPキャッシュポイズニング(スプーフィング)等の攻撃に弱い点を見落としがち。
補足コラム
- ARP の動作フロー(簡略)
- 送信ホストが送信先IPのMACを知らないとき、送信元MACと送信元IP、ターゲットIP(ターゲットMACはゼロ)を埋めたARPリクエストをブロードキャスト(MACアドレス ff:ff:ff:ff:ff:ff)で送信。
- ターゲットIPを持つホストはARPリプライをユニキャストで返し、自分のMACを通知。
- 送信ホストは得たMACをARPキャッシュに保存し、一定時間保持して再利用する。
- 関連機能
- Gratuitous ARP:自身のIP→MAC情報を放送し、他端末のARPキャッシュ更新やIP重複検出に利用。
- Proxy ARP:ルータが代理でARP応答し、異なるネットワークにあるホストと通信を行わせる。
- コマンド例(Linux/Windows)
- Linux:
ip neigh show arping -c 2 192.0.2.1 - Windows:
arp -a
- Linux:
FAQ
Q. ARPはOSIのどの層に属しますか?
A. 厳密にはネットワーク層(IP)とデータリンク層(Ethernet)の境界に位置するプロトコルで、IPアドレス(ネットワーク層)をEthernet MACアドレス(データリンク層)へ解決します。教科書的には「ネットワーク層とデータリンク層の補助プロトコル」と表現されることもあります。
A. 厳密にはネットワーク層(IP)とデータリンク層(Ethernet)の境界に位置するプロトコルで、IPアドレス(ネットワーク層)をEthernet MACアドレス(データリンク層)へ解決します。教科書的には「ネットワーク層とデータリンク層の補助プロトコル」と表現されることもあります。
Q. 同一ネットワーク外のIPに対してもARPは使われますか?
A. 基本的には使われません。異なるネットワーク宛はまずデフォルトゲートウェイのMACをARPで解決し、ゲートウェイにフレームを送ってルーティングしてもらいます。
A. 基本的には使われません。異なるネットワーク宛はまずデフォルトゲートウェイのMACをARPで解決し、ゲートウェイにフレームを送ってルーティングしてもらいます。
Q. MAC→IPを一律に知りたいときは何を使いますか?
A. 歴史的にはRARP、運用的にはBOOTP/DHCPが用いられます。DHCPはクライアントのMACアドレスを識別子としてIPを割り当てる仕組みを提供します。
A. 歴史的にはRARP、運用的にはBOOTP/DHCPが用いられます。DHCPはクライアントのMACアドレスを識別子としてIPを割り当てる仕組みを提供します。
関連キーワード: ARP、RARP、DHCP、BOOTP、ARPキャッシュ、Gratuitous ARP、Proxy ARP、DNS、リバースDNS、MACアドレス、IPv4、ブロードキャスト、ARPスプーフィング

\ せっかくなら /
応用情報技術者を
クイズ形式で学習しませんか?
クイズ画面へ遷移する→
すぐに利用可能!

