背景数据中心的网络拓扑通常采用CLOS结构,主机之间往往存在多条路径。数据中心提供了大量的带宽资源来满足对吞吐量敏感的流量需求。然后,利用数据中心已知的网络拓扑结构,丰富的路径资源和带宽资源,可以更好的实现负载均衡,将数据流分配到不同的路径进行数据传输,避免拥塞,提高数据中的资源利用率中心可以改进。速度。ECMP(Equal-costmulti-path)ECMP是一种基于逐跳流的负载均衡策略。当路由器发现同一目的地址的多条VPN路径时,它会更新路由表并为该目的地址添加多条规则,对应多个下一跳。这些路径可同时用于转发数据以增加带宽。ECMP算法得到各种路由协议的支持,例如:OSPF、ISIS、EIGRP、BGP等。在数据中心架构VL2中也提到了使用ECMP作为负载均衡算法。对于没有启用ECMP的网络,路径资源无法得到充分利用。如图1所示,假设S0到Server的路径是S0-S1-S2-S4,也就是图中橙色的路径,那么即使有另一条等价路径,也就是蓝色路径,路由器也会每次还是选择第一条路径。橙色路径转发数据。除非路径拥塞,否则将重新选择路径。启用ECMP功能后,可以同时使用两条路径进行基于流量的负载分担。例如主机A到服务器的数据流选择橙色路径,主机B到服务器的数据流选择蓝色路径。ECMP路径选择策略有多种方法:Hash,例如,根据源IP地址的哈希为流选择路径。循环法,其中各个流轮询以跨多条路径传输。基于路径权重,按照路径的权重分配流,权重大的路径分配的流数更多。图1.使用ECMP进行负载均衡ECMP面临的问题然而,ECMP是一种比较简单的负载均衡策略,在实际使用中面临的问题也不容忽视。1.可能会增加链路的拥塞。ECMP没有拥塞感知机制,只是将流量分配到不同的路径进行转发。对于已经拥堵的路径,很可能会加剧路径拥堵。但是,使用散列的方法,散列冲突也会增加链路拥塞的可能性。2.使用非对称网络效果不好。例如图2中,对于A和h3之间的通信,ECMP只是分别通过B和D的两条路径平均转发流量,但实际上B可以承担更多的流量。因为B后面有两条路径可以到达h3。图2.非对称网络3.基于流的负载均衡效果不好。ECMP在流量相近时效果较好,但在流量较大时效果不佳,例如大象流和老鼠流并存的情况。好的。如图2所示,主机h1到A的流量为15,h2到A的流量为5,那么无论h1的流量选择哪条路径,都会发生拥塞。但是,如果将h1的流量拆分成两部分进行传输,则可以避免拥塞。以上,为了使用ECMP算法进行负载均衡分析,在突发流量较多,大象流量和老鼠流量并存的数据中心环境中,需要慎重考虑选择的负载均衡策略。ECMP简单易部署,但也有很多问题需要注意。
