Zum Inhalt springen

DNS-Caching

aus Wikipedia, der freien Enzyklopädie
Dies ist eine alte Version dieser Seite, zuletzt bearbeitet am 28. März 2010 um 15:52 Uhr durch Matthäus Wander (Diskussion | Beiträge) (negatives caching überarbeitet. max-ncache-ttl hat eine andere Bedeutung). Sie kann sich erheblich von der aktuellen Version unterscheiden.

Beim DNS-Caching wird das Ergebnis einer erfolgreichen rekursiven DNS-Auflösung eine Zeit lang im lokalen Cache gehalten, so dass weitere identische DNS-Anfragen sofort beantwortet werden können, ohne erneut bei den zuständigen Nameservern anfragen zu müssen. Das Ziel ist die Entlastung der zuständigen Nameserver und sowie die Einsparung von Zeit, da eine Anfrage schneller aus dem Cache heraus beantwortet werden kann als durch erneute Anfrage beim zuständigen Nameserver. Die Zeitspanne, für die ein Eintrag im Cache gültig ist, wird durch dessen TTL-Wert (engl.: Time to live; dt.: Zeit zu leben) bestimmt. Festgelegt wird der TTL-Wert durch den autoritativen Nameserver der entsprechenden Zone, der die ursprüngliche Anfrage beantwortet hat.

Jedem DNS-Eintrag (Resource Record) ist genau ein TTL-Wert zugeordnet. Dieser umfasst 32 Bit und kann daher sehr große Werte (mehrere Jahrzehnte) annehmen. Der Wert wird in Sekunden angegeben. Ein TTL von 3600 entspricht damit einer Stunde. "0" bedeutet: Dieser Resource Record darf nicht im Cache gespeichert werden.

Negatives Caching

Die ursprüngliche DNS-Spezifikation sieht kein Caching einer NXDOMAIN-Antwort vor, also dem Hinweis, dass einem angefragten Domainnamen kein Eintrag zugeordnet ist. Zur weiteren Entlastung der zuständigen Nameserver ist dieses Verhalten nachträglich als Negatives Caching (RFC 2308) spezifiziert worden. Analog zum Standard-Caching wird im Cache vermerkt, dass dem zuständigen Nameserver der Name unbekannt war. Bei wiederholten Anfragen kann die entsprechende negative Antwort aus dem Cache heraus erfolgen.

Da für einen nicht vorhandenen Namen keine Time to live existiert, muss die Zeitspanne, für die ein negativer Eintrag im Cache gehalten wird, auf andere Weise ermittelt werden. Hierzu wurde die Bedeutung des Felds MINIMUM im SOA Resource Record geändert. Die ursprüngliche Bedeutung als Minimum-TTL aller Einträge einer Zone kam in der Praxis ohnehin nicht zum Einsatz. Die neue Bedeutung ist die TTL aller negativen Antworten einer Zone. Um dem Anfragenden die negative Caching-Dauer mitzuteilen, wird mit jeder negativen Antwort der SOA-Eintrag der entsprechenden Zone mitgesendet.

In den Fällen, wo die Namensauflösung aus anderen Gründen fehlschlägt, etwa falsch konfigurierten Zuständigkeiten von Zonen oder Netzausfällen, steht es dem Anfragenden frei, das Ergebnis ebenfalls im Cache zu speichern. Da die TTL hierbei nicht zuverlässig zu ermitteln ist, ist eine frei wählbare Zeitspanne von bis zu 5 Minuten erlaubt.