CN117354246A - Ecmp流量均衡方法、装置及存储介质 - Google Patents

Ecmp流量均衡方法、装置及存储介质 Download PDF

Info

Publication number
CN117354246A
CN117354246A CN202311246325.3A CN202311246325A CN117354246A CN 117354246 A CN117354246 A CN 117354246A CN 202311246325 A CN202311246325 A CN 202311246325A CN 117354246 A CN117354246 A CN 117354246A
Authority
CN
China
Prior art keywords
ecmp
target
bandwidth utilization
group
ecmp group
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202311246325.3A
Other languages
English (en)
Inventor
王雨佳
朱卫锋
胥锋
沈镇平
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
China United Network Communications Group Co Ltd
Original Assignee
China United Network Communications Group Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by China United Network Communications Group Co Ltd filed Critical China United Network Communications Group Co Ltd
Priority to CN202311246325.3A priority Critical patent/CN117354246A/zh
Publication of CN117354246A publication Critical patent/CN117354246A/zh
Pending legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/12Avoiding congestion; Recovering from congestion
    • H04L47/125Avoiding congestion; Recovering from congestion by balancing the load, e.g. traffic engineering
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/16Multipoint routing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/24Multipath

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本申请提供了一种ECMP流量均衡方法、装置及存储介质,涉及通信技术领域,能够用于ECMP流量均衡。该方法包括:获取ECMP组的多个下一跳出口的带宽利用率;基于多个下一跳出口的带宽利用率,确定ECMP组的流量分布是否均衡;在ECMP组的流量分布不均衡的情况下,生成目标ECMP转发表;目标ECMP转发表为迭代调整ECMP组的每个下一跳出口的数量生成的转发表;基于目标ECMP转发表,转发ECMP组的数据报文信息。本申请用于ECMP流量均衡。

Description

