プロが教えるわが家の防犯対策術!

ARPとDNSは関係がありますか?

例えば、通信したい相手のパソコンのMacアドレスを知らないとき、以下のどちらで解決するのでしょうか?
(1)ARPをブロードキャストして、応答があればIPアドレスからMacアドレスを知る
(2)DNSサーバにARP要求して、DNSサーバから相手のIPアドレスを教えて貰う

A 回答 (2件)

相手PCが自分PCと同じIPネットワーク内にいるなら,


(1)相手PCのIPアドレスでARPブロードキャストして、相手PCのMACアドレスを知る。

相手PCが自分PCと異なるIPネットワーク内にいるなら,
デフォルトゲートウェイのIPアドレスでARPブロードキャストして,デフォルトゲートウェイのMACアドレスを知る。
こちらの場合は相手PCのMACアドレスは分かりませんし知る必要もありません。

http://okwave.jp/qa3738589.html?ans_count_asc=0 の私の過去の回答No.5
http://okwave.jp/qa2844202.html?ans_count_asc=0 の私の過去の回答No.3

DNSは (ホスト名+ドメイン名)←→IPアドレス の名前解決を扱うサービスであり,
IPアドレス←→MACアドレス のアドレス解決は扱いませんので関係ありません。
    • good
    • 0
この回答へのお礼

なるほど関係なかったんですね。同じネットワークでない場合は相手のマックアドレスを知る必要もないのは知りませんでした。とても勉強になりました。有り難うございました。

お礼日時:2009/03/15 02:09

DNSはホスト名からIPアドレスの相互変換をする為に必要。


たいていは正引きでホスト名(ドメイン名込みのFQDNも)からIPアドレスを得るのに使用します。

ARPはIPアドレスからMACアドレスを取得するために必要。
Ethernetでの通信はMACアドレスで送信元/送信先を指定するのでIPアドレスだけで通信できません。

で、DNSで得られるIPアドレスと、ARPで得られるMACアドレスでは理由するプロトコル(というかレイヤ)が違います。
http://ja.wikipedia.org/wiki/OSI%E5%8F%82%E7%85% …
IPアドレスはネットワーク層で、MACアドレスはデータリンク層で使用します。

ということで…
>例えば、通信したい相手のパソコンのMacアドレスを知らないとき、以下のどちらで解決するのでしょうか?
ローカル内の場合…
1)DNSのMACアドレスを得るためにARPでDNSサーバのIPアドレスからMACアドレスを取得。
2)内向けDNSに通信したい相手のホスト名からIPアドレスを取得。
3)得たIPアドレスからARPでMACアドレスを取得。
4)得たMACアドレス宛にEthernetパケットでやりとり。
なお、ローカルでなかった場合は微妙に変化します。
    • good
    • 1
この回答へのお礼

大変よくわかりました。レイヤーが違っていたんですね!
ありがとうございました。

お礼日時:2009/03/15 02:07

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!