【エムディーエヌエス】

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

最終更新:
💡 近くの機器同士で、名前とアドレスを確かめる

通常のDNSサーバーを使わず、同じリンク上の機器同士でDNS形式の問い合わせと応答を行うプロトコル。ホスト名の名前解決などに使い、DNS-SDと組み合わせてサービスを発見できる。

📌 このページのポイント
mDNS:同じリンクで名前解決 通常のDNSサーバーは不要 PC 名前を調べる printer.local 別の機器 問い合わせ 応答の例 IPアドレス 問い合わせ 例:printer.localのアドレスを確認 サービス発見の規則はDNS-SD 応答の受信だけで相手を認証はできない
矢印は問い合わせと応答の例。サービスの種類や接続先の発見にはDNS-SDを組み合わせます。
ひよこ ひよこ
プリンターをつなぐと、自動で見つかるのはmDNSのおかげ?
ペンギン先生 ペンギン先生
mDNSとDNS-SDを組み合わせた仕組みが使われる例があるよ。mDNSは同じリンク上で名前解決などをする通信、DNS-SDは印刷などのサービスを探すための決まりなんだ。自動発見が全てmDNSというわけではないよ。
ひよこ ひよこ
普通のDNSとは何が違うの?
ペンギン先生 ペンギン先生
通常のDNSは設定されたDNSサーバーへ問い合わせる。社内で使うDNSもあるよ。mDNSはそのようなサーバーを置かず、同じリンクの機器へマルチキャストで問い合わせ、情報を持つ機器が答えるんだ。
ひよこ ひよこ
「.local」って何?別のネットワークからも使える?
ペンギン先生 ペンギン先生
例えばprinter.localは、そのリンク内で使う名前だよ。同じリンクは、一般にはルーターを越えずに届く範囲。標準のmDNSだけで、離れた拠点や別のネットワークまで同じ名前を探せるとは考えないでね。
ひよこ ひよこ
mDNSがあれば、どんなサービスかも全部分かる?
ペンギン先生 ペンギン先生
mDNSはIPアドレスだけでなくDNSの各種レコードを扱えるけれど、サービスの種類や接続先を見つける規則はDNS-SDの役割だよ。DNS-SDはmDNSでも、通常のDNSサーバーでも使える。BonjourやAvahiは両者を使う仕組みの例だね。
ひよこ ひよこ
近くの機器の応答なら、そのまま信用してよい?
ペンギン先生 ペンギン先生
同じリンクにいることだけでは、正しい相手とは保証されないよ。標準は協調する機器を前提にしていて、悪意のある相手も考えるなら認証など別の対策が必要。利用するネットワークや接続先を確認しよう。
ペンギン
まとめ:ざっくりこれだけ覚えればOK!
「mDNS」って出てきたら「同じリンク上の機器同士で名前解決などを行う仕組み」と思えばだいたいOK!
📖 おまけ:英語の意味
「Multicast DNS」 = マルチキャストDNS
💬 Multicastは特定のグループへ届ける送信方式。mDNSはDNS形式の問い合わせや応答にIPマルチキャストを使うんだよ

参考資料

← 用語集にもどる