【エムディーエヌエス】

mDNS(マルチキャストDNS) とは?

公開:
💡 DNSサーバーいらずで「おーい、誰かいる?」とご近所探しできるプロトコル
📌 このページのポイント
mDNSによるデバイス自動発見 ローカルネットワーク(192.168.1.x) PC {.local を検索} ① mDNSクエリ 「printer.local は誰?」 プリンター printer.local スピーカー speaker.local NAS nas.local ② 応答 「私だよ!」 IP→ 192.168.1.10
mDNSによるデバイス自動発見の流れ
ひよこ ひよこ
プリンターとかスピーカーを繋ぐとき、勝手に見つかるのはなんで?
ペンギン先生 ペンギン先生
それがまさにmDNSの仕事なんだ。デバイスがネットワークに参加すると「自分はこういう名前で、このIPアドレスだよ」とマルチキャストで全員に通知するんだよ
ひよこ ひよこ
普通のDNSとは何が違うの?
ペンギン先生 ペンギン先生
普通のDNSはインターネット上のDNSサーバーに問い合わせて名前を解決するけど、mDNSはサーバー不要でデバイス同士が直接やりとりするんだ。だから家庭内LANのような小さなネットワークに向いているよ
ひよこ ひよこ
「.local」っていうのをたまに見かけるけど、あれは何?
ペンギン先生 ペンギン先生
mDNSでは「myprinter.local」のように末尾に「.local」をつけた名前でアクセスするんだ。この「.local」ドメインはmDNS専用に予約されていて、ローカルネットワーク内だけで使われるよ
ひよこ ひよこ
セキュリティ的に大丈夫なの?全員に聞こえちゃうんでしょ?
ペンギン先生 ペンギン先生
いいところに気づいたね。mDNSはローカルネットワーク内で暗号化なしに通信するから、悪意あるデバイスがなりすまし応答を返す「mDNSポイズニング」のリスクがあるんだ。だから企業ネットワークではmDNSを制限することもあるよ
ひよこ ひよこ
mDNSとDNS-SDって同じもの?
ペンギン先生 ペンギン先生
似てるけど別物だよ。mDNSは「名前→IPアドレス」の解決で、DNS-SD(DNS Service Discovery)は「どんなサービスがあるか」の発見。この2つがセットで動くことで、プリンターの名前も機能も自動で見つかるんだね
ペンギン
まとめ:ざっくりこれだけ覚えればOK!
「mDNS」って出てきたら「ローカルネットワークで名前解決を自動でやってくれる仕組み」と思えればだいたいOK!
📖 おまけ:英語の意味
「Multicast DNS」 = マルチキャストDNS
💬 multicast(一斉送信)とDNS(ドメイン名前解決)を組み合わせた名前。ネットワーク内の全員に「この名前のデバイス知ってる?」と一斉に聞く仕組みだよ
← 用語集にもどる