I made a project to solve this issue from the other end in my home network: <a href="https://gitlab.com/viraptor/docker_mdns" rel="nofollow">https://gitlab.com/viraptor/docker_mdns</a><p>You can run the app on the host with docker containers and traefik and any service.local domain configured in labels will be announced via mdns. Services themselves don't have to be mdns aware and will be registered/removed as they come up/down. It works without traefik too, but you have to include the port then as well.
This is timely! I installed Wireshark last night for fun and have been looking at traffic on my network. There's quite a bit from mDNS, which is all new to me.
I'm a big fan of Zeroconf / MDNS / Avahi / Bonjour (it has many names due to the differing packages that can be used for it across platforms). It's a great way to make any type of service discoverable, whether it's a web service, or what have you. Having had used something like Eureka from Netflix I think mdns is way simpler, especially on Linux, if you can install Avahi all you need to do is write an XML file to a directory and you're broadcasting a service immediately.
> If it is IPv6, it's nearly impossible to remember the address.<p>Why should that be the case? If you have 1000 nodes, you could organize your network such that node one gets prefix::00:01, node two gets prefix::00:02, node 138 gets prefix::01:38, etc.<p>There is so much space in IPv6 that you can group things more logically than was ever doable in the IPv4 world.
"But still, on most of the local systems, we don't have a DNS server and we have to remember the IP addresses of the systems."<p>Perhaps I'm misunderstanding this, but why would your systems not have access to a local DNS server? My routers respond just fine to DNS queries for "hostname.local"-like requests without using something like mDNS.
This is such a pet-peeve for me. A noisy network service turned on by default where most users won't use it,but all users are exposed to the network through it. (Edit: I mean in most Linux Distros not in this example, of course I have no problem with anyone intentionally doing anything to their own system)<p>In my opinion, modern systems shouldn't run services in case something needs them, they should be dynamically loaded and unloaded (isn't this what dbus is for??). If Chrome needs mDNS it can ask for it. If network resources are accessed at login, the login processes can request avahi to be loaded and then unloaded once they're done. What really feels like insult to injury is how systemd was forced on unwilling users because of features like this, yet avahi,cups,etc... Just sit there idle even if you didn't start any application that has a need for them.<p>I think maybe I am seeing it from the wrong perspective?