为什么昨天下午许多网站都无法访问了?

导语:如果昨天下午(1月21日)你想上网刷刷微博看看视频 , 那有点费事 。 几乎全中国的大网站都上不去了 。 实际上 , 这并不是因为你家的网络有什么毛病 。 看一下新闻就会知道 , 是国内互联网根域名服务器出现了问题 , 导致域名都被指向了一个错误的IP地址 , 进而影响到这些域名的访问 。 这具体是怎么回事?为什么根域名服务器的问题会有这么大的影响 , 这个服务器是何方神圣?
如果昨天下午(1月21日)你想上网刷刷微博看看视频 , 那有点费事 。 几乎全中国的大网站都上不去或者上着上着就“页面错误”了 。 实际上 , 这并不是因为你家的网络有什么毛病 。 看一下新闻就会知道 , 是国内互联网根域名服务器出现了问题 , 导致域名都被指向了一个错误的IP地址 , 进而影响到这些域名的访问 。 等等 , 为什么根域名服务器的问题会有这么大的影响 , 这个服务器是何方神圣?
要弄清这个问题 , 我们首先要知道域名解析服务(DNS)是如何工作的 。 一开始的时候 , 互联网上并不存在域名这种简单快捷的访问途径 。 想要访问千里之外的一个网站或者是一台服务器 , 使用的都是IP地址 , 也就是类似于65.49.2.178这样的一串数字 。 IP地址就像生活中的电话号码 , 可以精确地定位到某个特定的机器或服务 。 但是用着用着 , 人们就觉得实在是太不方便了 。 就像电话号码很难记住一样 , 想要靠脑袋记住大量网站的IP简直是天方夜谭 。 所以 , DNS就承担起了“电话查号台”的工作 , 负责帮我们将简单好记的域名转化为正确的IP地址 , 免去了记忆“电话号码”的烦恼 。 只要我们知道DNS服务器的IP地址 , 就能查到其它所有网站的IP地址 。 所以我们在浏览器里输入域名的时候 , 访问的其实还是IP地址 , 只不过浏览器帮我们从DNS上查到了正确的IP地址 , 而我们平时却不知道这个过程 。
但是所有人都去同一台DNS服务器上面查询 , 也会出现问题 。 想像一下 , 有成千上万的人同时向一个电话查号台打电话查询 , 会出现什么情况呢?少部分人打通了电话 , 而大多数则一直占线 , 查不到想要的电话号码 。 同时 , 全世界的电话号码都存在一个电话查号台里 , 查电话的过程也会非常缓慢 。 为了解决这两个问题 , DNS做了这样两件事:首先 , 搭建许多DNS服务器 , 使它们构成树状结构 。 在查询的时候从根域名服务器开始 , 一层一层地查下去 。 其次 , 为每个区域分配一台本地域名服务器 , 由这台服务器负责向根域名服务器查询 , 由于本地域名服务器可以缓存 , 这也可以极大地减轻根服务器的负担 。
所以 , 我们只需要知道本地域名服务器的IP地址 , 并给本地域名服务器“打电话”查询 。 在正常访问某个域名的时候 , 如果本地域名服务器恰好没有缓存 , 过程会是这样的:
【为什么昨天下午许多网站都无法访问了?】小王给本地域名服务器“打电话”:你好 , 我想查询一下http://www.baidu.com对应的“电话号码” 。
本地域名服务器接线员:请稍候 。
接线员查询了手头的记录 , 发现没有http://www.baidu.com的IP地址 , 于是给根域名服务器“打电话” 。

推荐阅读