通信相手のIPアドレスを調べる仕組みとARP・DHCP・NATの違い
情報セキュリティマネジメント試験 令和元年度秋期 午前 問47 / ネットワーク › ネットワーク方式
過去問にチャレンジ
PCが,Webサーバ,メールサーバ,他のPCなどと通信を始める際に,通信相手のIPアドレスを問い合わせる仕組みはどれか。
- ア
ARP(Address Resolution Protocol)
- イ
DHCP(Dynamic Host Configuration Protocol)
- ウ
DNS(Domain Name System)
- エ
NAT(Network Address Translation)
会話形式の解説
講師今回は、通信を始める前に相手のIPアドレスを問い合わせる仕組みを選ぶ問題です。選択肢はどれもアドレスに関係するネットワーク用語なので、それぞれ「何を手がかりにして、何が分かるのか」で整理していきましょう。
受験者ARPは「Address Resolution」、つまりアドレス解決という名前なので、問い合わせる仕組みならARPかと思いました。でもDNSも名前解決と聞いたことがあって、迷っています。
講師そこがこの問題の引っかけです。ARPは、すでに分かっているIPアドレスをもとに、同じリンク上の機器のMACアドレスを調べるプロトコルです。MACアドレスは、ネットワーク機器ごとに割り当てられた識別番号のことです。ARPを使う時点でIPアドレスは分かっている必要があるので、IPアドレスを調べることはしません。
受験者ARPで分かるのはMACアドレスなのですね。では、DNSは何をもとにIPアドレスを調べるのですか。
講師ドメイン名やホスト名です。たとえばWebサイトやメールサーバに名前で接続するとき、PCは裏でDNSに問い合わせて、相手のIPアドレスを受け取っています。この働きを名前解決と呼びます。問題文の説明にそのまま当てはまるので、正解はDNSです。
受験者DHCPはIPアドレスを配る仕組みだったと思います。IPアドレスを扱う点ではDNSと同じなので、ここも紛らわしいです。
講師DHCPは、端末にIPアドレスなどの設定情報を自動で割り当てるプロトコルです。サブネットマスクやDNSサーバのアドレスも配りますが、受け取るのは自分の端末の設定です。通信相手のIPアドレスを問い合わせて答える機能はありません。
受験者NATは、プライベートIPアドレスとグローバルIPアドレスを変換する技術でしたよね。アドレスを書き換えるだけで、相手のアドレスを調べてくれるわけではない、という理解で合っていますか。
講師合っています。NATは通信中のパケットのアドレスを書き換える技術で、問い合わせの機能は持っていません。
受験者まとめると、DNSは名前からIPアドレス、ARPはIPアドレスからMACアドレス、DHCPは自分の端末への設定の割り当て、NATはアドレスの変換、ということですね。
講師そのとおりです。実際の通信では、まずDNSで相手のIPアドレスを得て、相手が同じLAN内であれば次にARPでMACアドレスを得る、という順番で進みます。また、DHCPはDNSサーバのアドレスを配りますが、名前解決をするのはDNSです。「問い合わせる」「解決」といった言葉だけで判断せず、何から何を得るのかで見分けるようにしましょう。
まとめ
通信相手のIPアドレスを問い合わせる仕組みはDNSで、ドメイン名やホスト名からIPアドレスを得る名前解決を担います。ARPはIPアドレスからMACアドレスを得るプロトコルなので、「アドレス解決」という名前につられて選ばないよう注意が必要です。DHCPは自分の端末にIPアドレスなどの設定を割り当てる仕組みで、NATはプライベートIPアドレスとグローバルIPアドレスを変換する技術です。それぞれ「何から何を得るか」で整理すると取り違えを防げます。
解答・解説
正解はウです
この問題のテーマ
通信を始める前に、相手の名前(ホスト名やドメイン名)からIPアドレスを問い合わせる仕組みを問う問題です。似た名前のネットワーク用語であるARP・DHCP・NATとの役割の違いが問われています。
解き方の考え方
まず、各選択肢が「何を入力にして、何を得る仕組みか」を整理します。問題文が求めているのは「通信相手のIPアドレスを問い合わせる」機能なので、得られる結果が相手のIPアドレスであるものを探します。ARPは結果がMACアドレス、DHCPは自分に割り当てられる設定、NATはアドレスの書き換えなので、名前からIPアドレスを得るDNSだけが条件に合います。
選択肢ごとの解説
- ×ア ARP(Address Resolution Protocol)ARPは、すでに分かっているIPアドレスをもとに、同じリンク上の機器のMACアドレスを得るプロトコルです。IPアドレスは前提として分かっている必要があり、名前からIPアドレスを調べることはしません。
- ×イ DHCP(Dynamic Host Configuration Protocol)DHCPは、端末にIPアドレスなどの設定情報を自動で割り当てるプロトコルです。サブネットマスクやDNSサーバのアドレスも配りますが、配る相手は自分の端末です。通信相手のIPアドレスを問い合わせて答える機能はありません。
- ○ウ DNS(Domain Name System)DNSは、ドメイン名やホスト名に対応するIPアドレスを問い合わせる名前解決の仕組みです。Webサーバやメールサーバへ名前で接続するとき、PCは裏側でDNSに問い合わせて相手のIPアドレスを得ています。問題文の説明にそのまま当てはまります。
- ×エ NAT(Network Address Translation)NATは、プライベートIPアドレスとグローバルIPアドレスを相互に変換する技術です。通信中のパケットのアドレスを書き換えるもので、相手のIPアドレスを問い合わせる機能は持っていません。
補足
ARPも「アドレスを解決する」プロトコルなので、問題文の「問い合わせる」に引っ張られてアを選ばないよう注意してください。実際の通信では、まずDNSで相手のIPアドレスを得て、同じLAN内であれば次にARPでMACアドレスを得るという順番で進みます。また、DHCPはDNSサーバのアドレスを配布しますが、名前解決そのものはDNSの役割です。
POINT
- DNSは、ドメイン名やホスト名からIPアドレスを得る「名前解決」の仕組みです。
- ARPは、IPアドレスからMACアドレスを得るプロトコルです。
- DHCPは、端末にIPアドレスなどの設定を自動で割り当てるプロトコルです。
- NATは、プライベートIPアドレスとグローバルIPアドレスを相互に変換する技術です。
- どの用語も「何から何を得るか」で区別すると、取り違えを防げます。
