您的位置:首页 > 运维架构 > 网站架构

Clos Network 与 Leaf Spine 架构

2015-10-18 10:34 489 查看

关于 Clos Network

1952 年, Charles Clos 设计出了一种多级的交换架构。用多级的小型交换机阵列来构建一张大的无阻塞的网络。在此之前,要实现“无阻塞的架构”,只能采用 NxN 的 Cross-bar 方式。

而 CLOS 的架构可以用简单的小规模交换机(电话交换机)搭建大型的交换架构。

这就是 Charles Clos 的事迹。

数据中心网络的变迁

传统的胖树

很长时间以来,就我的体会,至少 10 年以上,数据中心网络的架构就是 Fat Tree – 胖树。

大家也许记得,传统数据中心的网络拓扑结构,从物理上,并不是树型,而是半网状。一台接入交换机会通过两条链路与接入层的交换机互连。

但在逻辑通路上,由于有 Spanning Tree 协议的存在,使用实际拓扑就是一颗树。很多链路是冗余的,为了备份而存在。

东西向的流量开始增长

后来,计算的形态变了。分布式的出现使得“东-西向”的流量变多。

原因有两个:

分布式

计算更复杂

原先小型机占主导,应用不辣么复杂的时候,很多访问要么在一台机器内部运算就能产生结果,要么系统之间的交互比较简单。主要的流量都是“南北向”的。

但在分布式时代,一方面分布式导致服务器之间的访问增多,另一方面应用也变得更复杂。受理一个请求之后,可能从周边服务器拉取一堆数据,然后才返回给用户。这导致“东西向”流量远远大于“南北向”流量。

CLOS 架构在数据中心中的应用 - Spine Leaf

注意: 是 spine 脊椎,而不是 span 跨跃


我一直奇怪 Spine - leaf 架构中,出口怎么接,也就是南北向的流量怎么接?

Spine Leaf 与 CLOS

有人说,Spine Leaf 相当于对折了的 CLOS 架构,但我不这么认为。

对于以太网交换机来说,它的 ingress - outgress 是一起的。如果把 in/out 分开来看,这就是标准的 CLOS 架构。

但这种 Spine Leaf 架构还是有阻塞的,除非 Spine 的数量要比 leaf 中接入端口的数量多。

实际中很少见到这样的设计 – 实际中 Spine 的数量是很少的。

重要的是协议层面

另外,还有协议层面的问题需要解决 – 在 Spine Leaf 架构中,如果还使用 Spanning Tree 那么,最终得到的还只是一个树型结构,又回到 Fat Tree 中去。

在协议层面,如何保障 Spine - Leaf 之间 Fully Mesh 的通路,形成真正意义上的 Switch Fabric,而不产生环路呢?

目前有两类办法:

二层协议

简化的办法 – 只用两台设备做 Spine ,在 Leaf 的上联链路,启用 vPC ,virtual Port Channel

通用的办法 – 跑 TRILL 这样的协议,比如 Cisco 的 FabricPath

三层协议

用 OSPF 就可以搞定这个 Switch Fabric 中的路由。不过里面有很多等距路由,不知道 OSPF 最多能支持多少条?

在实际上,多数设计都采用二层协议的简化办法,使用两台设备作为 Spine,然后在 Leaf 的上联上启用 vPC。

这就是 CLOS 网络与 Spine Leaf 架构

讨论

实际上,简化的基于 vPC 的 Spine Leaf 架构还是有阻塞的,除非下面的接入端口只有两个,这是不可能的。

另外, Spine Leaf 的北向流量怎么办?
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  网络 数据中心