CN113709053A - 一种基于流定义的分流方法及装置 - Google Patents

一种基于流定义的分流方法及装置 Download PDF

Info

Publication number
CN113709053A
CN113709053A CN202110886124.4A CN202110886124A CN113709053A CN 113709053 A CN113709053 A CN 113709053A CN 202110886124 A CN202110886124 A CN 202110886124A CN 113709053 A CN113709053 A CN 113709053A
Authority
CN
China
Prior art keywords
flow
aggregation port
aggregation
traffic
port
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.)
Granted
Application number
CN202110886124.4A
Other languages
English (en)
Other versions
CN113709053B (zh
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.)
Hangzhou DPTech Technologies Co Ltd
Original Assignee
Hangzhou DPTech Technologies 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 Hangzhou DPTech Technologies Co Ltd filed Critical Hangzhou DPTech Technologies Co Ltd
Priority to CN202110886124.4A priority Critical patent/CN113709053B/zh
Publication of CN113709053A publication Critical patent/CN113709053A/zh
Application granted granted Critical
Publication of CN113709053B publication Critical patent/CN113709053B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

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
    • 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
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D30/00Reducing energy consumption in communication networks
    • Y02D30/50Reducing energy consumption in communication networks in wire-line communication networks, e.g. low power modes or reduced link rate

Landscapes

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

Abstract

本申请提供一种基于流定义的分流方法及装置,应用于网络设备,所述网络设备包括若干由多个端口虚拟成的聚合口,所述网络设备维护了包含若干分流算法的集合;包括:基于预设的流定义规则,确定流量在网络设备内部的转发路径;所述流定义规则包括所述流量在所述网络设备内部的转发策略;根据所述转发路径确定所述流量经过的聚合口;获取经过任一所述聚合口的流量的五元组信息集合,通过匹配所述分流算法的集合,确定出所述任一聚合口对应的分流算法。通过以上技术方案,可以为各个聚合口制定与当前经过各个聚合口的实际流量相匹配的分流算法,使得流量在多次分流时不会产生相互影响,避免流量分流不均导致造成聚合口的带宽不足而产生的丢包问题。

Description

