1月21日下午3点,十几封报警邮件,让寇博惊出一身冷汗。
寇博是一家国内流量排名前十的网站运维负责人,他和他的团24小时队维护着这家日浏览量过亿网站。十几封报警邮件,意味着全国十几省的用户都出现无法访问该网站的状况。
“核心机房又出问题了?”寇博小声默念着,赶忙从一个会议中退席,小跑着上楼,回到运维部的工作大厅。他桌面上的座机正刺耳着响着。“我是客服部的XX,有浙江的用户反映咱们首页上不去了.。.”“知道了。”
寇博立即挂断了电话,朝着正在值班的同事大喊“怎么回事了?”“北京上海机房和CDN(网络加速)反馈都正常,PING了下域名,IP地址的指向不对,可能是DNS的问题。”值班同事回答他。
“别查了,不是咱们的事,国内所有.com域名的DNS都有问题。”正在刷微博的另一个同事告诉寇博,“你看DNSPod发微博了,说国内所有通用顶级域的根出现异常,正联系相关机构协调处理。”
DNSPod是国内第一大DNS解析服务提供商和域名托管商,管理着超过270万域名。寇博推了推眼镜,凑过去仔细盯着微博,一边说“别大意,再给机房打电话查一下。”
几乎与此同时,国内最大的数据中心之一的北京机房负责人刘硕也正高度紧张。当他接通新浪科技的电话时,他背后的座机铃声响成一片。“是的,我们已经监测到问题了,很多网站也向我们反馈了,我们马上开会研究应对。”他匆匆的挂断了电话。
“用户在微博上把我们骂死了。”寇博的同事告诉他。他笑着对新浪科技说,“我们无能为力,是全网出现的系统性问题,只能告诉用户直接用IP地址访问我们。”
这次故障是怎么回事?
“所有连接在互联网上的设备都必须有一个IP地址,就像每个房子都有地址一样,这样才能让别人找到。”寇博开始向新浪科技解释起来。“这个IP地址是一段数字,例如120.84.21.23,但是用户上网要记这段数字,太麻烦了,所以有了域名。”
域名就是IP地址的另一种体现方法,而DNS就是将域名翻译成IP地址的翻译器。比如,用户在浏览器中输入facebook.com,浏览器就会向用户最近的DNS服务器询问,“facebook.com对应的IP地址是什么?”
这个最近的DNS服务器一般是当地电信运营商的服务器。如果这个服务器不知道,他就会向上一级请求,一般是运营商的全国性DNS服务器。如果这个全国性DNS还不知道会向全球DNS服务器查询。
这一级一级的层级中,最高一级是全球的13台根服务器,名字分别为“A”至“M”,其中10台设置在美国,另外各有一台设置于英国、瑞典和日本。
为了防止上述服务器出现故障造成全球性访问异常,目前世界上很多国家都设有镜像。我们国家在全网的出口也设有顶级的域名服务器。“这次网络出现异常是这个服务器出现了解析错误。”寇博解释说。
为什么有的人正常,有的人异常?
这是因为为了加快用户访问速度,整个系统设有多级缓存,包括浏览器缓存、系统缓存、路由器缓存、DNS服务器缓存等等。
当用户访问一个网站时,其浏览器会自动记录域名对应的IP一段时间,这样用户在第二次进入该网站时,浏览器就不必向上一层级反复查询,直接就可以告知用户结果。同样的,用户的电脑、路由器和DNS服务器都会设置一定的缓存,当然缓存是有时间限制的,到期就要向上级服务器查询最新的记录。
|