03-31-2014 04:48 PM - edited 11-18-2020 03:07 AM
Basic theory behind mDNS
1- Apple devices use Bonjour to communicate multicast traffic
2- Bonjour is a Service Discovery Protocol (link local protocol)
3- Services can be across multitude of subnets , away from the subnet of the service-subscriber Multicast Traffic Stream seeking client subscribes/requests for the service, whereas Multicast Traffic Stream Provider provides/serves the traffic for the service.
From 1,2 and 3, its clear that there needs to be a mechanism , by using with the Services can be advertised across subnets, so that the Apple clients using link local protocol called Bonjour, can discover the services, across subnets.
Apple clients (which use Bonjour) can talk to multicast servers, only if the latter are in same subnet as that of the former. This is why Bonjour is also termed as a Link Local Protocol.
Due to mDNS feature, the aforesaid limitation doesn't apply to the Apple clients, anymore!
Its a known fact that the purpose of DNS is to serve/provide ip addresses.
These ip addresses can just not be the ip-equivalent of the FQDNs requested by the browsers but also may refer to the services being requested by the clients.
(mDNS is nothing but the latter aforesaid feature of any DNS server as indicated in the statement above)
The mDNS feature, makes the Cisco WLC, act as the mDNS-query-responder, for Apple's wireless clients.
All those services which may be requested by the wireless clients (serviced by the signals of the APs joined to a controller) are registered with the WLC in question (mDNS responders), so that if-and-when, an mDNS responder (WLC) gets a DNS query for SRV records, the mDNS responder should cognize the service type in the query as a known entity, being asked for, and be able to return PTR records for the requested Service Types.
Note:
Its better to understand how Bonjour works, to understand how Apple clients work, to understand what is that the WLC needs to do to work with Apple clients, which use Bonjour protocol.
Bonjour publishes services to 'mDNS responders'('which' when get queries from multicast clients while discovering for the services) provides those services.
when a wireless client wants to get multicast stream from a multicast server, and the client is in a vlan different from that of the vlan of the multicast server:
if (mDNS not being used){the WLC can't see the multicast servers};
if (mDNS being used){the WLC can see the multicast servers};
Since the WLC knows the details of the multicast server and its services, the WLC can provide that info to the wireless in unicast packets. So, it doesn't stand to reason for the WLC to forward the multicast request from the wireless client, into the wired network (so, multicast routing is not required on the wired network so that wireless clients can get their multicast queries routed to the multicast source). Hence, no need to implement multicast routing in the wired network!
If the multicast source is in the wired network (and in different vlan as that of the multicast client), we can use mDNS, performing the three steps above, and by ensuring that the wlc's port to the switch, must be trunk with allowance to the mcast source's vlan. When we do this, the WLC acts as the default-gateway of the wired mcast source's vlan to the wireless mcast-client's vlan
So, that the wireless clients using a specific wlan can query the WLC for the services (listed in the mdns profile , mapped to the WLAN , being used to access wireless services)
As servers advertise their services, the WLC caches the service information along with the IP and MAC of the server. After that, service discovery messages from clients are seen by the WLC which responds based on information in the cache.
via mDNS, the apple service providers advertise their presence to 'mdns responders'(which may be outside the subnet of the appl service providers)
(mdns responder: DNS server which provides ip details of the devices which provide services to apple clients)
(mdns querier : subsci DNS server which provides ip details of the devices which provide services to apple clients)
For the reason being that, if the WLC does not have knowledge of an appropriate service, it does not respond to the discovery request from the wireless client, the WLC must be able to 'see'? all the multicast servers, and therefore know exactly what services are available on the network, through those servers !
Good information.
Is this a scenario where the WLC is locally on site or if there is a WLC centrally located and AP s in flexconnect mode and needs wireless and wired clients in two VLANs / Subnets on the same site needs to do mDNS , possible ?
Couple options
Setup an mDNS AP: http://www.cisco.com/c/en/us/td/docs/wireless/technology/bonjour/7-5/Bonjour_Gateway_Phase-2_WLC_software_release_7-5.html#pgfId-48097
Use an mDNS gateway Avahi: http://www.cisco.com/c/en/us/support/docs/wireless/aironet-1100-series-access-point/113443-cuwn-apple-bonjour-dg-00.html#deploy
Some newer Cisco L3 drives support mDNS gateways also.
-Scott
*** Please rate helpful posts ***
Thanks for the links Scott.
is this talking about AP s on Local mode or Flexconnect mode ? I gathered this is only for local mode ? Our requirement - we have the AP s on Flexconnect mode and locally switching the WLAN and the LAN.
Take a look at mDNS AP. You would ah e to have an AP act as a bonjour gateway which is trunked and has all the vlans that will participate in mDNS. This AP would tunnel back to the controller so that the controller can pass bonjour traffic to different vlans at your remote site. Hope that makes sense.
-Scott
*** Please rate helpful posts ***
Thanks for detailing out Rajan. I need your input on a scenario stated below:
1. I have a dual band router with same ssid and password for both the APs (2.4 & 5Ghz).
2. Now, say mDNS server (e.g. Apple TV) is connected to a 2.4 Gz network and mDNS client (e.g. iPhone) is connected to a 5Ghz network.
Question:
1. Will the iPhone be able to discover the mDNS (or Bonjour) hostname of the Server in its network?
2. How would the Router behave in this scenario?
Thanks & Regards,
Sandeep
Find answers to your questions by entering keywords or phrases in the Search bar above. New here? Use these resources to familiarize yourself with the community: