初学者的MSP网络拓扑

对于托管服务提供商(MSP),构建高性能和可扩展的网络是成功的基石。在之前的博文中,我们介绍了基本的网络拓扑类型,而在这篇博文中,我们将审视更复杂的网络拓扑类型,包括那些受到MSP网络青睐的类型。阅读本博文以了解哪种拓扑结构是MSP数据中心的最佳网络拓扑结构,以及为什么。

传统的三层分层网络

在软件定义网络变得普遍之前,数据中心中的网络是基于分层树状网络拓扑的。这种拓扑结构分为三个主要层次:核心层、聚合或分发层和接入层。在这种拓扑结构中,服务器连接到接入层的交换机上。边缘路由器连接到核心以提供从/到广域网(WAN)和互联网的访问。这些路由器位于下图中核心和互联网之间。

就OSI(开放系统互联)模型而言,该模型将网络分为数据链路层(L2)和网络层(L3)等层次,接入-聚合-核心网络拓扑跨越多个层次,如图所示。

让我们依次来看这三个层次。

核心层

网络核心(也称为核心网络)是整个网络的中心组件。主要节点连接到核心。核心网络通常基于网状网络拓扑结构,其中所有节点都连接到核心内的所有其他节点(对于全网状网络拓扑类型)。网络核心中的交换机和路由器通过高速链接互连(也称为骨干连接)。由于路由器在网络核心中使用,因此核心层使用L3流量。

分发/聚合层

这是一个中间层,用于从三层网络拓扑的底层(即操作在L2上的接入层)聚合上行链路到网络核心层(通常在L3上运行),通过使用更高带宽的链接。分发层将大量低速端口与少量高速干线端口结合起来。在数据从接入层传输时,路由开始在此网络拓扑的分发/聚合层上。防火墙、负载均衡和其他安全配置设置在聚合层上。聚合/分发层用于减少和简化数据中心中的布线方案,以便更方便地管理。安装在聚合层上的交换机必须支持在其存储器中存储更多的MAC地址。虽然接入层使用L2流量,但分发层使用L2和L3流量。

接入层

这一层由工作在 L2 的交换机组成。服务器和工作站连接到接入层交换机。通常使用 VLAN(虚拟局域网)来分隔 L2 广播域,以减少广播流量并增加安全性。

为了避免瓶颈,在网络核心附近使用更粗的链路。例如,服务器通过使用 10-Gbit/s 网络接口连接到接入交换机,接入交换机通过使用 10-Gbit/s 接口连接到聚合交换机,聚合层的交换机/路由器通过 100-Gbit/s 链路连接到网络核心交换机/路由器。在这种情况下,可以使用链路聚合来增加带宽和冗余性。所有来自服务器的流量都传送到上行链路。在网络拓扑结构的层次之上有一组智能网络设备,被昵称为“上帝盒子”。上帝盒子负责路由和所有其他服务。分层网络拓扑结构允许创建模块化网络。

在前一图中看到的网络拓扑中,一个链路的故障会导致该网络段的故障。因此,对于这种网络拓扑类型(见下图),在每个网络层上都使用了保留通道和冗余。一个设备或链路的故障会导致性能下降,但网络仍然可以正常工作。这种冗余的网络拓扑通常需要 STP(生成树协议)。

维护。 如果您断开此 3 层网络拓扑类型顶部的一些网络设备以更新软件或执行其他维护任务,网络性能会下降。某些服务可能暂时不可用。

可扩展性。服务器上运行的服务数量每年都在增加,流量量相应增加。这种情况需要在MSP网络中升级和增加网络带宽。在经典数据中心中增加网络带宽通常需要以下步骤:

  • 增加链路聚合(LAG)连接
  • 购买网络卡
  • 如果没有可用的插槽安装网络卡,购买新的服务器或相关设备

如果需要将新的服务器机架(机架柜)作为数据中心中的新模块添加,您可以增加该机架和安装在该机架中的服务器的网络带宽。这种类型的网络拓扑不能确保高水平的链路保留和冗余,因为L2协议功能,如STP和MSTP(多重生成树协议)。

