Vol. I · No. 46The protocol sectionSat, 10 Oct 2026
Layer 7 · Naming · DNS with nobody in charge

mDNS

Multicast DNS

mDNS is name resolution without a name server. A device that wants to find printer.local simply asks the whole local link over multicast, and the machine that owns the name answers for itself — which is how a printer or a speaker appears the moment you plug it in.

mDNS resolves .local names by asking the whole segment — no server, no configuration, no administrator.

Operates at
Layer 7
DNS message format
Port
5353
UDP, multicast
Scope
Local link
never routed
Domain
.local
reserved for it

How it works

Asking everyone, and letting the owner answer
Your laptopEverything on the segment
Query — multicast to 224.0.0.251 : 5353
“Who is printer.local?”
Every device on the link receives it; all but one stay silent
Response — also multicast, from the owner
“printer.local is 192.168.1.30”
Sent to the group, so everyone else can cache it too and save a future query
Service discovery on top — DNS-SD
“Any _ipp._tcp here?” — browse by service type, not by name

Answers are multicast rather than unicast so that every listener learns from someone else’s question. Records carry a TTL and are announced again as they expire — and a departing device sends a goodbye with TTL 0.

The main points

What mDNS does, step by step

1
Claim a name

On joining, a device probes for its desired .local name three times; silence means it may take it.

2
Announce it

It multicasts its records so everyone on the link can cache the name and address together.

3
Answer queries

When a query for its name arrives on the group address, only the owner responds — to the group.

4
Browse by service

DNS-SD adds PTR, SRV and TXT records so clients can ask “what printers are here?” rather than for a name.

The names it goes by
Bonjour — Apple’s implementation
Avahi — the Linux one
DNS-SD — service discovery on top

In cybersecurity

mDNS trusts anyone on the same segment to answer for any name — convenient at home, and a ready-made spoofing and reconnaissance channel anywhere else.

Name spoofing

Nothing stops a host answering for printer.local — the fastest reply wins.

Device enumeration

Listening to the group address alone maps every device, its name and its services.

Leaks host names

Laptops announce names like “anna-macbook” to any network they join, including public Wi-Fi.

Reflection attacks

Exposed 5353 on a WAN interface has been used to amplify DDoS — it should never be reachable.

Keep it off guest VLANs

Blocking multicast between client ports stops discovery being used to browse other tenants.

Disable when unused

On servers and in datacentres there is rarely a reason for it to be running at all.

Rides in the stack

IPUDPmDNS

The same message format as DNS, sent to a multicast group with a TTL of 1 — it is designed never to leave the link.

Works with

DNS

See it on Linux

digresolvectl

DNS or mDNS?

DNSmDNS
ServerRequiredNone
ScopeGlobalOne link
Port535353
AnswersThe resolverThe owner itself