マルチキャストDNS(mDNS)とは?
まずは、mDNSの正式名称である「マルチキャストDNS」について説明します。mDNSは、ネットワーク内でのデバイス検出を行うための仕組みで、IPアドレスを使わずにデバイス同士が通信できるようにするプロトコルです。また、mDNSはZero Configuration Networking (Zeroconf) の一部であり、特定の設定や管理者の介入なしに、ネットワーク内で自動的に検出・接続することができます。
mDNSの仕組み
mDNSは、UDPポート5353で動作し、IPマルチキャストアドレス「224.0.0.251」に対して、mDNSクエリを送信します。このクエリには、特定の名前を持つデバイスを検索するための情報が含まれています。同じネットワーク上にある他のデバイスがこのクエリを受信し、それに対して自分の情報を返すことで、通信が成立します。
また、mDNSはIPv6でも利用でき、その場合はUDPポート5353で動作し、マルチキャストアドレス「FF02::FB」に対して、mDNSクエリを送信します。
mDNSの利用例
mDNSは、いくつかのプロトコルで利用されています。例えば、Apple社の「Bonjour」というプロトコルは、mDNSとDNS Service Discovery (DNS-SD) を組み合わせたもので、ネットワーク上にあるデバイス・サービスの検索や、自動的な設定を提供することができます。また、Google社の「Chromecast」や、Amazon社の「Echo」シリーズなどのスマートデバイスでも、mDNSが利用されています。
まとめ
mDNSは、ネットワーク内でのデバイス検出を行うためのプロトコルであり、特定の設定や管理者の介入なしに自動的に検出・接続ができます。UDPポート5353で動作し、マルチキャストアドレス「224.0.0.251」に対して、mDNSクエリを送信することで、デバイス同士が通信を行います。Apple社の「Bonjour」や、スマートデバイスなどで利用されており、手軽にネットワーク内でのデバイス間通信を実現することができます。