数据中心中的经典三层网络拓扑结构可以与行尾和机架顶部设计相结合。机架顶部连接方案现在更受欢迎。这个名称之所以被使用,是因为服务器和交换机连接到每个机架上的主交换机。顶部交换机(ToR交换机)连接到MSP网络中较高级别的交换机/路由器。ToR交换机与用户边缘交换机不同,并具有多个额外的高速上行端口(如10-Gbit/s端口)和大量端口用于连接服务器。ToR交换机成对安装以实现冗余并启用交换机维护。这种ToR连接方案的优点是在连接机架内部设备和机架之间时电缆长度较短。多层次分层网络拓扑结构的接入交换机通常用作ToR交换机。

流量方向

先前解释的缺点并不太关键,只要进行适当的管理,数据中心网络就能成功运行。在网络的一部分将L2更改为L3有助于解决一系列问题。还有另一个特性与数据中心的演变以及今天应用程序的不同运行方式有关。在2000年代,应用程序是使用集中式架构创建的,客户端-服务器架构的应用程序主要是单olithic的。这意味着应用程序的组件可以位于单个服务器上。因此,在我们的图表中,用户请求从网络顶部发送,应用程序生成的请求从底部服务器级别返回到网络顶部。用户请求在单个主机上处理。主机之间的水平(东西向)流量很少,而南北流量占优势。在数据中心中用于MSP网络的分层多层传统网络拓扑结构满足这些要求。然而,随着时间的推移,开发应用程序时倾向于新的架构。

N-tier layered architecture. Application components are distributed across multiple tiers, for example, the logic tier, the presentation tier, and the data tier. Web applications that have multiple components require these components to run on different servers, for example, a web server, application server, and database server. Application components running on multiple servers interact with each other over a network.

微服务架构假定应用程序的组件(服务)在单独的逻辑上隔离的容器中运行,并通过网络连接到彼此。容器可以在集群中的不同主机上运行。这种架构具有高度可扩展性,目前在云中被广泛使用。

此外,数据中心现在使用大数据、大型数据库、分析、上下文广告、基于人工智能的应用程序和其他需要与多个服务器、存储阵列、虚拟机或容器进行互联的软件。应用程序组件分布在数据中心的多个服务器或虚拟机上。

因此,在MSP网络中,东西向流量高于南北向流量。数据中心网络内部流量(数据中心内的流量)高于来自/去往发送请求到数据中心的外部用户的流量。不要忘记数据中心网络中存储系统之间的内部流量,数据库复制、数据备份和其他使用网络的服务活动。

在下图中,您可以看到过去几年MSP网络内数据中心内部流量增长的图形表示。趋势显示,数据中心内部流量的增长超过了入站/出站流量。

传统网络使用传统的分层三层网络拓扑构建,可靠但不适应侧向流量的方式最为合理。这是由于侧重于L2网络和南北向流量。

Clos网络拓扑结构

最初,Clos网络是由Edson Erwin于1938年发明的。1953年,查尔斯·Clos决定在电话系统中使用非阻塞交换网络,以实现比交叉通信方案更合理的通信使用。对于具有较少互连点、输入和输出的阵列,连接方案乍看起来似乎很困难。然而,由于连接点数量较少,Clos网络较不复杂,根据公式:6n^(3/2)-3n。从36个连接端点开始,这一事实变得清晰。

如果m是输入开关的数量,n是输出开关的数量,则使用该公式计算Clos网络的阻塞特性。根据Clos定理,如果第二阶段开关的数量m ≥ 2n−1,则Clos网络是严格非阻塞的。

阻塞网络是一种网络,在其中不可能找到从空闲输入端口到空闲输出端口的通信路径。

非阻塞网络是一种网络,其中始终存在连接任何输入和输出端口的路径。通过添加额外的交换阶段来创建非阻塞网络。

可重新排列的非阻塞网络是一种网络,在其中可以重新排列连接所有输入和输出端口的所有可能路径。

