一、传统三层网络架构
在讨论 VXLAN 网络架构前,先来回顾下传统网络的三层架构。三层网络架 构起源于园区网,传统的大型数据中心网络将其沿用了下来。图 5-5 是一个典型的传 统三层网络的架构,分接入层(Access Layer)、汇聚层(Aggregation Layer)、核心层 (Core Layer)。
传统三层网络架构
通常情况下,汇聚层会承担网关的作用,是 L2 和 L3 网络的分界点,汇聚层以下的是 L2 网络,以上的是 L3 网络。每组汇聚交换机管理一个 POD(Point of delivery,数据中心基本物理设计单元,通常包含服务器机柜、网络机柜、网络机柜、空调等配套设 施),每个 POD 内都是独立的 VLAN 网络。服务器在 POD 内迁移不必修改 IP 地址和 默认网关,因为一个 POD 对应一个 L2 广播域。
三层网络架构以其实现简单、配置工作量低、广播控制能力较强等优势在传统数据中 心网络中被大量应用。但是在当前云计算背景下,传统的三层网络架构已经无法满足 云数据中心对网络的诉求,主要原因有以下两点:
无法支撑大二层网络构建:
三层网络架构的一个优势是对广播的有效控制,其可以在汇聚层设备上通过 VLAN 技术将广播域控制在一个 POD 内,但是在云计算背景下,计算资源被资源 池化,计算的虚拟化要求 VM 需要在任意地点创建、迁移,而不需要对 IP 地址或 者默认网关做修改,这就从根本上改变了数据中心网络架构的需求。
大二层网络示意图
为了满足计算资源虚拟化的要求,网络必须构建一个大二层网络来满足虚拟机的 迁移诉求,如图 5-6 所示。针对传统的三层网络架构,则必须将 L2/L3 的分界线 设置在核心交换机,核心交换机以下均为是 L2 网络,这样一来,汇聚层作为网关 的作用就不复存在了,网络架构逐渐向没有汇聚层的二层架构演进
同时,三层架构网络中,在进行网络横向扩展时,只能通过增加 POD 的方式进行 扩展,但是汇聚层设备的增加对核心层设备是一个巨大的压力,导致核心交换机 需要有越来越高的端口密度,非常依赖厂家对设备的更新。
无法支持流量(尤其是东西向流量)的无阻塞转发:
数据中心的流量可以分为以下几种:
- 南北向流量:数据中心之外的客户端到数据中心内部服务器之间的流量,或 者数据中心服务器访问外部的流量。
- 东西向流量:数据中心内的服务器之间的流量。
- 跨数据中心流量:数据中心之间的流量。
在传统数据中心中,业务往往采用专用模式进行部署,通常一个业务只会部署在 一台或者几台物理服务器上,并和其它的系统做了物理隔离。所以在传统数据中 心中,东西向流量比较少,南北向流量可以占据数据中心总体流量的 80%左右。 而在云化数据中心中,业务的架构逐渐从单体模式转变为“Web-App-DB”模式, 分布式技术在企业应用中开始流行。一个业务的多个组件通常分布在多个虚拟机/ 容器中。业务的运行不再由单个或几个物理服务器来完成,而是多个服务器协同 完成,这就导致了东西向流量的规模快速增长。
东西向流量规模的大幅提升使得东西向流量取代了南北向流量成为数据中心网络 中占比最高的流量类型,占比可以达到 90%。而保证东西向流量的无阻塞转发成 了云数据中心网络的重要需求。而传统的三层网络架构是以传统数据中心南北向 流量为主的前提设计的,针对大量的东西向流量就力不从心了。
由于传统三层网络架构已经被证明并不适合作为云化数据中心网络的网络架构,一种 基于 CLOS 架构的两层 Spine-Leaf 架构已经在数据中心网络中流行起来。CLOS 架构 是贝尔实验室 Charles Clos 博士在《无阻塞交换网络研究》论文中提出的,为纪念这一 重大成果,便以他的名字命名这一架构。CLOS 的核心思想是:用大量的小规模低成 本可复制的网络单元构建大型的网络架构。
二、Spine-Leaf网络架构(CLOS架构)
下图是一个基于 CLOS 架构的 Spine-Leaf 网络。可以看到,每个 Leaf 都上行连接 Spine,Leaf 和 Spine 之间是以 full-mesh 方式连接。
Spine-Leaf 网络架构(CLOS 架构)
Spine-Leaf 架构提供了一种构建大型无阻塞网络的方式,且扩展起来非常方便,于是被 应用到了云化数据中心网络架构设计上。基于 VXLAN 的数据中心网络也普遍使用了 这样的网络架构。
在 Spine-Leaf 架构中,Leaf 交换机相当于传统三层架构中的接入交换机,直接连接物 理服务器,并经常作为网关设备。Spine 交换机相当于核心交换机,是整个网络的转发 核心。Spine 和 Leaf 交换机之间通过 ECMP 实现多路径转发。
总结一下,Spine-Leaf 架构相对于传统的三层网络架构的优势如下:
1. 支持无阻塞转发:可以看到 Spine-Leaf 架构对于东西向和南北向流量的处理模式 是完全一致的,在设计合理的情况下,可以实现流量的无阻塞转发。无论何种类 型的流量,都只需要经过 Leaf-Spine-Leaf 三个节点即可完成转发。
2. 弹性和可扩展性好:Spine-Leaf 拥有很好的横向扩展能力,只需要保证 Spine 和 Leaf 在一个比例范围内,不需要新的设计,将原有的结构复制一份即可。网络设 计可以非常灵活,在数据中心初期网络流量较少时,可以适当减少 Spine 交换机 的数量,后续流量增长后再灵活增加 Spine 交换机即可。
3. 网络可靠性高:传统三层网络架构中,尽管汇聚层和核心层都做了高可用,但是 汇聚层的高可用由于是基于 xSTP,并不能充分利用多个交换机的性能,并且,如 果所有的汇聚层交换机(一般是两个)都出现故障,那么整个汇聚层 POD 网络就 会瘫痪。但是在 Spine-Leaf 架构中,跨 POD 的两个服务器之间有多条通道,不考 虑极端情况,可靠性比传统三层网络架构要高。
1、Leaf和Spine
Spine:连接Leaf的设备,和leaf之间是L3接口互联,Spine不作为隧道的端点,只负责IP转发。
leaf的分类:用来连接不同的设备的例如:服务器、防火墙、LB、PE或CORE,根据连接的设备的类型来定义leaf的名称。
- Server leaf:连接服务器的Leaf,和服务器连接的接口是L2接口
- Service leaf:连接VAS(Value Added Service能够提供L4-7层服务的设备) 设备的leaf,和VAS连接的接口也是L2接口。
- Border leaf:连接运营商的边界设备或者连接内网的CORE设备Egress gateway。
- DCI leaf:连接到其它的数据中心的leaf设备。