0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

数据中心网络等价多路径(ECMP)技术应用研究

电子工程师 来源:网络整理 作者:工程师曾暄茗 2018-10-14 18:10 次阅读

目前数据中心网络广泛应用的Fabric架构中会应用大量的ECMP(Equal-Cost Multipath Routing,简写ECMP),其优点主要体现在可以提高网络冗余性和可靠性,同时也提高了网络资源利用率;大量的ECMP链路在特定场景下运行过程中会引发其他问题。例如,当某条ECMP链路断开后,ECMP组内所有链路流量都会被重新HASH,在有状态的服务器区域(如LVS)中将导致雪崩现象,又或者会出现多级ECMP的HASH极化导致链路拥塞等。本文将结合ECMP运行原理针对以上问题进行分析,并探讨如何优化ECMP的运用。

等价多路径路由

等价多路径路由,即存在多条到达同一个目的地址的相等开销的路径。当设备支持等价路由时,发往该目的IP 或者目的网段的三层转发流量就可以通过不同的路径分担,实现网络链路的负载均衡,并在链路出现故障时,实现快速切换。

ECMP实现流程:

图例1:ECMP流程图

步骤一:HASH因子的选择

首先数据报文转发查询路由表,确认存在多个等价路由,再根据当前用户配置的流量均衡算法,提取参与 HASH 计算的关键字段,即HASH因子。ECMP 流量均衡可选择的 HASH 因子如下表:

图表1:流量均衡模式对应HASH因子表

注:因ECMP为三层转发,即使配置基于源MAC、目的MAC或者源目MAC作为HASH因子,系统也会默认选择源IP作为HASH因子。另外,在选择提取HASH因子为目的IP时ECMP会默认选择源目IP作为HASH因子。

步骤二:HASH计算

基于步骤一提取的 HASH 因子,根据 HASH 算法进行计算,得出相应的 HASH lb-key(load-balance key)。 ECMP 流量均衡支持的 HASH 算法包括异或(XOR)、CRC、 CRC+扰码等。

HASH算法有很多种,我们以XOR算法为例做出说明。XOR运算法则为两个输入比特位相同时为0,不同则为1。HASH因子不同,运算结果也不尽相同。

1、 HASH因子为IP address source(SIP):

a) SIP XOR 0 ,得出一个32bit的数值a

b) 将数值a再进行高16bit和低16bit做XOR计算得出16bit数值b

c) 数值b的15~12bit与11~8bit再做XOR计算,得出4bit数值c

d) 数值c替换数值b的11~8bit,得出数值d

e) 数值d截取低位10bit即为lb key

2、 HASH因子为SIP+DIP/DIP:

a) DIP XOR SIP ,得出一个32bit的数值a

b) 剩余运算步骤与SIP运算一致

3、 HASH因子为SIP+DIP+SP+DP:

a) SIP XOR DIP得到32bit的数值a

b) 数值a的低16bit XOR SP 得到32bit的数值b

c) 数值b的低 16bit XOR DP 得到 32bit 的数值c

d) 数值c的高16bit XOR 低16bit得到16bit的数值d

e) 数值d的15~12bit XOR 11~8bit,得到4bit的数值e

f) 数值e替换数值d的11~8bit,得出数值f

g) 数值f截取低10bit,即为lb-key

步骤三:确认转发下一跳

数据报文经过路由查表后找到对应ECMP 基值(base-ptr),根据 HASH 因子通过 HASH 算法计算获得 HASH lb-key 后,进行 ECMP 下一跳链路数(Member-count)求余计算,再与ECMP基值进行加法运算得出转发下一跳index,即确定了下一跳转发路由。

计算公式:Next-hop =(lb-key % Member-count)+ base-ptr

上述流程为ECMP常规转发流程,但在特定网络环境下运行过程中就会出现问题,接下来继续分析数据中心网络中ECMP遇到的2个常见问题。

问题一 单链路故障导致ECMP组所有数据流被重新HASH计算

当Leaf交换机发送6条数据流到LVS服务器,Leaf先进行HASH运算负载均衡到每一台LVS服务器上,正常流量转发如图例2所示:

图例2:ECMP转发图

当某台LVS服务器网卡出现故障或者链路出现故障,Leaf交换机会将ECMP组内数据流将重新HASH计算,再进行负载均衡到剩余有效链路上,进而导致TCP会话断开,发生雪崩现象,例如一些支付类业务,同一个用户的一次支付过程会调用多个业务服务,业务侧要求一次支付的过程都落在同一个处理服务器上,当出现单条链路故障后不仅影响该链路所在LVS承载的用户,同时还影响该ECMP组下其他LVS承载的用户,如图例3所示:

