前几周有人问我,如果有一个环境中给你10多个交换机和路由器,应该如何配置。这是一个很好的问题,关键不在端口安全、Port Channel、STP、和路由的配置,而是在于针对终端应用服务特点选择相应适合的网络架构。
近十年来,虽然云服务的扩展性需求促进了相关解决方案快速发展,然而数据中心常见的网络拓扑仍然可以归纳为两种:传统的三层网络架构,和Leaf-Spine二层网络架构。
一、传统的三层网络架构
传统的三层网络架构由三层交换机组成:即访问层,聚合层(有时称为分发层)和核心层。服务器连接到其中一个边缘层访问交换机(常称Top of Rack Switch,或 TOR Switch),聚合层交换机则将多个接入层交换机互连在一起,所有聚合层交换机通过核心层交换机相互连接。核心层交换机还负责将数据中心连接到Internet。传统的数据中心过去采用的就是这种三层架构。
下图是我参与优化设计的有数万台服务器的传统数据中心网络架构示意图。
图1 - 某传统数据中心网络架构示意图
在这个拓扑中,除了经典的三层(分发路由器,网络分区汇聚路由器,服务器接入交换机)外,核心层还包括了: WAN核心骨干路由器,WAN发路由器,WAN优化加速器,LAN核心路由器,外部Choke路由器,Internet边界路由器,Transit,防火墙,用于联接数据包分析器的Network TAP。网络负载均衡器放在了聚合层。另外还有一个专用的OOB接入层,用于设备维护管理。
三层架构虽然容易部署、易于诊断,但是其已无法满足日益增长的云计算需求。三层架构面临的主要问题包括:低可扩展性、低容错性、内部服务器之间横截面带宽低、较高层超额使用(Oversubscription)、高层次的拓扑中使用的大型模块化交换机成本非常高。
我过去常采用以下这几个方法缓解三层架构中网络分离问题:
(1)、PVLAN: 专用VLAN,也称为端口隔离,是计算机网络中的一种技术,其中VLAN包含受限制的交换机端口,使得它们只能与给定的端口通信。这个常用于后端的NFS网络。
(2)、VRF虚拟化路由表,用于路径隔离。
(3)、GRE Tunnel。
(4)、使用一些Overlay network封装协议并结合一操作系统虚似化实现网络分离。
二、Leaf-Spine二层网络架构
Leaf-Spine网络架构解决了传统三层网络架构所面临的Oversubscription和内部服务器之间横截面带宽问题。Leaf-Spine网络架构在过去几年里已开始接管主要的云服务数据中心。Leaf-Spine结构也称为Clos结构,其中每个Leaf交换机(ToR交换机)以全网状拓扑连接到每个Spine交换机。这是一种两层的Fat-tree网络。这种架构中Leaf之间只有一个跳,最大限度地减少了任何延迟和瓶颈。Spine网络的扩展非常简单,只要在需增长的情况下逐步添加Spine交换机。
Leaf-Spine架构使用定制的寻址方案和路由算法,而非传统的STP。根据网络交换机中可用的功能,可以使用第2层或第3层技术实现Leaf-Spine网格。第3层的Leaf-Spine要求每个链路都被路由,并且通常使用开放最短路径优先(OSPF)或等价多路径路由(ECMP)来实现的边界网关协议(BGP)动态路由。第2层采用loop-free的以太网fabric技术,例如多链接透明互联(TRILL)或最短路径桥接(SPB, IEEE 802.1aq)。其中,思科的FabricPath 和Brocade的Virtual Cluster Switching是基于TRILL发展而来的私有data plane。核心网络还可使用带有ECMP的动态路由协议通过第3层连接到主干网。华为、联想、Brocade、HP、 Extreme Networks等公司都有基于TRILL的产品或其它Leaf-Spine架构的解决方案。
Leaf-Spine结构的优点是:
(1)、使用所有链路互连,而不像传统网络中冗余链路被STP阻塞。
(2)、所有内部Leaf之间横向通信都是等距的,因此数据流延时时间是确定的。
(3)、Underlay的交换机配置和核心网络配置是固定的,因此变更Overlay Network的路由不需要更改核心网络。
(4)、产品安全区域能虚拟分离,扩展了VLAN和多租户安全性。
(5)、基础设施的物理网络可以和逻辑网络(Overlay network)分离。
Leaf-Spine结构也有些缺点,比如:
(1)、网络交换机的数量远远大于三层网络架构。
(2)、扩展新的Leaf时需要大量的线缆、并占用大量Spine交换机端口。
(3)、Spine交换机端口数量决定了最大可联接的Leaf交换机数量,也就决定了最大主机总数量。
下图是我参与过的一个公有云Leaf-Spine方案示意草图。
图2 - 某公有云Leaf-Spine网络方案物理联接示意图
现代的数据中心部署中,我们一般将网络设备、服务器和机架在出厂时应模块化。对于使用Leaf-Spine 网络的数据中心,出厂时预装配成四种类型的标准工程系统:Transit 机柜, Spine 机柜, Fabric 机柜, 和 Server 机柜。Leaf 交换机和服务器一样被预装配于 Server 机柜,基本上做到开柜上电即可上线使用。
当下全球主流公有云基本上采用的都是Leaf-Spine 网络架构。然而,各家公有云服务商Leaf-Spine网络中的Underlay Network和Overlay Network使用的协议和方案有很大区别。比如,你可以基于Leaf-Spine架构使用VXLAN来设计你的SDN解决方案,也可以基于ECMP的BGP-labeled-unicast的underlay 网络,使用MPLS L3V**s构建另一种多租户的数据中心SDN解决方案。
聊完了两种层数据中心网络架构,相信大家如有机会搭建新的网络时,应该知道如何选择您的网络架构方案了。
欢迎大家发表留言,谈谈你所熟悉的Leaf-Spine网络架构方案中,Underlay Network和Overlay Network使用的协议分别是什么。
(作者:王录华,Oracle云服务研发总监)
本文分享自 云服务与SRE架构师社区 微信公众号,前往查看
如有侵权,请联系 cloudcommunity@tencent.com 删除。
本文参与 腾讯云自媒体同步曝光计划 ,欢迎热爱写作的你一起参与!