ECMP流量均衡方法、装置及存储介质
技术领域
本申请涉及通信技术领域,尤其涉及一种ECMP流量均衡方法、装置及存储介质。
背景技术
目前,等价多路径路由(equal-cost multi-path routing,ECMP)网络设备,通常采用hash算法把端口的流量均匀的分配到路由设备的多个等价下一跳上。但是,由于现网中流量模型的不确定性,导致不同流量模型对应的ECMP路由算法进行负载均衡时,流量在多条相等开销的路径间进行分发时出现不均匀的现象。因此,如何均衡ECMP网络设备的流量成为亟待解决的技术问题。
发明内容
本申请提供一种ECMP流量均衡方法、装置及存储介质,能够进行ECMP流量均衡。
为达到上述目的,本申请采用如下技术方案:
第一方面,本申请提供了一种ECMP流量均衡方法,方法包括:获取ECMP组的多个下一跳出口的带宽利用率;基于多个下一跳出口的带宽利用率,确定ECMP组的流量分布是否均衡;在ECMP组的流量分布不均衡的情况下,生成目标ECMP转发表;目标ECMP转发表为迭代调整ECMP组的每个下一跳出口的数量生成的转发表;基于目标ECMP转发表,转发ECMP组的数据报文信息。
结合上述第一方面,在一种可能的实现方式中,生成目标ECMP转发表,包括:步骤1、将目标ECMP组的每个下一跳出口的数量增加n个,生成第一ECMP组;目标ECMP组为初始的ECMP组,或目标ECMP组为前一次迭代生成的新的ECMP组;步骤2、将第一ECMP组中的带宽利用率最大的任一下一跳出口,替换为带宽利用率最小的下一跳出口,生成目标ECMP组;步骤3、实时监测目标ECMP组的流量分布是否均衡;步骤4、若目标ECMP组的流量分布不均衡,则重复执行步骤1、步骤2、步骤3、步骤4,直至目标ECMP组流量分布均衡,则确定目标ECMP组为目标ECMP转发表。
结合上述第一方面,在一种可能的实现方式中,基于多个下一跳出口的带宽利用率,确定ECMP组的流量分布是否均衡,包括:基于下一跳出口的带宽利用率,确定ECMP组中的最大带宽利用率和最小带宽利用率;在最大带宽利用率与最小带宽利用率的差值与最小带宽利用率的比值大于预设阈值的情况下,确定ECMP组的流量分布不均匀。
结合上述第一方面,在一种可能的实现方式中,基于目标ECMP转发表,转发ECMP组的数据报文信息,包括:获取ECMP组的至少一个数据报文信息;基于预设哈希算法,确定至少一个数据报文信息对应的哈希值;基于哈希值,确定目标ECMP组中的数据报文信息对应的目标下一跳出口;基于目标下一跳出口,转发至少一个数据报文信息。
第二方面,本申请提供了一种ECMP流量均衡装置,装置包括:处理单元;处理单元,用于获取ECMP组的多个下一跳出口的带宽利用率;处理单元,还用于基于多个下一跳出口的带宽利用率,确定ECMP组的流量分布是否均衡;处理单元,还用于在ECMP组的流量分布不均衡的情况下,生成目标ECMP转发表;目标ECMP转发表为迭代调整ECMP组的每个下一跳出口的数量生成的转发表;处理单元,还用于基于目标ECMP转发表,转发ECMP组的数据报文信息。
结合上述第二方面,在一种可能的实现方式中,处理单元,具体用于:步骤1、将目标ECMP组的每个下一跳出口的数量增加n个,生成第一ECMP组;目标ECMP组为初始的ECMP组,或目标ECMP组为前一次迭代生成的新的ECMP组;步骤2、将第一ECMP组中的带宽利用率最大的任一下一跳出口,替换为带宽利用率最小的下一跳出口,生成目标ECMP组;步骤3、实时监测目标ECMP组的流量分布是否均衡;步骤4、若目标ECMP组的流量分布不均衡,则重复执行步骤1、步骤2、步骤3、步骤4,直至目标ECMP组流量分布均衡,则确定目标ECMP组为目标ECMP转发表。
结合上述第二方面,在一种可能的实现方式中,处理单元,还具体用于:基于下一跳出口的带宽利用率,确定ECMP组中的最大带宽利用率和最小带宽利用率;在最大带宽利用率与最小带宽利用率的差值与最小带宽利用率的比值大于预设阈值的情况下,确定ECMP组的流量分布不均匀。
结合上述第二方面,在一种可能的实现方式中,处理单元,还具体用于:获取ECMP组的至少一个数据报文信息;基于预设哈希算法,确定至少一个数据报文信息对应的哈希值;基于哈希值,确定目标ECMP组中的数据报文信息对应的目标下一跳出口;基于目标下一跳出口,转发至少一个数据报文信息。
第三方面,本申请提供了一种ECMP流量均衡装置,该ECMP流量均衡装置包括:处理器以及存储器;其中,存储器用于存储计算机执行指令,当ECMP流量均衡装置运行时,处理器执行存储器存储的计算机执行指令,以使ECMP流量均衡装置执行如第一方面和第一方面的任一种可能的实现方式中描述的ECMP流量均衡方法。
第四方面,本申请提供了一种计算机可读存储介质,计算机可读存储介质中存储有指令,当计算机可读存储介质中的指令由ECMP流量均衡装置的处理器执行时,使得ECMP流量均衡装置能够执行如第一方面和第一方面的任一种可能的实现方式中描述的ECMP流量均衡方法。
第五方面,本申请提供了一种包含指令的计算机程序产品,当计算机程序产品在ECMP流量均衡装置上运行时,使得ECMP流量均衡装置执行如第一方面和第一方面的任一种可能的实现方式中所描述的ECMP流量均衡方法。
第六方面,本申请提供了一种芯片,芯片包括处理器和通信接口,通信接口和处理器耦合,处理器用于运行计算机程序或指令,以实现如第一方面和第一方面的任一种可能的实现方式中所描述的ECMP流量均衡方法。
具体的,本申请实施例中提供的芯片还包括存储器,用于存储计算机程序或指令。
在本申请中,上述ECMP流量均衡装置的名字对设备或功能模块本身不构成限定,在实际实现中,这些设备或功能模块可以以其他名称出现。只要各个设备或功能模块的功能和本申请类似,属于本申请权利要求及其等同技术的范围之内。
本申请的这些方面或其他方面在以下的描述中会更加简明易懂。
本申请提供的技术方案至少带来以下有益效果:ECMP流量均衡装置获取ECMP组中的多个下一跳出口的带宽利用率。ECMP流量均衡装置确定ECMP组中的每条路径对应的下一跳出口的带宽利用率。进一步,ECMP流量均衡装置基于每条路径对应的下一跳出口的带宽利用率,确定带宽利用率最大的路径与带宽利用率最小的路径之间的带宽利用率是否满足预设阈值。若满足预设阈值,则确定ECMP组的流量分布均衡;若不满足预设阈值,则确定ECMP组的流量分布不均衡。若ECMP组的流量分布不均衡,则ECMP流量均衡装置迭代调整ECMP组下的每条路径对应的下一跳出口的数量,以及下一跳对应的带宽利用率,直至ECMP组的流量分布均衡。进一步的,ECMP流量均衡装置基于目标ECMP转发表,转发ECMP组的数据报文信息。从而,减轻网络拥塞,提高网络性能,优化资源利用,增强网络的可靠性和稳定性。通过合理调度流量分布,提高了网络的负载均衡能力,有效处理流量高峰,提供更好的用户体验。
附图说明
图1为本申请实施例提供的一种ECMP流量均衡系统示意图;
图2为本申请实施例提供的一种ECMP流量均衡的方法的流程示意图;
图3为本申请实施例提供的一种ECMP流量均衡的方法的又一种流程示意图;
图4为本申请实施例提供的一种ECMP流量均衡的方法的又一种流程示意图;
图5为本申请实施例提供的一种ECMP流量均衡的方法的又一种流程示意图;
图6为本申请实施例提供的一种ECMP流量均衡装置的示意图。
具体实施方式
下面结合附图对本申请施例提供的ECMP流量均衡方法、装置及存储介质进行详细地描述。
本文中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。
本申请的说明书以及附图中的术语“第一”和“第二”等是用于区别不同的对象,或者用于区别对同一对象的不同处理,而不是用于描述对象的特定顺序。
此外,本申请的描述中所提到的术语“包括”和“具有”以及它们的任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可选地还包括其他没有列出的步骤或单元,或可选地还包括对于这些过程、方法、产品或设备固有的其它步骤或单元。
需要说明的是,本申请实施例中,“示例性的”或者“例如”等词用于表示作例子、例证或说明。本申请实施例中被描述为“示例性的”或者“例如”的任何实施例或设计方案不应被解释为比其它实施例或设计方案更优选或更具优势。确切而言,使用“示例性的”或者“例如”等词旨在以具体方式呈现相关概念。
目前,等价多路径路由(equal-cost multi-path routing,ECMP)网络设备,通常采用hash算法把端口的流量均匀的分配到路由设备的多个等价下一跳上。但是,由于现网中流量模型的不确定性,导致不同流量模型对应的ECMP路由算法进行负载均衡时,流量在多条相等开销的路径间进行分发时出现不均匀的现象。因此,如何均衡ECMP网络设备的流量成为亟待解决的技术问题。
为了解决上述技术问题,本申请提供了一种ECMP流量均衡方法,该方法中ECMP流量均衡装置获取ECMP组中的多个下一跳出口的带宽利用率。ECMP流量均衡装置确定ECMP组中的每条路径对应的下一跳出口的带宽利用率。进一步,ECMP流量均衡装置基于每条路径对应的下一跳出口的带宽利用率,确定带宽利用率最大的路径与带宽利用率最小的路径之间的带宽利用率是否满足预设阈值。若满足预设阈值,则确定ECMP组的流量分布均衡;若不满足预设阈值,则确定ECMP组的流量分布不均衡。若ECMP组的流量分布不均衡,则ECMP流量均衡装置迭代调整ECMP组下的每条路径对应的下一跳出口的数量,以及下一跳对应的带宽利用率,直至ECMP组的流量分布均衡。进一步的,ECMP流量均衡装置基于目标ECMP转发表,转发ECMP组的数据报文信息。从而,减轻网络拥塞,提高网络性能,优化资源利用,增强网络的可靠性和稳定性。通过合理调度流量分布,提高了网络的负载均衡能力,有效处理流量高峰,提供更好的用户体验。
图1为本申请实施例提供的一种ECMP流量均衡装置结构示意图,ECMP流量均衡装置包括:CPU101、交换芯片102、ECMP侧挂hash引擎103。其中,CPU101与交换芯片102之间通过PCIE总线进行连接;ECMP侧挂hash引擎103与交换芯片102之间通过内部总线进行连接。其中,CPU101用于实时监测ECMP组中的流量分布是否均衡。ECMP侧挂hash引擎103用于索引ECMP组的数据报文的目标下一跳。交换芯片102用于转发ECMP组的数据报文。
可选的,如图2所示为本申请实施例提供的另一种ECMP流量均衡装置的结构示意图,该ECMP流量均衡装置200包括至少一个处理器201,通信线路202,以及至少一个通信接口204,还可以包括存储器203。其中,处理器201,存储器203以及通信接口204三者之间可以通过通信线路202连接。
处理器201可以是一个中央处理器(central processing unit,CPU),也可以是特定集成电路(application specific integrated circuit,ASIC),或者是被配置成实施本申请实施例的一个或多个集成电路,例如:一个或多个数字信号处理器(digital signalprocessor,DSP),或,一个或者多个现场可编程门阵列(field programmable gate array,FPGA)。
通信线路202可以包括一通路,用于在上述组件之间传送信息。
通信接口204,用于与其他设备或通信网络通信,可以使用任何收发器一类的装置,如以太网,无线接入网(radio access network,RAN),无线局域网(wireless localarea networks,WLAN)等。
存储器203可以是只读存储器(read-only memory,ROM)或可存储静态信息和指令的其他类型的静态存储设备,随机存取存储器(random access memory,RAM)或者可存储信息和指令的其他类型的动态存储设备,也可以是电可擦可编程只读存储器(electricallyerasable programmable read-only memory,EEPROM)、只读光盘(compact disc read-only memory,CD-ROM)或其他光盘存储、光碟存储(包括压缩光碟、激光碟、光碟、数字通用光碟、蓝光光碟等)、磁盘存储介质或者其他磁存储设备、或者能够用于包括或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。
一种可能的设计中,存储器203可以独立于处理器201存在,即存储器203可以为处理器201外部的存储器,此时,存储器203可以通过通信线路202与处理器201相连接,用于存储执行指令或者应用程序代码,并由处理器201来控制执行,实现本申请下述实施例提供的空间测量确定方法。又一种可能的设计中,存储器203也可以和处理器201集成在一起,即存储器203可以为处理器201的内部存储器,例如,该存储器203为高速缓存,可以用于暂存一些数据和指令信息等。
作为一种可能的实现方式,处理器201可以包括一个或多个CPU,例如图2中的CPU0和CPU1。作为另一种可实现方式,ECMP流量均衡装置200可以包括多个处理器,例如图2中的处理器201和处理器207。作为再一种可实现方式,ECMP流量均衡装置200还可以包括输出设备205和输入设备206。
通过以上的实施方式的描述,所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将网络节点的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。上述描述的系统,模块和网络节点的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
图3为本申请实施例提供的一种ECMP流量均衡方法,应用于ECMP流量均衡装置。如图3所示,本申请实施例提供的ECMP流量均衡可以通过以下步骤301至步骤304实现。
步骤301、获取ECMP组的多个下一跳出口的带宽利用率。
一种可能的实现方式中,ECMP流量均衡装置获取ECMP组中的多个下一跳出口的带宽利用率。
一种示例,ECMP流量均衡装置基于主控CPU周期性获取ECMP组中的每条路径对应的下一跳端口的带宽利用率。
步骤302、基于多个下一跳出口的带宽利用率,确定ECMP组的流量分布是否均衡。
一种可能的实现方式中,ECMP流量均衡装置确定ECMP组中的每条路径对应的下一跳出口的带宽利用率。进一步,ECMP流量均衡装置基于每条路径对应的下一跳出口的带宽利用率,确定带宽利用率最大的路径与带宽利用率最小的路径之间的带宽利用率是否满足预设阈值。若带宽利用率最大的路径与带宽利用率最小的路径之间的带宽利用率差值大于预设阈值,则确定ECMP组的流量分布均衡;若带宽利用率最大的路径与带宽利用率最小的路径之间的带宽利用率差值小于预设阈值,则确定ECMP组的流量分布不均衡。
一种示例,ECMP流量均衡装置基于每条路径对应的下一跳出口带宽利用率,确定ECMP组中的下一次跳出口对应的最大带宽利用率和最小带宽利用率。进一步的,ECMP流量均衡装置确定“(最大带宽利用率-最小带宽利用率)÷最小带宽利用率”是否大于预设阈值。例如,预设阈值为20%。若大于预设阈值,则确定ECMP组的流量分布不均匀。
步骤303、在ECMP组的流量分布不均衡的情况下,生成目标ECMP转发表。
其中,目标ECMP转发表为迭代调整ECMP组的每个下一跳出口的数量生成的转发表。
一种可能的实现方式中,若ECMP组的流量分布不均衡,则ECMP流量均衡装置迭代调整ECMP组下的每条路径对应的下一跳出口的数量,以及下一跳对应的带宽利用率,直至ECMP组的流量分布均衡。
一种示例,若ECMP组的流量分布不均衡,则ECMP组增加每条路径对应的下一跳的数量。例如,ECMP组的中的下一跳成员分别为:成员1、成员2、成员3、成员4。ECMP流量均衡装置将每个成员的数量重复增加至预设次数,例如3次,即重复增加预设次数的ECMP组的下一跳成员为:成员1、成员2、成员3、成员4;成员1、成员2、成员3、成员4;成员1、成员2、成员3、成员4。进一步的,ECMP流量均衡装置调整下一跳对应的带宽利用率,即ECMP流量均衡装置确定ECMP组下一跳成员中的带宽利用率最大的成员和带宽利用率最小的成员。ECMP流量均衡装置将带宽利用率最大的其中一个成员的带宽利用率,调整为最小的带宽利用率。
具体的,若ECMP组中的成员1对应的带宽利用率最大,成员4对应的带宽利用率最小,则ECMP流量均衡装置将成员1对应带宽利用率调整为成员4对应的带宽利用率。即,调整后的ECMP组的下一跳成员为:成员4、成员2、成员3、成员4;成员1、成员2、成员3、成员4;成员1、成员2、成员3、成员4。
进一步的,ECMP流量均衡装置实时监测调整后的ECMP组的流量是否均衡。若不均衡,则ECMP流量均衡装置迭代执行上述过程,直至ECMP组流量均衡。
步骤304、基于目标ECMP转发表,转发ECMP组的数据报文信息。
一种可能的实现方式中,ECMP流量均衡装置根据生成的目标ECMP转发表,确定ECMP组的数据报文对应的目标下一跳。ECMP流量均衡装置基于目标下一跳转发ECMP组的数据报文信息。
上述方案至少带来以下有益效果:ECMP流量均衡装置获取ECMP组中的多个下一跳出口的带宽利用率。ECMP流量均衡装置确定ECMP组中的每条路径对应的下一跳出口的带宽利用率。进一步,ECMP流量均衡装置基于每条路径对应的下一跳出口的带宽利用率,确定带宽利用率最大的路径与带宽利用率最小的路径之间的带宽利用率是否满足预设阈值。若带宽利用率最大的路径与带宽利用率最小的路径之间的带宽利用率差值大于预设阈值,则确定ECMP组的流量分布均衡;若带宽利用率最大的路径与带宽利用率最小的路径之间的带宽利用率差值小于预设阈值则确定ECMP组的流量分布不均衡。在ECMP组的流量分布不均衡的情况下,ECMP流量均衡装置迭代调整ECMP组下的每条路径对应的下一跳出口的数量,以及下一跳对应的带宽利用率,直至ECMP组的流量分布均衡。进一步的,ECMP流量均衡装置基于目标ECMP转发表,转发ECMP组的数据报文信息。从而,减轻网络拥塞,提高网络性能,优化资源利用,增强网络的可靠性和稳定性。通过合理调度流量分布,提高了网络的负载均衡能力,有效处理流量高峰,提供更好的用户体验。
一种可能的实现方式中,为本申请实施例提供的一种ECMP流量均衡方法,应用于ECMP流量均衡装置,上述步骤303、在ECMP组的流量分布不均衡的情况下,生成目标ECMP转发表,具体可通过以下步骤1-步骤4实现:
步骤1、将目标ECMP组的每个下一跳出口的数量增加n个,生成第一ECMP组;目标ECMP组为初始的ECMP组,或目标ECMP组为前一次迭代生成的新的ECMP组;
步骤2、将第一ECMP组中的带宽利用率最大的任一下一跳出口,替换为带宽利用率最小的下一跳出口,生成目标ECMP组;
步骤3、实时监测目标ECMP组的流量分布是否均衡;
步骤4、若目标ECMP组的流量分布不均衡,则重复执行步骤1、步骤2、步骤3、步骤4,直至目标ECMP组流量分布均衡,则确定目标ECMP组为目标ECMP转发表。
结合图3,如图4所示,为本申请实施例提供的一种ECMP流量均衡方法,应用于ECMP流量均衡装置。步骤302、基于多个下一跳出口的带宽利用率,确定ECMP组的流量分布是否均衡,具体可以通过以下步骤401-步骤402实现:
步骤401、基于下一跳出口的带宽利用率,确定ECMP组中的最大带宽利用率和最小带宽利用率。
一种可能的实现方式中,ECMP流量均衡装置根据ECMP组的多个下一跳出口的带宽利用率,确定该ECMP组中的最大带宽利用率和最小带宽利用率。
一种示例,ECMP组的多个下一跳出口的带宽利用率分别为:60%、45%、30%、25%。ECMP流量均衡装置确定该ECMP组的最大带宽利用率为60%,ECMP组的最小带宽利用率为25%。
步骤402、在最大带宽利用率与最小带宽利用率的差值与最小带宽利用率的比值大于预设阈值的情况下,确定ECMP组的流量分布不均匀。
一种可能的实现方式中,若最大带宽利用率与最小带宽利用率的差值大于预设阈值,则ECMP流量均衡装置确定ECMP组的流量分布不均匀。
一种示例,预设阈值为20%,ECMP组的最大带宽利用率为60%与ECMP组的最小带宽利用率为25%之间的差值为35%,则ECMP流量均衡装置确定该ECMP组的流量分布不均衡。
上述方案至少带来以下有益效果:ECMP流量均衡装置根据ECMP组的多个下一跳出口的带宽利用率,确定该ECMP组中的最大带宽利用率和最小带宽利用率。ECMP流量均衡装置确定ECMP组的最大带宽利用率和最小带宽利用率的差值是大于预设阈值。若最大带宽利用率与最小带宽利用率的差值大于预设阈值,则ECMP流量均衡装置确定ECMP组的流量分布不均匀。这样,ECMP流量均衡装置通过检测带宽利用率的差异,能够快速识别出流量分布不均衡的情况。从而可以采取措施来调整ECMP组中每个路径对应的下一跳出口的数量和带宽利用率,以实现流量的均衡分配。
结合图3,如图5所示,为本申请实施例提供的一种ECMP流量均衡方法,应用于ECMP流量均衡装置。步骤304、基于目标ECMP转发表,转发ECMP组的数据报文信息,具体可以通过以下步骤501-步骤504实现:
步骤501、获取ECMP组的至少一个数据报文信息。
一种可能的实现方式中,ECMP流量均衡装置获取ECMP组的至少一个数据报文信息。其中,数据报文信息包括:源IP地址、目标IP地址、端口号等。
步骤502、基于预设哈希算法,确定至少一个数据报文信息对应的哈希值。
一种可能的实现方式中,ECMP流量均衡装置使用预设哈希算法,计算ECMP组的至少一个数据报文信息对应的哈希值。
一种示例,ECMP流量均衡装置将至少一个数据报文信息的源IP地址、目标IP地址和端口号等字段转换成预设格式的二进制串。进一步的,ECMP流量均衡装置基于预设哈希算法对该二进制串进行计算,确定该二进制串对应的哈希值,即该至少一个数据报文信息对应的哈希值。其中,预设哈希算法包括但不限于:CEC32、MD5、SHA1等。
步骤503、基于哈希值,确定目标ECMP组中的数据报文信息对应的目标下一跳出口。
一种可能的实现方式中,ECMP流量均衡装置根据ECMP组的至少一个数据报文信息对应的哈希值,将其映射到目标ECMP组中的下一跳出口的索引。
需要说明的是,目标ECMP组是具有相同目标地址的下一跳出口。其中,下一跳出口包含与目标地址相关的转发信息,例如,出接口、MAC地址等。目标ECMP组的出口数量可根据上述步骤303进行设置。
步骤504、基于目标下一跳出口,转发至少一个数据报文信息。
一种可能的实现方式中,ECMP流量均衡装置根据目标下一跳出口,将ECMP组的至少一个数据报文信息进行转发。
上述方案至少带来以下有益效果:ECMP流量均衡装置可以将数据报文均匀地分配到目标ECMP组的下一跳出口,实现负载均衡,确保网络中的流量分布更加均匀,避免因某个下一跳出口负载过重而导致性能问题。ECMP流量均衡装置通过将流量均匀地分配到多个下一跳出口,可以利用多条路径并行转发数据报文,提高网络的吞吐量,有效地利用网络带宽资源,提供更高的网络性能和传输速度。目标ECMP组中由多个下一跳出口组成,当其中一个下一跳出口发生故障或不可用时,ECMP流量均衡装置可以选择其他可用的下一跳出口进行转发,从而实现容错和冗余。这提高了网络的可靠性和可用性,减少了单点故障的影响。ECMP组中可以包含多个下一跳出口,这样可以根据网络的需求和规模进行灵活的扩展。ECMP流量均衡装置可以根据实际情况添加或移除下一跳出口,以适应不断变化的网络环境和需求。这样,通过使用哈希算法和选取目标ECMP组中的下一跳出口,实现了ECMP网络设备的负载均衡,提高了不同场景下ECMP组的流量分布的均衡性能。
以上,对本申请实施例涉及到的ECMP流量均衡装置,以及ECMP流量均衡装置的各个设备的功能,设备之间的交互进行了详细说明。
可以看出,上述主要从方法的角度对本申请实施例提供的技术方案进行了介绍。为了实现上述功能,其包含了执行各个功能相应的硬件结构和/或软件模块。本领域技术人员应该很容易意识到,结合本文中所公开的实施例描述的各示例的模块及算法步骤,本申请实施例能够以硬件或硬件和计算机软件的结合形式来实现。某个功能究竟以硬件还是计算机软件驱动硬件的方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
本申请实施例可以根据上述方法示例对ECMP流量均衡装置进行功能模块的划分,例如,可以对应各个功能划分各个功能模块,也可以将两个或两个以上的功能集成在一个处理模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。可选的,本申请实施例中对模块的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。
本申请实施例提供了一种ECMP流量均衡装置,用于执行上述ECMP流量均衡系统中任一设备所需执行的方法。该ECMP流量均衡装置可以为本申请中涉及的ECMP流量均衡装置,或者ECMP流量均衡装置中的模块;或者是ECMP流量均衡装置中的芯片,也可以是其他用于执行ECMP流量均衡方法的装置,本申请对此不做限定。
图6所示,为本申请实施例提供的一种ECMP流量均衡装置的结构示意图,该装置包括:处理单元601和通信单元602。
处理单元601,用于获取ECMP组的多个下一跳出口的带宽利用率;处理单元601,还用于基于多个下一跳出口的带宽利用率,确定ECMP组的流量分布是否均衡;处理单元601,还用于在ECMP组的流量分布不均衡的情况下,生成目标ECMP转发表;目标ECMP转发表为迭代调整ECMP组的每个下一跳出口的数量生成的转发表;处理单元601,还用于基于目标ECMP转发表,转发ECMP组的数据报文信息。
处理单元601,具体用于:步骤1、将目标ECMP组的每个下一跳出口的数量增加n个,生成第一ECMP组;目标ECMP组为初始的ECMP组,或目标ECMP组为前一次迭代生成的新的ECMP组;步骤2、将第一ECMP组中的带宽利用率最大的任一下一跳出口,替换为带宽利用率最小的下一跳出口,生成目标ECMP组;步骤3、实时监测目标ECMP组的流量分布是否均衡;步骤4、若目标ECMP组的流量分布不均衡,则重复执行步骤1、步骤2、步骤3、步骤4,直至目标ECMP组流量分布均衡,则确定目标ECMP组为目标ECMP转发表。
处理单元601,还具体用于:基于下一跳出口的带宽利用率,确定ECMP组中的最大带宽利用率和最小带宽利用率;在最大带宽利用率与最小带宽利用率的差值与最小带宽利用率的比值大于预设阈值的情况下,确定ECMP组的流量分布不均匀。
处理单元601,还具体用于:获取ECMP组的至少一个数据报文信息;基于预设哈希算法,确定至少一个数据报文信息对应的哈希值;基于哈希值,确定目标ECMP组中的数据报文信息对应的目标下一跳出口;基于目标下一跳出口,转发至少一个数据报文信息。
本申请实施例提供了一种ECMP流量均衡装置,用于执行上述ECMP流量均衡系统中任一设备所需执行的方法。该ECMP流量均衡装置可以为本申请中涉及的ECMP流量均衡装置,或者ECMP流量均衡装置中的模块;或者是ECMP流量均衡装置中的芯片,也可以是其他用于执行ECMP流量均衡方法的装置,本申请对此不做限定。
本申请实施例还提供一种计算机可读存储介质,计算机可读存储介质中存储有指令,当计算机执行该指令时,该计算机执行上述方法实施例所示的方法流程中的各个步骤。
本申请的实施例提供一种包含指令的计算机程序产品,当指令在计算机上运行时,使得计算机执行上述方法实施例中的ECMP流量均衡方法。
本申请的实施例提供一种芯片,芯片包括处理器和通信接口,通信接口和处理器耦合,处理器用于运行计算机程序或指令,以实现如上述方法实施例中的ECMP流量均衡方法。
其中,计算机可读存储介质,例如可以是但不限于电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘。随机存取存储器(Random Access Memory,RAM)、只读存储器(Read-Only Memory,ROM)、可擦式可编程只读存储器(Erasable Programmable Read Only Memory,EPROM)、寄存器、硬盘、光纤、便携式紧凑磁盘只读存储器(Compact Disc Read-Only Memory,CD-ROM)、光存储器件、磁存储器件、或者上述的人以合适的组合、或者本领域数值的任何其他形式的计算机可读存储介质。一种示例性的存储介质耦合至处理器,从而使处理器能够从该存储介质读取信息,且可向该存储介质写入信息。当然,存储介质也可以是处理器的组成部分。处理器和存储介质可以位于特定用途集成电路(Application Specific Integrated Circuit,ASIC)中。在本申请实施例中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
由于本申请的实施例中的装置、设备、计算机可读存储介质、计算机程序产品可以应用于上述方法,因此,其所能获得的技术效果也可参考上述方法实施例,本申请实施例在此不再赘述。
以上,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何在本申请揭露的技术范围内的变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应该以权利要求的保护范围为准。

