Let’s face it. Apple’s Bonjour protocol is likely here to stay, or at-least for the foreseeable future until Apple decides otherwise. If you have an Apple device and wish to do printing or require the use of its discovery services, you will very likely encounter Apple’s Bonjour protocol. I will spare the many technical details of the protocol as a quick wiki search describes the functionality. Simply put, Bonjour is Apple’s attempt at a network service discovery protocol that utilizes multicast for its communication. Let’s get started by showing one such scenario!
The Scenario
You receive a support call one day, stating that senior management wishes to print – wirelessly, of course – from their iPhones and iPads. They are trying to print to their new Bonjour supported/enabled wireless printer, but can’t. You as the engineer investigate the functionality of Bonjour, and learn that multicast is what makes this protocol tick. A decent starting place to get configuration tips is Cisco’s Wireless LAN Apple Bonjour Deployment Guide.
Realizing that senior management is on a separate layer 3 segment across a WAN, you conclude that you’ll need to configure end-to-end layer 3 multicast in order for senior management’s Apple devices to communicate with their new Bonjour enabled printer. In this scenario, your wireless controllers (Cisco 5508′s) are separated by a WAN connection at site A from the management team at site B. Also, the wireless access points at management’s location (Cisco 1242′s) are in local mode.
Wireless clients of SSID’s for local mode access points receive their IP addressing information as though they’re on a network segment directly attached to the wireless controllers, and not necessarily from a network segment where the access points are located, even though the controller may be across a WAN connection. In contrast, clients of SSID’s of Cisco access points that are in Hybrid-Reap or the newer “FlexConnect” mode receive their IP addressing information from a network segment local to the access points.
As mentioned earlier, you will need to configure layer 3 end-to-end multicast for the Bonjour protocol to discover and communicate between the supported devices. You should start by diagramming out the network connectivity between the locations and controllers as you put together your configuration plan.
The Configuration
The high-level configuration steps are as follows:
- Turn on and enable “ip multicast-routing” on both devices serving as routers for the layer 3 WAN connection.
- Under the layer 3 WAN interface paragraphs for each side, you configure “ip pim sparse-mode” for the multicast discovery path.
- Next, configure “ip pim sparse-mode” under the wireless network’s (for the SSID the Apple devices are trying to communicate on) SVI at site A, and also under the wireless access points management SVI’s at both sites A and B.
- Knowing that Bonjour multicasts to 224.0.0.51, we need to configure the multicast rendezvous point with the necessary multicast group-list on the Site A router, as well as the multicast rendezvous point on the site B router. This is a requirement when running PIM multicast so the data can be forwarded. The rendezvous point acts as the meeting place for sources and receivers of multicast data. Once your configuration is in place the Apple devices should be able to see each other.
A Final Thought
One can only imagine that we will see Apple products become more and more popular in corporate environments. Unless Apple changes how some of their devices discover and communicate in situations as described above, encounters with Apple’s Bonjour and the need for understanding and configuring basic multicast will become increasingly common.
Bonjour to all,
Brandon
Below is the relevant configuration commands as described above for both site A and site B.
—-Site A Relevant Config—-
ip multicast-routing
!
interface Vlan100
description Wireless Network VLAN
ip pim sparse-mode
!
interface Vlan200
description WLAN Management
ip pim sparse-mode
!
interface Vlan201
description Access Point Management
ip pim sparse-mode
!
interface GigabitEthernet1/0/1
description ***WAN to Site B***
ip address 10.10.10.1/32
ip pim sparse-mode
!
ip pim rp-address 10.10.1.2 group-list 224.0.0.0/4
ip pim ssm range 232.0.0.0/8
—-Site B Relevant Config—-
ip multicast-routing distributed
!
interface GigabitEthernet1/0/1
description ***WAN to Site A***
ip address 10.10.10.2 255.255.255.252
ip pim sparse-mode
!
interface Vlan4
description Access Point Management
ip address 10.15.2.1 255.255.255.0
ip pim sparse-mode
!
ip pim rp-address 10.10.1.2
ip pim autorp listener