Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

LLMNR on Windows vs. Zeroconf vs. Bonjour

Link-Local Multicast Name Resolution (LLMNR) is a Microsoft tech for service discovery based on multicast DNS. Is it compatible with Bonjour/Zeroconf? If so, where's the API? The service discovery, I take it, is somehow rolled into vanilla DNS resolution (gethostbyname()?), but what about service advertisement?

like image 509
Seva Alekseyev Avatar asked Jul 31 '12 13:07

Seva Alekseyev


People also ask

Is Llmnr the same as mDNS?

mDNS and LLMNR both do name resolution, but mDNS is also used for service discovery when paired with something called DNS-SD (DNS Service Discovery) . On the LLMNR side, service discovery is handled using a protocol called SSDP (Simple Service Discovery Protocol) which is based on HTTP-over-UDP.

Does mDNS work on Windows?

In fact, it is so easy to implement that any given operating system, Windows included, could have multiple mDNS resolvers running at the same time. Chromium-based browsers (Chrome, Edge, etc.) have an mDNS resolver. Microsoft Teams has been known to use mDNS.

What is a zeroconf address?

(2) (ZERO CONFiguration) An IETF specification that enables devices on an IP network to automatically configure themselves and be discovered without manual intervention. If required, Zeroconf can assign an IP address and alternate hostname to a device.

What are zeroconf services?

Zero-configuration networking (zeroconf) is a set of technologies that automatically creates a usable computer network based on the Internet Protocol Suite (TCP/IP) when computers or network peripherals are interconnected. It does not require manual operator intervention or special configuration servers.


1 Answers

LLMNR solves a small subset of the problems that mDNS tackles, as set out in this post. In short, it's not compatible with Bonjour.

Here is the content of that post, in case archive.org decides to drop the page:

From: Marc Krochmal Date: Fri, 16 Apr 2004 08:54:54 -0700 Hi Tom,

I was reading the August 2003 article in Linux Magazine (http://www.linux-mag.com/2003-08/zeroconf_01.html) on Zeroconf environments. Within the article they mention that Link Local Multicast Name Resolution was adopted by the IETF and that more or less mDNS was thrown out on its ear, even though it uses existing standards instead of creating an all new protocol. One of the reasons they mentioned or implied was that LLMNR was more advanced than mDNS was 'includes provisions to keep link-local addresses from accidentally being propagated into the greater DNS space' Based on research I have been doing into Rendezvous environments this is incorrect (is it not??) since mDNS is aware that domains ending with '.local' are available only on the local link and that a host will only ever try and resolve a domain name ending with '.local' on the local link. So have i misread this article or the mDNS white-paper or is there some truth in this??

LLMNR is much less advanced than mDNS. LLMNR solves a very small problem. It provides very basic name resolution when the name server is misconfigured or when it returns an error.

mDNS provides a distributed notification and cache coherency protocol that facilities ad-hoc DNS-Based Service Discovery. mDNS also provides reliable local name resolution when a hostname ends with ".local", regardless of the state of the DNS server. LLMNR is not a service discovery protocol. You could say that mDNS is a superset of LLMNR.

After a year and a half of operational experience with mDNS, we have never seen accidental leakage of link-local addresses outside the local-link.

There are many people in the IETF DNSEXT working group that would like to see LLMNR interoperate with mDNS. In fact, some people including Paul Vixie are saying that LLMNR should be thrown out and replaced with mDNS. You can read this for yourself in the namedroppers archives.

http://ops.ietf.org/lists/namedroppers/namedroppers.2004/

Another thing alluded to by this article was that Microsoft is pushing for LLMNR and as far as I recall this is something provided by Service Pack 2 in Win XP.

I am not aware of LLMNR being included in Service Pack 2.

Is this not going to take us back to a NetBIOS v AppleTalk days where instead of working towards a singular standard we now have two for name resolution in Zeroconf environments???

This is difficult to predict. If Rendezvous continues to gain momentum, it could easily become the standard in Zeroconf environments. Pretty much every network enabled printer today ships with Rendezvous. Rendezvous also enables iTunes Music Sharing on Mac and Windows which could allow you to potentially share music with many other devices in the home with zero configuration.

Finally on a different track, the mDNS responder provided by Apple for OS X handles traditional DNS responses as well as well as link local mDNS. Is the mDNS responder for Windows and Linux boxes intended to replace the respective traditional DNS handlers provided by the Windows OS and Linux OS or does mDNS work in conjunction with their existing DNS handling (i.e. On a windows box with an mDNS Responder installed, if a DNS Query (for a global domain) needs to be sent, will the OS now use the mDNS responder to handle the process or will it use its 'out-of-the-box' DNS responder ???)

Even though mDNSResponder could be used to replace all DNS query handling, it probably won't. The name space provider for Windows which is included in the mDNSResonder project only works for names that end with ".local".

Best Regards,

-Marc

like image 164
Chris Mowforth Avatar answered Sep 21 '22 03:09

Chris Mowforth