ระเบียน CNAME ส่งผลให้เกิดการค้นหา DNS ครั้งที่สองหรือไม่


19

สมมติว่าเรามีโดเมนย่อยชื่อ www.foo.com ซึ่งมีระเบียน CNAME ที่ชี้ไปที่ foo.bar.cc Foo.bar.cc มีจุด A ที่ชี้ไปที่ที่อยู่ IP 1.2.3.4

ตอนนี้ถ้าฉันค้นหา DNS ของ www.foo.com ฉันจะได้คำตอบดังนี้:

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

คำถามของฉันคือ foo.bar.cc ที่แก้ไขในขั้นตอนใด มันทำโดยเซิร์ฟเวอร์ DNS แบบเรียกซ้ำก่อนที่คำตอบจะถูกส่งกลับไปยังลูกค้าหรือไม่ หรือลูกค้าออกคำขอครั้งที่สองไปยังเซิร์ฟเวอร์ DNS คราวนี้สำหรับ foo.bar.cc? หรือขึ้นอยู่กับว่าเซิร์ฟเวอร์ DNS มีรายการแคชสำหรับ foo.bar.cc อยู่แล้วหรือไม่

ฉันถามเพราะเซิร์ฟเวอร์ DNS ที่เรียกซ้ำตัวหนึ่งคืนเฉพาะบรรทัดแรกเท่านั้นนั่นคือไม่สามารถแก้ไข CNAME ได้ อย่างไรก็ตามหลังจากผ่านไป 20 วินาทีคำร้องขอที่ตามมาสำหรับโฮสต์เดียวกันจะมีทั้งสองบรรทัด

คำตอบ:


16

ระเบียน 2 รายการจะถูกส่งคืนพร้อมกันในคำขอเดียวกัน คุณสามารถค้นหาได้จากคำสั่งต่อไปนี้

dig +trace www.foo.com

ตัวอย่างเช่นโดเมน photoblog.com ของฉันมี cname สำหรับ www ดังนั้นคำขอ 2 รายการสุดท้ายจากเซิร์ฟเวอร์ชื่อของ photoblog ให้ฉันดูเหมือน

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

ตามที่คุณเห็นคำขอถาม ns1 / ns2 ip สำหรับ www.photoblog.com คืออะไรและส่งคืนได้ดีมันคือ cname to photoblog.com และนี่คือ ip สำหรับระเบียน A นั้น


ใน OPs ตัวอย่างของคุณที่ให้ CNAME กลับมาเซิร์ฟเวอร์ DNS น่าจะมีปัญหาในการติดตาม CNAME และให้ข้อมูลใด ๆ แก่ลูกค้า ในที่สุดก็เสร็จสิ้นการติดตาม CNAME และสามารถตอบกลับได้อย่างสมบูรณ์
David Schwartz

ใช่ - ถ้าเซิร์ฟเวอร์ DNS มีข้อมูลเพิ่มเติมก็จะส่งคืนในADDITIONALส่วนของคำตอบ โอกาสที่ไม่ส่งคืนหมายความว่าผู้เรียกคืนไม่ได้เก็บไว้ในแคช - อาจเป็นเพราะCNAMEและAระเบียนนั้นชี้ให้มีเซิร์ฟเวอร์ที่มีสิทธิ์ที่แตกต่างกัน (ดังนั้นคำขอเริ่มต้นของผู้เรียกไม่ได้รับการตอบสนองCNAMEเพิ่มเติมเพิ่มเติมAเพียงแค่CNAME)
เชนแมดเดน

@ ไมค์: สรุปอะไร ระเบียน CNAME ส่งผลให้เกิดการค้นหา DNS ครั้งที่สองหรือไม่ ถ้าไม่ทำไมหลายคนแนะนำให้เพิ่มระเบียน CNAME TTL?
Marco Demaio

10
ตราบใดที่ระเบียน A อยู่ในเซิร์ฟเวอร์ที่มีสิทธิ์เดียวกับ CNAME จะเป็นการค้นหาเดียวกัน
Mike
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.