原文地址:
http://blog.cloudflare.com/why-google-went-offline-today-and-a-bit-about
为什么今天谷歌无法访问以及互联网工作原理
今天,部分谷歌服务出现故障长达27分钟。问题原因比较复杂,涉及到互联网隐蔽的角落。我是CloudFlare的网络工程师,在帮助谷歌回复服务中发挥了一些作用。下面我就讲讲都发生了什么。
太平洋时间下午6:24 / 通用协调时间 02:24(太平洋时间2012.11.5 / 通用协调时 2012.11.6) ,CloudFlare员工宣布谷歌服务无法访问。我们使用谷歌的邮件应用,所以当我们无法访问服务时,很快发现这个问题。我是网络工程组的,所以马上开始检查是本地问题,还是谷歌服务问题。
解决问题过程
我迅速意识到已经无法访问谷歌所有的服务,甚至谷歌的公共DNS服务器8.8.8.8,所以我开始检查DNS问题。
$ dig +trace google.com
下面是我访问google.com域名服务器的返回结果:
google.com. 172800 IN NS ns2.google.com.
google.com. 172800 IN NS ns1.google.com.
google.com. 172800 IN NS ns3.google.com.
google.com. 172800 IN NS ns4.google.com.
;; Received 164 bytes from 192.12.94.30#53(e.gtld-servers.net) in 152 ms
;; connection timed out; no servers could be reached
事实是所有服务器都无法访问,肯定有地方出问题了。也就是说,从我们公司的网络无法连接到谷歌的任何DNS服务器。
我开始查看网络层,看看是不是这里的问题。
PING 216.239.32.10 (216.239.32.10): 56 data bytes
Request timeout for icmp_seq 0
92 bytes from 1-1-15.edge2-eqx-sin.moratelindo.co.id (202.43.176.217): Time to live exceeded
这很奇怪。正常情况下,我们不应该在到谷歌的路径上看到马来西亚网络服务供应商(Moratel)。我到CloudFlare的路由器上检查到底出了什么事。同时,Twitter上世界各地的问题报告说明不只是我一个人遇到了问题。
网络路由
为了找到问题原因你需要先了解一些网络的工作原理。互联网是网络的集合,这些网络被称为自治系统(AS)。每个网络有一个唯一的号码标识它,被称为AS码。CloudFlare的AS码是13335,谷歌的是15169。网络由Border Gateway Protocol(BGP)互联。BGP是互联网胶水——负责管理哪个IP属于哪个网络以及建立一个AS到另外一个AS的路由。互联网路由就像它听起来的那样:一个AS的IP地址到另外一个AS的IP地址之间的路径。
BGP是一个高可靠的系统。每个网络都相信对方说的IP,以及它们背后的网络。当你通过网络发送一个数据包或者一个请求时,你的ISP连接到它的上层提供者找到一条到目的网络的最短路径。
不幸的是,如果一个网络把一个不属于它的IP或者网络声明为它自己的,并且它的上层服务信任它,那么路由就会出现错误。这里出现的就是这个错误。
我检查了谷歌IP地址的BGP路由。路由经过Moratel(23947),一个马来西亚ISP。我查看的是从加利福尼亚出发的路由,谷歌的数据中心离我们办公室不远,所以数据包不应该经过马来西亚。最可能的原因就是Moratel声明了一个不属于它的网络。
BGP路由如下:
tom@edge01.sfo01> show route 216.239.34.10
inet.0: 422168 destinations, 422168 routes (422154 active, 0 holddown, 14 hidden)
+ = Active Route, - = Last Active, * = Both
216.239.34.0/24 *[BGP/170] 00:15:47, MED 18, localpref 100
AS path: 4436 3491 23947 15169 I
> to 69.22.153.1 via ge-1/0/9.0
查看其它路由,例如谷歌公共DNS,也是同样的错误路径:
tom@edge01.sfo01> show route 8.8.8.8
inet.0: 422196 destinations, 422196 routes (422182 active, 0 holddown, 14 hidden)
+ = Active Route, - = Last Active, * = Both
8.8.8.0/24 *[BGP/170] 00:27:02, MED 18, localpref 100
AS path: 4436 3491 23947 15169 I
> to 69.22.153.1 via ge-1/0/9.0
路由泄露
这种情况业界叫做“路由泄露”,路由在正常路径泄露了。这不是没有发生过。谷歌原来也经历过类似的事情,巴基斯坦宣布审查YouTube上的视频内容,巴基斯坦国家ISP不再对服务IP提供路由。不幸的是,他们把空路由泄露了出去。巴基斯坦电信的上层服务商PCCW信任巴基斯坦电信发送的内容,然后路由就在网络上传播开了。结果是,YouTube两个小时无法访问。
今天的情况类似。Moratel的某个人修改了互联网路由。它的上层服务商PCCW信任Moratel发送的路由信息。然后,错误的路由信息迅速蔓延。这不太可能是蓄意的,但却是BGP信任模型可能由错误配置导致失败的证据。
解决方案
解决方案就是让Moratel停止声明错误的路由。作为一个网络工程师,尤其是像CloudFlare这样的大网络,与世界各地其他网络工程师都有联系。当我指出这个问题时,我联系了Moratel的同事,让他们知道发生了什么。他在太平洋时间下午6:50 / 通用协调时间2:50修复了该问题。三分钟后,路由恢复正常,谷歌服务也恢复正常。
通过查看节点地图,我估计3-5%的网民受到了影响。影响最严重的是香港,在那里PCCW是主要提供商。如果你在那段时间无法访问谷歌服务,现在你知道为什么了。
构建更好的互联网
这些都是互联网是一个基于信任系统的遗留问题。今天的事件表明,即使你像谷歌一样强大,你无法控制的因素也会影响用户访问你的网站。所以,组建一个网络工程师团队监控路由和管理连接是非常重要的。CloudFlare每天保证我们的客户得到最优的路由。我们检测我们网络上所有网站以保证获得尽可能快的传输服务。
更新:太平洋时间 11月6日 11:00 星期二
Moratel说是异常的硬件故障导致的。这不是故意的。在检测硬件故障的同时,Moratel立即关闭了与谷歌连接的BGP节点。
分享到:
相关推荐
谷歌爬虫工作原理详解 谷歌爬虫工作原理是指谷歌搜索引擎使用的爬虫机制,用于抓取网络上的网页内容。这个机制是谷歌搜索引擎核心的一部分,它决定了网页的收录、排名和搜索结果的呈现。 首先,谷歌爬虫工作原理...
【百度翻译插件】是为谷歌浏览器(Google Chrome)设计的一款强大的在线翻译工具,它集成了百度翻译的服务,使得用户在浏览网页时可以方便快捷地进行多语言之间的翻译。这款插件不仅支持文本翻译,还提供了诸多实用...
在本文中,我们将深入探讨“沉浸式翻译”的工作原理、使用方法以及它在实际应用中的优势。 1. 工作原理: 沉浸式翻译主要基于谷歌的机器学习技术,尤其是神经网络翻译模型。当用户访问非本机语言的网站时,浏览器...
这个插件的工作原理是通过与谷歌翻译服务进行通信,将原始网页的内容发送到服务器,然后将翻译后的文本返回并显示在浏览器中。这个过程既快速又高效,使得用户可以方便地理解和浏览不同语言的网页内容。 安装谷歌...
谷歌浏览器翻译替换插件是一款专为谷歌Chrome浏览器设计的实用工具,它允许用户自定义或增强浏览器内置的翻译功能。这款插件的核心价值在于提供更高效、精准或个性化的网页翻译体验,尤其对于多语言环境下的网络浏览...
### 搜索引擎的工作原理与发展现状 #### 摘要与背景 搜索引擎作为互联网时代不可或缺的工具之一,在信息获取过程中扮演着重要角色。本文旨在介绍搜索引擎的基本概念,深入探讨其工作原理及类型,并分析当前搜索...
本话题将深入探讨在线翻译的工作原理、常用工具以及它们在不同场景中的应用。 在线翻译的工作原理主要基于机器学习和自然语言处理(NLP)技术。这些工具通过大量的语料库训练模型,学习不同语言之间的语法结构和...
下面将详细介绍这个插件的功能、工作原理以及如何安装和使用。 ### 功能特点 1. **即时翻译**:当你访问一个非本机语言的网页时,一键翻译插件可以自动检测并提供翻译选项,点击即可完成整页翻译。 2. **多语言...
在互联网技术日新月异的今天,跨国语言沟通的需求日益增长,谷歌翻译(Google Translate)作为全球知名的在线翻译服务,深受广大用户的喜爱。然而,由于中国大陆对海外网络的访问存在一定的限制,有时可能会导致谷歌...
浏览器翻译插件是一种用于...总之,浏览器翻译插件是现代互联网生活中不可或缺的工具,尤其在全球化信息交流日益频繁的今天。它们不仅方便了个人用户的日常浏览,也为跨语言沟通提供了便利,促进了信息的无障碍传播。
标题中的“Google系列Android手机无法联网问题的解决方法”指的是Google生产的Android设备,如LG Nexus、Pixel系列等手机,遇到无法接入网络的问题。这可能是由于多种原因,包括但不限于软件设置错误、网络配置问题...
在线网页翻译是互联网时代一项非常实用的技术,它使得人们能够快速、便捷地跨越语言障碍,访问和理解不同语言的网页内容。谷歌翻译(Google Translate)是其中最为知名的在线翻译工具之一,提供了包括英文在内的多种...
随着互联网技术的飞速发展,浏览器作为用户访问互联网的重要工具之一,在日常生活和工作中扮演着不可或缺的角色。本篇文章旨在探讨浏览器的工作原理以及市场上几种主流浏览器的特点,帮助读者更好地理解和使用这些...
而“周恒_搜索引擎原理.ppt”可能涵盖了搜索引擎的基本概念、工作原理,以及谷歌搜索引擎的特点和技术细节。周恒教授是中国搜索引擎领域的重要研究者,他的讲解可能会从理论与实践两个层面深入剖析搜索引擎的工作...
《学习谷歌:深入理解搜索引擎巨头》 在当今的数字化时代,谷歌无疑是最具影响力的...对于IT专业人士和普通用户而言,深入理解谷歌的工作原理和技术优势,有助于我们更好地利用互联网资源,提高工作效率和生活质量。
2. 在线翻译服务的工作原理,特别是基于深度学习的神经机器翻译技术。 3. 翻译软件的准确度比较,如传统桌面软件与现代在线服务的差异。 4. 特定语言变体(如简体中文与繁体中文)转换的挑战。 5. 服务器端的翻译...
1. Google搜索引擎:它的特点、工作原理和全球影响力。 2. Google Chrome浏览器:作为最流行的浏览器之一,它如何支持插件和扩展以增强功能。 3. Google学术搜索:其服务内容、用途,以及在学术研究中的价值。 4. ...