What is Bonjour?
Bonjour is a networking technology from Apple, Inc. where devices, computers, and services on IP networks are automatically detected or located. It involves zero-configuration networking wherein there is no need to enter IP addresses or configure DNS servers in locating devices in a particular network. It works with both wired and wireless networks as this technology is based on Internet Protocol (IP).
Bonjour is a built-in feature in Mac operating systems like Mac OS X and is embedded in network applications like the Safari web browser, Skype, Pidgin, and iTunes. But there is also a service for Microsoft PCs, the software for which is freely downloadable from the Apple website. mDNSResponder is the Bonjour system that actually discovers the services on a local network. In the case of iTunes, iChat, iPhoto, and Safari, mDNSResponder allows for network sharing of music and photos, chatting, file sharing, and detection of hardware devices like web cameras and printers. The mDNSResponder system is open source, meaning those that manufacture hardware devices are allowed to use it in their own products, with the benefit of no-configuration networking.
Bonjour also works with multiple subnets. For Mac OS X 10.4 versions, Bonjour uses unicast DNS queries and Dynamic DNS update to allow for wider areas in service discovery. It also supports “SOAP” RPC over HTTP, along with other application protocols on top of UDP/IP and TCP/IP. Bonjour’s discovery protocol is very well designed, in which the protocol used to discover information is the same protocol that detects changes to the same information. For example in iChat, when you update your status, all other iChat users on a particular network receive a notification regarding the change.
Others are not happy with Bonjour though. Some say it causes network issues on Windows, while others dismiss it as something that is unnecessary. For those who don’t need Bonjour, mDNSResponder can be removed from the computer, with particular applications still working but with limited functionality.