根服务器是全球域名解析的起点,一共有 13 个地址。它们全部宕机听着像灾难,实际上很难同时发生;真发生了,多数上网请求短期内也还能应付。
第 8 期介绍过根服务器,第 136 期解释过为什么只有 13 个地址。这 13 个是根服务器的标识编号,不是 13 台机器。
每个标识在全球许多地点由不同的机器同时应答,靠的是第 18 期讲过的 Anycast:同一个地址在不同网络、不同国家都有副本,就近的那一台负责回答。想让 13 个标识同时失效,等于要同时打掉分布在全球的全部副本,还要让它们无法互相接替。
就算根暂时不可达,解析也不一定停。根区数据量很小,只有各顶级域由谁负责的指向信息;解析器拿到之后会长时间缓存,第 25 期讲过这套分层缓存机制。真实影响更接近“新出现的顶级域暂时查不到”,而不是“所有网站都打不开”。
另外还有兜底安排。一些网络运营者和机构在本地保存根区副本,让解析器就近查询,不必每次都回到根服务器;根服务器系统的运营方也有跨地区部署与切换演练,相关做法写在技术社群发布的 Anycast 部署建议里。
这里有一个常被误解的地方:根服务器不决定流量走向,也不记录谁访问了什么。它只回答“某个顶级域由哪台服务器负责”。真正的内容请求,根本不经过它。