clos架构

dcn network

CLOS网络的核心思想是:用多个小规模、低成本的单元构建复杂,大规模的网络。简单的CLOS网络是一个三级互连架构,包含了输入级,中间级,输出级。下图中的矩形都是规模小得多的转发单元,相应的成本也很低。简单来说,CLOS就是一种多级交换架构,在输入输出增长的情况下,增加中间交换单元的数量,而不是每个交换单元的端口数,从而尽可能减少中间的交叉点数。

传统$n*n$交换网络,需要$n^2$个交叉点。可以看出,这里的开关矩阵类似于一块布的纤维,所以交换机内的架构被称为 Switch Fabric(纤维),这是 Fabric 成为计算机网络专业术语的起源。
image.png

下图整列有N=36个输入和N=36个输出。有3个交换阶段,也就是一个输入阶段(a)一个中间阶段(b)和一个输出阶段(c)。在a阶段有6个$611$交换机,在b阶段有11个$66$交换机,在c阶段有6个$611$交换机。交叉点的数量是为$6116 + 1166 + 6116=1188$个交叉点,少于$3636=1296$个交叉点。

image.png

[!tip]

  1. stage(a)和stage(b),stage(b)和stage(c)之间是端口直连的方式,没有交叉点
  2. 多个小型化的模块单元组网实现了等效大模块的组网

在a阶段我们交换机的输入36,因此就有6个有6个输入的交换机。相同的方式,c阶段就有6个有6个输出的交换机。阶段b的交换机的数量必须在最糟糕的情况下保持非阻塞。最糟糕的情况如下:
(1)a中的一个交换机的5个输出端口很忙,需要占用连接到b阶段的5个交换机(每个输出端口连接到了不同的交换机)
(2)同时,c中一个交换机的5个输入端口很忙,也会占用连接到b阶段的5个交换机
(3)极端情况下这10个b阶段的交换机都正好不一样
(4)a阶段和c阶段剩余的一个端口要建立连接,则需要额外提供一个交换机,因此b阶段需要有11个交换机
(5)因此a节点需要11个输出分别连接到11个b阶段交换机上,c节点也需要11个输入分别连接到11个b阶段交换机

总结clos三层架构需要的交叉点数为
stage(a)和stage(c):$\sqrt{n}(2\sqrt{n}-1)\sqrt{n}$,例如$6 * 11 * 6$
stage(b): $\sqrt{n}\sqrt{n}(2\sqrt{n}-1)$,例如$6611$
总计:$C(3)=(2\sqrt{n}-1)\sqrt{n}\sqrt{n} * 3$

[!note]
在N大于等于36的情况下,交叉点的数量就会小于N的平方

1. reference

设计非阻塞电话交换系统:多阶段交叉点整列的研究与优化-CSDN博客