Introduzione
In questo documento viene descritto come i resolver OpenDNS/Umbrella memorizzano i record di risorse nella cache.
Panoramica
I resolver OpenDNS/Umbrella utilizzano un programma noto come OpenDNSCache (ODC) per risolvere le query DNS. ODC memorizza nella cache i dati che riceve per restituire i risultati ai client in modo più rapido ed efficiente. In questo articolo viene descritto come viene eseguita la memorizzazione nella cache e quando viene utilizzata.
Questo articolo è destinato agli utenti che desiderano ottenere ulteriori informazioni sulle specifiche della memorizzazione nella cache ODC (in genere amministratori di server dei nomi e di dominio) o sui casi in cui la risoluzione DNS potrebbe non funzionare come previsto.
Quali dati vengono memorizzati nella cache?
In base alla RFC 2181 (https://datatracker.ietf.org/doc/html/rfc2181), le risposte possono essere restituite in una risposta o memorizzate in una cache in base all'affidabilità dei dati. L'RFC definisce 7 livelli di attendibilità nella sezione 5.4.1:
- Dati di un file di zona primario, diversi dai dati di associazione.
- Questo vale solo per i server dei nomi autorevoli e non per i resolver OpenDNS
- Dati di un trasferimento di zona, diversi da glue.
- Questo vale solo per i server dei nomi autorevoli e non per i resolver OpenDNS
- I dati autorevoli inclusi nella sezione delle risposte di una risposta autorevole.
- Ciò è valido per OpenDNSCache
- Dati della sezione relativa all'autorità di una risposta autorevole.
- Ciò è valido per OpenDNSCache
- Associa da una zona primaria o associa da un trasferimento di zona.
- Questo vale solo per i server dei nomi autorevoli e non per i resolver OpenDNS
- i) i dati della sezione di risposta di una risposta non autorevole e ii) i dati non autorevoli della sezione di risposta delle risposte autorevoli.
- i) è un esempio di ciò che i nostri resolver restituiscono. Ad esempio, dati non autorevoli.
- Per ii), si noti che la sezione delle risposte di una risposta autorevole contiene in genere solo dati autorevoli. Tuttavia, quando il nome ricercato è un alias (vedere la sezione 10.1.1), solo il record che descrive tale alias è necessariamente autorevole. I client possono supporre che altri record debbano provenire dalla cache del server. Se sono necessarie risposte autorevoli, il client può eseguire nuovamente la query utilizzando il nome canonico associato all'alias.
- i) informazioni supplementari tratte da una risposta autorevole; ii) i dati della sezione "Autorità" di una risposta non autorevole; iii) Informazioni supplementari tratte da risposte non autorevoli.
- Tutte queste considerazioni sono valide per OpenDNSCache
- I record ricevuti da una di queste origini non devono essere memorizzati nella cache al fine di restituire i risultati alle query.
OpenDNSCache memorizza nella cache i dati delle risposte con i livelli di attendibilità 3, 4 e 6. Se vengono ricevuti nuovi dati con un livello di attendibilità migliore o uguale, la voce della cache precedente verrà sostituita.
L'eccezione è rappresentata dai record NS, per i quali i dati vengono sostituiti solo con un livello di attendibilità migliore.
Come vengono aggiunti e rimossi i dati dalla cache?
I dati scaduti non vengono eliminati dalla cache. Questa è la base della funzione SmartCache, in base alla quale vengono restituiti i record di risorse (RR) scaduti dalla cache se non è possibile raggiungere le autorità per qualche motivo.
La cache di ogni resolver è invece di dimensioni fisse e quando viene aggiunto un nuovo record di risorse alla cache, viene rimosso quello meno recente. Questo può essere visualizzato come una coda in cui i nuovi elementi vengono aggiunti alla coda, spostando i vecchi elementi fuori dalla coda (per gli informatici là fuori, questo è in realtà implementato come un elenco circolare a doppio collegamento).
Si noti che, come descritto in precedenza, una risposta DNS può contenere più record di risorse con livelli di attendibilità diversi, non tutti con i dati richiesti in origine. Pertanto, dopo la ricezione di una risposta, è possibile che siano presenti più record di risorse da aggiungere alla cache.
Come indicato in precedenza, si noti che i record NS sono esenti da questo comportamento, in quanto vengono sostituite solo le voci relative ai record NS nella cache se il livello di attendibilità dei dati è superiore alla voce esistente. Questo viene fatto per garantire che sia possibile rilevare le modifiche alle autorità nella colla principale se le vecchie autorità stanno ancora rispondendo e si stanno restituendo come autorità.