在1990年代末,随着电信技术和计算机网络的发展,Clos网络的概念再次变得相关起来。网络结构中的所有节点需要相互通信,并且在可能的情况下,不使用全网状拓扑结构将所有设备相互连接。新增了一个用于连接网络设备的通信层。因此,Clos网络概念以一种新的形式得到了复兴。下图显示了典型的三层Clos网络方案。

让我们将Clos网络的视图修改为更方便使用的Leaf-Spine视图,方法是将方案的左侧和右侧折叠起来。这种网络拓扑结构称为Leaf-Spine、折叠式Clos和三阶Clos网络(见下图)。

脊柱层。脊柱交换机用于在全网状拓扑结构中连接所有叶子交换机。脊柱层在一定程度上取代了传统的三层分层网络拓扑结构中使用的聚合层。但脊柱层并不是聚合层的直接等价物。脊柱层的主要任务是快速将数据从一个叶子传输到另一个叶子。端点设备不连接到脊柱交换机。

叶子层。在这个模型中,数据中心中的服务器或其他端点设备连接到叶子。所有叶子都连接到所有脊柱。因此,所有服务器之间有大量具有相等带宽的网络连接。脊柱和叶子之间存在L3连接(OSI模型中的L3)。

当网络中的流量从源传输到目的地时,跳数相同(例如,在下面的方案中,在两层叶脉网络内的任何服务器之间传输数据需要三个跳)。延迟是可预测且较低的。网络容量也增加了,因为现在不需要使用STP。当STP用于交换机之间的冗余连接时,一次只能激活一个链接。

在叶脉网络拓扑中,可以使用等成本多路径(ECMP)路由协议来负载均衡流量并防止网络环路(用于L3网络连接)。BGP、OSPF、EIGRP、ISIS协议也可以使用。

这种网络概念也被称为多层脂树网络拓扑。其思想是避免在树的上层(靠近树根)出现瓶颈,并增加额外的链接以增加这些部分的带宽。因此,朝根部增加了不断增长的链接容量。脂树是Clos网络的特例。三层Clos网络在折叠后转变为两层叶脉网络。叶交换机或叶边交换机/路由器可用于访问外部网络和其他数据中心。

叶脉网络拓扑的优势

叶脉网络拓扑相对于接入-聚合-核心网络拓扑提供了一系列优势。这一系列优势是在数据中心中使用叶脉网络拓扑类型的原因。

优化的连接。在网络设备之间具有高带宽的连接对于东西向流量是最优的。没有未使用的连接(因为使用了L3而不是L2)。推荐使用ECMP以实现高效,并且STP不是必需的。

可靠性。一个设备的故障或一个连接的断开不会导致重大的负面结果和不利影响。如果充当叶子交换机的ToR交换机失效,相应的机架会受到影响。如果骨干交换机失效,与传统的三层分层网络拓扑相比,网络带宽会有所降低,但不会显著。骨干-叶子拓扑的带宽降级为1/n,其中n是骨干的数量。在这种情况下,分层拓扑的带宽降级为50%

高可伸缩性。您可以在骨干交换机上拥有空闲端口之前添加新的叶子。添加新的骨干允许您增加叶子的上行链路。添加边缘交换机/路由器以增加与外部网络的带宽。在树状分层网络拓扑中,增加带宽和连接更多服务器的传统方法是添加具有更多端口的网络适配器、具有更快网络接口的网络设备和更强大的硬件。这种传统方法被称为纵向扩展垂直可伸缩性

在数据中心和MSP网络中使用叶骨网络拓扑时,可以添加额外的骨干层。这种方法被称为横向扩展横向扩展。添加一个典型的网络设备,如交换机/路由器,以线性方式增加可扩展性。

维护。您可以轻松地断开脊柱与网络的连接以进行维护或更换。与大型集中式网络设备相比,脊柱上的维护任务风险较低,因为脊柱上没有智能功能,断开连接后带宽减少也很少。

多层Clos网络

在上一节中,我解释了三级Clos网络,其中包括输入交换机、中间交换机和输出交换机。由于输入和输出阶段的设备用于接收/发送数据,因此可以通过使用由两层叶脊网络拓扑结构组成的中间线来折叠网络方案。您可以添加更多阶段并构建多层Clos网络以连接更多网络设备到此网络。在这种情况下,您有五个阶段:输入交换机、中间交换机1、中间交换机2、中间交换机3、输出交换机。

