Woordenlijst/Processen die je tegenkomt

mDNSResponder

Ook: Bonjour en DNS

Kort antwoord

mDNSResponder is het macOS-proces dat elke domeinnaam omzet in een adres. Het is de DNS-resolver van de Mac, en het draait ook Bonjour, dat zonder enige configuratie printers, AirPlay-luidsprekers, gedeelde Macs en andere apparaten op je lokale netwerk vindt.

Als een app een website opent of verbinding maakt met een server, vraagt die mDNSResponder om het adres. Het bewaart de antwoorden in een cache, dus herhaalde opzoekingen zijn meteen klaar. Het draait als een eigen systeemaccount, _mdnsresponder, niet als jou.

De belasting volgt hoeveel namen er worden opgezocht. Een browser met veel tabbladen, een VPN of een druk lokaal netwerk met veel Bonjour-apparaten geven het allemaal meer te doen.

Waarom mDNSResponder CPU gebruikt

Korte pieken komen van golven opzoekingen: veel nieuwe tabbladen, een app die met veel servers synchroniseert of apparaten die zich bij het netwerk aansluiten. Aanhoudend gebruik wijst meestal op iets dat opzoekingen in een lus opnieuw probeert, een VPN of DNS-filter dat zich misdraagt, of een netwerk waar de Bonjour-aankondigingen nooit ophouden.

Laden websites niet via hun naam maar wel via hun adres, of is een site naar andere servers verhuisd en gaat de Mac nog steeds naar de oude, dan is de cache de verdachte.

Zo leeg je de DNS-cache

Twee opdrachten in Terminal legen de cache op recente macOS-versies en laten mDNSResponder opnieuw laden, zonder dat een herstart nodig is.

  1. Open Terminal.
  2. Voer sudo dscacheutil -flushcache uit en voer je wachtwoord in als daarom wordt gevraagd.
  3. Voer sudo killall -HUP mDNSResponder uit.

Zo zie je wat mDNSResponder doet

Het draait als een eigen systeemaccount, dus Activiteitenweergave verbergt het tot je om alle processen vraagt. Terminal kan de twee taken, DNS en Bonjour, een voor een laten zien.

  1. Open Activiteitenweergave, kies ‘Weergave’ → ‘Alle processen’ en typ mdns in het zoekveld. Je ziet mDNSResponder onder de account _mdnsresponder, en mDNSResponderHelper onder root.
  2. Let op ‘% CPU’ in het tabblad CPU en op de pakketkolommen in het tabblad Netwerk. Korte pieken zijn normaal. Een constante belasting terwijl je niet aan het browsen bent, is het bekijken waard.
  3. Om te zien welke DNS-servers de Mac gebruikt, open je Terminal en voer je scutil --dns uit. Resolver #1 toont de servers die voor de meeste opzoekingen worden gebruikt onder nameserver[0], nameserver[1] enzovoort.
  4. Om een opzoeking via mDNSResponder zelf te testen, voer je dns-sd -G v4v6 apple.com uit. Het toont elk adres zodra het binnenkomt. Druk op Control-C om te stoppen.
  5. Om te zien wat Bonjour op je netwerk vindt, voer je dns-sd -B _services._dns-sd._udp local. uit. Het toont de soorten diensten die apparaten om je heen aankondigen, zoals _airplay en _ipp voor printers. Druk op Control-C om te stoppen.

mDNSResponder: normaal of een probleem?

Normaal: bijna nul, met korte pieken als je veel tabbladen opent, verbinding maakt met een netwerk of als een apparaat op het netwerk ontwaakt.

Het bekijken waard: urenlang constant CPU- of netwerkgebruik, of namen die op het ene netwerk niet worden gevonden en op het andere wel. De gebruikelijke oorzaken:

  • Een VPN of DNS-filter dat eigen resolvers toevoegt en die steeds verandert. scutil --dns toont extra resolvers met een regel domain als een VPN sommige namen naar zijn eigen servers stuurt.
  • Een app of script dat in een korte lus namen opzoekt, vaak een die steeds opnieuw een server probeert die hij niet kan bereiken.
  • Een druk lokaal netwerk, zoals op kantoor of in een gedeeld gebouw, met veel apparaten die zich via Bonjour aankondigen.
  • Een netwerk dat een DNS-server uitdeelt die traag is of niet antwoordt, waardoor opzoekingen wachten en het opnieuw proberen.

DNS en Bonjour: de twee taken

Namen op internet, zoals apple.com, gaan naar de DNS-servers die je netwerk of jij hebt ingesteld. Namen die eindigen op .local, zoals de netwerknaam van je eigen Mac, verlaten het lokale netwerk nooit: mDNSResponder vraagt het de apparaten om zich heen rechtstreeks. Dat is de multicast-DNS waar de m in de naam vandaan komt.

Daarom toont scutil --dns resolvers voor local met de markering mdns. Kun je een printer of een gedeelde Mac thuis wel via de .local-naam bereiken maar op het werk niet, dan blokkeert het werknetwerk die lokale aankondigingen, niet het internet.

Vragen die mensen stellen

Wat is mDNSResponder op de Mac?

Het macOS-proces dat voor elke app domeinnamen omzet in adressen, en Bonjour draait om printers, AirPlay-luidsprekers en andere apparaten op je netwerk te vinden.

Kan ik mDNSResponder stoppen?

macOS start het meteen opnieuw, en zolang het weg is, kan niets een website opzoeken. Wil je een fout antwoord kwijt, leeg dan de DNS-cache in plaats van het te stoppen.

Waarom wil mDNSResponder inkomende verbindingen accepteren?

Bonjour luistert naar andere apparaten die zich op het lokale netwerk aankondigen. De firewall van macOS staat dat standaard toe; vraagt de jouwe erom, sta het dan toe, zodat AirPlay, het vinden van printers en schermdeling blijven werken.

Is mDNSResponder veilig?

Ja. Het hoort bij macOS, is door Apple ondertekend en staat in /usr/sbin/mDNSResponder. Het draait onder een eigen, beperkte systeemaccount, niet als jou of als root.

Wat is mDNSResponderHelper?

Een kleine partner van mDNSResponder die als root draait en de paar taken afhandelt die de beperkte account zelf niet kan. Het hoort bij macOS en is normaal inactief.

Gerelateerd

Op zoek naar iets beters dan Activiteitenweergave? Bekijk de beste alternatieven voor Activiteitenweergave op de Mac, of blader door alle begrippen in de woordenlijst.