Apple’s extensive use of Bonjour in its products makes it so simple for devices to interact on a network without extra configuration, but the protocol was never meant for use outside of a simple, flat network.
So that’s why we start to see problems when teachers start to use devices such as the Apple TV and AirPrint printers on our wireless networks. And, all of a sudden, all that hard work that we spent planning, designing, deploying, and optimizing our enterprise-grade wireless network means absolutely nothing to the teacher. What they need to teach doesn’t work.
I could go into a MUCH longer discussion about the technical intricacies of how Bonjour works, but if you’re still reading this, you probably already know the protocol. I am assuming that you understand how Bonjour works and its limitations, know Layer 2 and 3 network topology along with VLANs, and are comfortable managing your routers/L3 switches and wireless networks.
DISCLAIMER: The following observations and guidelines have worked for us in order to force Bonjour to work for our large multi-segment network over wireless and wired. We are a Cisco shop, but the concepts are the same for any manufacturer. Your mileage may vary depending on your network setup, etc.
Check the Obvious
Make sure that you aren’t blocking peers from communicating with each other on your wireless network (i.e. Peer-to-Peer blocking). This is not talking about “Peer-to-Peer” as in Internet filtering of things like BitTorrent, etc. What this refers to is the ability of a peer on your wireless network to communicate directly with another peer on your wireless network. Also, make sure you aren’t blocking the Bonjour ports anywhere between the clients, if applicable. Reference: TCP and UDP Ports Used by Apple Products
Build Your Own Bonjour Gateway
Most wireless vendors are now including some sort of “Bonjour Gateway” functionality in their APs or controllers. In my limited testing, Cisco, Aerohive and Meraki’s offerings all seem to have various reliability issues. For us, either the services would be cached and not broadcast, or the device wouldn’t get advertisements from some subnets because they would never get an IP address within them. Reboot the device and it would only randomize which subnets didn’t work. This may not be the case for you and your environment, but if it is, you can do what we did: we ended up taking a desktop PC destined for recycling and set up Linux and Avahi to act as a gateway for Bonjour on a trunk port behind each router at every location and it has been flawless so far. Reference: Cisco Wireless Bonjour Deployment Guide
Prune Problem Channels
Disable channels 149 and 153 on your 5 GHz wireless network. They interfere with the peer-to-peer Bluetooth functionality that newer Apple devices use for discovery and transmission. Don’t know why since we’re not using peer-to-peer, but it’s an Apple guideline since devices will still apparently try peer-to-peer even if you intend to AirPlay in infrastructure mode. Reference: Apple iOS 8 Deployment Reference
Double and Triple-Check Multicast Configuration
Ensure multicast traffic is being handled properly. This is essential. Even though the Bonjour traffic is not multicast from client to client, that’s no the case for the traffic between your controller and APs to make all this work. In the past, after I’ve setup multicast for a segment, I’ve used something like VLC to multicast an audio stream as a simple test to make sure the network was configured correctly. Your switches and routers will also let you join a multicast group and test from their console. Reference: Cisco Wireless Bonjour Deployment Guide
Use AP Multicast-Multicast Mode
If you use CAPWAP/LWAPP AP’s, enable multicast-multicast and a valid multicast IP for AP multicast traffic handling. Cisco calls this “AP Multicast Mode” in its controllers. This tells all APs on a controller to join a multicast group and sends one stream to the group instead of an individual stream to individual members, thus reducing network overhead.
Use Sparse Mode Multicast
Move multicast on your wired network to sparse mode. In much of Cisco (and I suspect other vendor’s) documentation, sparse mode with a rendezvous point is now recommended over dense mode. We noticed an improvement in Bonjour, LanSchool, and other multicast traffic back when we moved to it a couple years ago. Reference: Cisco IOS IP Configuration Guide
Disable Low Data Rates
Ditch the lowest data rates on 2.4 and 5 GHz. Disable anything below 12Mbps for 5GHz and 11Mbps for 2.4GHz. This will keep clients with extremely low signals from eating up airtime, slowing down other clients connected to the same AP and force multicast to transmit at a higher data rate. Reference: Cisco Wireless Bonjour Deployment Guide
I would also add that moving devices to 5GHz, if possible, will improve your wireless reliability overall and enhance audio-video streaming on your network. But I know that’s hard to do with some departments’ network requirements or equipment.