Cisco Support Community

Basic theory behind mDNS




    Basic theory behind mDNS

    Why 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.

    How to overcome limitation

    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.


    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!

    What is mDNS?

    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

    How it works

    1. enable global mDNS snooping in the WLC (also to then mention the service query interval)
    2. ensure that the mDNS service profile has been configured/added with the intended services (this includes the service name, string and status)
    3. apply mDNS profile to the client wlan

    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.

    This is what needs to be ensured

    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 !

    More Information

    Community Member

    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 ? 

    Hall of Fame Super Silver

    Couple options

    Setup an mDNS AP:

    Use an mDNS gateway Avahi:

    Some newer Cisco L3 drives support mDNS gateways also.


    *** Please rate helpful posts *** 

    Community Member

    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. 

    Hall of Fame Super Silver

    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.


    *** Please rate helpful posts ***