2007年6月4日星期一

How to set TTL of DNS

如何设置生存时间(TTL)最好?

什么是TTL值?

TTL值全称是“生存时间(Time To Live)”,简单的说它表示DNS记录在DNS服务器上缓存时间。要理解TTL值,请先看下面的一个例子:

有这样一个域名MYHOST.SHARELLA.COM(其实,这就是一条DNS记录,通常表示在SHARELLA.COM域中有一台名为MYHOST的主机)对应IP地址为1.1.1.1,它的TTL为10分钟。这个域名或称这条记录存储在一台名为DNS.SHARELLA.COM的DNS服务器上。

现在有一个用户在浏览器中键入一下地址(又称URL):HTTP://MYHOST.SHARELLA.COM 这时会发生社么呢?

该访问者指定的DNS服务器(或是他的ISP,互联网服务商, 动态分配给他的)8.8.8.8就会试图为他解释MYHOST.SHARELLA.COM,当然8.8.8.8这台DNS服务器由于没有包含MYHOST.SHARELLA.COM这条信息,因此无法立即解析,但是通过全球DNS的递归查询后,最终定位到DNS.SHARELLA.COM这台DNS服务器,DNS.SHARELLA.COM这台DNS服务器将MYHOST.SHARELLA.COM对应的IP地址1.1.1.1告诉8.8.8.8这台DNS服务器,然有再由8.8.8.8告诉用户结果。8.8.8.8为了以后加快对MYHOST.SHARELLA.COM这条记录的解析,就将刚才的1.1.1.1结果保留一段时间,这就是TTL时间,在这段时间内如果用户又有对MYHOST.SHARELLA.COM这条记录的解析请求,它就直接告诉用户1.1.1.1,当TTL到期则又会重复上面的过程。

动态主机用户的IP地址的多变性就决定了大的TTL值是不合适的,试想当用户的IP地址变化时全球的DNS服务器由于TTL没有到期而继续使用旧的IP地址就会产生解析错误了。

因此,我们建议您将TTL值设置为1分钟,但如果您的IP地址是固定的或长时间不断线,那么较长的TTL比较好,因为这样会加快解析速度。

0 评论: