一种实现ECMP流量负载均衡的方法及电子设备技术

技术编号:32457814 阅读:18 留言:0更新日期:2022-02-26 08:39
本说明书提供一种实现ECMP流量负载均衡的方法及电子设备,所述方法应用于转发设备,包括:监测目标地址相同的多条数据流被分配的各链路的带宽占用率,其中,所述转发设备基于哈希算法为目标地址相同的多条所述数据流分配所述链路;各所述链路的带宽占用率不均衡的情况下,识别带宽占用率超过阈值的链路中的数据流的类型,所述数据流的类型包括大象流;依据ACL规则将识别出的所述大象流切换至轻载链路,所述ACL规则根据识别出的所述大象流的五元组信息进行配置,所述轻载链路为带宽占用率未超过所述阈值的链路。本申请可及时发现链路流量不均衡的问题,通过将过载链路上的大象流切换至其他轻载链路以实现各链路的流量负载均衡。均衡。均衡。

【技术实现步骤摘要】
一种实现ECMP流量负载均衡的方法及电子设备


[0001]本说明书涉及通信
,尤其涉及一种实现ECMP流量负载均衡的方法及电子设备。

技术介绍

[0002]以TCP/IP为传输协议的网络中存在的多路径负载均衡问题通常运用ECMP(Equal Cost Multi

path,等价多路径)路由技术解决。ECMP一般选用HASH算法以确定不同的数据流的传输路径,但这种方法在确定传输路径时只考虑了各路径上数据流数目的均衡,而没有考虑各数据流的大小,可能会出现各路径(链路)流量不均衡的问题。
[0003]DLB(Dynamic load balance,动态链路负载)技术通过将大象流中的报文分路径传输,以解决ECMP中存在的流量不均衡的问题。但是这种方法实现复杂,需要芯片支持,大部分转发设备无法支持。

技术实现思路