Claims (10)

1.一种等价多路径路由ECMP流量均衡方法,其特征在于,所述方法包括:
获取ECMP组的多个下一跳出口的带宽利用率;
基于所述多个下一跳出口的带宽利用率,确定所述ECMP组的流量分布是否均衡;
在所述ECMP组的流量分布不均衡的情况下,生成目标ECMP转发表;所述目标ECMP转发表为迭代调整所述ECMP组的每个所述下一跳出口的数量生成的转发表;
基于所述目标ECMP转发表,转发所述ECMP组的数据报文信息。
2.根据权利要1所述的方法,其特征在于,所述生成目标ECMP转发表,包括:
步骤1、将目标ECMP组的所述每个下一跳出口的数量增加n个,生成第一ECMP组;所述目标ECMP组为初始的ECMP组,或所述目标ECMP组为前一次迭代生成的新的ECMP组;
步骤2、将所述第一ECMP组中的带宽利用率最大的任一所述下一跳出口,替换为所述带宽利用率最小的所述下一跳出口,生成目标ECMP组;
步骤3、实时监测所述目标ECMP组的流量分布是否均衡;
步骤4、若所述目标ECMP组的流量分布不均衡,则重复执行所述步骤1、所述步骤2、所述步骤3、所述步骤4,直至所述目标ECMP组流量分布均衡,则确定所述目标ECMP组为所述目标ECMP转发表。
3.根据权利要求1所述的方法,其特征在于,所述基于所述多个下一跳出口的带宽利用率,确定所述ECMP组的流量分布是否均衡,包括:
基于所述下一跳出口的带宽利用率,确定所述ECMP组中的最大带宽利用率和最小带宽利用率;
在所述最大带宽利用率与最小带宽利用率的差值与所述最小带宽利用率的比值大于预设阈值的情况下,确定所述ECMP组的流量分布不均匀。
4.根据权利要求1所述的方法,其特征在于,所述基于所述目标ECMP转发表,转发所述ECMP组的数据报文信息,包括:
获取所述ECMP组的至少一个所述数据报文信息;
基于预设哈希算法,确定所述至少一个数据报文信息对应的哈希值;
基于所述哈希值,确定所述目标ECMP组中的所述数据报文信息对应的目标下一跳出口;
基于所述目标下一跳出口,转发所述至少一个数据报文信息。
5.一种等价多路径路由ECMP流量均衡装置,其特征在于,所述装置包括:处理单元;
所述处理单元,用于获取ECMP组的多个下一跳出口的带宽利用率;
所述处理单元,还用于基于所述多个下一跳出口的带宽利用率,确定所述ECMP组的流量分布是否均衡;
所述处理单元,还用于在所述ECMP组的流量分布不均衡的情况下,生成目标ECMP转发表;所述目标ECMP转发表为迭代调整所述ECMP组的每个所述下一跳出口的数量生成的转发表;
所述处理单元,还用于基于所述目标ECMP转发表,转发所述ECMP组的数据报文信息。
6.根据权利要求5所述的装置,其特征在于,所述处理单元,具体用于:
步骤1、将目标ECMP组的所述每个下一跳出口的数量增加n个,生成第一ECMP组;所述目标ECMP组为初始的ECMP组,或所述目标ECMP组为前一次迭代生成的新的ECMP组;
步骤2、将所述第一ECMP组中的带宽利用率最大的任一所述下一跳出口,替换为所述带宽利用率最小的所述下一跳出口,生成目标ECMP组;
步骤3、实时监测所述目标ECMP组的流量分布是否均衡;
步骤4、若所述目标ECMP组的流量分布不均衡,则重复执行所述步骤1、所述步骤2、所述步骤3、所述步骤4,直至所述目标ECMP组流量分布均衡,则确定所述目标ECMP组为所述目标ECMP转发表。
7.根据权利要求5所述的装置,其特征在于,所述处理单元,还具体用于:
基于所述下一跳出口的带宽利用率,确定所述ECMP组中的最大带宽利用率和最小带宽利用率;
在所述最大带宽利用率与最小带宽利用率的差值与所述最小带宽利用率的比值大于预设阈值的情况下,确定所述ECMP组的流量分布不均匀。
8.根据权利要求5所述的装置,其特征在于,所述处理单元,还具体用于:
获取所述ECMP组的至少一个所述数据报文信息;
基于预设哈希算法,确定所述至少一个数据报文信息对应的哈希值;
基于所述哈希值,确定所述目标ECMP组中的所述数据报文信息对应的目标下一跳出口;
基于所述目标下一跳出口,转发所述至少一个数据报文信息。
9.一种ECMP流量均衡装置,其特征在于,包括:处理器和通信接口;所述通信接口和所述处理器耦合,所述处理器用于运行计算机程序或指令,以实现如权利要求1-4任一项中所述的ECMP流量均衡方法。
10.一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,其特征在于,当计算机执行该指令时,该计算机执行上述权利要求1-4任一项中所述的ECMP流量均衡方法。
CN202311246325.3A 2023-09-25 2023-09-25 Ecmp流量均衡方法、装置及存储介质 Pending CN117354246A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202311246325.3A CN117354246A (zh) 2023-09-25 2023-09-25 Ecmp流量均衡方法、装置及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202311246325.3A CN117354246A (zh) 2023-09-25 2023-09-25 Ecmp流量均衡方法、装置及存储介质

