另外,有时候我们PING某域名或IP的时候,会出现TTL= XXX。今天就这个问题细说如下: 一、什么是域名的TTL值? TTL(Time-To-Live),就是一条域名解析记录在DNS服务器中的存留时间。当各地的DNS服务器接受到解析请求时,就会向域名指定的NS服务器发出解析请求从而获得解析记录;在获得这个记录之后,记录会在DNS服务器中保存一段时间,这段时间内如果再接到这个域名的解析请求,DNS服务器将不再向NS服务器发出请求,而是直接返回刚才获得的记录;而这个记录在DNS服务器上保留的时间,就是TTL值。 二、TTL值设置的应用: 1.增大TTL值,以节约域名解析时间,给网站访问加速。 一般情况下,域名的各种记录是极少更改的,很可能几个月、几年内都不会有什么变化。我们完全可以增大域名记录的TTL值让记录在各地DNS服务器中缓存的时间加长,这样在更长的一段时间内,我们访问这个网站时,本地ISP的DNS服务器就不需要向域名的NS服务器发出解析请求,而直接从缓存中返回域名解析记录。 国内和国际上很多平台的TTL值都是以秒为单位的,很多的默认值都是3600,也就是默认缓存1小时,这个值实在有点小了,难道会有人一个小时就改一次域名记录吗?您可以根据自己的需要把这个值适当的扩大,例如要缓存一天就设置成86400。Godaddy的TTL设置比较直观,但总共只有5个值可以选定,即时切换到高级设置模式也是如此,有点死板了。网站赢利环境所迫,LifeTyper.com的TTL值是设置成了最大值1周,设置成更大的值可能会有写不必要的麻烦,例如当您要更换空间时,这些旧的记录要很久才过期并被更新。 2.减小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服务器。就像这里提到的,Dodaddy在国外评测拿到最高分,而在国内使用时速度比万网快不了多少;万网在国内速度表现突出,在国外的评测网站中得分却可能很低。如果您有钱像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.ieeye.com返回的TTL是240,对方的系统很可能是Linux,而另外一个目标的TTL是120,那么说明它使用的系统也许是Windows 域名解析设置TTL多少合适?
什么是域名的TTL值?
国内和国际上很多平台的TTL值都是以秒为单位的,很多的默认值都是3600,也就是默认缓存1小时,这个值实在有点小了,难道会有人一个小时就改一次域名记录吗?你可以根据自己的需要把这个值适当的扩大,例如要缓存一天就设置成86400。
1,什么是DNS服务器?
2,什么是DNS记录?
3,如何更改DNS记录,或者说如何更改DNS服务器?
4,修改了DNS,为何没生效?
举个例子: 第一步:浏览器会查询这个域名与IP的对应关系是不是已经存在于 C:\windows\system32\drivers\etc\hosts 文件中,如果有,直接使用,寻找过程结束。如果没有,进行下一步 第二步:浏览器询问本机预先设置好的域名服务器,一般用户是由ISP在联网成功后就分配好的。 第三步:这个域名服务器(称为本地域名服务器)本身并不知道任何域名与IP的对应信息,但是它知道根域服务器的IP地址,所谓根域服务器就是最根源的12个服务器,他们保存了顶级域名的管辖信息,根域服务器会告诉所要查询的域名的IP数据到哪里去找。本地域名服务器就会根据这个线索找到域名的管辖服务器,然后再根据所提供的该域名的DNS记录找到这个域名的真正域名服务器(就是常说的DNS服务器,打个比方:字典),本地域名服务器从这个服务器取得IP信息后,保存在内存中,然后把IP地址返回给浏览器,中间还有很复杂的递归过程,不再赘述。 在从“字典”取得IP数据的同时,有一个很重要的数据也一同返回,就是这个域名和IP对应关系的有效期,在这个有效期内,如果再有同样的域名请求翻译成IP地址,那这个本地域名服务器就不再到外面去找,而是直接把内存中上次就知道的IP地址返回给浏览器。直到有效期过了,它才会再次到外面去查询。
同样如果第一次域名查询就失败了,在域名设置的有效期内,该本地域名服务器也不会再去外面找,而是直接告诉你,“这个域名找不到IP地址”。 那你要问,要等多久?有两个环节决定了等待的时间有多长。 第一个环节就是DNS记录的生效时间,因为域名的DNS记录保存在顶级注册机构哪里,更新不会是实时的,以前要几个小时才会更新,现在不用这么久,顶级域名要快些,几分钟即可,国内要慢些。
第二个环节是关键,就是这个域名的A记录原来的有效期有多长?你知道吗? 可能你自己都不知道。
5,TTL是怎么回事? 域名解析的步骤
在输入网址后,域名解析通常所需步骤如下:
文字可能很难理解,网民们是伟大的,看到这张图应该很形象的演示了上述过程:
DNS TTL值通过前文的说明,DNS会将最终域名解析的结果缓存至本地。那么当域名对应的解析IP变化时,如何保证用户的缓存快速过期? 这就涉及到一个问题,域名在解析时设置的DNS缓存过期时间是多少——TTL(Time-To-Live)。
所以一般更新域名解析的步骤如下:
不过为毛公司切换域名解析时速度飞快?这个明天得咨询一下孔总! |
|