什么是流量收敛:
数据包在交换机中做转发的时候,由于交换机的性能问题或者网络架构问题,不能实现全线速转发而出现拥塞丢包,这时候输出流量小于输入流量的情况就叫做流量收敛。所有的业务端口都达到最大带宽的时候,南向的输入流量和北向的输出流量的比值就是收敛比。
比如:一台接入交换机下联了四台服务器,每台服务器通过10GE链路接入。但是接入交换机的上联口只有一个25GE的链路连接到汇聚
这时候这个接入交换机的收敛比就是下行链路的带宽40GE除以上行带宽25GE,等于1.6:1。
数据中心中,由于网络架构的层级设计,就导致了越是下层的上行流量越大,从下到上逐级递减。就像一棵倒过来的大树,最下面是小树枝,树叶,然后汇聚起来成为树枝,小树枝再汇聚成树干。每一层级的汇聚都会导致流量的收敛。
我们当然希望每一层的收敛比都是1:1,这样业务的性能是最高的。但是提高收敛比就需要在每个网络层级上投入更多的网络设备和互联链路,这样大大增加了成本。同时服务器不是一直都是满负荷工作的,带宽也不可能时刻占满,这样即使收敛比不是1:1,合理的网络设计也可以正常使用业务。
因此要综合考虑成本和业务确定收敛比,就显得非常重要了。
准备收敛比设计:
在对网络进行收敛比设计之前,我们要了解网络中的业务应用以及流量特征。确定网络的架构,是核心汇聚接入的三层网络模型,还是spine+leaf的二层网络模型。同时考虑网络中的东西流量和南北流量的大小和比例,来确定合适的网络设备,从而确定收敛比的大小。一般从以下两点进行考虑:
网络架构
服务器的接入方式
--------------------------
网络架构
一般现代化的数据中心采用的都是spine+leaf的二层设计。每个leaf都和spine互联,大大提高了系统的冗余性能。业务需要增加的时候可以很容易进行横向扩展,只要增加leaf和spine就可以实现。二层架构适用于对性能要求更高的数据中心或者业务。
有些数据中心对性能没有特别高的要求,业务规模比较小或者流量不是很大,也有采用传统的三层网络架构。这种三层的架构就会增加收敛比:
服务器接入方式
服务器如何和接入交换机进行连接也是影响收敛比设计的一个重要因素。服务器单上联还是双上联,双上联是主备冗余还是负载分担。
一般服务器两个业务口都是双上联不同的交换机做链路的负载分担。
这里举的例子是华为的M-LAG,和思科的VPC技术是一样的。都是二层扩展的一种虚拟化技术。服务器双上联两个不同的交换机做端口聚合,保证两条链路都能负载流量,不会像STP一样在二层环路里阻塞一个端口。
--------------------------
设计案例:
比如某公司租了一排机柜,每排机柜有10个机架,机架上满配服务器。每个机架部署10个服务器。我们针对这100个服务器做收敛比设计。
网络架构上我们采用spine+leaf的二层网络架构,每个机架最上面布置一个leaf交换机做接入,单独一个机架放置spine交换机,每个机架的leaf交换机通过配线架和spine交换机相连。
由于服务器双上联两个交换机。我们可以相邻机架的接入交换机作为两个机架20台服务器的接入。那么每个leaf就要提供20个端口。
假设服务器的两个业务口是10GE,那么接入层交换机的下行带宽就是20×10G=200G。根据经验,接入层的收敛比一般控制在3:1左右,所以在上联spine的时候我们就要选择好相应的接口和带宽。
一般接入交换机都是48个10G的口作为接入,上行4个或者6个的40G作为上联接口。
这时候我们可以每个leaf通过两个40G上联口连接到汇聚上。这样收敛比就是
2.5:1(200G÷80G=2.5)。
接下来设计spine层的收敛比
leaf和spine要全互联,10个leaf,每个leaf上联是40G带宽链路。那么汇聚的下行带宽就是400G,上行一般是出口路由器或者防火墙,两个设备互为冗余。可以用100G的链路进行互联。这样上行带宽就是200G,收敛比为400除以200,2:1。
如果用40G的链路做上联,上行带宽为80G,收敛比为5:1。但是数据中心内部的流量一般都是东西流量大于南北流量。大约75%左右的流量是发生在数据中心内的流量,只有25%的流量是南北走向,spine的下行带宽去往南北方向的流量实际为400×0.25=100G。这时候收敛比就变成了100÷80G为1.25。
最后网络架构的整体收敛比设计和设备选型就完成了
转载自:https://www.blogone.net/qiu/4718.html
参考链接:https://blog.csdn.net/Jmilk/article/details/121741600
标签:数据中心,解析,leaf,spine,流量,交换机,服务器,收敛 From: https://www.cnblogs.com/dier-gaohe/p/16808058.html