[0004]为克服相关技术中存在的问题,本说明书提供了一种实现ECMP流量负载均衡的方法及电子设备。
[0005]根据本说明书实施例的第一方面,提供一种实现ECMP流量负载均衡的方法,所述方法包括:
[0006]监测目标地址相同的多条数据流被分配的各链路的带宽占用率,其中,所述转发设备基于哈希算法为目标地址相同的多条所述数据流分配所述链路;
[0007]各所述链路的带宽占用率不均衡的情况下,识别带宽占用率超过阈值的链路中的数据流的类型,所述数据流的类型包括大象流;
[0008]依据ACL规则将识别出的所述大象流切换至轻载链路,所述ACL规则根据识别出的所述大象流的五元组信息进行配置,所述轻载链路为带宽占用率未超过所述阈值的链路。
[0009]根据本说明书实施例的第二方面,提供一种计算机程序产品,包括计算机程序,所述计算机程序被处理器执行时实现上述第一方面所述的方法。
[0010]根据本说明书实施例的第三方面,提供一种电子设备,包括:
[0011]处理器;
[0012]用于存储处理器可执行指令的存储器;
[0013]其中,所述处理器被配置为执行上述第一方面所述的方法。
[0014]本说明书的实施例提供的技术方案可以包括以下有益效果:
[0015]本申请在ECMP采用HASH算法确定数据流的转发路径的基础上,通过对各链路的带宽占用率进行监测能够及时发现各链路流量不均衡的问题,随即识别带宽占用率超过阈值的链路中数据流的类型,若存在大象流则将所述识别出的大象流切换至其他带宽占用率未超过阈值的轻载链路上,从而实现各链路的流量负载均衡。此外,上述方法无需特殊的芯片支持,实现简单,能够受到大部分转发设备的支持。
[0016]应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本说明书。
附图说明
[0017]此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本说明书的实施例,并与说明书一起用于解释本说明书的原理。
[0018]图1是本说明书根据一示例性实施例示出的一种实现ECMP流量负载均衡方法的流程图。
[0019]图2是本说明书根据一示例性实施例示出的一种实现ECMP流量负载均衡方法的应用场景图。
[0020]图3是本说明书根据另一示例性实施例示出的一种实现ECMP流量负载均衡方法的流程图。
[0021]图4是本说明书根据一示例性实施例示出的一种电子设备的框图。
具体实施方式
[0022]这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本说明书相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本说明书的一些方面相一致的装置和方法的例子。
[0023]在本说明书使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本说明书。在本说明书和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
[0024]应当理解,尽管在本说明书可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本说明书范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在
……
时”或“当
……
时”或“响应于确定”。
[0025]ECMP路由技术经常被运用在以TCP/IP为传输协议的网络中,以解决多路径的负载均衡问题,从而提高网络冗余性和可靠性以及网络资源利用率,一般选用HASH算法确定不同的数据流的传输路径。但这种方法在确定传输路径时只考虑了各路径上数据流数目的均衡,而没有考虑各数据流的大小。因此,当数据量大的大象流和数据量小的老鼠流同时存在时,可能会出现链路流量不均衡的问题。大象流与老鼠流可以通过数据流的大小和传输速率进行区分,大象流可以是传输速率大且传输时间较长的数据流,比如数据迁移、虚拟机迁移等业务产生的数据流;老鼠流则可以是传输速率小且传输时间较短的数据流,比如发邮件、浏览网页等业务所产生的数据流。有四条不同的数据流经转发设备传输至用户2,可通过两条带宽相同的等价路径进行转发,其中数据流f1和f3为老鼠流,数据流f2和f4为大象流。经过HASH计算后,数据流f1和f3经由链路1进行传输,占链路1带宽的10%;数据流f2和f4经由链路2进行传输,占链路2带宽的60%,由此出现了链路流量不均衡的问题。
[0026]DLB动态链路负载技术通过将大象流中的报文分路径传输,将同一条数据流中的数据量分摊到可转发的多条路径上,能够解决ECMP中存在的链路流量不均衡的问题,使得各路径的流量负载均衡。在此过程中转发设备需要实时监控多条转发路径的转发时延及报文之间的时间间隔,以防止数据接收端出现报文乱序。但是这种方法实现复杂,需要芯片支持,大部分转发设备无法支持。因此,本申请在ECMP技术的基础上提出了一种实现简单,能受大部分设备支持,且能使各路径流量负载均衡的方法。
[0027]本申请提出一种在TCP/IP网络中实现ECMP流量负载均衡的方法,应用于数据转发设备,例如路由器或交换机。本申请适用于存在两条及两条以上等价路径的情况,本说明书实施例均以两条等价路径的情况对本申请的方法进行说明,包括以下步骤,如图1所示:
[0028]S110,监测目标地址相同的多条数据流被分配的各链路的带宽占用率,其中,所述转发设备基于哈希算法为目标地址相同的多条所述数据流分配所述链路;
[0029]上述“各链路”为基于上述同一目标地址确定的等价路径中的至少两个路径,数据流通过等价路径中的各转发路径进行转发时经过的跳数相同。转发设备如路由器或交换本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种实现ECMP流量负载均衡的方法,应用于转发设备,其特征在于,包括步骤:监测目标地址相同的多条数据流被分配的各链路的带宽占用率,其中,所述转发设备基于哈希算法为目标地址相同的多条所述数据流分配所述链路;各所述链路的带宽占用率不均衡的情况下,识别带宽占用率超过阈值的链路中的数据流的类型,所述数据流的类型包括大象流;依据ACL规则将识别出的所述大象流切换至轻载链路,所述ACL规则根据识别出的所述大象流的五元组信息进行配置,所述轻载链路为带宽占用率未超过所述阈值的链路。2.根据权利要求1所述的方法,其特征在于,所述识别带宽占用率超过阈值的链路中的数据流的类型包括:根据预设的采样率对所述转发设备的出端口处经所述带宽占用率超过阈值的链路传输的数据流进行采样;根据采集到的每条数据流的数据量大小判断是否存在大象流。3.根据权利要求2所述的方法,其特征在于,所述采集到的每条数据流的数据量大小通过采集到的各数据流中携带相同五元组信息的报文数量占比表征。4.根据权利要求3所述的方法,其特征在于,所述根据采集到的每条数据流的数据量大小判断是否存在大象流包括:如果携带相同五元组信息的报文数量占比超过预设值,则将所述五元组信息对应的数据流确定为大象流。5.根据权利要求3所述的方法,其特征在于,所述采集...

【专利技术属性】
技术研发人员:朱仕银秦娟
申请(专利权)人:新华三大数据技术有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1