【エムディーエヌエス】

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(ドメイン名前解決)を組み合わせた名前。ネットワーク内の全員に「この名前のデバイス知ってる?」と一斉に聞く仕組みだよ
← 用語集にもどる