一种基于流定义的分流方法及装置
技术领域
本申请涉及通信技术领域,尤其涉及一种基于流定义的分流方法及装置。
背景技术
主干(Eth-Trunk)技术,也被称为端口汇聚,是指将以太网中的多个端口绑定在一起,虚拟成一个逻辑上的聚合口(也被称为聚合组)。即,将同一聚合组内的多个端口视为一个逻辑端口。其中,这些多个端口被称为该聚合端口中的成员端口。
在生成聚合口之后,当流量经过该聚合口时,可以通过诸如哈希算法等分流算法,实现流量在各成员端口之间均匀分担,达到增加带宽、提高冗余,以及负载均衡等效果。
然而,随着用户对网络业务处理要求的增多,流量通常需要经过多次业务处理,导致流量很可能在转发过程中,经过多个聚合口,发生多次分流。
发明内容
有鉴于此,为解决多次分流导致的分流不均,本申请提供一种基于流定义的分流方法及装置。
具体地,本申请是通过如下技术方案实现的:
第一方面,本申请提出一种基于流定义的分流方法,应用于网络设备,所述网络设备包括若干由多个端口虚拟成的聚合口,所述网络设备维护了包含若干分流算法的集合;该方法包括:
基于预设的流定义规则,确定流量在网络设备内部的转发路径;所述流定义规则包括所述流量在所述网络设备内部的转发策略;
根据所述转发路径确定所述流量经过的聚合口;
获取经过任一所述聚合口的流量的五元组信息集合,通过匹配所述分流算法的集合,确定出所述任一聚合口对应的分流算法。
可选的,所述网络设备还包括若干板卡;其中,所述板卡包括由多个所述板卡的多个内部端口虚拟成的聚合口;
所述根据所述转发路径确定所述流量经过的聚合口,包括:
根据所述转发路径,以及各板卡内部端口的互联信息,生成聚合转发图;其中,所述聚合转发图表征了所述流量在各个聚合口的转发情况;
根据所述聚合转发图确定所述流量经过的聚合口。
可选的,所述分流算法集合包括所述网络设备的内部板卡搭载的交换芯片维护的分流算法。
可选的,所述聚合口包括第一聚合口和第二聚合口;其中,所述第一聚合口包括对未被分流的流量进行分流的聚合口;所述第二聚合口包括对被分流后的部分流量进行分流的聚合口;
所述获取经过任一所述聚合口的流量的五元组信息集合,包括:
获取经过所述第一聚合口的未被分流的流量的五元组信息集合;以及,
获取经过所述第二聚合口的被分流的部分流量的五元组信息集合。
可选的,所述获取经过任一所述聚合口的流量的五元组信息集合,包括:
确定所述任一所述聚合口所在的板卡;所述板卡的CPU维护了会话列表,所述会话列表记录了经过所述板卡的流量的五元组信息;
基于所述会话列表获取经过所述任一聚合口的流量的五元组信息集合。
可选的,所述方法还包括:
将所述任一聚合口对应的分流算法下发至所述任一聚合口所在板卡的交换芯片。
可选的,所述方法还包括:
响应于所述流定义规则和/或所述流量的变化,重新确定所述任一聚合口对应的分流算法。
第二方面,本申请还提出一种基于流定义的分流装置,应用于网络设备,所述网络设备包括若干由多个端口虚拟成的聚合口,所述网络设备维护了包含若干分流算法的集合;该装置包括:
转发路径确定单元,基于预设的流定义规则,确定流量在网络设备内部的转发路径;所述流定义规则包括所述流量在所述网络设备内部的转发策略;
聚合口确定单元,根据所述转发路径确定所述流量经过的聚合口;
分流算法确定单元,获取经过任一所述聚合口的流量的五元组信息集合,通过匹配所述分流算法的集合,确定出所述任一聚合口对应的分流算法。
第三方面,本申请还提出一种介质,其上存储有计算机指令,该指令被处理器执行时实现如下所述方法的步骤:
基于预设的流定义规则,确定流量在网络设备内部的转发路径;所述流定义规则包括所述流量在所述网络设备内部的转发策略;
根据所述转发路径确定所述流量经过的聚合口;
获取经过任一所述聚合口的流量的五元组信息集合,通过匹配所述分流算法的集合,确定出所述任一聚合口对应的分流算法。
第四方面,本申请还提出一种电子设备,包括:
处理器;
用于存储处理器可执行指令的存储器;
其中,所述处理器通过运行所述可执行指令以实现如下所述的方法:
基于预设的流定义规则,确定流量在网络设备内部的转发路径;所述流定义规则包括所述流量在所述网络设备内部的转发策略;
根据所述转发路径确定所述流量经过的聚合口;
获取经过任一所述聚合口的流量的五元组信息集合,通过匹配所述分流算法的集合,确定出所述任一聚合口对应的分流算法。
本申请的实施例提供的技术方案可以包括以下有益效果:
通过获取流定义的配置解析出流量的转发路径,根据转发路径确定流量经过的聚合口,将经过各个聚合口的流量的五元组信息集合匹配分流算法集合已确定适合各聚合口的分流算法。通过以上技术方案,可以为各个聚合口制定与当前经过各个聚合口的实际流量相匹配的分流算法,使得流量在多次分流时不会产生相互影响,避免流量分流不均导致造成聚合口的带宽不足而产生的丢包问题。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
附图说明
图1是本申请一示例性实施例示出的一种网络设备的示意图;
图2是本申请一示例性实施例示出的一种基于流定义的分流方法的流程图;
图3是本申请一示例性实施例示出的一种聚合转发图的示意图;
图4是本申请一示例性实施例示出的另一种基于流定义的分流方法的流程图;
图5是本申请一示例性实施例示出的一种的基于流定义的分流装置所在电子设备的硬件结构图;
图6是本申请一示例性实施例示出的一种基于流定义的分流装置的框图。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。
在本申请使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本申请。在本申请和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
应当理解,尽管在本申请可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本申请范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。
目前,为满足多种业务处理的要求,可以将处理多种网络安全业务的不同业务板卡,部署至机框式网络设备,实现安全功能的集成。例如,部署的业务板卡可以包括用于防火墙设备业务的FW业务板卡、用于负载均衡设备业务的ADX业务板卡、用于攻击防护设备业务的IPS业务板卡、用于审计流控设备业务的UAG业务板卡,以及用于流量清洗设备业务的DDOS业务板卡等。
请参见图1,图1是本申请一示例性实施例示出的一种网络设备的示意图,如图1所示,所述网络设备配置了交换网板、接口板卡,以及多个业务板卡。
其中,各板卡的交换芯片负责对流量进行转发,以及基于交换芯片存储的分流算法对流量进行分流,实现流量在聚合口的负载分担。
具体的,交换网板内置的交换芯片可以通过聚合口TRUNK1、3、6、9、12、15、18、21和24将流量发送至各个板卡,实现流量的跨板卡转发;
接口板卡可以通过聚合口BOND1和BOND2接收来自上游设备的流量,并在网络设备对流量进行各种业务处理后转发至下游设备,实现流量的接收和转发;
各业务板卡内置的交换芯片可以通过板卡内部的聚合口TRUNK5、8、11、14、17、20、23和26将流量上送至内置的CPU,实现对流量进行不同的业务处理;以及,可以通过聚合口TRUNK4、7、10、13、16、19、22和25将流量发送至交换网板,以由交换网板将流量发送至下一个业务板卡进行业务处理。
值得说明的是,可以基于图1所示的同类型的业务板卡构建出云板卡,例如,可以将FW_0和FW_1虚拟成一个云板卡FW云。
其中,云板卡是指将多个业务板卡虚拟化成为一个云板卡,逻辑上相当于一块业务板卡在工作,而物理业务板卡之间在设备内部使用高速绑定接口连通,并通过一定的分流算法合理分配云板卡资源,使得流量在云板卡的各成员业务板卡之间可以负载分担,各成员业务板卡之间也可以互为冗余备份,同时扩充了业务板卡的性能带宽。
进一步的,为实现流量在网络设备内部各板卡之间的灵活调度,可以利用流定义技术,引导流量上送至不同的业务板卡进行业务处理,实现网络安全业务的融合,达到简化管理的效果。
其中,流定义技术是一种实现不同业务模块间流量灵活调度的引流技术。
例如,当用户需求为:部署防火墙、UAG板卡,流量经过防火墙转发,UAG板卡旁挂进行行为审计时,流定义策略可以为:在旁路业务上配置UAG,然后在在线转发业务上配置防火墙板卡。
然而,由于流量在转发过程中经过多个聚合口,发生了多次分流,而分流的结果很可能会影响后面的分流结果,导致反而出现分流不均的情况,造成聚合口带宽降低,此时,如果预设方案带宽的流量经过聚合口时,出现带宽不足而导致丢包的问题。
例如,以图1中流量上送至FW业务板卡的CPU进行业务处理的转发过程为例,假设基于哈希算法对该流量的五元组信息的集合进行计算之后,获得的哈希值分别为1~100,再通过对聚合成员的个数取余来决定流量处理的成员。
首先,流量会被发送至通过聚合虚拟成的FW云板卡,基于分流算法,将流量在两块成员板卡间均匀分担,即哈希值为奇数的流量发送至FW_0的交换芯片,哈希值为偶数的流量量发送至FW_1的交换芯片;
其次,FW_0的交换芯片,基于分流算法,将流量通过聚合口TRUNK8发送至FW_0的CPU;同样的,FW_1的交换芯片,基于分流算法,将流量通过聚合口TRUNK5发送至FW_1的CPU;
然而,业务板卡接收到的流量是被分流后的部分流量,如果仍基于上述分流算法,由于FW_0业务板卡接收到的部分流量对应的哈希值都为奇数,那么在对聚合口TRUNK8的聚合成员个数2取余时,会导致流量只从分担哈希值为奇数的流量的成员口经过,另一个成员口并不处理流量;同理,FW_1在通过聚合口TRUNK5发送流量时,也仅有一个成员口分担了流量处理。
最后,在业务板卡的CPU完成对流量的业务处理之后,业务板卡的交换芯片,基于上述分流算法,负责将流量通过聚合口发送至交换网板,同样的,由于采用的分流算法相同,导致聚合口4、7的成员中,都仅有一个成员口分担了流量处理,出现分流不均的情况,造成聚合口带宽降低,此时,如果预设方案带宽的流量经过聚合口时,出现带宽不足而导致丢包的问题。
有鉴于此,本申请基于流定义规则,获得流量在网络设备内部经过的聚合口,并基于流经各聚合口的实际流量,制定出该聚合口对应的分流算法的技术方案。
在实现时,基于预设的流定义规则,确定流量在网络设备内部的转发路径;所述流定义规则包括所述流量在所述网络设备内部的转发策略;
根据所述转发路径确定所述流量经过的聚合口;
获取经过任一所述聚合口的流量的五元组信息集合,通过匹配所述分流算法的集合,确定出所述任一聚合口对应的分流算法。
其中,所述网络设备包括若干由多个端口虚拟成的聚合口,所述网络设备维护了包含若干分流算法的集合。
例如,基于转发路径可以确定出对未被分流的流量进行分流的聚合口,并基于未被分流的流量的五元组信息集合制定分流算法;以及,确定出对被分流后的部分流量进行分流的聚合口,并基于被分流的部分流量的五元组信息集合制定分流算法。
在以上技术方案中,通过获取流定义的配置解析出流量的转发路径,根据转发路径确定流量经过的聚合口,将经过各个聚合口的流量的五元组信息集合匹配分流算法集合已确定适合各聚合口的分流算法。通过以上技术方案,可以为各个聚合口制定与当前经过各个聚合口的实际流量相匹配的分流算法,使得流量在多次分流时不会产生相互影响,避免流量分流不均导致造成聚合口的带宽不足而产生的丢包问题。
接下来对本申请实施例进行详细说明。
请参见图2,图2是本申请一示例性实施例示出的一种基于流定义的分流方法的流程图,如图2所示,包括以下步骤:
步骤201:基于预设的流定义规则,确定流量在网络设备内部的转发路径;所述流定义规则包括所述流量在所述网络设备内部的转发策略;
步骤202:根据所述转发路径确定所述流量经过的聚合口;
步骤203:获取经过任一所述聚合口的流量的五元组信息集合,通过匹配所述分流算法的集合,确定出所述任一聚合口对应的分流算法。
其中,所述网络设备包括若干由多个端口虚拟成的聚合口,所述网络设备维护了包含若干分流算法的集合。
聚合口,是指将多个端口虚拟成一个聚合口,各成员口之间均匀分担了对流量的处理,例如图1虚线框内所示的聚合口。
分流算法,是指通过基于流量的五元组信息实现流量的均匀划分,通常网络设备内置的交换芯片均支持多种分流算法。
例如,当采取位HASH算法进行负载均衡时,所依赖的分流元素主要涉及源ip、目的ip、源四层端口号、目的四层端口号以及协议号。
值得说明的是,当网络设备搭载了多个交换芯片时,可以获取所有的分流算法,得到分流算法的集合,作为后续为各个聚合口制定分流算法的选取集合。
在示出的一种实施方式中,所述分流算法集合包括所述网络设备的内部板卡搭载的交换芯片维护的分流算法。
例如,当网络设备包括若干个板卡时,可以获取所有板卡的交换芯片维护的分流算法,得到分流算法的集合,作为后续为各个聚合口制定分流算法的选取集合。
在本实施例中,可以基于预设的流定义规则,确定流量在网络设备内部的转发路径;其中,所述流定义规则包括所述流量在所述网络设备内部的转发策略。
基于流定义技术,可以实现流量在网络设备内部各板卡之间的灵活调度,网络设备的交换芯片维护了预先配置的流定义规则,通过执行流定义规则,使得流量在网络设备内部可以按照用户创建的转发策略进行转发。
具体的,网络设备可以获取用户预先配置的流定义规则,通过解析流定义规则,确定流量在网络设备内部的转发策略,进而确定流量在网络设备内部的转发路径。
例如,以图1为例,流量通过以下路径上送至各板卡:
流量进入网络设备→接口板卡→交换网板→FW云板卡→交换网板→UAG云板卡→交换网板→IPS云板卡→交换网板→接口板卡→流量送出网络设备。
在本实施例中,可以根据所述转发路径确定所述流量经过的聚合口。
具体的,根据上述转发路径,可以确定位于该转发路径上的聚合口,就是流量经过的聚合口。
例如,假设图1中流量的转发路径为流量进入网络设备→接口板卡→交换网板→FW云板卡→交换网板→接口板卡→流量送出网络设备,则根据图1可知,流量经过的聚合口为BOND1以及TRUNK1~8。
由前述可知,流量经过的聚合口时的实际流量可能不同,对于每个聚合口的分流算法,不应当采用同一分流算法,应当具体问题具体分析。
在示出的一种实施方式中,所述聚合口包括第一聚合口和第二聚合口;其中,所述第一聚合口包括对未被分流的流量进行分流的聚合口;所述第二聚合口包括对被分流后的部分流量进行分流的聚合口;
继续以图1为例,对于确定出的聚合口,可以进一步对聚合口进行分类,确定出对未被分流的流量进行分流的第一聚合口,例如,TRUNK1、2等,以及对被分流后的部分流量进行分流的第二聚合口,例如,TRUNK3、4、5、6、7、8等。
进一步的,可以获取经过所述第一聚合口的未被分流的流量的五元组信息集合;以及,获取经过所述第二聚合口的被分流的部分流量的五元组信息集合。
在示出的一种实施方式中,所述网络设备还包括若干板卡;其中,所述板卡包括由多个所述板卡的多个内部端口虚拟成的聚合口。
例如,可以参见图1示出的FW云板卡,FW云板卡中,包括各成员业务板卡的交换芯片上的聚合口,通过这些聚合口可以实现将流量发送至业务板卡CPU,以及将流量发送至交换网板时,流量在各成员端口之间的负载均衡。
另外,流量在上送至FW云板卡时,需要根据FW云板卡的成员板卡数量,对流量进行分流,实现流量在各成员板卡之间的负载均衡。
进一步的,可以根据所述转发路径,以及各板卡内部端口的互联信息,生成聚合转发图;其中,所述聚合转发图表征了所述流量在各个聚合口的转发情况;以及,根据所述聚合转发图确定所述流量经过的聚合口。
继续以图1为例,根据所述转发路径,以及各板卡内部端口的互联信息,生成的聚合转发图可以如图3所示,图3是本申请一示例性实施例示出的一种聚合转发图的示意图。
图3所示的聚合转发图,描述了流量在网络设备内部沿路径转发时经过了哪些聚合阶段,也即聚合发生在流量转发过程中的哪些环节。
具体的,在流量进入网络设备之后,通过聚合口TRUNK2发送至交换网板,再通过FW云板卡的聚合,发送至FW_0业务板卡和FW_1业务板卡,即经FW云板卡分流后的流量,一部分进入FW_0,一部分进入FW_1;
进一步的,通过聚合口TRUNK3进入FW_0的流量,先通过聚合口TRUNK5上送至FW_0的CPU进行业务处理,再在业务处理完成后通过聚合口TRUNK4发送至交换网板,通过聚合口TRUNK6进入FW_1的流量同理。
值得说明的是,其他聚合阶段也类似于上述过程,这里不再赘述。
在本实施例中,获取经过任一所述聚合口的流量的五元组信息集合,通过匹配所述分流算法的集合,确定出所述任一聚合口对应的分流算法。
具体的,对于确定出的每一个聚合口,都可以获取经过该聚合口的流量的五元组信息集合,即确定出经过各聚合口的实际流量的五元组信息的集合,再从分流算法的集合中,为每一个聚合口制定最适合与该聚合口当前经过的流量的分流算法。
例如,对于聚合口TRUNK2,经过该聚合口的流量为未被分流的完整流量,即获取完整流量的五元组信息集合,并匹配分流算法集合,从而确定出聚合口TRUNK2对应的分流算法的最优解。
又如,对于聚合口TRUNK5,经过该聚合口的流量为已被分流的部分流量,这部分流量仅为原来完整流量的一半,获取这一半流量的五元组信息集合,并匹配分流算法集合,从而确定出聚合口TRUNK5对应的分流算法的最优解。
在示出的一种实施方式中,确定所述任一所述聚合口所在的板卡;所述板卡的CPU维护了会话列表,所述会话列表记录了经过所述板卡的流量的五元组信息;以及,基于所述会话列表获取经过所述任一聚合口的流量的五元组信息集合。
具体的,流量的五元组信息,记录在CPU维护的会话列表中,而每个板卡的CPU中都维护了一个会话列表,通过读取该会话列表,可以确定经过当前板卡的流量的五元组信息。
在示出的一种实施方式中,将所述任一聚合口对应的分流算法下发至所述任一聚合口所在板卡的交换芯片。
具体的,在为聚合口确定出对应的分流算法之后,网络设备可以将分流算法下发至聚合口所在板卡的交换芯片,以由交换芯片为该聚合口提供确定出的分流算法。
例如,在网络设备从分流算法集合中确定出TRUNK4和5分别对应的分流算法之后,可以将分流算法下发至FW_1业务板卡的交换芯片,以由该交换芯片为聚合口TRUNK4和5提供确定出的分流算法。
在示出的一种实施方式中,响应于所述流定义规则和/或所述流量的变化,重新确定所述任一聚合口对应的分流算法。
具体的,当用户配置的流定义规则发生变化时,可以基于变化后的流定义规则,重新确定流量在网络设备内部的转发路径;再根据新的转发路径重新确定流量经过的聚合口;
和/或,
当流量发生变化时,重新获取经过任一聚合口的流量的五元组信息集合;
再通过匹配分流算法的集合,确定出任一聚合口对应的分流算法。
在以上技术方案中,通过获取流定义的配置解析出流量的转发路径,根据转发路径确定流量经过的聚合口,将经过各个聚合口的流量的五元组信息集合匹配分流算法集合已确定适合各聚合口的分流算法。通过以上技术方案,可以为各个聚合口制定与当前经过各个聚合口的实际流量相匹配的分流算法,使得流量在多次分流时不会产生相互影响,避免流量分流不均导致造成聚合口的带宽不足而产生的丢包问题。
请参见图4,图4是本申请一示例性实施例示出的另一种基于流定义的分流方法的流程图。如图4所示,包括以下步骤:
S401:获取网络设备维护的分流算法的集合;
其中,网络设备可以搭载若干内部板卡,分流算法集合可以包括各内部板卡搭载的交换芯片维护的分流算法。
S402:获取预设的流定义规则,所述流定义规则包括所述流量在所述网络设备内部的转发策略。
S403:基于预设的流定义规则,确定流量在网络设备内部的转发路径。
S404:根据所述转发路径,以及各板卡内部端口的互联信息,生成聚合转发图;其中,所述聚合转发图表征了所述流量在各个聚合口的转发情况。
S405:根据所述聚合转发图确定所述流量经过的聚合口;
具体的,所述聚合口包括第一聚合口和第二聚合口;其中,所述第一聚合口包括对未被分流的流量进行分流的聚合口;所述第二聚合口包括对被分流后的部分流量进行分流的聚合口。
S406:确定所述任一所述聚合口所在的板卡,获取所述板卡的CPU维护的会话列表;
其中,所述会话列表记录了经过所述板卡的流量的五元组信息。
S407:基于所述会话列表获取经过所述任一聚合口的流量的五元组信息集合;
具体的,获取经过所述第一聚合口的未被分流的流量的五元组信息集合;以及,获取经过所述第二聚合口的被分流的部分流量的五元组信息集合。
S408:通过匹配所述分流算法的集合,确定出所述任一聚合口对应的分流算法;
具体的,从分流算法的集合中,为每一个聚合口制定最适合与该聚合口当前经过的流量的分流算法。
S409:将所述任一聚合口对应的分流算法下发至所述任一聚合口所在板卡的交换芯片;
具体的,在为聚合口确定出对应的分流算法之后,网络设备可以将分流算法下发至聚合口所在板卡的交换芯片,以由交换芯片为该聚合口提供确定出的分流算法。
在以上技术方案中,通过获取流定义的配置解析出流量的转发路径,根据转发路径确定流量经过的聚合口,将经过各个聚合口的流量的五元组信息集合匹配分流算法集合已确定适合各聚合口的分流算法。通过以上技术方案,可以为各个聚合口制定与当前经过各个聚合口的实际流量相匹配的分流算法,使得流量在多次分流时不会产生相互影响,避免流量分流不均导致造成聚合口的带宽不足而产生的丢包问题。
与上述方法实施例相对应,本申请还提供了装置的实施例。
与上述方法实施例相对应,本申请还提供了一种基于流定义的分流装置的实施例。本申请的基于流定义的分流装置的实施例可以应用在电子设备上。装置实施例可以通过软件实现,也可以通过硬件或者软硬件结合的方式实现。以软件实现为例,作为一个逻辑意义上的装置,是通过其所在电子设备的处理器将非易失性存储器中对应的计算机程序指令读取到内存中运行形成的。从硬件层面而言,如图5所示,为本申请一示例性实施例示出的一种的基于流定义的分流装置所在电子设备的硬件结构图,除了图5所示的处理器、内存、网络接口、以及非易失性存储器之外,实施例中装置所在的电子设备通常根据该电子设备的实际功能,还可以包括其他硬件,对此不再赘述。
请参见图6,图6是本申请一示例性实施例示出的一种基于流定义的分流装置的框图,如图6所示,所述基于流定义的分流装置600可以应用在前述图5所示的电子设备中,包括:
转发路径确定单元601,用于基于预设的流定义规则,确定流量在网络设备内部的转发路径;所述流定义规则包括所述流量在所述网络设备内部的转发策略;
聚合口确定单元602,用于根据所述转发路径确定所述流量经过的聚合口;
分流算法确定单元603,用于获取经过任一所述聚合口的流量的五元组信息集合,通过匹配所述分流算法的集合,确定出所述任一聚合口对应的分流算法。
其中,所述网络设备包括若干由多个端口虚拟成的聚合口,所述网络设备维护了包含若干分流算法的集合。
在一实施例中,所述网络设备还包括若干板卡;其中,所述板卡包括由多个所述板卡的多个内部端口虚拟成的聚合口;
进一步的,所述聚合口确定单元602:
根据所述转发路径,以及各板卡内部端口的互联信息,生成聚合转发图;其中,所述聚合转发图表征了所述流量在各个聚合口的转发情况;
根据所述聚合转发图确定所述流量经过的聚合口。
在一实施例中,所述分流算法集合包括所述网络设备的内部板卡搭载的交换芯片维护的分流算法。
在一实施例中,所述聚合口包括第一聚合口和第二聚合口;其中,所述第一聚合口包括对未被分流的流量进行分流的聚合口;所述第二聚合口包括对被分流后的部分流量进行分流的聚合口;
进一步的,所述分流算法确定单元603:
获取经过所述第一聚合口的未被分流的流量的五元组信息集合;以及,
获取经过所述第二聚合口的被分流的部分流量的五元组信息集合。
在一实施例中,所述分流算法确定单元603:
确定所述任一所述聚合口所在的板卡;所述板卡的CPU维护了会话列表,所述会话列表记录了经过所述板卡的流量的五元组信息;
基于所述会话列表获取经过所述任一聚合口的流量的五元组信息集合。
在一实施例中,装置600还包括:
下发单元604,用于将所述任一聚合口对应的分流算法下发至所述任一聚合口所在板卡的交换芯片。
在一实施例中,装置600还包括:
更新单元605,用于响应于所述流定义规则和/或所述流量的变化,重新确定所述任一聚合口对应的分流算法。
本申请中的各个实施例均采用递进的方式描述,各个实施例之间相同/相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于客户端设备实施例、装置实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
对于装置实施例而言,由于其基本对应于方法实施例,所以相关之处参见方法实施例的部分说明即可。以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理模块,即可以位于一个地方,或者也可以分布到多个网络模块上。可以根据实际的需要选择其中的部分或者全部模块来实现本申请方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
上述实施例阐明的系统、装置、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机,计算机的具体形式可以是个人计算机、膝上型计算机、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件收发设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任意几种设备的组合。
与上述方法实施例相对应,本说明书还提供了一种电子设备的实施例。该电子设备包括:处理器以及用于存储机器可执行指令的存储器;其中,处理器和存储器通常通过内部总线相互连接。在其他可能的实现方式中,所述设备还可能包括外部接口,以能够与其他设备或者部件进行通信。
在本实施例中,通过读取并执行所述存储器存储的与用户身份验证逻辑对应的机器可执行指令,所述处理器被促使:
基于预设的流定义规则,确定流量在网络设备内部的转发路径;所述流定义规则包括所述流量在所述网络设备内部的转发策略;
根据所述转发路径确定所述流量经过的聚合口;
获取经过任一所述聚合口的流量的五元组信息集合,通过匹配所述分流算法的集合,确定出所述任一聚合口对应的分流算法。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本申请的其它实施方案。本申请旨在涵盖本申请的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本申请的一般性原理并包括本申请未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本申请的真正范围和精神由下面的权利要求指出。
应当理解的是,本申请并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本申请的范围仅由所附的权利要求来限制。
以上所述仅为本申请的较佳实施例而已,并不用以限制本申请,凡在本申请的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本申请保护的范围之内。

