This is part one of a two-part blog. In this blog, I will introduce the Apple Bonjour protocol, its simplicity and benefits, and the challenges it poses in the Enterprise. Part two will be published at a later date, and at that time I will explain how to get around those challenges.
Introduction to Apple Bonjour
The BYOD (Bring Your Own Device) movement has introduced an explosive proliferation of smart devices into the enterprise environment. With the recent release and popularity of the iPhone 5 and mini iPads, it is expected that the growth of Apple products will accelerate in the enterprise. Many companies and institutions that five years ago had no Apple products at all, or at best a few Macs for specialized uses, have now accepted iPhones and iPads as “standard” mobile devices, with hundreds, thousands, or even tens of thousands of these devices active on their networks. These consumer devices have enabled employees to become more mobile and productive. Unlike other BYOD devices, Apple products connect and access networks by a mechanism called Bonjour.
Apple’s Bonjour is a “zero configuration network” (Zeroconf) multicast Domain Naming System (mDNS) protocol used by Apple devices to enable the automatic and easy discovery of computers, devices, and services on IP networks. Bonjour (like other multicast services like Avahi and Microsoft’s UPnP) uses industry standard IP protocols to allow devices to automatically discover each other without the need to enter IP addresses or configure DNS servers. The elegance of this approach is that it brings simplicity and ease-of-use to the users of network devices and services. Eliminating the need to set up services such as Dynamic Host Configuration Protocol, DNS, and DNS Service Directory, Bonjour enables each device to continuously publish and discover services. By broadcasting Bonjour service messages, printers, servers, and other shared devices can advertise the services they offer. Client devices then monitor Bonjour advertisements and connect to the appropriate servers, as with any other service. The protocol also allows for a device to request services (Service Discovery) on the network as well as respond to incoming requests, which in some cases means a single device can be both a client and a server at the same time. The automatic discovery makes it easy for clients like iPads and Macbooks to easily use a printer using AirPrint or mirror a display to a projector using AirPlay
Challenges with Apple Bonjour in the enterprise
On the downside, Bonjour generates a lot of chatty traffic or “noise” on the network. During the Service Discovery process, when a device is browsing for services, it sends queries such as “Any services of type X in the domain?” It issues an initial query and then sends subsequent queries exponentially less often, after 1 second, 2 seconds, 4 seconds, 8 seconds, and so on, at up to a maximum interval of one hour. Likewise, when a service starts up on the network, it announces its presence with the same exponential back-off algorithm. With iPhones, iPads and other Apple devices often going to sleep and then being woken up, this process is often repeated several times a day. While this is not an issue in a small home network because of a relatively few number of devices, in an enterprise network the amount of such traffic can be substantial. With hundreds or thousands of Apple clients on a network, multicast traffic quickly swells to startling percentages (some universities report instances where this discovery traffic amounts to 90% of the network’s load).
The other problem with Bonjour (and similar multicast services) is that the broadcast of service advertisements are only seen by devices within a single subnet or Virtual Local Area Network (VLAN). Therefore in an enterprise with a large multi-VLAN network, the Bonjour traffic will not span across VLANs. This means Bonjour devices like printers in one VLAN cannot be used by client device in another VLAN.
Please stay tuned for part two of this blog, which will be published shortly.