图例3:故障后ECMP转发图

优化方案:

为避免单台LVS服务器故障或者单链路故障导致整个ECMP组内流量全部被重新HASH,ECMP可采用弹性HASH算法来优化。采用弹性HASH算法后,仅将故障链路的流量重新HASH到其他活跃链路上,而非故障链路上的数据流则无需改变下一跳。实现效果如图例4所示:

图例4:ECMP弹性HASH算法

弹性HASH具体实现原理:

图例5:弹性HASH流程

在交换机上生成一张索引表(RH Flow Set Table),用于存放相关索引值对应下一跳路由地址。数据报文经过路由查表后找到对应ECMP 基值,提取HASH因子进行HASH运算,在HASH Key与ECMP数量取余数时无论是否出现故障链路,均以最初数量进行取余运算,因此运算结果一致,非故障链路数据依然按照原有链路转发。如下图中,链路3故障后软件CPU将及时更新RH flow table,将失效链路用正常链路均匀替换。

图例6:弹性HASH索引表替换示意图

问题二 HASH极化问题

如图例7所示,在Leaf设备和Spine设备均采用上联链路数为偶数且ECMP算法及HASH因子一致的情况下,数据流在Leaf设备上经过一次HASH计算,将数据流负载分担到两台Spine上,均衡后效果为数据流1、2、3转发至Spine-1,数据流4、5、6转发至Spine-2,Spine再进行HASH计算负载分担到两台DCI核心上,因在Spine层采用的HASH算法与Leaf的HASH算法一致,最终Spine-1的数据流1、2、3均转发至DCI-1上,未负载分担到DCI-2上任何数据流,而Spine-2的数据流4、5、6均转发至DCI-2上,未负载分担到DCI-1上任何数据流,同理Leaf-2发送的数据流也是如此,进而产生HASH极化问题,导致SPINE和DCI之间链路有一条空闲,极大的浪费了网络资源,甚至会导致流量拥塞。

图例7:HASH极化

优化方案:

厂商Leaf设备和Spine设备均采用相同上联链路数场景下,应避免在相邻的两台设备上使用相同的负载均衡算法;

设备在运行HASH计算时,除传统的五元组外,可以增添扰动因子,避免HASH计算结果相同。

HASH扰动的计算过程中HASH因子仍然正常提取,再增加用户自定义随机扰动因子,经过HASH算法运算时,不同交换机HASH计算结果就将不一致,以达到避免HASH极化现象的出现。

图例8:HASH扰动计算过程

动态负载均衡技术实现

在数据中心网络中,突发流量多,并且存在大象流和老鼠流并存现象,本文所描述的基于数据流五元组的HASH算法,并结合HASH扰动因子技术实现流量负载均衡,但无法实现大象流和老鼠流并存的网络中多链路之间的流量负载均衡。

锐捷网络新一代25G数据中心网络解决方案中所采用的最新芯片,已能够支持DLB(Dynamic load balance,动态链路负载)特性,可基于流量负载状态实现动态的HASH负载均衡。具体实现方法是交换机为每条进行负载均衡的数据流创建一个流表,基于流表记录流量统计信息,根据流量统计信息动态调整链路负载均衡。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 网络
    +关注

    关注

    14

    文章

    7248

    浏览量

    87407
  • 数据中心
    +关注

    关注

    15

    文章

    4170

    浏览量

    69823
