目录 ← 首页
CS168

数据中心寻址

为什么数据中心与众不同?

在上一节中,我们了解到可以修改距离矢量和链路状态路由协议,以计算通过数据中心网络的所有路径。

然而,这些协议在数据中心中可能扩展性较差。在距离矢量协议中,我们必须为每个目的地发布通告,这意味着需要通告 10 万个以上的目的地。在链路状态协议中,我们必须沿每条链路泛洪通告,这在具有大量链路的 Clos 网络中扩展性很差。此外,回想一下,数据中心拓扑通常使用廉价的商用交换机,这些交换机的内存和 CPU 资源有限(例如,转发表不能太大)。

在通用网络中,我们通过引入分层 IP 寻址解决了这些扩展性问题。较高级别的组织(如国家层面)可以将地址范围分配给较小的组织(如大学)。但数据中心没有可用于组织地址的地理和组织层次结构。

不过,在数据中心中,我们可以利用运营商控制网络物理拓扑这一事实,根据服务器在楼宇中的位置为其分配地址。我们还可以利用拓扑具有一定规则结构这一特点(例如,我们可能会将服务器按行排列,而不是随机地塞进楼宇中)。

拓扑感知寻址

img

在这个特定拓扑中,机架在物理上被组织到楼宇中的不同机柜组(pod)中。一种自然的方法是为每个机柜组分配一段地址范围。然后,每个机柜组可以为其内部的每个机架分配子范围。最后,每个机架可以为其内部的每个服务器分配单独的 IP 地址。

运营商知道每个机架有多少台服务器、每个机柜组有多少个机架,因此我们可以利用这些信息来分配适当大小的地址范围。例如,一个机架可以获得一个 / 24 范围,这为该机架提供了 256 个地址供其服务器使用。

这种分配方法可以聚合路由,并在转发表中存储更少的条目。例如,考虑图顶部的某个 spine 路由器。该路由器不需要记住每个服务器的路径。相反,转发表只需要四个条目,每个机柜组一个。当数据包到达时,路由器会检查前 16 位,以将数据包转发到相应的机柜组。

路由聚合还带来了更高的稳定性。如果某个机架内添加或移除了主机,spine 路由器无需知晓。只要我们保持相同的寻址方案,现有的转发表仍然正确,无需任何更改。因此,路由更新通常在链路和交换机故障时发生,而不是在主机故障时。

基于数据中心拓扑分配地址有利于扩展,但也存在一些局限性。特别是,如果我们将服务器移到不同位置,就必须更改其地址。

(注:文档部分内容可能由 AI 生成)