I think such mechanism is not required on MDNS. It instead put more
logic into having common cache and reduces number of multicast queries
sent. Only few types are used commonly and I doubt it would save
significant CPU processing. MDNS allows multiple queries in single
packet, so computing destination on queried type would be hard.
I think MDNS instead relies on cache and ability to not send some
queries often, because that state is maintained in cache. Sure, battery
operated wireless devices may save more power if they do not have to
open packets not interesting for them.
I have seen somewhere, it might have been ADD IETF group, attempt to use
local network unicast cache instead. MDNS is used just to locate local
network responder, which can be then asked over unicast. It reduces
packets processed by multiple devices, which might be way to go. Not
sure what was the name exactly.
But I doubt anyone is working on extending MDNS to hash-like link
addresses. I doubt the protocol is ready for such extension. I would say
such approach were refused during the protocol design.
Regards,
Petr
On 1/13/23 21:46, Linus Lüssing wrote:
Hi,
As far as I know mDNS only uses the following two multicast addresses
so far: 224.0.0.251 for IPv4 and ff02::fb for IPv6.
In larger broadcast domains this can create quite a bit of "noise"
though.
I was wondering, is anyone aware of any attempts to extend mDNS
with mechanisms similar to ICMPv6 Neighbor Discovery to reduce the
amount of mDNS multicast transmissions in a network? Could someone
thing of any pitfalls if trying to adopt such an approach for mDNS?
ICMPv6 Neighbor Discovery has this beautiful concept of
solicited-node multicast addresses. Instead of broadcasting like
it was done with ARP Requests in IPv4, a host's unicast address is
mapped to a multicast address. When one IPv6 host wants to resolve
another host's IPv6 unicast address it uses this mapped IPv6
solicited-node multicast address. Which typically only this one
host listens to. That way a network with MLD snooping capabilities
can efficently direct the ICMPv6 Neighbor Solicitation message
with the mapped solicited-node multicast address to this one
specific listener, with no burden for unrelated hosts. And
for an ICMPv6 Neighbor Solicitation for
Duplicate-Address-Detection (DAD) instead of address resolution
there is typically even no listener at all. An MLD snooping switch
can drop it immediately.
So my naive thought/question would be if mDNS could use a
multicast address more like ff02::fb:<hash32(service-id|dns-id)>
instead (maybe even larger than just the last 32bit of the
multicast address, IPv6 uses 24bits though for the solicited-node
multicast address: FF02:0:0:0:0:1:FFXX:XXXX).
Any thoughts?
Cheers, Linus
--
Petr Menšík
Software Engineer, RHEL
Red Hat, https://www.redhat.com/
PGP: DFCF908DB7C87E8E529925BC4931CA5B6C9FC5CB