CNAME und A-Datensatz haben unterschiedliche TTLs. Welches wird zwischengespeichert?
16
Wenn a CNAMEeine TTL von 1 Stunde hat, die auf einen ADatensatz mit einer TTL von 1 Minute verweist , hat jemand, der dies CNAMEnachschaut, das gesamte Ergebnis 1 Stunde lang im Cache, oder muss er den A-Datensatz weiterhin alle 1 Minute nachschlagen?
Sie können sehen, dass der CNAME und der nachfolgende Datensatz unterschiedliche TTLs haben, indem Sie dig verwenden.
dig docs.nwesd.org
; <<>> DiG 9.5.1-P3 <<>> docs.nwesd.org
;; global options: printcmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 28244
;; flags: qr rd ra; QUERY: 1, ANSWER: 3, AUTHORITY: 4, ADDITIONAL: 4
;; QUESTION SECTION:
;docs.nwesd.org. IN A
;; ANSWER SECTION:
docs.nwesd.org. 7200 IN CNAME ghs.google.com.
ghs.google.com. 16662 IN CNAME ghs.l.google.com.
ghs.l.google.com. 195 IN A 74.125.95.121
;; AUTHORITY SECTION:
google.com. 32196 IN NS ns1.google.com.
google.com. 32196 IN NS ns4.google.com.
google.com. 32196 IN NS ns3.google.com.
google.com. 32196 IN NS ns2.google.com.
;; ADDITIONAL SECTION:
ns1.google.com. 32193 IN A 216.239.32.10
ns2.google.com. 32193 IN A 216.239.34.10
ns3.google.com. 70187 IN A 216.239.36.10
ns4.google.com. 242861 IN A 216.239.38.10
;; Query time: 102 msec
;; SERVER: 127.0.0.1#53(127.0.0.1)
;; WHEN: Wed Mar 17 18:40:05 2010
;; MSG SIZE rcvd: 232
Um zu zeigen, dass Sie sowohl den CNAME als auch das, auf das verwiesen wird, erhalten, wird dieser in einer einzigen Anforderung an einen rekursiven Server zurückgegeben.
Beantwortet dies die Frage? Ich bin ein bisschen verwirrt.
Simon East
19
Der CNAME sollte eine Stunde lang zwischengespeichert werden (der Alias-Wert), aber wenn das entsprechende A nachgeschlagen wird, wird es nur insgesamt 1 Minute zwischengespeichert. Sie sprechen von zwei unabhängigen Datensätzen, die separat behandelt werden.
+1 - genau richtig. Es gibt zwei Trips zum DNS-Server, einen für den CNAMEund einen für den A, und sie werden entsprechend zwischengespeichert
Mark Henderson
3
@Farseeker, das ist nicht ganz richtig. Der normalerweise rekursive DNS-Server gibt sowohl den CNAME als auch die Ergebnisse der Suche nach dem CNAME zurück.
Zoredache
Nun, das ist lahm. Ich hatte gehofft, dass, da der CNAME für eine Stunde zwischengespeichert wurde, jede Anforderung (von einer Person) für diese Domain für eine Stunde zwischengespeichert wird - auch wenn der A-Datensatz, auf den er verweist, nur 1 Minute beträgt. Weil ihr Computer das Ergebnis für eine Stunde zwischenspeichert. Es scheint nur seltsam, dass es sich so verhalten würde. Bist du 100% sicher?
Sean
1
Die Aliase können zwar in dieselbe DNS-Antwort gepackt werden, sie werden jedoch unabhängig voneinander zwischengespeichert. Betrachten Sie die Auswirkungen, wenn dies nicht der Fall ist. Administratoraktualisierungen Ein Datensatz und erwartet, dass er sofort wirksam wird (möglicherweise für eine Migration), und sie sind gezwungen, auf die Dauer der CNAME-TTL zu warten. Das heißt, es KANN möglich sein, dies mit einer bestimmten NS-Cache-Software außer Kraft zu setzen und einfach Ihre eigene TTL für den gesamten Cache festzulegen.
McJeff
8
Unter Verwendung der öffentlichen DNS-Server von Google führt der Ablauf des A-Eintrags auch zu einer Abfrage des CNAME-Eintrags, selbst wenn der CNAME eine längere TTL hat.
Wir haben das schmerzlich erlebt, weil der DNS-Anbieter uns DNS-Anfragen in Rechnung gestellt hat. Der vom DNS-Anbieter gehostete CNAME hatte eine TTL von mehreren Tagen. Die TTL des A-Datensatzes wurde unter Windows Azure mit einer TTL von 10 Sekunden gehostet. Der DNS-Anbieter hat uns 7,5 Millionen Anfragen in Rechnung gestellt.
Der CNAME sollte eine Stunde lang zwischengespeichert werden (der Alias-Wert), aber wenn das entsprechende A nachgeschlagen wird, wird es nur insgesamt 1 Minute zwischengespeichert. Sie sprechen von zwei unabhängigen Datensätzen, die separat behandelt werden.
quelle
CNAME
und einen für denA
, und sie werden entsprechend zwischengespeichertUnter Verwendung der öffentlichen DNS-Server von Google führt der Ablauf des A-Eintrags auch zu einer Abfrage des CNAME-Eintrags, selbst wenn der CNAME eine längere TTL hat.
Wir haben das schmerzlich erlebt, weil der DNS-Anbieter uns DNS-Anfragen in Rechnung gestellt hat. Der vom DNS-Anbieter gehostete CNAME hatte eine TTL von mehreren Tagen. Die TTL des A-Datensatzes wurde unter Windows Azure mit einer TTL von 10 Sekunden gehostet. Der DNS-Anbieter hat uns 7,5 Millionen Anfragen in Rechnung gestellt.
quelle