Link-Local Multicast Name Resolution (LLMNR)は、マルチキャスト DNS に基づくサービス検出のための Microsoft の技術です。Bonjour/Zeroconf と互換性がありますか? もしそうなら、APIはどこにありますか? サービス ディスカバリは、どういうわけか通常の DNS 解決 ( gethostbyname()
?) に組み込まれていると思いますが、サービス アドバタイズはどうでしょうか?
2 に答える
LLMNR は、この投稿で説明されているように、mDNS が取り組む問題の小さなサブセットを解決します。つまり、Bonjour には対応していません。
archive.org がページを削除することを決定した場合の投稿の内容は次のとおりです。
送信者: Marc Krochmal 日付: 2004 年 4 月 16 日 (金) 08:54:54 -0700 Tom さん、こんにちは。
Linux Magazine の 2003 年 8 月の記事 ( http://www.linux-mag.com/2003-08/zeroconf_01.html) Zeroconf 環境で。記事の中で彼らは、Link Local Multicast Name Resolution が IETF によって採用され、まったく新しいプロトコルを作成する代わりに既存の標準を使用しているにもかかわらず、多かれ少なかれ mDNS が破棄されたと述べています。彼らが言及または暗示した理由の 1 つは、LLMNR が mDNS よりも高度であるということでした。「リンクローカル アドレスが誤ってより大きな DNS 空間に伝搬されないようにするための規定が含まれている」ということでした。そうではありませんか??) mDNS は、「.local」で終わるドメインはローカル リンクでのみ利用可能であり、ホストはローカル リンクで「.local」で終わるドメイン名のみを解決しようとすることを認識しているためです。
LLMNR は、mDNS よりもはるかに高度ではありません。LLMNR は非常に小さな問題を解決します。ネーム サーバーの構成が誤っている場合や、エラーが返された場合に、非常に基本的な名前解決を提供します。
mDNS は、アドホックな DNS ベースのサービス検出を容易にする分散通知とキャッシュ コヒーレンシ プロトコルを提供します。また、mDNS は、DNS サーバーの状態に関係なく、ホスト名が「.local」で終わる場合に、信頼できるローカル名解決を提供します。LLMNR はサービス検出プロトコルではありません。mDNS は LLMNR のスーパーセットであると言えます。
mDNS での 1 年半の運用経験の後、リンクローカル アドレスがローカル リンクの外部に偶発的に漏えいしたことは一度もありません。
IETF DNSEXT ワーキング グループには、LLMNR が mDNS と相互運用されることを望んでいる人がたくさんいます。実際、Paul Vixie を含む一部の人々は、LLMNR を破棄して mDNS に置き換える必要があると言っています。これは namedroppers のアーカイブで読むことができます。
http://ops.ietf.org/lists/namedroppers/namedroppers.2004/
この記事で言及されたもう 1 つのことは、Microsoft が LLMNR を推し進めていることであり、私が思い出す限り、これは Win XP の Service Pack 2 によって提供されるものです。
Service Pack 2 に LLMNR が含まれていることは知りません。
これは、単一の標準に向けて作業する代わりに、Zeroconf 環境での名前解決に 2 つの標準を使用するようになった NetBIOS v AppleTalk の時代に私たちを連れ戻さないのでしょうか?
これを予測するのは困難です。Rendezvous が勢いを増し続ければ、Zeroconf 環境の標準になることは容易です。現在、ほとんどすべてのネットワーク対応プリンターに Rendezvous が同梱されています。Rendezvous はまた、Mac および Windows で iTunes Music Sharing を有効にします。これにより、設定をしなくても、家庭内の他の多くのデバイスと音楽を共有できる可能性があります。
最後に、Apple が提供する OS X 用の mDNS レスポンダは、従来の DNS 応答だけでなくローカル mDNS へのリンクも処理します。Windows および Linux ボックス用の mDNS レスポンダーは、Windows OS および Linux OS によって提供されるそれぞれの従来の DNS ハンドラーを置き換えることを意図していますか、または mDNS は既存の DNS 処理と連携して機能しますか (つまり、mDNS レスポンダーがインストールされている Windows ボックスでは、 DNS クエリ (グローバル ドメイン用) を送信する必要があります。OS は mDNS レスポンダーを使用してプロセスを処理しますか、それとも「すぐに使える」DNS レスポンダーを使用しますか???)
mDNSResponder を使用してすべての DNS クエリ処理を置き換えることができますが、そうではない可能性があります。mDNSResonder プロジェクトに含まれている Windows 用の名前空間プロバイダーは、「.local」で終わる名前に対してのみ機能します。
よろしくお願いします、
-マルク