收敛比

超售在生活中很常见,航空公司假设并不是所有购票的乘客都会按时到达,因此会多售出一些机票。在云计算领域,也会存在一定程度的超售,一台128核心的物理服务器,可能会运行16台虚拟机,每台虚拟机都有16个cpu内核,那么实际售出了16*16=256个核心,超售比是2:1。这么做是假设用户虚拟机的CPU使用率不会同时高于50%,如果同时高于50%,此时请求的资源大于所能提供的资源,用户就可能会感受到机器卡顿。 网络收敛比是一个比较奇怪的称呼,对应到英文应该是over-subscription ratio这个含义,指的是网络设备南北向带宽超售的比例。为了能够描述不同的收敛程度,我们通常用一个系统所有南向(下行)接口的总带宽比上这个系统所有北向(上行)接口总带宽的数值来表示,我们也将这个数值称为这个系统的收敛比,即over-subscription ratio。

举个例子,假设你有10台服务器,每台服务器通过10GE的接口连接到一个接入交换机,那我们一共就有100G(10×10G=100G)的南向带宽。假设这台交换机还有2个40GE的接口可以用于接入到更高一层的汇聚交换机,那我们一共就有80G(2×40G=80G)的北向带宽。此时,我们得到的收敛比则是1.25:1(100G÷80G=1.25)

收敛比计算公式

收敛比表示网络中下行链路总带宽与上行链路总带宽之间的关系。通过计算下行链路的总带宽与上行链路的总带宽的比值,可以评估网络的超售程度和潜在的瓶颈。较低的收敛比通常意味着更高的网络性能和更低的延迟,而较高的收敛比则可能导致网络拥堵和性能下降。

收敛比的计算公式为:

$(P_n \times P_s):(U_n \times U_s)$

其中:

  • $P_n$是连接的Leaf端口的数量,表示叶交换机上可用的下行链路数量
  • $P_s$ 是这些端口的速度,表示每个下行链路的带宽
  • $U_n$ 是上行链路的数量,表示连接Leaf交换机的上行链路数量。
  • $U_s$ 是上行链路的速度,表示每个上行链路的带宽。

例如下图,一个具有 48x10g 端口的 Leaf 交换机,用于连接服务器,提供 480Gb/s 的端口容量。如果此 Leaf 以 40Gb/s 的速率连接到 4 个Spine交换机,则其总上行链路容量将为 160Gb/s。此时收敛比为3:1

img

在设计数据中心网络收敛比时,我们需要根据网络业务和流量模型。综合考虑东西、南北流量的大小、比例,来制定合适的收敛比和选择相应的设备。通常收敛比应该低于3:1,理想情况是1:1,可以认为是无阻塞网络(在部分场合也称为无收敛网络),对于任意的通信模式,总有路径让他们的通信带宽达到网卡带宽。

传统三层架构网络

如下的是一个收敛比较高的三层组网。这种三层设计收敛比高,存在上行链路瓶颈,并增加了东西向流量(数据中心设备之间的流量)的延迟。因此,现代数据中心通常使用后年的叶脊Leaf-Spine架构,叶脊架构的延迟处于可预测的水平,并且数据包跳数最小。

oversupscription networks

Leaf-Spine叶脊架构网络

也称为分布式核心网络,优势如下

  1. 扁平化:扁平化设计缩短服务器之间的通信路径,从而降低延迟,可以显著提高应用程序和服务性能。
  2. 易扩展:如果 Spine 交换机的带宽不足,我们只需要增加 Spine 节点数,也可以提供路径上的负载均衡;如果接入连接不足,则只需增加 Leaf 节点数。
  3. 低收敛比:容易实现 1:X 甚至是无阻塞的 1:1 的收敛比,而且通过增加 Spine 和 Leaf 设备间的链路带宽也可以降低链路收敛比。
  4. 简化管理:叶脊结构可以在无环路环境中使用全网格中的每个链路并进行负载平衡,这种等价多路径设计在使用 SDN 等集中式网络管理平台时处于最佳状态。SDN 允许在发生堵塞或链路故障时简化流量的配置,管理和重新分配路由,使得智能负载均衡的全网状拓扑成为一个相对简单的配置和管理方式。
  5. 边缘流量处理:随着物联网(IoT)等业务的兴起,接入层压力剧增,可能有数千个传感器和设备在网络边缘连接并产生大量流量。Leaf 可以在接入层处理连接,Spine 保证节点内的任意两个端口之间提供延迟非常低的无阻塞性能,从而实现从接入到云平台的敏捷服务。
  6. 多云管理:数据中心或云之间通过 Leaf Spine 架构仍可以实现高性能、高容错等优势,而多云管理策略也逐渐成为企业的必选项。

oversupscription in networking

上图的组网,数据中心中拥有 960 台 10G 带宽的服务器,收敛比(over-subscription ratio)为 2.4:1。Leaf交换机位于机架顶部,支持 48 x 10GB 服务器端口和 8 x 100G 上行链路端口。Spine交换机支持 64 x 100G 端口。为了覆盖所有 960 台服务器,我们需要 20 台Leaf交换机(960 台服务器/ 48 个端口)和两台Spine交换机。每个Leaf交换机都通过两个 100G 上行链路连接到Spine。收敛比为 2.4:1 时,服务器的最大数量为 960 台(48 x 10Gbps 下行链路到服务器/2 x 100Gbps 上行链路到Spine = 2.4)。

如果再添加两台Spine交换机,收敛比例将为 1.2:1 (480G / 400G)。这接近1:1,因此不存在网络瓶颈。此时,Leaf交换机转发流量时不会丢失数据包。但1:1收敛比可能会导致非高峰时段容量过剩,成本较高。

总结

网络收敛比是设计高效数据中心网络的关键因素。通过合理的收敛比设计,能够有效平衡资源利用率与网络性能,避免瓶颈和延迟。现代的Leaf-Spine架构提供了更低的收敛比和更高的可扩展性,使得数据中心能够灵活应对不断增长的业务需求。在选择网络架构时,需综合考虑业务流量、成本与性能,以实现最佳的网络设计。

参考

Oversubscription in Networking | Noction

Converged Networking: OVER-Subscription Ratio | by Mike Lyons | Medium

第四章 收敛比 - 华为数据中心网络设计指南 - 华为

Overlay介绍 - 华为数据中心网络设计指南 - 华为

数据中心网络架构的问题与演进 — CLOS 网络与 Fat-Tree、Spine-Leaf 架构 - 云物互联 - 博客园