DNS-cache

Protocollen & Standaarden
Tijdelijke opslag van DNS-queryresultaten door resolvers of clients om herhaalde opzoekingen te versnellen.
← Terug naar Woordenlijst

Wat is DNS Cache?

DNS caching is de tijdelijke opslag van DNS query resultaten door resolvers, besturingssystemen, browsers en toepassingen. Wanneer een DNS-zoekopdracht wordt uitgevoerd, wordt het resultaat gecached voor een periode die wordt gedefinieerd door de TTL (Time To Live), waardoor latere verzoeken voor hetzelfde domein direct kunnen worden beantwoord zonder op zoek te gaan naar gezaghebbende servers.

Waarom DNS Caching Matters

Zonder caching, elk web verzoek zou vereisen een volledige DNS lookup het toevoegen van latency en het genereren van enorme DNS verkeer. DNS-caching biedt:

Hoe DNS Caching werkt

De Caching Hiërarchie

DNS-caching gebeurt op meerdere niveaus:

Browser Cache (seconds to minutes)

OS Cache (seconds to minutes)

Local Resolver Cache (minutes to hours)

ISP Resolver Cache (minutes to hours)

Authoritative Name Server (source of truth)

Cache opzoeken proces

1. Gebruikersverzoeken example.com

2. Browser controleert zijn cache

3. Als miss, OS controleert zijn cache

4. Als het niet lukt, controleert resolver zijn cache

5. Indien ontbreken, recursieve query naar gezaghebbende servers

6. Result cached op elk niveau gebaseerd op TTL

7. **Respons gaf * terug aan gebruiker

Geldigheidsduur op basis van TTL

Elke DNS-record bevat een TTL-waarde:

example.com.    300    IN    A    203.0.113.50

^^^

TTL in seconds (5 minutes)

Caches bewaren dit record voor 300 seconden en gooien het dan weg. De volgende zoekopdracht leidt tot een nieuwe opzoeking.

DNS-cache lagen

Browsercache

Moderne browsers cache DNS resultaten onafhankelijk:

Chrome: gebruikt zijn eigen DNS cache (chrome://net-internals/#dns) Firefox: Behoudt interne cache (over:networking#dns) Safari: gebruikt systeemregelaar

Typische browser cache TTL: 60 seconden (ongeacht DNS TTL)

Operating System Cache

Windows: DNS Client service caches resultaten
# View cache

ipconfig /displaydns

# Flush cache

ipconfig /flushdns

macOS: mDNSResponder behandelt caching
# Flush cache (macOS 10.15+)

sudo dscacheutil -flushcache; sudo killall -HUP mDNSResponder

Linux: Varieert per systeem, vaak systeemopgelost
# Flush systemd-resolved cache

sudo systemd-resolve --flush-caches

# Check statistics

sudo systemd-resolve --statistics

Resolver Cache

Recursieve DNS resolvers (ISP DNS, 8.8.8.8, 1.1.1.1) onderhouden grote caches voor miljoenen gebruikers:

OplosserCache-strategie
Google (8.8.8.8)Respecteert TTL, globale cache
Cloudflare (1.1.1.1)Respecteert TTL, gedistribueerd
ISP-oplossersKan lage TTL's negeren

Cache Gedrag Voorbeelden

Normale bewerking

Query 1: example.com

→ Full lookup: 50ms

→ Cached for 300s (TTL)

Query 2: example.com (1 minute later)

→ Cache hit: 1ms

Query 3: example.com (10 minutes later)

→ Cache expired, full lookup: 50ms

→ Re-cached for 300s

DNS Record Update

Original: example.com → 203.0.113.50 (TTL: 300s)

Time: 10:00 - DNS updated to 203.0.113.51

Client queries at 10:02

→ Still cached: 203.0.113.50 (expires 10:05)

Client queries at 10:06

→ Cache expired, new lookup: 203.0.113.51

→ Cached until 10:11

TTL Strategie en Caching

TTL-waarden kiezen

Geval gebruikenAanbevolen TTLMotivering
Statische infrastructuur3600-86400s (1-24 uur)Zelden veranderingen, verminderen DNS-belasting
Productiewebsite300-1800s (5-30 minuten)Balansprestaties en flexibiliteit
Actieve migratie60-300 (1-5 minuten)Snellere voortplanting tijdens veranderingen
Laadbalancering60-120sSnelle failover wanneer servers veranderen

TTL-reductie vóór migratie

Beste praktijk bij het plannen van DNS veranderingen:

Day -7: example.com TTL 3600s (1 hour)

Day -2: Reduce to 300s (5 minutes)

Day 0: Make DNS change

→ Max 5 minute cache retention

Day +1: Restore TTL to 3600s

Cache Vergiftiging en Veiligheid

DNS Cache Vergiftiging Aanval

Aanvallers proberen valse DNS records in caches te injecteren:

1. Aanvaller overstroming oplosser met valse reacties

2. Als er één overeenkomt met een lopende zoekopdracht, is het gecached

3. Gebruikers ontvangen kwaadaardig IP voor legitieme domein

4. Vergiftigd gif geserveerd aan veel gebruikers

Beveiligingsminima

DNSSEC: Cryptografisch getekende dossiers voorkomen vergiftiging
example.com.    IN    A      203.0.113.50

IN RRSIG A 8 2 300 ...

Source Port Randomization: Maakt reacties moeilijker te smeden 0x20 Codering: Willekeurig geval in query's steunvalidatie Resolver Security: Gebruik gerenommeerde resolvers (Cloudflare, Google, Quad9)

DNS-cache wordt gecontroleerd

Cache-inhoud weergeven

Windows:
ipconfig /displaydns | more
macOS (beperkte informatie):
sudo killall -INFO mDNSResponder

# Check Console.app for logs

Linux (systemd-resolved):
sudo systemd-resolve --statistics

Test cachegedrag

# First query (cache miss)

time dig example.com

# Immediate repeat (cache hit)

time dig example.com

# Compare times

Cachegerelateerde kwesties

Stamcache na DNS-wijziging

Probleem: Bijgewerkte DNS-records die niet reflecteren voor gebruikers Oplossing:

1. Wacht tot TTL verloopt

2. Verminder TTL vóór toekomstige veranderingen

3. Vraag gebruikers om lokale cache door te spoelen

Overmatige Agressieve Caching

Sommige ISP's negeren TTL en cache langer:

Probleem: Veranderingen duren uren/dagen om zich voort te planten Oplossing:

Negatieve Caching

Foute opzoekingen (NXDOMAIN) worden ook gecached:

Query: newsubdomain.example.com

Response: NXDOMAIN (does not exist)

Cached: 3600s (SOA minimum TTL)

Result: New subdomain won't resolve for 1 hour

Oplossing: SOA minimum TTL verlagen voordat nieuwe records worden toegevoegd

Flushing DNS Cache

Wanneer moet ik doorspoelen?

Hoe te spoelen

Windows:
ipconfig /flushdns
macOS:
sudo dscacheutil -flushcache; sudo killall -HUP mDNSResponder
Linux (systemd-resolved):
sudo systemd-resolve --flush-caches
Chrome:
Navigate to: chrome://net-internals/#dns

Click: "Clear host cache"

Firefox:
Toggle network.dnsCacheExpiration in about:config

Or restart browser

Beste praktijken

1. Set passende TTLs: Balansprestaties en veranderingssnelheid

2. Verminder TTL vóór veranderingen: Lagere TTL 24-48 uur voor DNS-updates

3. Monitor propagation: Gebruik hulpmiddelen om de globale DNS-resolutie te controleren

4. Document cache gedrag: Begrijp de cachinglagen van uw infrastructuur

5. Gebruik DNSSEC: Beschermen tegen cachevergiftiging

6. Test grondig: Controleren of DNS-wijzigingen werken zoals verwacht voordat succes wordt verklaard

7. Onderwijsgebruikers: Geef duidelijke instructies voor het spoelen van de cache indien nodig

Geavanceerde Caching Concepten

Voorafhalen

Browsers en resolvers kunnen DNS prefetch voor links op een pagina:

<!-- Hint to browser -->

<link rel="dns-prefetch" href="//cdn.example.com">

Cache Opwarming

Load balancers en CDNs kunnen pre-populate caches voor kritische records.

Anycast en Caching

Anycast DNS routes vragen naar de dichtstbijzijnde server, het creëren van geografisch gedistribueerde caches voor optimale prestaties.

DNS-caching is van fundamenteel belang voor internetprestaties en het begrijpen en correct configureren van TTL's zorgt ervoor dat uw DNS-wijzigingen zich efficiënt voortplanten terwijl u snelle resolutietijden behoudt.

Pas Deze Kennis Toe

Gebruik de API van DomScan om domeinbeschikbaarheid, gezondheid en meer te controleren.