DNS中的TTL

DNS中的TTL,第1张

当各地的DNS(LDNS)服务器接受到解析请求时,就会向域名指定的授权DNS服务器发出解析请求从而获得解析记录;该解析记录会在DNS(LDNS)服务器中保存一段时间,这段时间内如果再接到这个域名的解析请求,DNS服务器将不再向授权DNS服务器发出请求,而是直接返回刚才获得的记录;而这个记录在DNS服务器上保留的时间,就是TTL值。 通常情况下域名解析记录是很少更改的。我们可以通过增大域名记录的TTL值让记录在各地DNS服务器中缓存的时间加长,这样在更长的时间段内,我们访问这个网站时,本地ISP的DNS服务器就不需要向域名的NS服务器发出解析请求,而直接从本地缓存中返回域名解析记录,从而提高解析效率。 TTL值是以秒为单位的,通常的默认值都是3600,也就是默认缓存1小时。我们可以根据实际需要把TTL值扩大,例如要缓存一天就设置成86400。 因为DNS记录缓存的问题,新的域名记录在有的地方可能生效了,但在有的地方可能等上一两天甚至更久才生效(部分省份运营商调大了TTL值),这样就会就导致部分用户在一段时间内无法访问网站。 为了尽可能的减小各地的解析时间差,可参考以下步骤执行:

DNS服务器分为两种,权威服务器和缓存服务器(也叫递归服务器)。

权威服务器提供权威的数据,缓存服务器从权威服务器获取数据转发给查询的客户端。

TTL值是在权威服务器设置的,缓存服务器从权威服务器获取数据时得到TTL,这个TTL值会随时间变小,变为0时数据失效,需要从权威服务器重新获取数据。

刚才查了下,google.com的TTL是300秒,baidu.com的TTL是7200秒。

dig google.com a +trace

dig baicu.com a +trace

(google.com和www.google.com是不同的域名,查询结果可能不一样,dig是BIND提供的一种DNS客户端工具)

--------------------------------------------------------

楼主说的DNS应该就是一台缓存服务器,如果没有特别设置(设置缓存时间的范围,内存太小),TTL值是会随时间变小的,可能是当时查询的瞬间降为1分多。

--------------------------------------------------------

关于google为啥要设这么小。。。我是这么猜测的:

权威服务器TTL小的优点就是如果有变动,缓存服务器发现的早;缺点就是会增加上面至少一级权威服务器的负载,因为查询次数变多了。

google.com上面各级权威服务器的TTL最少是172800s,2天,也就是说2天之内关于google.com的查询如果实效了,都会去这一级服务器查询。换句话说,只是增加了google自己的DNS服务器的负担,对再上面的服务器影响不大。算是比较厚道的做法。(www.google.com上面的权威服务器TTL最少86400,和google.com不一样)

---------------------------------------------------------

大体就是介样了,希望对你有帮助


欢迎分享,转载请注明来源:夏雨云

原文地址:https://www.xiayuyun.com/zonghe/672131.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-07-27
下一篇2023-07-27

发表评论

登录后才能评论

评论列表(0条)

    保存