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): 这时会发生社么呢?
该访问者指定的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比较好,因为这样会加快解析速度。
TTL 字段值可以帮助我们识别操作系统类型。
UNIX 及类 UNIX 操作系统 ICMP 回显应答的 TTL 字段值为 255
Compaq Tru64 5.0 ICMP 回显应答的 TTL 字段值为 64
微软 Windows NT/2K操作系统 ICMP 回显应答的 TTL 字段值为 128
微软 Windows 95 操作系统 ICMP 回显应答的 TTL 字段值为 32
当然,返回的TTL值是相同的
但有些情况下有所特殊
LINUX Kernel 2.2.x & 2.4.x ICMP 回显应答的 TTL 字段值为 64
FreeBSD 4.1, 4.0, 3.4;
Sun Solaris 2.5.1, 2.6, 2.7, 2.8;
OpenBSD 2.6, 2.7,
NetBSD
HP UX 10.20
ICMP 回显应答的 TTL 字段值为 255
Windows 95/98/98SE
Windows ME
ICMP 回显应答的 TTL 字段值为 32
Windows NT4 WRKS
Windows NT4 Server
Windows 2000
ICMP 回显应答的 TTL 字段值为 128
这样,我们就可以通过这种方法来辨别
操作系统 TTL
LINUX 64
WIN2K/NT 128
WINDOWS 系列 32
UNIX 系列 255
ttl详解
最新推荐文章于 2024-04-20 10:25:43 发布