本文来自微信公众号:航通社(ID:lifeissohappy),作者:书航,题图来自视觉中国
“微博崩了”“知乎崩了”“小红书崩了”我们都经历过。你能想象“微信崩了”是什么场景吗?
2021 年 1 月 18 日下午,曾有诸多网友反映微信群聊、私信等收不到消息。“微信 bug”一度冲上热搜。腾讯微信团队回应:
“由于系统抖动原因,今天14点左右,部分微信用户遇到了消息收取延迟情况,现在已经修复完成。”
这次“系统抖动”影响的人数确实相对较少,而历史上,微信也只有朋友圈、红包等部分功能模块偶尔出现“崩了”的情况,相对来说算是“稳如泰山”。
但是,在刚刚过去的 10 月 4 日,除中国大陆以外的全球网友是切切实实体会到了一次什么叫他们的“微信”崩了。有着 35 亿活跃用户的 Facebook 全线业务,一度在全球范围无法访问长达 6 小时。
这些服务包含 Facebook 及其相关服务 Instagram、WhatsApp、Messenger、Oculus 等;以及其企业级产品,甚至 Facebook 的公司内网。其中,WhatsApp 和 Facebook Messenger 是公司旗下两款“微信”类即时通信产品,分别在全球范围拥有 20 亿用户和 13 亿用户(有重叠),都高于微信(含海外 WeChat)的 12.4 亿用户和 QQ 的 6.06 亿用户。
这次史无前例的故障,其起因本身就是 Facebook 在疫情后不得不开展大量远程工作,导致检修员工不在现场,让事故持续拖延下去。而其结果,是让全球不计其数的中小企业乃至政府部门的远程工作受到严重影响,造成一波又一波的次生灾害。
世纪新冠疫情让人们不得不留在家中,依赖互联网完成大部分工作和人际交往,原本临时的远程办公措施逐渐常态化和永久化,也让人们憧憬新生活方式的可能。但只需要一次简单的服务中断,这一切就都有可能被打回原点。长达 6 小时的 Facebook 大宕机,正是让我们重新反思这一切的绝佳时机。
发生了什么?
根据目前能掌握的信息,这次 Facebook 的大规模故障应该是从一次例行维护开始的。
Facebook 主管基础设施的副总裁贾纳丹(Santosh Janardhan)说,他们在维护过程中发出的一条命令,无意中关闭了通往世界上所有 Facebook 数据中心的骨干网连接。
围绕此事,主要有两个不同的阴谋论。
一是此事正好赶在有位“吹哨人”就 Facebook 及 Instagram“无视儿童安全”上美国国会听证会的前夕,6 个小时也许够用来“毁尸灭迹”;
另一说是有 15 亿份近期的 Facebook 用户个人资料流出,有人说黑市每 100 万个用户资料开价 5000 美元。6 个小时同样也许可以用来补救或者掩盖什么。
目前来看,因为“吹哨人”而自导自演宕机的可能性小到几乎为 0。官方一再解释,此次宕机并不是黑客攻击导致,也没有证据显示有用户数据是因此事而泄露。
不过,“如无必要,勿增实体”。这起事件是一次单纯的误操作所致,也许是一种更简单也更靠谱的解释。
除 Facebook 官方之外,负责第三方公共 DNS 解析和 CDN 服务的 CloudFlare 也在官方博客分析,从外部观察,就是 Facebook 的 BGP(边界网关协议)出的问题。
通俗的说,DNS 是互联网的“地图”,用来告诉你“x 在什么地方”;而 BGP 是这一“地图”的“导航”部分,告诉你“怎么走去 x 最快”。
要准确理解这一概念,首先要明白一点:
我们现在所称的“互联网”,字面意思是“网际(inter-)网络(net)”,也就是“网络的网络”,是无数张小网络如“岛屿”般彼此连接的后果。这些小网络可能是“中国电信”、“清华大学”或者“x 公司北京办事处”。
相对于全球所有联网电脑而言,一整个国家——比如中国或俄罗斯——的全国网络也算是一张巨大的小网络,通过海底电缆等“桥梁”同其它外“岛”相连。但由于它们遵守相同的协议,所以联网方法完全相同。
BGP 就是要告诉用户,在地理意义上,你必须经过某些“岛”和“桥梁”才能到达目的地。一般来说,BGP 会智能地选择多种不同路线中距离最短的那一条,当然“最短”不意味着“最理想”,因为有些“桥梁”比如 5G 数据连接是收费的。
当 Facebook 的 DNS 服务器注意到问题,就自动停止继续分发 BGP 路由信息,等待连接恢复正常。因为全球各地设备无休止的发起不成功的访问请求,会导致对上级 DNS 服务器更严重的冲击,让影响扩散得更严重。
这样的事情曾在中国发生过一次。2009 年 5 月 19 日,两个盗取游戏资产的黑客私斗,导致第三方域名解析服务 DNSPOD 被攻击到瘫痪。中国电信停止了对其的网络服务,致使其无法为域名提供解析服务,诸多采用 DNSPOD 服务的网站无法访问。
恰好当时全国装机量约 1.2 亿台的影音播放器“暴风影音”会定期自动访问服务器检查更新,也因为 DNSPOD 故障而不断发起域名解析请求,最终干掉了整个电信运营商的本地域名服务器,引发了全国大断网。
在本次事件中,Facebook 内部的 DNS 服务器本身仍在工作,但主动选择停止解析,以保护更大范围内的网络。虽然修理它并不是什么难事,然而一系列连锁反应使问题进一步恶化。
怎么会这么严重?
缺乏网络连接和域名解析丢失,切断了远程工作的 Facebook 工程师和服务器的联系,也禁用了许多他们平常使用的检修工具。一位 Facebook 内部人士在 Reddit 爆料,当时的情况是:
会修的人连不上路由器也没有登录权限,
有权限的人不会修也连不上,
唯一在机房能物理接触到路由设备的员工没有权限也不会修。
由于内部通讯工具也掉线了,这三波人协作困难,雪上加霜。
公司内部的混乱是全方位的。员工之间本来用公司自己的通讯工具沟通,有时即使需要访问友商业务如谷歌文档和 Zoom 会议软件,也要求使用 Facebook 账号单点登录。系统崩溃让这一切都陷入停顿。
有的员工在事发之前已经用公司账号登录到谷歌文档等环境,受影响尚且较小;有的急忙上线,却发现自己只能用基于微软 Outlook 的工作邮箱、苹果的 Facetime 等各种各样的替代服务与同事联系。
新浪科技驻硅谷记者郑峻写道:
“一位 FB 朋友说,今天大家都很尴尬,不知道发生了什么,也不知道该做什么,只好假装什么都没有发生,在给一家不存在的网站工作。”
修复工作很显然无法远程完成,工程师们紧急“打飞的”到加州的主数据中心参与维修。在此期间,一些员工并不能使用门禁进入公司大楼和会议室,而这些地方的门只能用门禁卡刷开,没有钥匙孔。
The Verge 甚至曾一度获得更戏剧性的消息——因为门禁卡失效,工程师只能带着切割机,强行锯开数据中心的服务器铁笼。不过后面这个报道未经证实,被撤回了。
不过一旦人都被“物理传送”到了合适的位置上,事情相对就好办多了,只需要“激活安全访问协议”而不是动用电锯。
只不过,就算已经解决问题,也必须逐渐一点点地“开闸放水”,否则一次性打开所有通路就如同“8 个明星并发出轨”,会导致更多的系统崩溃。负载必须逐步增加,除美国以外地区的其他用户要等更久才恢复访问。
最终,一切又大致恢复了正常,包括 Facebook 最多曾下跌 5% 的股价。
都是“远程”惹的祸?
2020 年 5 月,中国已经大致控制住了第一波疫情,而美国的疫情开始急剧升温。当时 Facebook 表示,关闭公共办公空间,所有有条件的员工都需要在家工作。而这一措施是短期、临时性的措施,待疫情受控,办公室重开后,将仅允许某些员工,尤其是最资深、最有经验的员工长期远程工作。
时隔一年,Facebook 在今年 6 月 9 日更新了政策,将长期远程办公的许可范围扩大到任何有能力在家完成工作的员工。
扎克伯格写道:
“在过去的一年里,我们了解到,员工在任何地方都能完成良好的工作。我更乐观地认为,远程工作有可能大规模进行,尤其是在远程视频和虚拟现实不断改进的情况下。”
自然,无法远程完成的工作岗位通常包括那些在硬件设备或数据中心的工作。但从今天这起事件的情况来看,很显然就连数据中心和网关的岗位,也有一部分已经在“远程”了。
扎克伯格还表示,Facebook 将开始允许员工跨越国境线进行远程工作。Facebook 将允许美国员工要求在加拿大、英国和欧盟的远程工作。到 2022 年 1 月,公司将允许员工在欧洲七个国家之间永久流动。
据统计,Facebook 的劳动力总数约为 6 万人,全美绝大部分办公室在 9 月初以 50% 的容量重开,按计划 10 月要全面开放。
Facebook 并不是唯一一家选择更深入拥抱远程办公的科技巨头。具体到它本身,其理由一方面是疫情的常态化、长期化以及来势凶猛的变种,另一方面是 Facebook 的业务范围本身就包含让人们远距离沟通的含义。以 Oculus 为载体的增强现实和所谓“元宇宙”服务也在其规划之中,它本身就计划创造一个跨越物理距离和国家边界的网络领地,而自家员工的率先启用,正好可以做一个内部演练。
直到此时,人们主要关注的还是远程办公是否会影响效率的问题,以及是否可以全面模拟和替代现场办公的体验,及产生所谓“化学反应”。
扎克伯格说,想要在 Facebook 办公室工作的员工,将被要求至少有一半的时间来上班。这是为了确保办公室保持活力,并确保进入办公室的员工充分利用空间,成为社区的一部分。此外,他们还计划为办公室和远程人员组织定期的现场聚会,以维护同事关系。
另外值得关注的问题还包括工资。远程工作很容易导致的结果就是“在老家办公,拿北京的工资”或者“在泰国工作,拿硅谷的工资”。企业当初为员工制定的薪资一般都结合了当地物价和住房成本(如果租房补贴不另计的话),所以长期远程意味着需要与员工协商一定程度降薪。但考虑到不同人工作节奏和偏好的不同,从工作效率最大化的角度出发,员工和公司往往也都愿意接受改变。
从今天开始,人们将不得不思考在这些问题之外,一个更基本的原则性问题:如果连不上远程办公所需的网络基础设施该怎么办?
这一问题此前只是在 Zoom 会议期间才被提起,因为各人所处的网络环境和相隔距离不同,直到疫情爆发一年多后的今天,开一场语音或视频会议依然可能是一场折磨。一张网图说,现在上班开会的感觉有点像“招魂”。
不过,我们有微信群和钉钉群们啊。虽然语音视频略显奢侈,但在群里各自发语音消息片段,乃至直接打字,早就被我们视作日常操作,不可能出问题的。在这个意义上,微信们也俨然成了跨越物理网络、跨越国界的电信运营商,是名副其实的基础设施。
这次,就是这种我们看作完全不可能掉链子的服务出了故障。
被刻意忽略的风险
起初的一两个小时里,人们还只是在隔壁 Twitter 上转发梗图调侃。越到后来,大家就越有点笑不出来了。
很多人猛然惊醒,发现他们和生命中交往最频繁的同事、朋友乃至相隔两地的家人,彼此联系方式就只剩下在线这一种,电话号码也许是几年前的,说不准换了号。如果就此一别,真就不知何时能再相见。
在充满挑战的疫情时期,作为国际版“微信”的 WhatsApp 让世界各国的人们与身边社群保持联系,也因此做出了很多独特的贡献,很多重要的活动没有它都是不可能完成的。WhatsApp 官网就列举了一部分:
印度“契约劳工”制度的幸存者通过 WhatsApp 群组分享疫情信息,解决同伴受教育程度低,消息闭塞的困难;
巴基斯坦一个 WhatsApp 群组筹集了 2100 万卢比,帮助弱势群体;
约旦的就业促进计划使用 WhatsApp 帮助女性找工作;
叙利亚难民营的教师们在 WhatsApp 上与家长共享视频课程;
一群意大利市长通过 WhatsApp 相互掌握实时动态,该国那不勒斯的小学在停课期间用 WhatsApp 发送家庭作业;
巴黎的医疗人员组成 WhatsApp 群组,随时更新当前医院病床、资源等信息;
对许多人来说,不能访问 Facebook 只是带来不便。但是对于发展中国家的一些小企业来说,没有其他可靠方式与客户沟通,这可能是一个严重问题。
印度拥有 3.4 亿 Facebook 用户,是全球最多,WhatsApp 也是该国个人和企业沟通的重要工具。研究公司 eMarketer 称,印度有近 4.9 亿 WhatsApp 活跃用户。
这两大平台不仅承担中国“微博”和“公众号”的角色,可以宣传商品,更可以如“小程序”般作为网店销售产品。成千上万的印度企业被迫停业,而相关顾客也没法网购生活必须品。
在巴西,政府官员甚至教育系统都在使用 WhatsApp。学生可从 WhatsApp 接收考试成绩。医院也使用 WhatsApp 预约挂号和远程会诊。
长达 6 小时的服务中断,让扎克伯格本人的纸面财富缩水了 60 亿美元,但由于 WhatsApp、Messenger 和 Instagram 等工具为全球政府、商家、慈善机构、社区和普通人与人之间联系带来的损失,恐怕难以估量。
这次物理层面的宕机,鲜明体现了远程办公依赖一个脆弱的基础架构,它因为缺乏备份而显得脆弱。越多的冗余备份当然是越安全,但也让使用者疲劳,因此人们总想抛弃安全保障的枷锁“裸奔”。
如同 Facebook 滑稽的公司内网设定一样,这家科技巨头同样为世界各地的人民提供了另一个脆弱的架构,人们在日常生活中对社交媒体工具,尤其是 Facebook 系产品的依赖已经难以摆脱。
即使如部分美国参议员坚持的那样,将 Facebook 等科技巨头分拆,情况可能也不会有太大改变,因为这只会造成开发产品的公司实体变更,而不会改变人们总喜欢往单一平台聚集的意愿。
无论 Facebook 的故障是由无心失误、人为操控还是恶意代码造成的,一个公司的暂时停摆能够影响全球跨越国界的如此多的互联网用户,这令人不安。这向人们展示了,支撑后疫情时代全球化运转的国际互联网生态系统是多么脆弱,而新的风险几乎近在眼前。
人类历史上,已经多次有过同类的教训:
二战时期纳粹德国从侵略小国开始,逐步偷袭苏联、鲸吞法国、剑指英吉利;
9/11 前美国政府已经获得相关情报;
2008 金融海啸前房产泡沫征兆已经相当明显。
甚至聚焦到信息安全领域,也同样如此。今年 5 月,美国科洛尼尔燃气管道公司(Colonial Pipeline,又译“殖民管道”)遭遇勒索软件袭击,一度关闭了横跨多州的输油大动脉,在支付约为 400 万美元的加密货币赎金后得以恢复。
然而常见的恶意软件、勒索软件袭击都是可以通过更新企业电脑的安全软件,严格员工的安保措施,升级到最新版操作系统等基础方式来预防的。微软相关人士在解释为什么 Windows 11 强制提高了硬件要求,让一些 3~5 年历史的机器也无法升级时说:
“我们从 Windows 10 中学到的是,如果你让安全设定变得可有可无,人们就不会把它们打开。这是一个很大的教训。”
风险就在那里,警告从未缺席。但因为有其他迫在眉睫的问题,风险和警告一直被人们刻意忽略,直到最终爆发。
互联网是一个脆弱的生态系统,建立在全球海底电缆和分布式服务器网络之上。人们很容易忘记,互联网不仅仅是一个概念网络,乃至无实体的“元宇宙”,它们都建立在物理基础设施上,这很重要;由谁控制这些基础设施,更为重要。
既然人类的抱团社交天性,可能注定了他们难以接受“狡兔三窟”式不停更换社交媒体服务商,戒断 Facebook、Twitter、YouTube 或其它任何集中式的单一服务,成本太高,似乎也没有必要;那么,这些巨头自身和位于其上的监管部门,也就同时被赋予了更大的责任。因为他们的目标已经超越了企业的稳健盈利,而是以此为生的亿万民众、中小企业的衣食所系。
社会正更严厉地审视巨头们是否能尽到社会责任,保障基础设施的平稳运行。如果不能,政策将很快转向到加速竞争,打破垄断,提供替代方案,加强监管。这正是现在各国都在做的事情——任何一家互联网公司都不应该变得“大而不能倒”。
Facebook 修好网络以后没过几个小时,其前员工控诉公司“只顾赚钱,不管公共利益”的国会听证会也顺势开幕了。照例,我们还会听到自法务副总裁到扎克伯格本人的反驳;但其断网事件本身,比其它任何材料都更雄辩地说明,人们需要对大平台始终保持警惕,并限制它们进一步侵占我们的生活和工作,让我们在事实上变得失去其它选择。
也许,每个人面对这种警惕要做的第一件事,是跟自己微信群里素未谋面的好友和同事们,交换一个其它类型的联系方式。
参考资料
https://www.theverge.com/2021/10/4/22709575/facebook-outage-instagram-whatsapp
https://engineering.fb.com/2021/10/04/networking-traffic/outage/
https://www.newsweek.com/15-billion-facebook-users-personal-information-posted-sale-after-hack-1635439
https://blog.cloudflare.com/october-2021-facebook-outage/
https://www.theverge.com/2021/10/4/22709260/what-is-bgp-border-gateway-protocol-explainer-internet-facebook-outage
https://www.cnbeta.com/articles/deep/84831.htm
https://twitter.com/chemhack/status/1445091564833939467
https://www.reddit.com/r/sysadmin/comments/q181fv/looks_like_facebook_is_down/hfda42z/
https://weibo.com/1644101945/KBgLTaqUD
https://www.theverge.com/2021/10/4/22709575/facebook-outage-instagram-whatsapp
https://www.facebook.com/careers/life/what-remote-and-flexible-work-will-look-like-at-facebook
https://www.whatsapp.com/coronavirus
https://www.bbc.com/zhongwen/simp/world-58814884
http://www.xinhuanet.com/world/2021-05/12/c_1127438689.htm
https://www.cnbeta.com/articles/tech/1186687.htm
本文来自微信公众号:航通社(ID:lifeissohappy),作者:书航