CNAME e A record hanno TTL diversi. Quale verrà memorizzato nella cache?


16

Se a CNAMEha un TTL di 1 ora che punta a un Arecord con un TTL di 1 minuto, qualcuno che cerca questo CNAMEavrà l'intero risultato memorizzato nella cache per 1 ora o continuerà a cercare il record A ogni 1 minuto?

Risposte:


5

Puoi vedere che il CNAME e il record successivo hanno TTL diversi usando dig ..

 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

Per mostrare che si ottiene sia il CNAME che ciò a cui viene puntato viene restituito in una singola richiesta a un server ricorsivo.

18:40:05.418435 IP 192.168.32.10.24712 > 216.146.36.113.53: UDP, length 43
        0x0000:  4500 0047 4e58 0000 4011 4e98 c0a8 200a  E..GNX..@.N.....
        0x0010:  d892 2471 6088 0035 0033 aae5 f66c 0100  ..$q`..5.3...l..
        0x0020:  0001 0000 0000 0001 0464 6f63 7305 6e77  .........docs.nw
        0x0030:  6573 6403 6f72 6700 0001 0001 0000 2910  esd.org.......).
        0x0040:  0000 0080 0000 00                        .......
18:40:05.519081 IP 216.146.36.113.53 > 192.168.32.10.24712: UDP, length 243
        0x0000:  4500 010f b93a 0000 3511 eded d892 2471  E....:..5.....$q
        0x0010:  c0a8 200a 0035 6088 00fb 6ceb f66c 8180  .....5`...l..l..
        0x0020:  0001 0003 0004 0005 0464 6f63 7305 6e77  .........docs.nw
        0x0030:  6573 6403 6f72 6700 0001 0001 c00c 0005  esd.org.........
        0x0040:  0001 0000 1c20 0010 0367 6873 0667 6f6f  .........ghs.goo
        0x0050:  676c 6503 636f 6d00 c02c 0005 0001 0000  gle.com..,......
        0x0060:  4116 0008 0367 6873 016c c030 c048 0001  A....ghs.l.0.H..
        0x0070:  0001 0000 00c3 0004 4a7d 5f79 c030 0002  ........J}_y.0..
        0x0080:  0001 0001 11ac 0006 036e 7333 c030 c030  .........ns3.0.0
        0x0090:  0002 0001 0001 11ac 0006 036e 7332 c030  ...........ns2.0
        0x00a0:  c030 0002 0001 0001 11ac 0006 036e 7334  .0...........ns4
        0x00b0:  c030 c030 0002 0001 0001 11ac 0006 036e  .0.0...........n
        0x00c0:  7331 c030 c0a2 0001 0001 0000 7dc1 0004  s1.0........}...
        0x00d0:  d8ef 200a c07e 0001 0001 0000 7dc1 0004  .....~......}...
        0x00e0:  d8ef 220a c06c 0001 0001 0002 0204 0004  .."..l..........
        0x00f0:  d8ef 240a c090 0001 0001 0003 b4ad 0004  ..$.............
        0x0100:  d8ef 260a 0000 2910 0000 0080 0000 00    ..&...)........

3
Questo risponde alla domanda? Sono un po 'confuso.
Simon East,

19

Il CNAME dovrebbe memorizzare nella cache per un'ora (il valore alias), ma quando viene cercata la corrispondente A, verrà memorizzata nella cache solo per un totale di 1 minuto. Stai parlando di due record indipendenti che vengono gestiti separatamente.


+1 - Spot on. Ci saranno due viaggi sul server DNS, uno per il CNAMEe uno per il A, e verranno memorizzati nella cache in modo appropriato
Mark Henderson

3
@Farseeker, non è del tutto vero. Il server DNS in genere ricorsivo restituirà sia il CNAME sia i risultati della ricerca del CNAME.
Zoredache,

Bene questo è zoppo. Speravo che, poiché il CNAME era stato memorizzato nella cache per un'ora, ogni richiesta (da una persona) per quel dominio sarebbe stata memorizzata nella cache per un'ora, anche se il record A a cui punta è solo 1 minuto. Perché il loro computer sta memorizzando nella cache il risultato per un'ora. Sembra strano che si comporterebbe in questo modo. Ne sei sicuro al 100%?
Sean,

1
Mentre gli alias possono essere inseriti nella stessa risposta DNS, vengono memorizzati nella cache in modo indipendente. Considera le implicazioni se non fosse così. L'amministratore aggiorna un record e si aspetta che abbia effetto immediato (forse per una migrazione) e sono costretti ad attendere la durata del TTL CNAME. Detto questo, potrebbe essere possibile sovrascriverlo con un certo software di cache NS e impostare il proprio TTL su tutta la cache.
McJeff,

8

Utilizzando i server DNS pubblici di Google, la scadenza del record A causa anche una query del record CNAME, anche se il CNAME ha un TTL più lungo.

Lo abbiamo provato dolorosamente perché il provider DNS ci ha fatto pagare per le query DNS. Il CNAME ospitato dal provider DNS ha avuto un TTL di diversi giorni. Il TTL del record A è stato ospitato su Windows Azure con un TTL di 10 secondi. Il provider DNS ci ha addebitato 7,5 milioni di query.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.