sg sg-security-measures network_security threat_vulnerability
まず結論
ARPとDNSは、どちらも通信先を調べるための仕組みですが、調べる対象が違います。
- DNS:ドメイン名からIPアドレスを調べる
- ARP:IPアドレスからMACアドレスを調べる
SG試験では、まずこの対応関係を押さえることが大切です。
名前からIPならDNS、IPからMACならARP
この一文で切り分けると、選択肢をかなり判断しやすくなります。
直感的な説明
Webサイトを見るとき、利用者は通常、IPアドレスではなくドメイン名を入力します。
たとえば、次のような流れです。
www.example.com
↓ DNSで調べる
203.0.113.10
↓ ARPで調べる
対応するMACアドレス
DNSは、人間が覚えやすい名前を、通信で使うIPアドレスに変換する仕組みです。
一方、ARPは、LAN内で実際に通信を届けるために、IPアドレスからMACアドレスを調べる仕組みです。
つまり、DNSとARPはどちらも通信前の確認ですが、役割が違います。
定義・仕組み
DNSとARPの違いを表で整理すると、次のようになります。
| 項目 | DNS | ARP |
|---|---|---|
| 正式名称 | Domain Name System | Address Resolution Protocol |
| 調べるもの | ドメイン名 → IPアドレス | IPアドレス → MACアドレス |
| 主な目的 | Webサイトなどの宛先IPを知る | LAN内で実際に届ける相手を知る |
| 保存される情報 | DNSキャッシュ | ARPテーブル |
| 関連する攻撃 | DNSキャッシュポイズニング | ARPスプーフィング |
ポイントは、DNSもARPも「対応関係を調べる」仕組みだということです。
ただし、対応させるものが違います。
- DNSは、名前とIPアドレスを対応させる
- ARPは、IPアドレスとMACアドレスを対応させる
通信の流れで見る違い
たとえば、PCからWebサイトへアクセスする場合を考えます。
1. DNSでIPアドレスを調べる
まず、PCはドメイン名からIPアドレスを調べます。
www.example.com のIPアドレスは?
これに対してDNSが、対応するIPアドレスを返します。
203.0.113.10 です
ここで行われるのが、名前解決です。
2. ARPでMACアドレスを調べる
次に、PCは通信を実際にネットワークへ送る必要があります。
同じLAN内の相手に送る場合は、相手のMACアドレスを調べます。
外部のWebサイトへ送る場合は、まずデフォルトゲートウェイ、つまりルータのMACアドレスを調べます。
このIPアドレスに届けるため、次に渡す機器のMACアドレスは?
ここで使われるのがARPです。
どんな場面で使う?
DNSとARPは、どちらも利用者が普段意識しないところで自動的に使われます。
| 場面 | 使われる仕組み |
|---|---|
| URLを入力してWebサイトを見る | DNS |
| ドメイン名からIPアドレスを調べる | DNS |
| LAN内の機器へ通信を届ける | ARP |
| ルータのMACアドレスを調べる | ARP |
| 名前解決の問題を調べる | DNS |
| IPとMACの対応を調べる | ARP |
SG試験では、問題文に「ドメイン名」「名前解決」とあればDNSを考えます。
一方で、「MACアドレス」「ARPテーブル」「LAN内」とあればARPを考えます。
DNSキャッシュとARPテーブルの違い
DNSとARPは、どちらも一度調べた結果をしばらく保存します。
ただし、保存する内容が違います。
| 用語 | 保存する内容 |
|---|---|
| DNSキャッシュ | ドメイン名とIPアドレスの対応 |
| ARPテーブル | IPアドレスとMACアドレスの対応 |
キャッシュやテーブルに保存することで、毎回問い合わせる必要がなくなり、通信を効率よく行えます。
ただし、ここに誤った情報が入ると、別の場所へ通信してしまう危険があります。
この考え方が、DNSキャッシュポイズニングやARPスプーフィングの理解につながります。
攻撃との関係
DNSとARPは、どちらも対応関係を信じて通信するため、偽の情報を入れられると攻撃につながります。
| 攻撃 | だます対応関係 | 起こること |
|---|---|---|
| DNSキャッシュポイズニング | ドメイン名とIPアドレス | 偽サイトへ誘導される |
| ARPスプーフィング | IPアドレスとMACアドレス | 攻撃者の端末へ通信が向く |
たとえばDNSキャッシュポイズニングでは、正しいWebサイト名を入力しても、偽のIPアドレスへ誘導される可能性があります。
一方、ARPスプーフィングでは、LAN内でIPアドレスとMACアドレスの対応をだまされ、通信が攻撃者を経由する可能性があります。
よくある誤解・混同
誤解1:DNSもARPも同じ「アドレス変換」
どちらも対応関係を調べますが、変換する対象が違います。
DNSは、ドメイン名からIPアドレスです。
ARPは、IPアドレスからMACアドレスです。
誤解2:ARPはドメイン名からIPアドレスを調べる
これはDNSの役割です。
ARPはドメイン名を扱うのではなく、IPアドレスに対応するMACアドレスを調べます。
誤解3:DNSはMACアドレスを調べる
DNSはMACアドレスを調べません。
DNSが扱うのは、基本的にドメイン名とIPアドレスの対応です。
MACアドレスが出てきたら、ARPを考えます。
誤解4:外部サーバのMACアドレスをARPで直接調べる
ARPは基本的に同じLAN内で使われる仕組みです。
外部のWebサーバへ通信する場合、PCがARPで調べるのは、外部サーバのMACアドレスではなく、通常はデフォルトゲートウェイのMACアドレスです。
SG試験での判断ポイント
SG試験では、問題文のキーワードから切り分けるのが一番確実です。
| キーワード | 判断する用語 |
|---|---|
| ドメイン名 | DNS |
| 名前解決 | DNS |
| IPアドレスを取得 | DNS |
| MACアドレス | ARP |
| ARPテーブル | ARP |
| LAN内の機器 | ARP |
| 偽サイトへ誘導 | DNSキャッシュポイズニング |
| 通信が攻撃者を経由 | ARPスプーフィング |
特に、次の2つをセットで覚えておくと便利です。
- DNSキャッシュ:ドメイン名とIPアドレス
- ARPテーブル:IPアドレスとMACアドレス
確認問題
PCがWebサイトへアクセスするとき、まずドメイン名からIPアドレスを調べ、その後、LAN内で通信を届けるためにIPアドレスからMACアドレスを調べた。この2つの処理で使われる仕組みの組合せとして、最も適切なものはどれか。
- ア DNS、ARP
- イ ARP、DNS
- ウ DHCP、DNS
- エ SMTP、ARP
回答と解説
正解は、**ア DNS、ARP**です。 ドメイン名からIPアドレスを調べる仕組みはDNSです。 IPアドレスからMACアドレスを調べる仕組みはARPです。 この問題では、 - ドメイン名 → IPアドレス:DNS - IPアドレス → MACアドレス:ARP という対応関係が決め手になります。まとめ(試験直前用)
ARPとDNSは、どちらも通信先を調べる仕組みですが、役割が違います。
試験直前には、次の3点で整理しましょう。
- 名前からIPならDNS
- IPからMACならARP
- DNSは名前解決、ARPはLAN内で届ける相手の確認
DNSとARPを混同しないためには、何を何に対応付けるのかを見るのが一番大切です。
問題文に「ドメイン名」があればDNS、「MACアドレス」があればARPをまず考えましょう。