Bonjour (software)

From Wikipedia, the free encyclopedia

Bonjour
Image:Apple Bonjour Icon.gif
Developed by Apple Inc.
OS Mac OS X, Windows 32 bit and 64 bit, Linux
Genre Zeroconf
License Apple - Proprietary Freeware
Website http://developer.apple.com/bonjour

Bonjour, formerly Rendezvous, is Apple Inc.'s trade name for its implementation of Zeroconf, a service discovery protocol. Bonjour locates devices such as printers, as well as other computers, and the services that those devices offer on a local network using multicast Domain Name System service records. The software is built into Apple's Mac OS X operating system from version 10.2 onwards, and can be installed onto computers using Microsoft Windows operating systems (it is installed with iTunes, for example).

The software is released under a terms-of-limited-use license by Apple. While it is freeware for clients, developers and software companies who want to include in their software package should check with Apple on licensing agreements.

Contents

[edit] Overview

Bonjour is a general method to discover services on a local area network. It is widely used throughout Mac OS X and allows users to set up a network without any configuration. Currently it is used by Mac OS X and on other operating systems to find printers and file sharing servers. It is also used by iTunes to find shared music, iPhoto to find shared photos, iChat, Adobe Creative Suite 3, Proteus, Adium, Fire, Pidgin, Skype, and the Gizmo Project to find other users on the local network, TiVo Desktop to find digital video recorders and shared media libraries, SubEthaEdit and e to find document collaborators, and Contactizer to find and share contacts, tasks and events information. Additionally it is used by Safari to find local web servers and configuration pages for local devices, and by Asterisk to advertise telephone services along with configuration parameters to VoIP phones and dialers. Software such as Bonjour Browser or iStumbler can be used to view all services declared by these applications and more.

Without special DNS configuration, Bonjour only works within a single broadcast domain, which is usually a small area.

Bonjour is sometimes misunderstood to make services on a personal computer (for instance, file sharing) available to the public Internet, which could be considered a security risk. In fact, Bonjour does not provide any extra access to services, even on the same local area network (LAN); it merely announces ("advertises") their existence. For example, a user can browse a list of nearby computers which share files—Bonjour on these computers has told the user that the service is available—but he or she must still provide a password to access any protected files on these machines. Additionally, Bonjour works only in a close range; by default, its messages only reach users of the same link. Thus, the only security impact of Bonjour is that advertised services are no longer protected by security through obscurity on the local network. If the services are protected through a means other than obscurity, they will remain protected.

Bonjour services are implemented at the application level largely using standard TCP/IP calls, rather than in the operating system. Although Mac OS X provides various Bonjour services, Bonjour works on other operating systems. Apple has made the source code of the Bonjour multicast DNS responder, the core component of service discovery, available as a Darwin open source project. The project provides source code to build the responder daemon for a wide range of platforms, including Mac OS 9, Mac OS X, Linux, *BSD, Solaris, VxWorks, and Windows. In addition, Apple provides a user-installable set of services called Bonjour for Windows as well as Java libraries. A number of Windows programs use Zeroconf, including Adobe Creative Suite 3, iTunes, Cerulean Studios' Trillian Pro 3, Ruckus Music Player from Ruckus Network, and the text editor e.

[edit] Criticism

Bonjour services are installed without explicit user permission and the software is not necessary for running the programs with which it is bundled. While there are no documented conflicts with anti-virus software packages or the Microsoft Windows operating system, some corporate firewalls may raise a warning when Bonjour attempts to broadcast the availability of network services. Some technical forums have reported that the service can break a configured internet connection and also can conflict with system files on certain versions of Windows, although there are no vendor reported conflicts.[citation needed]

The program can not be removed from MS Windows through the Control Panel Add/Remove Programs list.

Bonjour Protocol Specifications
IPv4LL Dynamic Configuration of IPv4 Link-Local Addresses
mDNS Multicast DNS
DNS-SD DNS-Based Service Discovery
DNS-LLQ DNS Long-Lived Queries
DNS-UL Dynamic DNS Update Leases
NAT-PMP NAT Port Mapping Protocol

Originally, Bonjour had been released under the controversial Apple Public Source License which caused its adoption to be severely hampered on Linux and other free software desktops. This led to the development of the Avahi project under the less controversial LGPL license. Nowadays, Avahi is the default Zeroconf implementation on all Linux distributions and has even been ported to Apple's own Mac OS X operating system.

[edit] Microsoft Windows implementation

The current implementation of Bonjour for Windows is version 1.0.4. This version works with Windows 2000, 2003, XP, and Vista. It is primarily used in order to ease the installation, configuration, and use of network printers and thus runs from startup. When Bonjour is fully implemented on MS Windows, some features such as iChat allow for communication between the Mac OS and MS Windows. Bonjour for Windows also adds Zeroconf capabilities to Internet Explorer, and provides a Zeroconf implementation to Java JVMs.[1][2]

Besides Apple software such as iTunes, Bonjour is also delivered with some third party applications, such as Adobe's Photoshop CS3 suite[3], to take advantage of Zeroconf technology.

Bonjour is normally placed in a folder called "Bonjour" within the "Program Files" folder. Bonjour modifies registry entries related to Bonjour's internal configuration and operation. In the list of MS Windows startup services, Bonjour runs as the name mDNSResponder.exe consuming around 0.8MB of RAM or more on 64-bit systems as it requires to run in a 32-bit enmulated environment. Communications across the network take place over UDP port 5353, which may require reconfiguing some personal or corporate firewalls that may block Bonjour packets. A full installation of Bonjour for Windows will include a plug-in for Internet Explorer, a printer wizard and the network communication services. Not all components are included, when installed as part of a third party application or as a component of other Apple software such as iTunes.

Some VPN clients are configured so that local network services are unavailable to a computer when VPN software is active and connected. In such a case, no local Zeroconf services are available to Bonjour or any other Zeroconf implementation.

The Windows version of the open source IM client Pidgin, supports the Bonjour IM protocol.

To this date this is no easy way of fully uninstalling Bonjour without the user having a good grasp of registry editing.

[edit] Naming

Bonjour's original name, when introduced in August 2002 as part of Mac OS X v10.2, was "Rendezvous". On August 27, 2003, Tibco Software Inc announced that it had filed suit for trademark infringement.[4] Tibco already had an enterprise application integration product called TIBCO Rendezvous on the market since 1994, and the company stated that they had tried and failed to come to an agreement with Apple Computer. In July 2004, Apple Computer and Tibco reached an out-of-court settlement;[5] specifics of the settlement were not released to the public.

On April 12, 2005, Apple announced that Rendezvous was being renamed to Bonjour,[6] which is also a French word, meaning "hello", "good morning", or literally "good day."

[edit] See also

[edit] References

[edit] External links