什么是TTL?


发布时间:2012-09-10

在DNS解析记录里,TTL的全称是“生存时间(Time To Live)”,也就是域名记录的有效更新时间,简单的说它表示DNS记录在DNS服务器上缓存的时间。

假如现在我们有一个域名myweb.myhost.com,这是一条DNS记录,也就是myhost.com域名中的一台myweb的主机,所对应的IP地址为:9.9.9.9,它的TTL为10分钟,这个域名或称这条记录存储在一台名为v1s1.xundns.com的DNS服务器上。现在,有一个用户在浏览器中输入以下地址(URL):http://myweb.myhost.com/ 这时会发生什么呢?首先该访问者指定的DNS服务器(一般是当地的ISP提供商动态分配的。这里以Goole Public DNS为例) 8.8.8.8就会试图为他解析myweb.myhost.com,当8.8.8.8这台DNS服务器没有包含myweb.myhost.com这条信息,因此无法立即解析,但是通过全球DNS的递归查询后,最终定位到v1s1.xundns.com 这台DNS服务器,v1s1.xundns.com这台DNS服务器将myweb.myhost.com对应的IP地址9.9.9.9告诉DNS服务器8.8.8.8,然后再由8.8.8.8告诉这位用户myweb.myhost.com所对应的IP地址,同时8.8.8.8这台服务器会保留这段解析一段时间,这段时间就是TTL,而这段时间的长短也是有TTL值的大小来决定的。保留一段时间是为了当下一个用户再访问这个域名的时候直接给出对应的解析记录。也就是说在TTL的时间内,再有用户请求就不用去请求v1s1.xundns.com这台DNS服务器了。

TTL到底设置多少才算合适呢?这个应该根据自己的情况来定比如,我的服务器基本上不会变动或不会改动,那我可以设置一天,一星期甚至更久,这样最稳定但如果我的服务器经常变,改来改去,那么这个值,就可以设置为1分钟或5分钟等,这样在变动时影响最小上面说的是1分钟,几分钟,一天,一星期但在wddns的后台里,时间不是这样表示的,统一用秒来表示比如1分钟,60秒5分钟 ,300秒一天,86400秒等,在wddns的后台里,只需要填这个秒的时间即可,其它的时间值,可自行换算。