Claims (10)

1.一种基于流定义的分流方法,应用于网络设备,所述网络设备包括若干由多个端口虚拟成的聚合口,所述网络设备维护了包含若干分流算法的集合;所述方法包括:
基于预设的流定义规则,确定流量在网络设备内部的转发路径;所述流定义规则包括所述流量在所述网络设备内部的转发策略;
根据所述转发路径确定所述流量经过的聚合口;
获取经过任一所述聚合口的流量的五元组信息集合,通过匹配所述分流算法的集合,确定出所述任一聚合口对应的分流算法。
2.根据权利要求1所述的方法,所述网络设备还包括若干板卡;其中,所述板卡包括由多个所述板卡的多个内部端口虚拟成的聚合口;
所述根据所述转发路径确定所述流量经过的聚合口,包括:
根据所述转发路径,以及各板卡内部端口的互联信息,生成聚合转发图;其中,所述聚合转发图表征了所述流量在各个聚合口的转发情况;
根据所述聚合转发图确定所述流量经过的聚合口。
3.根据权利要求2所述的方法,所述分流算法集合包括所述网络设备的内部板卡搭载的交换芯片维护的分流算法。
4.根据权利要求1所述的方法,所述聚合口包括第一聚合口和第二聚合口;其中,所述第一聚合口包括对未被分流的流量进行分流的聚合口;所述第二聚合口包括对被分流后的部分流量进行分流的聚合口;
所述获取经过任一所述聚合口的流量的五元组信息集合,包括:
获取经过所述第一聚合口的未被分流的流量的五元组信息集合;以及,
获取经过所述第二聚合口的被分流的部分流量的五元组信息集合。
5.根据权利要求2所述的方法,所述获取经过任一所述聚合口的流量的五元组信息集合,包括:
确定所述任一所述聚合口所在的板卡;所述板卡的CPU维护了会话列表,所述会话列表记录了经过所述板卡的流量的五元组信息;
基于所述会话列表获取经过所述任一聚合口的流量的五元组信息集合。
6.根据权利要求2所述的方法,所述方法还包括:
将所述任一聚合口对应的分流算法下发至所述任一聚合口所在板卡的交换芯片。
7.根据权利要求1所述的方法,所述方法还包括:
响应于所述流定义规则和/或所述流量的变化,重新确定所述任一聚合口对应的分流算法。
8.一种基于流定义的分流装置,应用于网络设备,所述网络设备包括若干由多个端口虚拟成的聚合口,所述网络设备维护了包含若干分流算法的集合;所述装置包括:
转发路径确定单元,基于预设的流定义规则,确定流量在网络设备内部的转发路径;所述流定义规则包括所述流量在所述网络设备内部的转发策略;
聚合口确定单元,根据所述转发路径确定所述流量经过的聚合口;
分流算法确定单元,获取经过任一所述聚合口的流量的五元组信息集合,通过匹配所述分流算法的集合,确定出所述任一聚合口对应的分流算法。
9.一种存储介质,其上存储有计算机指令,该指令被处理器执行时实现如权利要求1-7中任一项所述方法的步骤。
10.一种电子设备,包括:
处理器;
用于存储处理器可执行指令的存储器;
其中,所述处理器通过运行所述可执行指令以实现如权利要求1-7中任一项所述的方法。
CN202110886124.4A 2021-08-03 2021-08-03 一种基于流定义的分流方法及装置 Active CN113709053B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110886124.4A CN113709053B (zh) 2021-08-03 2021-08-03 一种基于流定义的分流方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110886124.4A CN113709053B (zh) 2021-08-03 2021-08-03 一种基于流定义的分流方法及装置

