1,什么是DNS服务器?
互联网是由无数台服务器和PC连接在一起组成的,每个服务器都会有一个唯一的数字标识,叫IP地址,IP地址是数字表示的,比如218.231.156.61服务器,pc之间的通信协议用的是TCP/IP协议,在底层通信里面,通信双方都是凭借IP地址和对方联系的,并没有域名参与。域名是给人记忆用的,为了能够把人记得住的名字转换成机器认识的IP地址,就需要DNS服务器来做这个“翻译”。
简单讲,DNS服务器就是个“翻译”,或者说是个“字典”,用来把人容易记忆的域名对照翻译成机器使用的数字格式的IP地址。
2,什么是DNS记录?
域名有千千万,怎么样才能知道每个域名对应的IP地址呢?答案当然要到DNS服务器(域名服务器)去找,可是谁知道要到哪个DNS服务器去找啊?这就是DNS记录的作用,DNS记录用来明确指明这个域名与IP地址的对应关系保存在哪台DNS服务器中。
每个域名都要有DNS记录,最多可以有六条记录,一般用2条就足够。
3,如何更改DNS记录,或者说如何更改DNS服务器?
域名的DNS记录保存在顶级注册机构那里,例如.com .net保存在verisign那里。顶级注册机构一般不直接接受用户注册请求,域名注册要经过他们的“代理”即注册商来购买,修改DNS记录就需要到这些注册商那里修改。
4,修改了DNS,为何没生效?
这个问题有点儿复杂,为了说清楚这个问题,我们必须先搞清楚域名的解析过程,就是域名是如何翻译成IP地址的。
举个例子:
当你在浏览器的地址栏输入 www.idcpcw.com 域名解析的过程就开始了:
第一步:浏览器会查询这个域名与IP的对应关系是不是已经存在于 C:\windows\system32\drivers\etc\hosts 文件中,如果有,直接使用,寻找过程结束。如果没有,进行下一步
第二步:浏览器询问本机预先设置好的域名服务器,一般用户是由ISP在联网成功后就分配好的。
第三步:这个域名服务器(称为本地域名服务器)本身并不知道任何域名与IP的对应信息,但是它知道根域服务器的IP地址,所谓根域服务器就是最根源的12个服务器,他们保存了顶级域名的管辖信息,根域服务器会告诉所要查询的域名的IP数据到哪里去找。本地域名服务器就会根据这个线索找到域名的管辖服务器,然后再根据所提供的该域名的DNS记录找到这个域名的真正域名服务器(就是常说的DNS服务器,打个比方:字典),本地域名服务器从这个服务器取得IP信息后,保存在内存中,然后把IP地址返回给浏览器,中间还有很复杂的递归过程,不再赘述。
在从“字典”取得IP数据的同时,有一个很重要的数据也一同返回,就是这个域名和IP对应关系的有效期,在这个有效期内,如果再有同样的域名请求翻译成IP地址,那这个本地域名服务器就不再到外面去找,而是直接把内存中上次就知道的IP地址返回给浏览器。直到有效期过了,它才会再次到外面去查询。
同样如果第一次域名查询就失败了,在域名设置的有效期内,该本地域名服务器也不会再去外面找,而是直接告诉你,“这个域名找不到IP地址”。
好了,域名和IP的查找过程简单讲就是这样,那再来回答问题:修改了DNS,为何没生效? 答案很简单:再等等,就生效了
那你要问,要等多久?有两个环节决定了等待的时间有多长。
第一个环节就是DNS记录的生效时间,因为域名的DNS记录保存在顶级注册机构哪里,更新不会是实时的,以前要几个小时才会更新,现在不用这么久,顶级域名要快些,几分钟即可,国内要慢些。
第二个环节是关键,就是这个域名的A记录原来的有效期有多长?你知道吗? 可能你自己都不知道。
一般的注册商会设置成1小时,有的会几个小时。
如果你原来的域名A记录的有效期是几个小时,那你现在的改动,也得几个小时以后才会生效,前面讲了,本地域名服务器有缓存的。不超过有效期,是不会获取最新变动的。
所以,看清楚原来的设置,就是TTL的设置是多少(单位是秒,3600秒=1小时) ,你就知道要多久才会生效了。
5,TTL是怎么回事?
TTL就是 Time-to-live的缩写,用来表明域名和IP对应关系在多长时间内有效,过了有效期就要重新去查询。
TTL时间越长,缓存时间越长,更新越不容易及时生效。
TTL设置的小一些,生效时间就会快一些。
本文转自张昺华-sky博客园博客,原文链接:http://www.cnblogs.com/bonelee/p/7305686.html,如需转载请自行联系原作者