CNAME kayıtları ikinci bir DNS aramasıyla sonuçlanıyor mu?


19

Diyelim ki foo.bar.cc'yi gösteren CNAME kaydı olan www.foo.com adında bir alt alan adımız var. Foo.bar.cc ise 1.2.3.4 IP adresini gösteren bir A kaydına sahiptir.

Şimdi, www.foo.com DNS araması yaparsam şöyle bir cevap alırım:

www.foo.com. IN CNAME foo.bar.cc.
foo.bar.cc. IN A 1.2.3.4

Benim sorum, hangi aşamada foo.bar.cc çözüldü? Yanıt istemciye geri gönderilmeden önce özyinelemeli DNS sunucusu tarafından mı yapılıyor? Yoksa istemci, bu sefer foo.bar.cc için DNS sunucusuna ikinci bir istekte bulunuyor mu? Yoksa DNS sunucusunun zaten foo.bar.cc için önbelleğe alınmış bir girişine sahip olup olmadığına bağlı mı?

Belirli bir özyinelemeli DNS sunucusu yalnızca ilk satırı döndürdüğü için soruyorum, yani CNAME çözümlemiyor. Ancak, belki 20 saniye sonra, aynı ana bilgisayar için sonraki istekler her iki satırı da içerecektir.

Yanıtlar:


16

2 kayıt aynı istekte birlikte döndürülür. Bunu aşağıdaki komutla öğrenebilirsiniz

dig +trace www.foo.com

Örneğin, photoblog.com etki alanım www için bir cname içeriyor, bu yüzden photoblog'un ad sunucusundan bana son 2 istek şöyle

photoblog.com.      172800  IN  NS  ns1.photoblog.com.
photoblog.com.      172800  IN  NS  ns2.photoblog.com.
;; Received 103 bytes from 192.43.172.30#53(i.gtld-servers.net) in 196 ms

www.photoblog.com.  600 IN  CNAME   photoblog.com.
photoblog.com.      600 IN  A   74.52.128.18
photoblog.com.      60  IN  NS  ns2.photoblog.com.
photoblog.com.      60  IN  NS  ns1.photoblog.com.
;; Received 133 bytes from 74.52.128.18#53(ns2.photoblog.com) in 59 ms

Gördüğünüz gibi istek ns1 / ns2'ye www.photoblog.com için ipin ne olduğunu sorar ve iyi döndürür, photoblog.com için bir cname ve işte bu A kaydı için ip.


Yalnızca CNAME'yi geri verdiği OP örneğinizde, DNS sunucusu CNAME'yi takip etmekte muhtemelen güçlük çekti ve bu nedenle müşteriye sahip olduğu bilgileri verdi. Sonunda, CNAME'yi takip etti ve böylece tam bir cevap verebildi.
David Schwartz

Evet - DNS sunucusunda daha fazla bilgi varsa, ADDITIONALyanıtın bölümünde döndürür . Geri döndürmediği durumlar, yinelemenin önbelleğinde bulunmadığı anlamına gelir - potansiyel olarak CNAMEve Akaydının farklı yetkili sunuculara sahip olduğunu gösterir (bu nedenle, yinelemenin ilk isteği CNAMEartı ek Ayanıt alamadı , sadece CNAME).
Shane Madden

@Mike: peki sonuç ne? CNAME kayıtları ikinci bir DNS aramasına neden oluyor mu değil mi? Değilse, neden birçok kişi CNAME kaydını TTL'yi artırmayı öneriyor?
Marco Demaio

10
A kaydı CNAME ile aynı yetkili sunucuda olduğu sürece aynı aramadır
Mike
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.