在以下图表中,您可以看到在重新排列蓝色和绿色块之后的五级非阻塞Clos网络的初始方案。还有折叠的叶脊视图或肥树(4,3)视图(因为叶脊方案上有4个脊柱交换机和3个阶段),但让我们逐步看看如何将设备连接到5级Clos网络。超过5级的Clos网络拓扑类型并不常见,也不会在实践中使用,因为连接数量太大。

在将五级 Clos 网络的初始方案顺时针旋转 90 度后,您将得到传统视图,其中包括输入开关、输出开关和三个中间开关阶段。让我们通过方案中心的中间开关绘制折叠线,以制作五级 Clos 网络的折叠视图。

折叠方案后,您将获得此类网络拓扑的折叠视图或叶脉视图(见下图)。有 4 个个体组充当交付点(POD)。POD 是构建数据中心的通用单位。POD 连接到第一级的脊梁。如果您需要扩展数据中心或添加更多服务器/网络设备,则添加新的 POD 并将它们连接到网络结构。一个 POD 的脊梁通过第二级脊梁连接到其他 POD 的脊梁。同时,并非所有 L1 脊梁都连接到所有 L2 脊梁,它们被划分为平面。

以下方案有两个平面——Plane 0 和 Plane 1。由于脊梁上端口数量有限,因此使用此概念,创建完全连接的网络拓扑在这种情况下是不可能的。在下面的方案中,每个脊梁的端口限制为 4 个。根据主要思想,非阻塞 Clos 网络基于相同的元素(如下所示的 4 端口开关)。

乍一看,您可能会对 Clos、折叠 Clos、叶脉和胖树等术语感到困惑。让我澄清这些术语。

ClosClos 网络 是涵盖 Clos 网络拓扑类型的理论基础的术语。

折叠Clos是Clos网络的更方便的表示,其中输入和输出具有相同的角色并位于同一位置。

叶脊是基于Clos网络方案的网络拓扑,在实践中用于构建网络,包括MSP网络。

胖树通常被称为Clos网络的一种变体。这个术语最令人困惑,因为一些文章将胖树称为经典的接入-聚合-核心网络。我参考RFC 7938文件,指出胖树是基于折叠Clos网络拓扑的。

计算

您可以使用以下公式计算所选配置网络所需的核心交换机、边缘交换机、总交换机数量以及可连接到网络的主机总数:

k is the number of ports in the switch

L is the number of levels in the leaf-spine (fat tree) network topology

在构建网络之前,计算的主要参数是支持的主机数量。胖树配置可以写为FT(k, L)。例如,FT(32,3)是一个三级胖树网络,具有32端口交换机。您可以使用这个免费计算器用于Clos网络,该计算器还会为所选配置生成可视化方案。

你可以计算一下,如果你的脂肪树网络方案有2个级别和每个交换机8个端口,那么你可以连接32个主机到网络。如果你增加每个交换机的端口数量,支持的主机数量将增加到512个。如你所见,连接的主机数量取决于每个交换机上的端口数量。如果你保持脂肪树在2个级别(3级闭合网络)并增加每个交换机的端口数量,脊柱数量将显著增加。你可以通过向脂肪树添加一个更多的级别来解决这个问题。对于一个三级脂肪树,如果每个交换机的端口数量是8,你可以连接128个主机。

如果你将每个交换机的端口数量增加到32,你可以使用这种网络拓扑连接8192个主机。这个数字对于5级闭合网络来说比3级闭合网络多16倍。在规划数据中心中的服务器和网络设备的安装方案时,请记住服务器机架的限制。

奇数级别用于构建非阻塞的闭合网络(3、5、7等)。2级闭合网络不能提供非阻塞连接和交换机之间的多个连接。

在下面的图表中,你可以看到在两级闭合网络的情况下,只有一条传输路径连接服务器1和服务器2。只有1/4个端口连接,其他端口没有连接,它们会阻塞你。

