97国际

不必推倒重修 ,老终端也能焕新 丨 97国际教育云电脑老客户升级分享会
预约直播
融合光加速 ,慧联全场景 丨 97国际极简以太彩光5.0 界说万兆园区全场景新范式
预约直播
97国际·(中国区)集团官方网站
产品
< 返回主菜单
产品中心
产品
解决计划
< 返回主菜单
解决计划中心
行业
合作伙伴
返回主菜单
选择区域/语言
97国际·(中国区)集团官方网站

您订阅的产品有更新 ,请实时查阅

审查详情
97国际·(中国区)集团官方网站 97国际·(中国区)集团官方网站

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

【ECMP】现在数据中心网络普遍应用的Fabric架构中会应用大宗的ECMP ,本文团结ECMP运行原理针对以上问题举行剖析 ,并探讨怎样优化ECMP的运用 。

  • 97国际·(中国区)集团官方网站

    宣布时间:2018-09-04

  • 97国际·(中国区)集团官方网站

    点击量:

  • 97国际·(中国区)集团官方网站

    点赞:

分享至

97国际·(中国区)集团官方网站
97国际·(中国区)集团官方网站
97国际·(中国区)集团官方网站

我想谈论

现在数据中心网络普遍应用的Fabric架构中会应用大宗的ECMP(Equal-Cost Multipath Routing ,简写ECMP),其优点主要体现在可以提高网络冗余性和可靠性 ,同时也提高了网络资源使用率;大宗的ECMP链路在特定场景下运行历程中会引发其他问题 。例如 ,当某条ECMP链路断开后 ,ECMP组内所有链路流量都会被重新HASH ,在有状态的服务器区域(如LVS)中将导致雪崩征象 ,又或者会泛起多级ECMP的HASH极化导致链路拥塞等 。

本文将团结ECMP运行原理针对以上问题举行剖析 ,并探讨怎样优化ECMP的运用 。

 

等价多路径路由

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

 

ECMP实现流程

97国际·(中国区)集团官方网站

▲图例1:ECMP流程图

 

• 办法一:HASH因子的选择

首先数据报文转发盘问路由表 ,确认保存多个等价路由 ,再凭证目今用户设置的流量平衡算法 ,提取加入 HASH 盘算的要害字段 ,即HASH因子 。ECMP 流量平衡可选择的 HASH 因子如下表:

 

97国际·(中国区)集团官方网站

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

 

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

 

• 办法二:HASH盘算

基于办法一提取的 HASH 因子 ,凭证 HASH 算法举行盘算 ,得出响应的 HASH lb-key(load-balance key) 。 ECMP 流量平衡支持的 HASH 算法包括异或(XOR)、CRC、 CRC+扰码等 。

ASH算法有许多种 ,我们以XOR算法为例做出说明 。XOR运算规则包括两个输入比特位相同时为0 ,差别则为1 。HASH因子差别 ,运算效果也不尽相同 。

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

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

●将数值a再举行高16bit和低16bit做XOR盘算得出16bit数值b;

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

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

●数值d截取低位10bit即为lb key 。

2、HASH因子为SIP+DIP/DIP

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

●剩余运算办法与SIP运算一致 。

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

●SIP XOR DIP获得32bit的数值a;

●数值a的低16bit XOR SP 获得32bit的数值b;

●数值b的低 16bit XOR DP 获得 32bit 的数值c;

●数值c的高16bit XOR 低16bit获得16bit的数值d;

●数值d的15~12bit XOR 11~8bit ,获得4bit的数值e;

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

●数值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所示:

97国际·(中国区)集团官方网站

▲图例2:ECMP转发图

 

当某台LVS服务器网卡泛起故障或者链路泛起故障 ,Leaf交流机会将ECMP组内数据流将重新HASH盘算 ,再举行负载平衡到剩余有用链路上 ,进而导致TCP会话断开 ,爆发雪崩征象 ,例如一些支付类营业 ,统一个用户的一次支付历程会挪用多个营业服务 ,营业侧要求一次支付的历程都落在统一个处置惩罚服务器上 ,当泛起单条链路故障后不但影响该链路所在LVS承载的用户 ,同时还影响该ECMP组下其他LVS承载的用户 ,如图例3所示:

97国际·(中国区)集团官方网站

▲图例3:故障后ECMP转发图

 

1、优化计划:

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

97国际·(中国区)集团官方网站

▲图例4:ECMP弹性HASH算法

 

弹性HASH详细实现原理:

97国际·(中国区)集团官方网站

▲图例5:弹性HASH流程

 

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

 

97国际·(中国区)集团官方网站

▲图例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之间链路有一条空闲 ,极大的铺张了网络资源 ,甚至会导致流量拥塞 。

97国际·(中国区)集团官方网站

▲图例7:HASH极化

 

1、优化计划:

• 同厂商Leaf装备和Spine装备均接纳相同上联链路数场景下 ,应阻止在相邻的两台装备上使用相同的负载平衡算法;

• 装备在运行HASH盘算时 ,除古板的五元组外 ,可以增添扰动因子 ,阻止HASH盘算效果相同 。

 

HASH扰动的盘算历程中HASH因子仍然正常提取 ,再增添用户自界说随机扰动因子 ,经由HASH算法运算时 ,差别交流机HASH盘算效果就将纷歧致 ,以抵达阻止HASH极化征象的泛起 。

 

97国际·(中国区)集团官方网站

▲图例8:HASH扰动盘算历程

 

动态负载平衡手艺实现

在数据中心网络中 ,突发流量多 ,并且保存大象流和老鼠流并存征象 ,本文所形貌的基于数据流五元组的HASH算法 ,并团结HASH扰动因子手艺实现流量负载平衡 ,但无法实现大象流和老鼠流并存的网络中多链路之间的流量负载平衡 。

97国际网络新一代25G数据中心网络解决计划中所接纳的芯片 ,已能够支持DLB(Dynamic load balance ,动态链路负载)特征 ,可基于流量负载状态实现动态的HASH负载平衡 。详细实现要领是交流机为每条举行负载平衡的数据流建设一个流表 ,基于流表纪录流量统计信息 ,凭证流量统计信息动态调解链路负载平衡 。

 

本期作者:王磊

97国际网络互联网系统部行业咨询

97国际·(中国区)集团官方网站

 

往期精彩回首  

▌ 【第一期】浅谈物联网手艺之通讯协议的纷争

▌ 【第二期】怎样通过网络遥测(Network Telemetry)手艺实现细腻化网络运维?

▌ 【第三期】泛论数据中心网络运维自动化

▌ 【第四期】基于Rogue AP反制的无线清静手艺探讨

▌ 【第五期】流量可视化之ERSPAN的宿世今生

▌ 【第六期】怎样实现数据中心网络架构“去”堆叠

▌ 【第七期】运维可视化之INT功效详解

▌ 【第八期】浅析RDMA网络下MMU水线设置

▌ 【第九期】第七代无线手艺802.11ax详解

▌ 【第十期】数据中心自动化运维手艺探索之交流机零设置上线

▌ 【第十一期】手艺盛宴 | 浅谈数据中心100G光�?�

 

相关推荐:

• 流量可视化之ERSPAN的宿世今生

• 运维可视化之INT功效详解

• 相识gRPC手艺 ,这一篇就够了

更多手艺博文

任何需要 ,请联系97国际

97国际·(中国区)集团官方网站

返回顶部

收起
97国际·(中国区)集团官方网站 文档AI助手
97国际·(中国区)集团官方网站 文档评价
资料内容是否对您有资助?
您对目今页面的知足度怎样?
不咋滴
很是好
您知足的缘故原由是(多� 。�?
您对文档是否尚有其它的问题或建议?
为尽快解决问题 ,请您留下联系方法以便回复
邮箱
手机号
谢谢您的反� 。�
97国际·(中国区)集团官方网站
97国际·(中国区)集团官方网站
97国际·(中国区)集团官方网站
请选择服务项目
关闭咨询页
售前咨询 售前咨询
售前咨询
售后服务 售后服务
售后服务
意见反响 意见反响
意见反响
更多联系方法
网站地图