为什么我的电脑对 www.ietf.org 进行多次 DNS 查询?

为什么我的电脑对 www.ietf.org 进行多次 DNS 查询?

我正在为一个班级做练习,我必须刷新 DNS 缓存,然后访问www.ietf.org并捕获数据包。我得到了这个:

在此处输入图片描述

选定的查询和响应是“主要”的。其他的呢?看起来像是重定向。我猜想第二个和第三个查询也与查找 IPv4 和 IPv6 地址有关。

答案1

由于使用 CNAME 记录,因此存在多个查询,这在使用 CDN 时经常出现的情况。

你可以很容易地看到:

$ dig www.ietf.org +noall +ans
www.ietf.org.       16m2s IN CNAME www.ietf.org.cdn.cloudflare.net.
www.ietf.org.cdn.cloudflare.net. 5m IN A 104.16.45.99
www.ietf.org.cdn.cloudflare.net. 5m IN A 104.16.44.99

但这是因为递归名称服务器确实迭代了以向您提供答复。如果您一步一步地执行此操作,您会发现发生了什么:

$ dig www.ietf.org +norecurse A
[..]
;; ANSWER SECTION:
www.ietf.org.       13m23s IN CNAME www.ietf.org.cdn.cloudflare.net.

进而:

$ dig www.ietf.org.cdn.cloudflare.net. A
[..]
;; ANSWER SECTION:
www.ietf.org.cdn.cloudflare.net. 5m IN A 104.16.44.99
www.ietf.org.cdn.cloudflare.net. 5m IN A 104.16.45.99

$ dig www.ietf.org.cdn.cloudflare.net. AAAA
[..]
;; ANSWER SECTION:
www.ietf.org.cdn.cloudflare.net. 5m IN AAAA 2606:4700::6810:2d63
www.ietf.org.cdn.cloudflare.net. 5m IN AAAA 2606:4700::6810:2c63

如今,智能应用程序预计会同时使用 AAAA 和 A 记录类型来解析名称,并且略微偏向 IPv6。例如,“Happy Eyeballs”算法就解释了这一点。

PS:DNS 中没有“重定向”,因此请不要在这种情况下使用该术语;重定向是 HTTP 级别的问题,远远超出/晚于 DNS 层发生的事情。

相关内容