过量订阅比率是从较低层到较高层的方向上的输入带宽与输出带宽之比。过量订阅比率通常在2到4之间变化。

一个交换机有48个10-Gbit端口和4个40-Gbit上行端口。连接到服务器的下行总带宽为48×10=480 Gbit/s。上行的总速度是4×40=160 Gbit/s。过订阅比例为480/160=4。

如果交换机的所有下行和上行端口的总带宽速度相等,则交换机是非过订阅的,在这种情况下没有瓶颈。1:1的过订阅比率是理想情况。在购买具有适当速度和端口数量的交换机之前,估算不同方向的流量。

过订阅比率大于1的交换机通常用于叶子阶段在叶脊网络拓扑的网络中。在脊柱阶段应该使用非过订阅的交换机。在叶脊网络拓扑类型的叶子级别上通常使用作为ToR交换机的交换机。然而,也可以将叶子交换机安装为行尾交换机。

主要差异

在创建网络时,一些决策会影响网络的布局。以下是一些要么-要么的决策,会影响网络的运作。

机架顶部 vs. 行尾

在数据中心中,机架顶部(ToR)网络连接方案是在每个机架中安装一个或多个交换机的方案。短型连接线用于将顶部交换机与机架内的其他网络设备和服务器连接起来。ToR交换机通常具有与更高级别的交换机/路由器的高速上行连接,并可连接光纤电缆。其优点是,当将此连接方案用于MSP网络时,您无需在数据中心的每个机架上安装厚厚的一捆电缆。使用ToR方案时,数据中心中的电缆使用更加合理。在这种情况下,您可以更少地花费在布线上,并且拥有更好的电缆管理。您可以将每个机架视为单个模块,而不会影响数据中心中的其他机架,因为只有一个机架内的服务器会受到影响。尽管方案名称如此,但您可以将交换机安装在每个机架的中间或底部。

行尾(EoR)网络连接方案是当机架末端包含网络设备时的方案。该设备包括一个普通的网络交换机,用于连接该排中所有机架的所有服务器和其他设备。安装在EoR服务器机架中的网络设备的电缆通过每个机架上安装的配线架连接到该排中所有机架的设备。结果,长电缆用于连接该排中所有网络设备。如果使用冗余网络连接,电缆的数量也会增加。厚厚的电缆束可能会阻塞设备的通风。

数据中心中的服务器机架通常作为并排的行排列。例如,一行可以包含 10 或 12 个机架。使用 EoR 连接方案连接 MSP 网络时,整行被视为单个管理单元。在这种情况下采用了每行管理模型。在 EoR 网络连接模型中需要更少的单独交换机。当需要进行维护或升级交换机时,灵活性较低,因为断开一个 EoR 交换机时会影响更多设备。尽管其名称是如此,但带有公共交换机(交换机)的机架可以放置在行的中间。

第 2 层 vs 第 3 层连接

在网络内部连接的决定是一个涉及可靠性、速度和成本的计算,以及正在创建的拓扑结构。

例如,有三层 Access-Aggregation-Core 网络拓扑和 Leaf-Spine 拓扑的网络段。在那里,流量在 OSI 模型 L2 和 L3 上传输。在分层三层网络中,接入层在 L2 上运行,分布/聚合层聚合 L2 链路并提供 L3 路由,核心网络层在 OSI 模型的第三层上执行路由。多层 Leaf-Spine 拓扑的网络可以通过使用 L2 与 VLAN 和 L3 与 IP 路由和子网来配置。

L2 网络设备比 L3 网络设备更实惠,但是在数据中心的 MSP 网络中使用 L2 网络连接网络设备时存在一些缺点。通常使用 VLAN 在逻辑上隔离使用相同物理环境的网络。VLAN 的最大数量为 4095(减去一些保留的 VLAN,如 0、4095、1002-1005)。

另一个缺点,正如之前提到的那样,是在使用STP在L2上时无法使用冗余链接。这是因为在同一时间只能有一个链接处于活动状态,并且所有可用带宽都没有被利用。因此,当L2域使用STP时,随着域的扩大,由不正确的布线和人为错误引起的问题的概率增加,故障排除变得困难。

