从DNS解析异常中谈DNS解析

海外服务器 (977) 2014-01-22 10:12:06

    昨天(1月21日)下午,大家是否感觉到国内的许多网站无法访问?确实是这样的,据新闻报道,昨天下午由于国内所有通用顶级域的根服务器出现了故障,导致大量网站域名解析不正常,从而出现大量网站无法访问的情况。有安全人士说这次的故障可能是黑客所为,具体的原因还在调查当中。

 

    什么是DNS根服务器?DNS域名解析服务又是如何工作的?

 

    其实一开始互联网上并不存在域名这种简单快捷的访问途径。想要通过互联网访问一个其他地方的网站或者一台服务器,都是使用的IP地址。IP地址想必大家都有所了解吧,IP地址就像生活中的电话号码,可以精确地定位到某个特定的及其或服务器。但是人们觉得IP地址实在是太不好用了而且难记忆,因此出现了DNS。DNS负责帮我们将简单好记的域名转化为正确的IP地址,大家只要通过简单的域名就可以访问到想要的网站,因为我们在浏览器里输入域名的时候,实际上访问的还是IP地址,只不过浏览器帮我们从DNS上查到了正确的IP地址。我们只是不知道有这个过程而已。那么,DNS的解析过程是怎样的呢?

 

DNS解析过程及原理

 

    第一步:客户机提出域名解析请求,并将该请求发送给本地的域名服务器。

 

    第二步:当本地的域名服务器收到请求后,就先查询本地的缓存,如果有该纪录项,则本地的域名服务器就直接把查询的结果返回。

 

    第三步:如果本地的缓存中没有该纪录,则本地域名服务器就直接把请求发给根域名服务器,然后根域名服务器再返回给本地域名服务器一个所查询域(根的子域)的主域名服务器的地址。

 

    第四步:本地服务器再向上一步返回的域名服务器发送请求,然后接受请求的服务器查询自己的缓存,如果没有该纪录,则返回相关的下级的域名服务器的地址。

 

    第五步:重复第四步,直到找到正确的纪录。

 

    第六步:本地域名服务器把返回的结果保存到缓存,以备下一次使用,同时还将结果返回给客户机。

 

    这样就完成了一次域名解析过程。

 

根域名服务器

 

    从上面的解析过程中,我们就看到了根域名的扮演角色。我们可以想象,如果全世界的人都去同一台DNS服务器上面查询,那么查询的结果必然是极其缓慢的,甚至无法查询。为此,DNS就做了这么两件事:首先,搭建了许多DNS服务器,是它们构成梳妆结构,在查询的时候从根域名服务器开始,一层一层地查下去。其次,为每个区域分配一台本地域名服务器,由这台服务器负责向根域名服务器查询,由于本地域名服务器可以缓存,这就可以极大地减轻根服务器的负担了。所以,我们可以知道,其实域名和IP地址的对应关系还是从根域名服务器提供的,本地域名服务器只是起到一个缓存的作用,所以一旦根域名服务器出现了错误,我们想要解析域名的用户,最终拿到的都会是一个错误的IP地址,自然而然地无法访问我们想要访问的网站。就像昨天下午,大量中国知名IT公司的域名被解析到了美国某公司,显示的IP地址是65.49.2.178。

 

    目前全世界只有13台DNS根服务器,1个为主根服务器,放置在美国,其余12个为辅根服务器,其中9个放置在美国,英国和瑞士各1个,日本1个。所以说,如果正如某些安全人士所说,昨天下午的根域名服务器出现异常是由于黑客所为,那么互联网目前正在受到严峻考验,互联网随时可能出现瘫痪,这是一种难以想象的可怕情况。针对昨天下午的状况,奇虎360和金山毒霸已经提供了相应的解决方案,同时也希望有关部门能严格监测和维护根域名服务器的运行情况,保证互联网的畅通。

THE END