1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

【ネットワーク】mDNS

Posted at

はじめに

こんにちは。アメリカに住みながら、独学でエンジニアを目指しているTairaです。
今回は、LAN内でよく使われる「mDNS(マルチキャストDNS)」について、DNSとの違いや具体的な仕組みを例え話を交えながらわかりやすく解説します。


mDNSとは?

mDNS(Multicast DNS) とは、同じローカルネットワーク(LAN)に接続された機器同士で、名前(ホスト名)からIPアドレスを解決する仕組みです。通常のDNSのように専用のDNSサーバーを使わずに、ネットワーク上にいる端末に「○○って誰か知ってる?」とマルチキャスト送信で尋ねます。

DNSサーバーと違って、実際にモノとしてサーバーばないのが特徴です

具体例

たとえば、プリンタが printer.local という名前でネットワークに接続されているとします。

  1. PCが「printer.localのIPアドレスを知りたい」となったとき、

  2. UDPポート5353でローカルネットワークにマルチキャスト送信します。

  3. プリンタが「それは私です!」と自分のIPアドレスを応答します。

→ DNSサーバーを使わずに名前解決ができます。


mDNSの特徴

特徴 内容
名前解決範囲 同じローカルネットワーク内のみ
通信プロトコル UDP(ポート番号:5353)
通信方法 マルチキャスト送信(224.0.0.251)
ドメインの末尾 .local で終わる(例:printer.local
代表的な用途 プリンタやIoT機器の自動検出、Bonjour(Apple)など

通常のDNSとの違い

項目 通常のDNS mDNS
対象 インターネット全体 ローカルネットワーク
必要なもの DNSサーバー 不要(各端末が応答)
通信方法 クライアント→DNSサーバー クライアント→ネットワーク全体に呼びかけ
代表的な例 google.com など raspberrypi.local など

例えで理解:DNSは市役所、mDNSは教室

  • DNSは「市役所」のような存在です。誰かの住所(IP)を知りたければ、市役所に行って台帳から調べてもらいます(教えてくれるかは不明だけど)。正確ですが、手続きが少し重いです。
  • 一方でmDNSは、「教室」で先生(PC)が「printer.local っている~?」とみんなに向かって呼びかけるイメージです。該当する人(プリンタ)が「はい、ここにいます!」と名乗り出て、IPアドレスを教えてくれます。

このように、手軽で即時性があるのがmDNSの魅力です。


なぜmDNSはUDPを使うのか?

mDNSがUDP通信を使う理由は以下の通りです:

  • 軽量で高速:TCPのような接続確立(3ウェイハンドシェイク)が不要。
  • 1対多の通信が得意:マルチキャスト送信で同時に複数の端末に届けられる。
  • 信頼性より即応性:名前解決なので、万一失敗しても再送すればOK。

このような背景から、mDNSにはUDPが最適です。


まとめ

mDNSは、家庭内やオフィス内のネットワークで、DNSサーバーなしにホスト名からIPアドレスを見つける便利な仕組みです。LAN内にあるプリンタやIoT機器を自動で見つけるのに役立ち、Bonjourなどのサービスでも活用されています。

もしネットワーク機器の名前が .local で終わっていたら、それはmDNSによって名前解決されているのかもしれません。

1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?