收藏 人收藏

    评论

    相关推荐

    无线Mesh网多路径混合包的传输方法

    .多路径传输可使无线网络获得更高的带宽达到提高吞吐量的目的,然而它也会造成能效降低,调度复杂;因此,提出一种吞吐量能有效提高的方法,将一种改进的新网络编码与多路径结合在一起,通过把
    发表于 04-24 09:26

    数据中心太耗电怎么办

    ​​​​​​摘要:其实对于节能,传统技术也是做了“十二分”的努力。但是在技术不断演进的情况下,传统节能技术还是存在问题,如何破?本文分享自华为云社区《数据中心节能?来试试华为NAIE
    发表于 06-30 06:27

    多路径DSR和AODV路由协议性能研究

    多路径DSR和AODV路由协议性能研究:在支持移动节点和自组织网络的路由协议中,最典型的单径路由协议是DSR 和AODV 协议,对它们进行扩展分别得到相应的多径路由协议。通过仿
    发表于 10-04 14:07 26次下载

    Ad Hoc网络多路径需求路由及路径熵选择算法

    Ad Hoc网络多路径需求路由及路径熵选择算法:无线移动Ad Hoc 网络是一种不依赖任何固定基础设施的移动无线多跳网络.由于其动态性和资源
    发表于 10-31 08:56 16次下载

    超宽带粒子群多路径选择算法

    在多用户超宽带通信系统中,多路径的选择严重影响系统的信干噪比(SINR)。针对这一问题,提出了基于离散粒子群的多路径选择算法(SMCA-DPSO)。该算法将DPSO应用于UWB系统SRAKE多路径
    发表于 07-05 16:21 10次下载

    基于网络编码的无线传感网多路径传输方法

    摘要:可靠性在无线传感器网络中是非常重要的.传感器网络主要通过增加传输冗余来提高数据传输的可靠性,如多路径或重传.然而,这些方法会造成能效降低,缩短
    发表于 02-08 10:55 33次下载

    GPS动态变形测量中的多路径效应特征

    当测站与周围环境完全不变时,GPS多路径效应具有很强的重复性。为分析变形测量中的GPS多路径效应特征,利用模拟振动台进行振动测量实验。结果表明:动态变形监测中的多
    发表于 07-27 17:49 15次下载
    GPS动态变形测量中的<b class='flag-5'>多路径</b>效应特征

    基于覆盖网络多路径流量均衡研究

    本文在建立一种覆盖网络多路径流量均衡的模型的基础上,引入一个网络流量预测算法,通过网络节点间的协作对网络流量进行均衡。
    发表于 08-16 10:48 1283次阅读
    基于覆盖<b class='flag-5'>网络</b>的<b class='flag-5'>多路径</b>流量均衡<b class='flag-5'>研究</b>

    多路径缠绕模型及其容错路由机制

    针对无线传感器网络(WSN)不相交多路径路由中的路径过长问题和缠绕多路径路由中的容错削弱问题,提出一种多路径缠绕模型及其容错路由机制。首先,
    发表于 12-21 17:05 0次下载

    数据中心网络中的流量均衡

    现代数据中心网络在任意两个主机之间都存在很多可选路径.如何在多个可选路径之间实现流量均衡,是数据中心网络
    发表于 01-04 16:45 0次下载
    <b class='flag-5'>数据中心</b><b class='flag-5'>网络</b>中的流量均衡

    融合网络多路径Bandit优化算法

    传统的无线通信网络由于结构单一,性能上诸多受限,难以保障应急通信的质量。为此,在认知无线自组织网络与移动蜂窝网络相融合的新背景下,提出一种多路径Bandit算法。将通信中的选路过程分为
    发表于 02-12 16:07 0次下载
    融合<b class='flag-5'>网络</b>的<b class='flag-5'>多路径</b>Bandit优化算法

    一种NDN域间多路径路由机制

    为实现命名数据网络(NDN。name data networking)域问内容互访,提出了一种NDN域间多路径路由机制-MIRNDN。该机制使任意自治系统(AS,autonomous system
    发表于 03-07 09:44 0次下载
    一种NDN域间<b class='flag-5'>多路径</b>路由机制

    基于SDN的云计算数据中心网络将是未来云数据中心网络的发展趋势

    SDN提出了采用软件定义网络的思路,具有转发和控制分离、控制逻辑集中、网络资源抽象化/虚拟化、网络能力开放化等特点,完美契合数据中心大规模网络
    发表于 12-03 10:08 2210次阅读
    基于SDN的云计算<b class='flag-5'>数据中心</b><b class='flag-5'>网络</b>将是未来云<b class='flag-5'>数据中心</b><b class='flag-5'>网络</b>的发展趋势

    多路径负载均衡的建议

    电子发烧友网站提供《多路径负载均衡的建议.pdf》资料免费下载
    发表于 09-01 15:31 0次下载
    <b class='flag-5'>多路径</b>负载均衡的建议

    多路径和iSCSI SAN存储技术介绍

    从driver和设备文件着手,告诉了操作系统怎么来处理这些身份复杂的LUN。 上篇“存储基础和FC SAN存储介绍”重点介绍FC存储技术。今天,简单给小伙伴普及下Linux系统Multipath多路径软件和多路径常见的ALU
    的头像 发表于 10-24 11:08 529次阅读
    <b class='flag-5'>多路径</b>和iSCSI SAN存储<b class='flag-5'>技术</b>介绍