使用 dig 了解 DNS 查询答案中的 TTL 值

使用 dig 了解 DNS 查询答案中的 TTL 值

我正在查询google.comdig但很难理解为什么 TTL 值有时跳来跳去而不是每秒均匀减少(这是我的期望)。我在这里遗漏了什么?

dig这是我在安装了 DiG 9.16.7(来自 BIND 9 发行版)的 Windows 机器上所做的事情。

c:\>for /l %i in (1,1,10) do @(sleep 1 & dig @1.1.1.1 +noall +answer google.com)
google.com.             163     IN      A       172.217.19.110
google.com.             168     IN      A       172.217.19.110
google.com.             166     IN      A       172.217.19.110
google.com.             166     IN      A       172.217.19.110
google.com.             157     IN      A       172.217.19.110
google.com.             160     IN      A       172.217.19.110
google.com.             163     IN      A       172.217.19.110
google.com.             160     IN      A       172.217.19.110
google.com.             163     IN      A       172.217.19.110
google.com.             156     IN      A       172.217.19.110

第一个响应的 TTL 为 163,第二个响应的 TTL 为 168,等等...我的预期是 TTL 不断减少直至达到零。

然后我搜索了一下,似乎dig没有使用主机(操作系统级别或其他)DNS缓存(就像浏览器那样),这解释了为什么数字没有减少,但是,它并没有回答为什么它到处都是。

如果我没有指定 1.1.1.1 作为名称服务器而是依赖我的 IPS,那就更奇怪了。

c:\>for /l %i in (1,1,10) do @(sleep 1 & dig +noall +answer google.com)
google.com.             56      IN      A       172.217.18.78
google.com.             55      IN      A       172.217.18.78
google.com.             54      IN      A       172.217.18.78
google.com.             52      IN      A       172.217.18.78
google.com.             50      IN      A       172.217.18.78
google.com.             47      IN      A       172.217.18.78
google.com.             48      IN      A       172.217.18.78
google.com.             45      IN      A       172.217.18.78
google.com.             6       IN      A       172.217.19.110
google.com.             64      IN      A       172.217.19.110

我也尝试过,nslookup -debug google.com但是我对 TTL 值的经历与 一样dig

我这里遗漏了什么?感谢您的意见。

答案1

1.1.1.1任何其他类似的公共 DNS 解析器背后都有多个盒子。因此,从技术上讲,所有这些盒子都可以共享其 DNS 缓存,也可以不共享。

如果没有的话,每个缓存都会有不同的记录集,并且与它们关联的TTL也不同。

您观察到的情况可能看起来令人费解,但对 DNS 服务没有任何负面影响。

相关内容