Publications (1)

Publication Number Publication Date
CN117354246A true CN117354246A (zh) 2024-01-05

Family

ID=89362299

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202311246325.3A Pending CN117354246A (zh) 2023-09-25 2023-09-25 Ecmp流量均衡方法、装置及存储介质

Country Status (1)

Country Link
CN (1) CN117354246A (zh)

Similar Documents

Publication Publication Date Title
JP7417825B2 (ja) スライスベースルーティング
CN106998302B (zh) 一种业务流量的分配方法及装置
JP5977383B2 (ja) Dragonflyプロセッサ相互接続ネットワークにおけるテーブル駆動型ルーティング
CN107995123A (zh) 一种基于交换机的负载均衡系统及方法
CN108809847B (zh) 实现负载均衡的方法、装置和网络系统
CN113132249A (zh) 一种负载均衡方法和设备
CN108337179B (zh) 链路流量控制方法及装置
Cui et al. Dynamic scheduling for wireless data center networks
US11507487B2 (en) Control of a computing system to perform network fabric benchmark measurements
US10887217B2 (en) Routing packets based on congestion metric thresholds and weights
Cui et al. Difs: Distributed flow scheduling for adaptive routing in hierarchical data center networks
CN105072032B (zh) 一种确定片上网络路由路径的方法及系统
CN113242176A (zh) 一种端到端多路径快速计算方法及装置
CN112087382A (zh) 一种服务路由方法及装置
Zahid et al. A weighted fat-tree routing algorithm for efficient load-balancing in infini band enterprise clusters
Sehery et al. Flow optimization in data centers with clos networks in support of cloud applications
CN112825512A (zh) 负载均衡方法及装置
KR102268470B1 (ko) 가상 네트워크 구성방법 및 그 장치
WO2015069761A1 (en) System and method for delay management for traffic engineering
US20150188831A1 (en) System and Method for Traffic Engineering Using Link Buffer Status
CN117354246A (zh) Ecmp流量均衡方法、装置及存储介质
CN115174480A (zh) 一种负载均衡方法、装置、设备及可读存储介质
Liu et al. RSLB: Robust and scalable load balancing in software-defined data center networks
US10243838B1 (en) Interleaving members for proportionate network traffic distribution
CN107733810B (zh) 一种确定路由的方法、装置及通信设备

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination