Bonjour
Sign in to saveAlso known as Apple Bonjour, Rendezvous, Apple Rendezvous, mDNSResponder, DNS Service Discovery Collection
computer networking technology
Described at
mDNSResponder/Documents/mDNSResponder.md at main · apple-oss-distributions/mDNSResponder · GitHub
Contribute to apple-oss-distributions/mDNSResponder development by creating an account on GitHub.
github.com →You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session. Dismiss alert Apple's Bonjour software derives from the ongoing standardization work of the IETF Zero Configuration Networking Working Group . Self-assigned link-local address capability has been available since 1998, when it first appeared in Windows '98 and in Mac OS 8.5. Implementations for other platforms also exist. The mDNSResponder project allows us to meet requirements 2 and 3. It provides the ability for the user to identify hosts using names instead of dotted-decimal IP addresses, even if the user doesn't have a conventional DNS server set up. It also provides the ability for the user to discover what services are being advertised on the network, without having to know about them in advance, or configure the machines. The name "mDNS" was chosen because this protocol is designed to be, as much as possible, similar to conventional DNS. The main difference is that queries are sent via multicast to all local hosts, instead of via unicast to a specific known server. Every host on the local link runs an mDNSResponder which is constantly listening for those multicast queries, and if the mDNSResponder receives a query for which it knows the answer, then it responds. The mDNS protocol uses the same packet format as unicast DNS, and the same name structure, and the same DNS record types. The main difference is that queries are sent to a different UDP port (5353 instead of 53) and they are sent via multicast to address 224.0.0.251 or ff02::fb. Another important difference is that all "mDNS" names end in ".local." When a user types "yourcomputer.local." into their Web browser, the presence of ".local." on the end of the name tells the host OS that the name should be looked up using local multicast instead of by sending that name to the worldwide DNS service for resolution. This helps reduce potential user confusion about whether a particular name is globally unique (e.g. "www.apple.com .") or whether that name has only local significance (e.g. "yourcomputer.local."). Because Apple benefits more from widespread adoption of Bonjour than it would benefit from keeping Bonjour proprietary, Apple is making this code open so that other developers can use it too. Because Apple recognises that networks are heterogeneous environments where devices run many different kinds of OS, this code has been made as portable as possible. The "mDNS Core" layer is absolutely identical for all applications and all Operating Systems. The "Platform Support" layer provides the necessary supporting routines that are specific to each platform -- what routine do you call to send a UDP packet, what routine do you call to join multicast group, etc. The "Application" layer does whatever that particular application wants to do. It calls routines provided by the "mDNS Core" layer to perform the functions it needs: The "mDNS Core" layer in turn calls through to the "Platform Support" layer to send and receive the multicast UDP packets to do the actual work. Apple currently provides "Platform Support" layers for macOS, Microsoft Windows, and for POSIX platforms like Linux, Solaris, FreeBSD, etc. This would not be very efficient. Each separate application would be sending their own separate multicast UDP packets and maintaining their own list of answers. Because of this, macOS and POSIX versions of mDNSResponder provide a common system service which client software should access through the "/usr/include/dns sd.h" APIs. In this configuration, applications make interprocess-communication (IPC) calls to the single mDNSResponder daemon which implements the mDNS and DNS-SD protocols. Vendors of products such as printers, which are closed environments not expecting to be running third-party application software, can reasonably imple
Excerpt from a page describing this subject · 10,282 chars · not written by Vinony
Wikidata facts
- Official website
- developer.apple.com/bonjour
- Image
- Bonjour Browser window.png
Show 4 more facts
- inception
- 2002-08-00
- source code repository URL
- github.com/apple-oss-distributions/mDNSResponder
- described at URL
- github.com/apple-oss-distributions/mDNSResponder/blob/main/Documents/mDNSResponder.md
- software version identifier
- 878.270.2
via Wikidata · CC0