前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >数据中心内负载均衡-ECMP的使用分析

数据中心内负载均衡-ECMP的使用分析

作者头像
SDNLAB
发布2018-03-28 15:05:54
3.7K0
发布2018-03-28 15:05:54
举报
文章被收录于专栏:SDNLAB

数据中心的网络拓扑通常采用CLOS结构,主机之间常存在多条路径。数据中心为满足吞吐量敏感型流量的需求会提供大量的带宽资源。那么利用数据中心这种网络拓扑已知,路径资源、带宽资源丰富的特性,可以更好的实现负载均衡,将数据流分布到不同路径上进行数据传输,避免拥塞,提高数据中心内的资源利用率。

ECMP(Equal-cost multi-path)

ECMP是一个逐跳的基于流的负载均衡策略,当路由器发现同一目的地址出现多个最优路径时,会更新路由表,为此目的地址添加多条规则,对应于多个下一跳。可同时利用这些路径转发数据,增加带宽。ECMP算法被多种路由协议支持,例如:OSPF、ISIS、EIGRP、BGP等。在数据中心架构VL2中也提到使用ECMP作为负载均衡算法。

对于未开启ECMP的网络来说,无法充分利用路径资源。如图1所示,假设从S0到Server的为S0-S1-S2-S4即图中橘色路径,那么即便存在另一条等价路径,蓝色路径,路由器仍然会每次选择第一条橘色路径转发数据。除非此条路径发生拥塞,才会重新选择路径。

当开启ECMP功能时,便可同时利用两条路径,进行基于流的负载均衡,例如主机A到Server的数据流选择橘色路径,主机B到Server的数据流选择蓝色路径。

ECMP的路径选择策略有多种方法:

◆ 哈希,例如根据源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简单易部署但也存在较多问题需要注意。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2018-03-14,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 SDNLAB 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
负载均衡
负载均衡(Cloud Load Balancer,CLB)提供安全快捷的流量分发服务,访问流量经由 CLB 可以自动分配到云中的多台后端服务器上,扩展系统的服务能力并消除单点故障。负载均衡支持亿级连接和千万级并发,可轻松应对大流量访问,满足业务需求。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档