Các bản ghi CNAME có dẫn đến việc tra cứu DNS thứ hai không?


19

Giả sử chúng ta có một tên miền phụ được gọi là www.foo.com có ​​bản ghi CNAME trỏ đến foo.bar.cc. Lần lượt Foo.bar.cc có bản ghi A trỏ đến địa chỉ IP 1.2.3.4.

Bây giờ, nếu tôi thực hiện tra cứu DNS của www.foo.com tôi sẽ nhận được câu trả lời như sau:

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

Câu hỏi của tôi là, foo.bar.cc được giải quyết ở giai đoạn nào? Được thực hiện bởi máy chủ DNS đệ quy trước khi phản hồi được gửi lại cho máy khách? Hoặc máy khách có đưa ra yêu cầu thứ hai cho máy chủ DNS không, lần này là cho foo.bar.cc? Hoặc nó phụ thuộc vào việc máy chủ DNS đã có một mục được lưu trong bộ nhớ cache cho foo.bar.cc chưa?

Tôi đang hỏi bởi vì một máy chủ DNS đệ quy cụ thể chỉ trả về dòng đầu tiên, tức là nó không giải quyết CNAME. Tuy nhiên, sau khoảng 20 giây, các yêu cầu tiếp theo cho cùng một máy chủ sẽ bao gồm cả hai dòng.

Câu trả lời:


16

2 hồ sơ được trả lại với nhau trong cùng một yêu cầu. Bạn có thể tìm thấy điều đó thông qua lệnh sau

dig +trace www.foo.com

Ví dụ: tên miền photoblog.com của tôi có một tên cho www, vì vậy 2 yêu cầu cuối cùng từ máy chủ tên của photoblog đối với tôi trông giống như

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

Như bạn có thể thấy yêu cầu hỏi ns1 / ns2 ip của www.photoblog.com là gì và nó trả về tốt nó là một tên gọi cho photoblog.com và đây là ip cho bản ghi A đó.


Trong OP ví dụ của bạn, nơi nó đã trả lại CNAME, máy chủ DNS có thể gặp khó khăn khi theo dõi CNAME và do đó đã cung cấp cho khách hàng bất kỳ thông tin nào họ có. Cuối cùng, nó đã hoàn thành sau CNAME và do đó đã có thể trả lời đầy đủ.
David Schwartz

Vâng - nếu máy chủ DNS có thêm thông tin, thì nó sẽ trả về nó trong ADDITIONALphần câu trả lời. Những lần nó không trả về, điều đó có nghĩa là trình đệ quy không có nó trong bộ đệm của nó - có thể là do CNAMEAbản ghi mà nó chỉ ra có các máy chủ có thẩm quyền khác nhau (vì vậy yêu cầu ban đầu của người đệ quy không nhận được phản hồi CNAMEbổ sung A, chỉ là CNAME).
Shane Madden

@Mike: vậy kết luận là gì? Bản ghi CNAME có dẫn đến việc tra cứu DNS thứ hai hay không? Nếu không, tại sao nhiều người đề nghị tăng bản ghi CNAME?
Marco Demaio

10
miễn là bản ghi A nằm trong cùng một máy chủ có thẩm quyền như CNAME, đó là cùng một tra cứu
Mike
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.