L3网络配置使工程师能够提高MSP网络和数据中心网络的稳定性和可扩展性。

以下网络协议可帮助您管理L3网络并路由流量。

BGP(边界网关协议)是一种用于动态路由的协议,被广泛应用,并在许多大型数据中心组织中被视为标准。BGP是一种高度可扩展、可扩展和高效的协议。

ECMP(等成本多路径路由)是一种网络路由技术,通过使用第三层OSI模型上的度量来分发流量。使用路由协议的ECMP用于大型网络的负载平衡。大多数路由协议,包括BGP、EIGRP、IS-IS、OSPF,都支持ECMP技术。

始终尝试使用更先进的网络协议。但请记住,网络中使用的协议越少,网络管理就越方便。

NV和SDN的网络拓扑

除了硬件虚拟化和使用虚拟机之外,采用应用为中心的网络虚拟化也变得流行起来。网络虚拟化(NV)解决方案,如VMware NSX、OpenStack网络和思科ASI,大量使用物理网络中的东西向流量,因此叶脉网络拓扑对于网络虚拟化解决方案而言非常合适。阅读关于VMware NSX的博文,以了解更多关于网络虚拟化的信息。

软件定义网络(SDN)用于对网络进行虚拟化,以实现有效的资源利用、灵活性和集中化管理。这是在连接到网络的虚拟机在虚拟化数据中心中被使用时的最佳解决方案。虚拟机可以在服务器之间迁移,从而在数据中心内部产生东西向流量。SDN被MSP提供基础设施即服务的MSP网络广泛使用。

在使用基础叶脉网络拓扑、动态路由、固定数量的跳数、低可预测延迟和用于数据中心服务器间通信的东西向流量优化时,配置软件定义网络是有效的。

VXLAN

VXLAN(Virtual eXtensible Local Area Network)是一种改进的网络协议,用于覆盖网络中代替VLAN。通过使用底层L3网络(L3网络底层),创建L2隧道以提供L2网络连接,而无需传统的VLAN限制。使用VXLAN,您可以在L3网络上配置L2网络。虚拟拓扑可能与底层网络的物理拓扑不同。

VXLAN帧使用MAC-in-UDP封装方案封装为IP数据包。VNI相当于VLAN ID。VNI的最大数量为2^24,即约1600万。VXLAN用于在地理拉伸的环境中创建L2网络,例如,当您需要在两个地理分布的数据中心之间创建网络时。

使用VXLAN和网络虚拟化有助于优化ToR交换机的MAC地址表大小。这是因为VM和相关L2流量使用VXLAN通过L2覆盖网络传输MAC地址。它们不会使物理交换机的MAC地址表过载。物理交换机的MAC地址表不会超过交换机的最大可用表容量。

结论

传统上,数据中心中的网络是通过使用经典的三层访问-聚合-核心拓扑结构构建的。考虑到不断发展的现代客户端-服务器和分布式应用程序、微服务以及其他软件在MSP网络内部产生的东西流量的来源,基于Clos网络概念的叶脊网络拓扑结构是现代数据中心中首选的,并且是更常见的网络拓扑之一。叶脊网络拓扑结构是大型数据中心的最佳网络拓扑结构,因为这种拓扑结构具有高度可靠性和可扩展性。在数据中心安装网络之前,请进行计算,并估算生成的流量和工作负载。考虑在网络中的服务流量,如备份和复制流量。

NAKIVO备份与复制是强大的虚拟机备份软件,可以保护VMware Cloud Director工作负载、VMware虚拟机、Hyper-V虚拟机,以及物理Linux和Windows机器、Oracle数据库。提供基础设施即服务(IaaS)、备份即服务(BaaS)和灾难恢复即服务(DRaaS)的托管服务提供商可以在多租户模式下使用安装了NAKIVO备份与复制的版本。下载支持多租户安装模式的NAKIVO备份与复制的免费试用版。

Source:
https://www.nakivo.com/blog/msp-network-topology-for-beginners/