分享下域名TTL值和PING返回结果的TTL值
程序员文章站
2022-06-25 18:02:36
我们在解析域名时经常出现 TTL 这个字段,里面默认写的是 3600 ,究竟这代表着什么含义呢... 12-09-25...
我们在解析域名时经常出现 ttl 这个字段,里面默认写的是 3600 。
另外,有时候我们ping某域名或ip的时候,会出现ttl= xxx 今天就这个问题叙说如下:
什么是域名的ttl值?
ttl(time-to-live),就是一条域名解析记录在dns服务器中的存留时间。当各地的dns服务器接受到解析请求时,就会向域名指定的ns服务器发出解析请求从而获得解析记录;在获得这个记录之后,记录会在dns服务器中保存一段时间,这段时间内如果再接到这个域名的解析请求,dns服务器将不再向ns服务器发出请求,而是直接返回刚才获得的记录;而这个记录在dns服务器上保留的时间,就是ttl值。
ttl值设置的应用:
一.增大ttl值,以节约域名解析时间,给网站访问加速。
一般情况下,域名的各种记录是极少更改的,很可能几个月、几年内都不会有什么变化。我们完全可以增大域名记录的ttl值让记录在各地dns服务器中缓存的时间加长,这样在更长的一段时间内,我们访问这个网站时,本地isp的dns服务器就不需要向域名的ns服务器发出解析请求,而直接从缓存中返回域名解析记录。
国内和国际上很多平台的ttl值都是以秒为单位的,很多的默认值都是3600,也就是默认缓存1小时,这个值实在有点小了,难道会有人一个小时就改一次域名记录吗?您可以根据自己的需要把这个值适当的扩大,例如要缓存一天就设置成86400。godaddy的ttl设置比较直观,但总共只有5个值可以选定,即时切换到高级设置模式也是如此,有点死板了。网站赢利
环境所迫,lifetyper.com的ttl值是设置成了最大值1周,设置成更大的值可能会有写不必要的麻烦,例如当您要更换空间时,这些旧的记录要很久才过期并被更新。
二.减小ttl值,减少更换空间时的不可访问时间。
更换空间99.9%会有dns记录更改的问题,因为缓存的问题,新的域名记录在有的地方可能生效了,但在有的地方可能等上一两天甚至更久才生效。结果就是有的人可能访问到了新服务器,有的人访问到了旧服务器。仅仅是访问的话,这也不是什么大问题,但如果涉及到了邮件发送,这个就有点麻烦了,说不定哪封重要信件就被发送到了那已经停掉的旧服务器上。
为了尽可能的减小这个各地的解析时间差,合理的做法是:
1.先查看域名当前的ttl值,我们假定是1天。
2.修改ttl值为可设定的最小值,可能的话,建议为1分钟,就是60。
3.等待一天,保证各地的dns服务器缓存都过期并更新了记录。
4.设置修改新记录,这个时候各地的dns就能以最快的速度更新到新的记录。
5.确认各地的dns已经更新完成后,把ttl值设置成您想要的值,ttl=60还是太小了点。
记住,这一切都能起作用的前提,是那些dns服务器完全遵守这些标准和规范,否则ns服务器上怎么设置ttl都是白搭,但目前来看还没发现这么不讲规矩的dns服务器。
问题是,没有真正意义上的高速ns和dns服务器。就像这里提到的,在国内速度表现尚可的万网,在国外的评测网站中得分很低,而在国外评测拿到最高分的godaddy,在国内使用时速度比万网快不了多少。如果您有钱像google、微软那样在全世界部署大量的cdn加速服务器和ns服务器,那当然没问题,问题是这对绝大部分网站来说都不可能,国内国外不是不可兼得,而是很难。网站赢利
也许有人以为可以通过给域名指定两个ns记录(一个国内一个国外)来提高解析速度,但这也是不可能的,只有在dns服务器从第一个ns服务器那里获取记录失败时才会向第二个ns服务器发送解析请求。我所知道的一个最廉价和有效的提速方法,就是修改刚才上面说的域名记录的ttl值。
返回结果ping命令,修改其ttl值来防护安全:
在一般情况下我们通过ping对方让对方返回给您的ttl值大小,粗略的判断目标主机的系统类型是windows系列还是unix/linux系列,通常windows系列的系统返回的ttl值在100-130之间,而unix/linux系列的系统返回的ttl值在240-255之间,例如ping www.**.com返回的ttl是240,对方的系统很可能是linux,而第二个目标的ttl是120,那么说明它使用的系统也许是windows。
另外,有时候我们ping某域名或ip的时候,会出现ttl= xxx 今天就这个问题叙说如下:
什么是域名的ttl值?
ttl(time-to-live),就是一条域名解析记录在dns服务器中的存留时间。当各地的dns服务器接受到解析请求时,就会向域名指定的ns服务器发出解析请求从而获得解析记录;在获得这个记录之后,记录会在dns服务器中保存一段时间,这段时间内如果再接到这个域名的解析请求,dns服务器将不再向ns服务器发出请求,而是直接返回刚才获得的记录;而这个记录在dns服务器上保留的时间,就是ttl值。
ttl值设置的应用:
一.增大ttl值,以节约域名解析时间,给网站访问加速。
一般情况下,域名的各种记录是极少更改的,很可能几个月、几年内都不会有什么变化。我们完全可以增大域名记录的ttl值让记录在各地dns服务器中缓存的时间加长,这样在更长的一段时间内,我们访问这个网站时,本地isp的dns服务器就不需要向域名的ns服务器发出解析请求,而直接从缓存中返回域名解析记录。
国内和国际上很多平台的ttl值都是以秒为单位的,很多的默认值都是3600,也就是默认缓存1小时,这个值实在有点小了,难道会有人一个小时就改一次域名记录吗?您可以根据自己的需要把这个值适当的扩大,例如要缓存一天就设置成86400。godaddy的ttl设置比较直观,但总共只有5个值可以选定,即时切换到高级设置模式也是如此,有点死板了。网站赢利
环境所迫,lifetyper.com的ttl值是设置成了最大值1周,设置成更大的值可能会有写不必要的麻烦,例如当您要更换空间时,这些旧的记录要很久才过期并被更新。
二.减小ttl值,减少更换空间时的不可访问时间。
更换空间99.9%会有dns记录更改的问题,因为缓存的问题,新的域名记录在有的地方可能生效了,但在有的地方可能等上一两天甚至更久才生效。结果就是有的人可能访问到了新服务器,有的人访问到了旧服务器。仅仅是访问的话,这也不是什么大问题,但如果涉及到了邮件发送,这个就有点麻烦了,说不定哪封重要信件就被发送到了那已经停掉的旧服务器上。
为了尽可能的减小这个各地的解析时间差,合理的做法是:
1.先查看域名当前的ttl值,我们假定是1天。
2.修改ttl值为可设定的最小值,可能的话,建议为1分钟,就是60。
3.等待一天,保证各地的dns服务器缓存都过期并更新了记录。
4.设置修改新记录,这个时候各地的dns就能以最快的速度更新到新的记录。
5.确认各地的dns已经更新完成后,把ttl值设置成您想要的值,ttl=60还是太小了点。
记住,这一切都能起作用的前提,是那些dns服务器完全遵守这些标准和规范,否则ns服务器上怎么设置ttl都是白搭,但目前来看还没发现这么不讲规矩的dns服务器。
问题是,没有真正意义上的高速ns和dns服务器。就像这里提到的,在国内速度表现尚可的万网,在国外的评测网站中得分很低,而在国外评测拿到最高分的godaddy,在国内使用时速度比万网快不了多少。如果您有钱像google、微软那样在全世界部署大量的cdn加速服务器和ns服务器,那当然没问题,问题是这对绝大部分网站来说都不可能,国内国外不是不可兼得,而是很难。网站赢利
也许有人以为可以通过给域名指定两个ns记录(一个国内一个国外)来提高解析速度,但这也是不可能的,只有在dns服务器从第一个ns服务器那里获取记录失败时才会向第二个ns服务器发送解析请求。我所知道的一个最廉价和有效的提速方法,就是修改刚才上面说的域名记录的ttl值。
返回结果ping命令,修改其ttl值来防护安全:
在一般情况下我们通过ping对方让对方返回给您的ttl值大小,粗略的判断目标主机的系统类型是windows系列还是unix/linux系列,通常windows系列的系统返回的ttl值在100-130之间,而unix/linux系列的系统返回的ttl值在240-255之间,例如ping www.**.com返回的ttl是240,对方的系统很可能是linux,而第二个目标的ttl是120,那么说明它使用的系统也许是windows。