Publications (2)

Publication Number Publication Date
CN113709053A true CN113709053A (zh) 2021-11-26
CN113709053B CN113709053B (zh) 2023-05-26

Family

ID=78651356

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110886124.4A Active CN113709053B (zh) 2021-08-03 2021-08-03 一种基于流定义的分流方法及装置

Country Status (1)

Country Link
CN (1) CN113709053B (zh)

Citations (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100254409A1 (en) * 2009-04-01 2010-10-07 Fujitsu Network Communications, Inc. System and Method for Optimizing Network Bandwidth Usage
CN102065022A (zh) * 2011-02-17 2011-05-18 福建星网锐捷网络有限公司 一种聚合口流量平衡的方法、装置、聚合口及网络设备
CN102223308A (zh) * 2011-07-06 2011-10-19 北京航空航天大学 基于虚拟链路交换的网络区域流量压缩分发系统
CN103763210A (zh) * 2014-01-22 2014-04-30 杭州华三通信技术有限公司 一种基于链路聚合的流量负载分担方法和设备
US20140177447A1 (en) * 2012-12-21 2014-06-26 Dell Products L.P. System and Methods for Load Placement in Data Centers
US20150156127A1 (en) * 2013-12-03 2015-06-04 International Business Machines Corporation Autonomic Traffic Load Balancing in Link Aggregation Groups
CN105049367A (zh) * 2015-09-10 2015-11-11 北京星网锐捷网络技术有限公司 一种聚合链路的流量分配方法和接入设备
US9237100B1 (en) * 2008-08-06 2016-01-12 Marvell Israel (M.I.S.L.) Ltd. Hash computation for network switches
WO2016169177A1 (zh) * 2015-04-24 2016-10-27 中兴通讯股份有限公司 聚合端口报文转发方法及装置
US20170085467A1 (en) * 2015-09-23 2017-03-23 Extreme Networks, Inc. Methods, systems, and computer readable media for advanced distribution in a link aggregation group
CN107547366A (zh) * 2017-05-15 2018-01-05 新华三技术有限公司 一种报文转发方法和装置
CN112532542A (zh) * 2020-11-20 2021-03-19 锐捷网络股份有限公司 一种负载均衡模式的选择方法及装置
CN112565102A (zh) * 2020-11-30 2021-03-26 锐捷网络股份有限公司 一种负载均衡方法、装置、设备及介质
CN112737956A (zh) * 2019-10-28 2021-04-30 华为技术有限公司 报文的发送方法和第一网络设备
CN113132249A (zh) * 2019-12-31 2021-07-16 华为技术有限公司 一种负载均衡方法和设备

Patent Citations (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9237100B1 (en) * 2008-08-06 2016-01-12 Marvell Israel (M.I.S.L.) Ltd. Hash computation for network switches
US20100254409A1 (en) * 2009-04-01 2010-10-07 Fujitsu Network Communications, Inc. System and Method for Optimizing Network Bandwidth Usage
CN102065022A (zh) * 2011-02-17 2011-05-18 福建星网锐捷网络有限公司 一种聚合口流量平衡的方法、装置、聚合口及网络设备
CN102223308A (zh) * 2011-07-06 2011-10-19 北京航空航天大学 基于虚拟链路交换的网络区域流量压缩分发系统
US20140177447A1 (en) * 2012-12-21 2014-06-26 Dell Products L.P. System and Methods for Load Placement in Data Centers
US20150156127A1 (en) * 2013-12-03 2015-06-04 International Business Machines Corporation Autonomic Traffic Load Balancing in Link Aggregation Groups
CN103763210A (zh) * 2014-01-22 2014-04-30 杭州华三通信技术有限公司 一种基于链路聚合的流量负载分担方法和设备
WO2016169177A1 (zh) * 2015-04-24 2016-10-27 中兴通讯股份有限公司 聚合端口报文转发方法及装置
CN105049367A (zh) * 2015-09-10 2015-11-11 北京星网锐捷网络技术有限公司 一种聚合链路的流量分配方法和接入设备
US20170085467A1 (en) * 2015-09-23 2017-03-23 Extreme Networks, Inc. Methods, systems, and computer readable media for advanced distribution in a link aggregation group
CN107547366A (zh) * 2017-05-15 2018-01-05 新华三技术有限公司 一种报文转发方法和装置
CN112737956A (zh) * 2019-10-28 2021-04-30 华为技术有限公司 报文的发送方法和第一网络设备
CN113132249A (zh) * 2019-12-31 2021-07-16 华为技术有限公司 一种负载均衡方法和设备
CN112532542A (zh) * 2020-11-20 2021-03-19 锐捷网络股份有限公司 一种负载均衡模式的选择方法及装置
CN112565102A (zh) * 2020-11-30 2021-03-26 锐捷网络股份有限公司 一种负载均衡方法、装置、设备及介质

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
ABDUL KABBANI等: "Flier: Flow-level congestion-aware routing for direct-connect data centers", 《IEEE INFOCOM 2017 - IEEE CONFERENCE ON COMPUTER COMMUNICATIONS》 *
陈一骄等: "面向流管理的哈希算法研究", 《万方数据库》 *

Also Published As

Publication number Publication date
CN113709053B (zh) 2023-05-26

Similar Documents

Publication Publication Date Title
EP3069484B1 (en) Shortening of service paths in service chains in a communications network
US10728176B2 (en) Ruled-based network traffic interception and distribution scheme
US10938727B2 (en) Method and device for offloading processing of data flows
CN107819663B (zh) 一种实现虚拟网络功能服务链的方法和装置
US20190044888A1 (en) Methods and apparatus for providing services in a distributed switch
CN106878194B (zh) 一种报文处理方法和装置
US10659315B2 (en) Virtual network function (VNF) relocation in a software defined network (SDN)
US20130308647A1 (en) Virtual Local Area Network State Processing in a Layer 2 Ethernet Switch
US10341195B1 (en) Virtual network function (VNF) resource management in a software defined network (SDN)
EP2362589B1 (en) Priority and source aware packet memory reservation and flow control
CN110191064B (zh) 流量负载均衡方法、装置、设备、系统及存储介质
CN110784345B (zh) 网络流量处理方法、装置、电子设备及机器可读存储介质
Tanyingyong et al. Using hardware classification to improve pc-based openflow switching
CN108737217B (zh) 一种抓包方法及装置
US20210184975A1 (en) Distribution of network traffic to software defined network based probes
CN102307141B (zh) 报文转发方法和设备
US9379992B2 (en) Method and an apparatus for virtualization of a quality-of-service
CN112272145A (zh) 一种报文处理方法、装置、设备及机器可读存储介质
Fahmin et al. Performance modeling of SDN with NFV under or aside the controller
Wang et al. Low-latency service chaining with predefined NSH-based multipath across multiple datacenters
US20170085470A1 (en) Creating and Utilizing Customized Network Applications
US9374308B2 (en) Openflow switch mode transition processing
CN113709053A (zh) 一种基于流定义的分流方法及装置
CN113452564B (zh) 一种基于acl的故障诊断方法及装置
CN113452619A (zh) 一种基于acl的流量分流方法及装置

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
GR01 Patent grant
GR01 Patent grant