CN105939283B - 网络流量分流的方法及装置 - Google Patents
网络流量分流的方法及装置 Download PDFInfo
- Publication number
- CN105939283B CN105939283B CN201610152452.0A CN201610152452A CN105939283B CN 105939283 B CN105939283 B CN 105939283B CN 201610152452 A CN201610152452 A CN 201610152452A CN 105939283 B CN105939283 B CN 105939283B
- Authority
- CN
- China
- Prior art keywords
- active interface
- rate
- limit value
- interface
- active
- 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.)
- Active
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/215—Flow control; Congestion control using token-bucket
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本申请提供一种网络流量分流的方法及装置,所述方法包括:按照预设的分流算法,从聚合组中选择用于发送待发送的所述报文的第一活动接口,获取所述第一活动接口对应的速率标识;若根据所述速率标识确定所述第一活动接口的当前速率未达到所述第一活动接口的限值速率,则将所述报文从所述第一活动接口发出;若根据所述速率标识确定所述第一活动接口的当前速率已经达到所述第一活动接口的限值速率,则从其他速率标识表示活动接口的当前速率未达到所述活动接口的限值速率所对应的活动接口中,选择第二活动接口,将所述报文从所述第二活动接口发出。应用本申请实施例的方法,实现了充分利用聚合组中各活动接口的带宽资源,减少对带宽资源的浪费。
Description
技术领域
本申请涉及网络通信技术领域,尤其涉及网络流量分流的方法及装置。
背景技术
端口聚合技术可以将多个物理接口聚合在一起,以形成一个逻辑上的聚合组,可以将聚合组中的多个接口设置为活动接口,从而实现多个接口参与网络流量的转发,增加了带宽;且提高了转发网络流量时的可靠性,例如,当聚合组中的一个活动接口所对应的链路出现故障时,仍可以通过其它活动接口转发网络流量。现有技术中,可以采用优先级模式实现端口聚合,在优先级模式下,被划分到一个聚合组中的各个接口具有不同的速率。
在优先级模式下,当通过聚合组发送报文时,可以根据该报文的报文特征,例如:源MAC地址、目的MAC地址、源IP地址以及目的IP地址,进行哈希计算,根据计算得出的哈希值,从聚合组中选择一个活动接口作为出接口,以转发该报文。通过这种方式,可以保证网络流量都均分到聚合组中每一个活动接口上,从而实现多条链路传输网络流量。然而,在优先级模式下,采用上述方式转发网络流量,很有可能严重浪费接口的带宽,例如,若聚合组中包括一个速率为万兆级的活动接口和一个速率为千兆级的活动接口,由于网络流量被均分到聚合组中的每个活动接口上,那么,该速率为万兆级的活动接口所能转发的网络流量的大小,将与速率为千兆级的活动接口所能转发的网络流量的大小相同,从而造成了带宽资源的严重浪费。
发明内容
有鉴于此,本申请提供一种网络流量分流的方法及装置,以实现充分利用聚合组中各活动接口的带宽资源,减少对带宽资源的浪费。
具体地,本申请是通过如下技术方案实现的:
根据本申请实施例的第一方面,提供一种网络流量分流的方法,所述方法用于将报文通过聚合组进行发送,所述聚合组中包括多个活动接口,各个活动接口的限值速率不同,所述方法包括:
按照预设的分流算法,从所述聚合组中选择用于发送待发送的所述报文的第一活动接口,获取所述第一活动接口对应的速率标识,所述速率标识用于表示活动接口的当前速率是否达到所述活动接口的限值速率;
若根据所述速率标识确定所述第一活动接口的当前速率未达到所述第一活动接口的限值速率,则将所述报文从所述第一活动接口发出;若根据所述速率标识确定所述第一活动接口的当前速率已经达到所述第一活动接口的限值速率,则从其他速率标识表示活动接口的当前速率未达到所述活动接口的限值速率所对应的活动接口中,选择第二活动接口,将所述报文从所述第二活动接口发出。
在一个实施例中,所述方法还包括:
为所述聚合组中的每个活动接口设置一个令牌桶,并设置所述令牌桶的填充速率为所对应的活动接口的限值速率,以根据所述令牌桶测量对应的活动接口的当前速率是否达到所述活动接口的限值速率;
若所述活动接口的当前速率小于所述活动接口的限值速率,则将与所述活动接口对应的令牌桶的所述速率标识设置为第一标识,所述第一标识用于表示活动接口的当前速率未达到所述活动接口的限值速率;
若所述活动接口的当前速率达到所述活动接口的限值速率,则将与所述活动接口对应的令牌桶的所述速率标识设置为第二标识,所述第二标识用于表示活动接口的当前速率已达到所述活动接口的限值速率。
在另一个实施例中,所述方法还包括:
将所述聚合组中,限值速率相同的活动接口划分至一个等速率组,并将所述聚合组中的各个等速率组按照限值速率从大到小的顺序进行排序;
所述从其他速率标识表示活动接口的当前速率未达到所述活动接口的限值速率所对应的活动接口中,选择第二活动接口,包括:
遍历已排序的各个等速率组,当所遍历到的等速率组中活动接口的限值速率大于所述第一活动接口的限值速率,且所述活动接口所对应的令牌桶的速率标识表示活动接口的当前速率未达到所述活动接口的限值速率时,从所述遍历到的等速率组中选择一个活动接口作为所述第二活动接口。
在又一个实施例中,所述方法还包括:
保存所述从聚合组中选择用于发送待发送的所述报文的第一活动接口时,根据所述报文的报文特征进行哈希计算所得出的第一哈希值;
所述从所述遍历到的等速率组中选择一个活动接口作为所述第二活动接口,包括:
根据所述第一哈希值与所述报文的报文特征,进行哈希计算得出第二哈希值,根据所述第二哈希值从所述遍历到的等速率组中选择一个活动接口作为所述第二活动接口。
在又一个实施例中,所述遍历到的等速率组中活动接口的限值速率大于所述第一活动接口的限值速率,且所述活动接口所对应的令牌桶的速率标识表示活动接口的当前速率未达到所述活动接口的限值速率,包括:
查看所遍历到的等速率组中的首接口的限值速率、以及所述首接口对应的令牌桶的速率标识;
确定所述首接口的限值速率大于所述第一活动接口的限值速率,且所述首接口对应的令牌桶的速率标识表示活动接口的当前速率未达到所述活动接口的限值速率。
根据本申请实施例的第二方面,提供一种网络流量分流的装置,所述装置用于将报文通过聚合组进行发送,所述聚合组中包括多个活动接口,各个活动接口的限值速率不同,所述装置包括:
获取单元,用于按照预设的分流算法,从所述聚合组中选择用于发送待发送的所述报文的第一活动接口,获取所述第一活动接口对应的速率标识,所述速率标识用于表示活动接口的当前速率是否达到所述活动接口的限值速率;
处理单元,用于在根据所述速率标识确定所述第一活动接口的当前速率未达到所述第一活动接口的限值速率时,则将所述报文从所述第一活动接口发出;在根据所述速率标识确定所述第一活动接口的当前速率已经达到所述第一活动接口的限值速率时,则从其他速率标识表示活动接口的当前速率未达到所述活动接口的限值速率所对应的活动接口中,选择第二活动接口,将所述报文从所述第二活动接口发出。
在一个实施例中,所述装置还包括:
预设置单元,用于为所述聚合组中的每个活动接口设置一个令牌桶,并设置所述令牌桶的填充速率为所对应的活动接口的限值速率,以根据所述令牌桶测量对应的活动接口的当前速率是否达到所述活动接口的限值速率;
标识单元,用于在所述活动接口的当前速率小于所述活动接口的限值速率时,则将与所述活动接口对应的令牌桶的所述速率标识设置为第一标识,所述第一标识用于表示活动接口的当前速率未达到所述活动接口的限值速率;
在所述活动接口的当前速率达到所述活动接口的限值速率时,则将与所述活动接口对应的令牌桶的所述速率标识设置为第二标识,所述第二标识用于表示活动接口的当前速率已达到所述活动接口的限值速率。
在另一个实施例中,所述装置还包括:
排序单元,用于将所述聚合组中,限值速率相同的活动接口划分至一个等速率组,并将所述聚合组中的各个等速率组按照限值速率从大到小的顺序进行排序;
所述处理单元,包括:
遍历子单元,用于在从其他速率标识表示活动接口的当前速率未达到所述活动接口的限值速率所对应的活动接口中,选择第二活动接口时,遍历已排序的各个等速率组,当所遍历到的等速率组中活动接口的限值速率大于所述第一活动接口的限值速率,且所述活动接口所对应的令牌桶的速率标识表示活动接口的当前速率未达到所述活动接口的限值速率时,从所述遍历到的等速率组中选择一个活动接口作为所述第二活动接口。
在又一个实施例中,所述装置还包括:
保存单元,用于保存所述从聚合组中选择用于发送待发送的所述报文的第一活动接口时,根据所述报文的报文特征进行哈希计算所得出的第一哈希值;
所述处理单元,包括:
选择子单元,用于根据所述第一哈希值与所述报文的报文特征,进行哈希计算得出第二哈希值,根据所述第二哈希值从所述遍历到的等速率组中选择一个活动接口作为所述第二活动接口。
在又一个实施例中,所述遍历子单元,包括:
查看子单元,用于查看所遍历到的等速率组中的首接口的限值速率、以及所述首接口对应的令牌桶的速率标识;
确定子单元,用于确定所述首接口的限值速率大于所述第一活动接口的限值速率,且所述首接口对应的令牌桶的速率标识表示活动接口的当前速率未达到所述活动接口的限值速率。
应用本实施例的方法,当在发送报文时,若所选择的用于发送该报文的第一活动接口的速率标识,表示该第一活动接口的当前速率已达到该第一活动接口的限值速率时,可以重新从其他速率标识表示活动接口的当前速率未达到该活动接口的限值速率所对应的活动接口中,选择一个可以用于发送该报文的第二活动接口,最终使用该第二活动接口发送该报文。从而使得当前速率未达到限值速率的活动接口可以继续用来发送待发送的报文,使得聚合组中活动接口的带宽资源得到充分利用,减少了带宽资源的浪费。
附图说明
图1示例了本申请实施例实现网络流量分流的方法的应用场景示意图。
图2示例了本申请网络流量分流的方法的一个实施例流程图。
图3示例了本申请测量聚合组中活动接口当前速率是否达到限值速率的方法的一个实施例流程图。
图4示例了本申请网络流量分流的方法的另一个实施例流程图。
图5为本申请网络流量分流的装置所在网络设备的一种硬件结构图。
图6为本申请网络流量分流的装置的一个实施例框图。
图7为本申请网络流量分流的装置的另一个实施例框图
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。
在本申请使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本申请。在本申请和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
应当理解,尽管在本申请可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本申请范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。
端口聚合是指将多个物理接口聚合在一起形成一个聚合组,以实现增加链路带宽的目的,同时,也有效地提高了链路的可靠性。聚合组中的接口可以具有两种状态,一种是选中状态,该状态下的接口可以参与网络流量的转发,可以将处于该状态的接口称为“活动接口”;另一种是非选中状态,该状态下的接口不能参与网络流量的转发,可以将处于该状态的接口称为“非活动接口”。聚合组中“活动接口”与“非活动接口”的数量并没有限制,例如,将聚合组中的所有接口均设置为活动接口。
为了实现端口聚合,可以采取优先级模式,具体地,在优先级模式下,网络设备,例如交换机可以将操作Key相同的接口划分到同一个聚合组中,其中,操作Key是用于表征接口聚合能力的一个数值,它可以是由网络设备根据接口的信息(例如,速率、双工模式等)进行计算生成的,也可以是由用户手动配置的。在优先级模式下,聚合组中的活动接口可以具有不同的限值速率,即最大速率。
当网络设备使用聚合组发送报文时,可以根据待发送的报文的报文特征(例如,报文的源MAC地址、目的MAC地址、源IP地址、目的IP地址)进行哈希计算,得出哈希值,根据该哈希值,从该聚合组中选择一个活动接口用于发送该报文,例如,网络设备中保存有哈希索引表,该哈希索引表中可以包括哈希值和活动接口的对应关系,计算得出哈希值后,即可以选择该哈希值所对应的活动接口,使用该活动接口发送报文。
通过上述为待发送的报文选择用于发送该报文的活动接口的方式,可以使得网络流量被均分到聚合组中的每个活动接口上。然而,由上述描述可知,优先级模式下,聚合组中活动接口的限值速率可以不相同,例如,其中一个活动接口的限值速率为1万兆/秒,另一个活动接口的限值速率为1千兆/秒,由于网络流量可以被均分到每个活动接口上,那么,1秒内,该限值速率为1万兆/秒的活动接口所能发送的网络流量的大小也将最大为1千兆,从而导致了接口带宽资源的严重浪费。
为了实现充分利用聚合组中各活动接口的带宽资源,减少对带宽资源的浪费,本申请提出了网络流量分流的方法及装置。如下的图1,示例了本申请实施例实现网络流量分流的方法的应用场景示意图。
图1中包括,网络设备11、网络设备12、以及多个终端(如图1中所示的终端13至终端16)。其中,网络设备11与网络设备12之间具有四条链路,分别为链路A、链路B、链路C、链路D,该四条链路与网络设备11相连的接口分别为网络设备11的接口1、接口2、接口3、接口4,并假设该4个接口的限值速率依次为100兆/秒、1000兆/秒、10000兆/秒、10000兆/秒。假设网络设备11的接口1至接口4属于同一聚合组,且均被设置为活动接口。
网络设备11在向网络设备12发送报文时,可以执行本申请网络流量分流的方法,从聚合组中选择一个活动接口用于发送待发送的报文,以实现充分利用聚合组中各活动接口的带宽资源,减少对带宽资源的浪费。网络设备11向网络设备12发送的报文可以是其他终端(如图1所示的终端13、终端14)向网络设备12发送的,也可以是其他终端(如图1所示的终端13、终端14)向另外的其他终端(如图1所示的终端15、终端16)发送的。例如,终端13向网络设备12发送报文,该报文先传输至网络设备11,再由网络设备11将该报文发送至网络设备12;又例如,终端13向终端14发送报文,该报文先传输至网络设备11,再由网络设备11将该报文发送至网络设备12,最终由网络设备12发送至终端14。当然,该报文也可以是由网络设备11直接发送至网络设备12的。
可以理解的是,图1所示的应用场景图中,仅以网络设备11和网络设备12分别相连2个终端为例,实际应用中,网络组网可以更为复杂,可以有更多的终端分别与网络设备11和网络设备12相连,本申请对此不做限制;另外,图1中所示的终端仅以电脑为例进行说明,实际应用中的终端可以是手机、平板电脑等其他具备网络资源传输功能的终端。
如下的图2,示例了本申请网络流量分流的方法的一个实施例流程图,该图2所示的实施例流程图以上述图1所示的应用场景示意图为基础,以网络设备11执行该方法为例,可以包括以下步骤:
步骤S201:按照预设的分流算法,从所述聚合组中选择用于发送待发送的报文的第一活动接口,获取所述第一活动接口对应的速率标识,所述速率标识用于表示活动接口的当前速率是否达到所述活动接口的限值速率。
本申请实施例中,聚合组中的各个活动接口可以分别对应一个速率标识,例如,网络设备11的聚合组中的接口1至接口4,分别对应一个速率标识,该速率标识用于表示其对应的活动接口的当前速率是否已达到该活动接口的限值速率。
网络设备11在发送报文时,可以按照预设的分流算法,例如,根据待发送报文的报文特征(例如报文的源MAC地址、目的MAC地址、源IP地址、目的IP地址)进行哈希计算,得出哈希值,根据该哈希值从该聚合组中选择一个活动接口,例如,接口1,可以将该接口1作为所述第一活动接口,并获取该第一活动接口对应的速率标识。
步骤S202:若根据所述速率标识确定所述第一活动接口的当前速率未达到所述第一活动接口的限值速率,则将所述报文从所述第一活动接口发出;若根据所述速率标识确定所述第一活动接口的当前速率已达到所述第一活动接口的限值速率,则从其他速率标识表示活动接口的当前速率未达到所述活动接口的限值速率所对应的活动接口中,选择第二活动接口,将所述报文从所述第二活动接口发出。
若在步骤S201中所获取到的速率标识表示其所对应的第一活动接口的当前速率未达到该第一活动接口的限值速率,可以说明该第一活动接口还可以用于继续发送更多的网络流量,则本步骤中,可以直接通过该第一活动接口将待发送的报文发出。
若在步骤S201中所获取到的速率标识表示其所对应的第一活动接口的当前速率已达到该第一活动接口的限值速率,可以说明该第一活动接口已不能用于发送更多的网络流量,则本步骤中,可以从其他可以继续用于发送报文的活动接口中,即速率标识表示为活动接口的当前速率未达到该活动接口的限值速率所对应的活动接口中,重新选择一个活动接口,将该重新选择的活动接口作为第二活动接口,使用该第二活动接口发送待发送的报文。
应用本实施例的方法,当在发送报文时,若所选择的用于发送该报文的第一活动接口的速率标识,表示该第一活动接口的当前速率已达到该第一活动接口的限值速率时,可以重新从其他速率标识表示活动接口的当前速率未达到该活动接口的限值速率所对应的活动接口中,选择一个可以用于发送该报文的第二活动接口,最终使用该第二活动接口发送该报文。从而使得当前速率未达到限值速率的活动接口可以继续用于发送待发送的报文,使得聚合组中活动接口的带宽资源得到充分利用,减少了带宽资源的浪费。
由图2所示实施例的描述可知,聚合组中的每个活动接口可以对应一个速率标识,为了使得该速率标识可以准确表示其所对应的活动接口的当前速率是否已达到该活动接口的限值速率,可以实时测量每个活动接口的当前速率,并将所测量得到的当前速率与活动接口的限值速率进行比较,根据该比较结果为活动接口设置速率标识。
在本申请的一个可选的实现方式中,可以使用令牌桶技术对活动接口的当前速率进行测量。如下的图3,示例了本申请测量聚合组中活动接口当前速率是否达到限值速率的方法的一个实施例流程图,可以包括以下步骤:
步骤S301:为聚合组中的每个活动接口设置一个令牌桶,并设置所述令牌桶的填充速率为所对应的活动接口的限值速率,以根据所述令牌桶测量对应的活动接口的当前速率是否达到所述活动接口的限值速率。
本申请实施例中,可以为聚合组中的每个活动接口,例如,网络设备11的接口1至接口4设置一个对应的令牌桶,以使用令牌桶测量其所对应的活动接口的当前速率是否达到该活动接口的限值速率。
具体地,可以将令牌桶的填充速率设置为其所对应的活动接口的限值速率,从而实现以该限值速率向令牌桶中填充令牌,根据令牌桶中令牌的余量可以判断活动接口的当前速率是否达到该活动接口的限值速率。例如,当令牌桶中没有剩余令牌时,可以确定该令牌桶所对应的活动接口的当前速率已达到该活动接口的限值速率。
步骤S302:若所述活动接口的当前速率小于所述活动接口的限值速率,则将与所述活动接口对应的令牌桶的所述速率标识设置为第一标识,所述第一标识用于表示活动接口的当前速率未达到所述活动接口的限值速率;
若所述活动接口的当前速率达到所述活动接口的限值速率,则将与所述活动接口对应的令牌桶的所述速率标识设置为第二标识,所述第二标识用于表示活动接口的当前速率已达到所述活动接口的限值速率。
本申请实施例中,可以根据令牌桶的测量结果,设置令牌桶的速率标识,根据测量结果不同,可以将令牌桶的速率标识设置成不同标识。例如,若测量得出活动接口的当前速率小于该活动接口的限值速率,则可以将与该活动接口对应的令牌桶的速率标识设置为第一标识,例如,将速率标识设置为绿色;若测量得出活动接口的当前速率达到了该活动接口的限值速率,则可以将与该活动接口对应的令牌桶的速率标识设置为第二标识,例如,将速率标识设置为红色。
应用本实施例的方法,由于可以为聚合组中的每个活动接口设置一个令牌桶,并将令牌桶的填充速率设置为其所对应的活动接口的限值速率,从而可以通过令牌桶测量其所对应的活动接口的当前速率是否达到了该活动接口的限值速率;并通过测量结果,为活动接口设置速率标识,从而使得网络设备可以根据活动接口的速率标识,直接确定得出所选择的用于发送报文的活动接口的当前速率是否达到了该活动接口的限值速率。
如下的图4,示例了本申请网络流量分流的方法的另一个实施例流程图,该图4所示的实施例在上述图2和图3所示实施例的基础上,着重描述了,当为待发送的报文选择的第一活动接口已不能用于发送更多的网络流量时,网络设备11如何为该待发送的报文选择一个可以用于发送该报文的第二活动接口,该实施例可以包括以下步骤:
步骤S401:将所述聚合组中,限值速率相同的活动接口划分至一个等速率组,并将所述聚合组中的各个等速率组按照限值速率从大到小的顺序进行排序。
由以上描述可知,聚合组中活动接口的限值速率可以不同。本实施例中,将聚合组中限值速率相同的活动接口划分至一个等速率组,即一个等速率组中,各个活动接口的限值速率都相同。例如,网络设备11可以将接口1至接口4划分为3个等速率组,并将该3个等速率组按照限值速率从大到小的顺序进行排序,则排序之后的等速率组依次为“接口3、接口4”,“接口2”,“接口1”。其中,若有两个及以上限值速率相同的活动接口,这些活动接口在所划分的等速率组中的排列顺序可以不受限制,例如,是随机排列的。可以将等速率组中排在首位的活动接口称为该等速率组的首接口,例如等速率组“接口3、接口4”中,接口3为该等速率组的首接口。
另外,在对等速率组按照限值速率进行排序时,也可以采用限值速率从小到大的顺序进行排序,在本实施中,采用限值速率从大到小的顺序进行排序,可以提高网络设备11的效率,具体原因可以参见下述描述,在此先不作详述。
步骤S402:按照预设的分流算法,从所述聚合组中选择用于发送待发送的报文的第一活动接口,获取所述第一活动接口所对应的令牌桶的速率标识,并保存根据所述报文的报文特征进行哈希计算所得出的第一哈希值。
在本实施例中,网络设备11在发送报文时,可以根据该报文的报文特征(例如,报文的源MAC地址、目的MAC地址、源IP地址、目的IP地址)进行哈希计算,得出哈希值,并保存该哈希值,为了描述方便,将该哈希值称为第一哈希值,在本步骤中,网络设备11保存第一次根据报文特征进行哈希计算所得出的第一哈希值,可以提高网络设备11的效率,具体原因可以参见下述描述,在此先不作详述。
网络设备11可以根据该第一哈希值,从聚合组中选择一个活动接口作为所述第一活动接口,并获取该第一活动接口所对应的令牌桶的速率标识。
步骤S403:若所述速率标识为第二标识,则遍历已排序的各个等速率组,当所遍历到的等速率组中活动接口的限值速率大于所述第一活动接口的限值速率,且所述活动接口所对应的令牌桶的速率标识为第一标识时,停止遍历等速率组。
若在步骤S402中所获取到的速率标识为第二标识,即可以确定所选择的第一活动接口的当前速率已达到该第一活动接口的限值速率。此时,网络设备11可以开始遍历已排序的各个等速率组。
由于采用哈希算法,可以使网络流量被均分到聚合组中的各个活动接口上,因此,若第一活动接口,例如,接口2的当前速率已达到该接口2的限值速率1000兆/秒,则可以确定其他限值速率小于1000兆/秒的活动接口,例如,接口1的当前速率也早已达到该接口1的限值速率。因此,当遍历到的等速率组中活动接口的限值速率大于第一活动接口的限值速率,且遍历到的等速率组中活动接口所对应的令牌桶的速率标识为第一标识时,才可以确定该等速率组中的活动接口可以用于发送待发送的报文,此时,可以停止遍历等速率组。
步骤S404:根据所述第一哈希值与所述报文的报文特征,进行哈希计算得出第二哈希值,根据所述第二哈希值从所述遍历到的等速率组中选择一个活动接口作为第二活动接口。
本实施例中,从所遍历到的等速率组中选择可以用于发送报文的第二活动接口时,可以根据步骤S402中所保存的第一哈希值,以及步骤S402中进行哈希计算所用到的报文特征,再次进行哈希计算,得出哈希值,为了描述方便,将该哈希值称为第二哈希值,从而根据该第二哈希值从所遍历到的等速率组中确定用于发送报文的第二活动接口。
由于本步骤进行哈希计算时,可以直接使用步骤S402中预先保存的第一哈希值,从而可以不用再重复根据待发送报文的报文特征,计算得出第一哈希值,简化了计算流程,从而提高了网络设备的效率。
由以上描述可知,网络设备11所选择的用于发送报文的第二活动接口的限值速率大于首次选择的第一活动接口的限值速率,则在上述步骤S402中,将等速率组按照限值速率从大到小的顺序进行排序,可以减少步骤S403中,网络设备11遍历等速率组的时间,从而可以提高网络设备11选择用于发送报文的第二活动接口的效率。
此外,由于采用哈希算法,可以使网络流量被均分到聚合组中的各个活动接口上,那么,同一等速率组中的所有活动接口的当前速率可以相同,又因为同一等速率组中的所有活动接口具有相同的限值速率,那么,同一等速率组中的所有活动接口可以有相同的速率标识。网络设备11在遍历等速率组时,则可以查看遍历到的等速率组的首接口的限值速率,以及速率标识,从而根据该首接口的限值速率和速率标识,即可以确定是否可以在该等速率组中选择第二活动接口,从而提高了网络设备11选择用于发送报文的第二活动接口的效率。
步骤S405:将所述报文从所述第二接口发出。
应用本实施例的方法,网络设备可以将聚合组中的活动接口划分为等速率组,并将等速率组按照从大到小的顺序进行排序,从而在选择用于发送报文的第二活动接口时,可以通过遍历已排序的等速率组,确定等速率组中的活动接口的限值速率大于第一活动接口的限值速率,且等速率组中的活动接口的速率标识表示活动接口的当前速率未达到活动接口的限值速率时,即可以从该等速率组中选择出用于发送待发送报文的第二活动接口,使用该第二活动接口发送该报文,从而使得当前速率未达到限值速率的活动接口可以继续用于发送待发送的报文,使得聚合组中活动接口的带宽资源得到充分利用,减少了带宽资源的浪费。
与前述网络流量分流的方法的实施例相对应,本申请还提供了网络流量分流的装置的实施例。
本申请网络流量分流的装置的实施例可以应用在网络设备,例如交换机上,本申请对此不做限制。装置实施例可以通过软件实现,也可以通过硬件或者软硬件结合的方式实现。以软件实现为例,作为一个逻辑意义上的装置,是通过其所在网络设备的处理器将非易失性存储器中对应的计算机程序指令读取到内存中运行形成的。从硬件层面而言,如图5所示,为本申请网络流量分流的装置所在网络设备的一种硬件结构图,除了图5所示的处理器51、内存52、网络接口53、以及非易失性存储器54之外,实施例中装置所在的网络设备通常根据该网络设备的实际功能,还可以包括其他硬件,对此不再赘述。
请参考图6,为本申请网络流量分流的装置的一个实施例框图,该装置用于将报文通过聚合组进行发送,该聚合组中可以包括多个活动接口,各个活动接口的限值速率不同,该装置可以包括:获取单元61、处理单元62。
其中,该获取单元61,可以用于按照预设的分流算法,从所述聚合组中选择用于发送待发送的所述报文的第一活动接口,获取所述第一活动接口对应的速率标识,所述速率标识用于表示活动接口的当前速率是否达到所述活动接口的限值速率;
该处理单元62,可以用于在根据所述速率标识确定所述第一活动接口的当前速率未达到所述第一活动接口的限值速率时,则将所述报文从所述第一活动接口发出;在根据所述速率标识确定所述第一活动接口的当前速率已经达到所述第一活动接口的限值速率时,则从其他速率标识表示活动接口的当前速率未达到所述活动接口的限值速率所对应的活动接口中,选择第二活动接口,将所述报文从所述第二活动接口发出。
请参考图7,为本申请网络流量分流的装置的另一个实施例框图,该图7所示的装置,在上述图6所示装置的基础上,该装置还可以包括:预设置单元63、标识单元64。
其中,该预设置单元63,可以用于为所述聚合组中的每个活动接口设置一个令牌桶,并设置所述令牌桶的填充速率为所对应的活动接口的限值速率,以根据所述令牌桶测量对应的活动接口的当前速率是否达到所述活动接口的限值速率;
该标识单元64,可以用于在所述活动接口的当前速率小于所述活动接口的限值速率时,则将与所述活动接口对应的令牌桶的所述速率标识设置为第一标识,所述第一标识用于表示活动接口的当前速率未达到所述活动接口的限值速率;
在所述活动接口的当前速率达到所述活动接口的限值速率时,则将与所述活动接口对应的令牌桶的所述速率标识设置为第二标识,所述第二标识用于表示活动接口的当前速率已达到所述活动接口的限值速率。
在一个实施例中,该装置还可以包括:排序单元65。
该排序单元65,可以用于将所述聚合组中,限值速率相同的活动接口划分至一个等速率组,并将所述聚合组中的各个等速率组按照限值速率从大到小的顺序进行排序;
该处理单元62,可以包括:遍历子单元621。
该遍历子单元621,可以用于在从其他速率标识表示活动接口的当前速率未达到所述活动接口的限值速率所对应的活动接口中,选择第二活动接口时,遍历已排序的各个等速率组,当所遍历到的等速率组中活动接口的限值速率大于所述第一活动接口的限值速率,且所述活动接口所对应的令牌桶的速率标识表示活动接口的当前速率未达到所述活动接口的限值速率时,从所述遍历到的等速率组中选择一个活动接口作为所述第二活动接口。
该装置还可以包括:保存单元66。
该保存单元66,可以用于保存所述从聚合组中选择用于发送待发送的所述报文的第一活动接口时,根据所述报文的报文特征进行哈希计算所得出的第一哈希值;
该处理单元62,可以包括:选择子单元622。
该选择子单元622,可以用于根据所述第一哈希值与所述报文的报文特征,进行哈希计算得出第二哈希值,根据所述第二哈希值从所述遍历到的等速率组中选择一个活动接口作为所述第二活动接口。
该遍历子单元621,可以包括:查看子单元6211,确定子单元6212。
其中,该查看子单元6211,可以用于查看所遍历到的等速率组中的首接口的限值速率、以及所述首接口对应的令牌桶的速率标识;
该确定子单元6212,可以用于确定所述首接口的限值速率大于所述第一活动接口的限值速率,且所述首接口对应的令牌桶的速率标识表示活动接口的当前速率未达到所述活动接口的限值速率。
上述装置中各个单元的功能和作用的实现过程具体详见上述方法中对应步骤的实现过程,在此不再赘述。
对于装置实施例而言,由于其基本对应于方法实施例,所以相关之处参见方法实施例的部分说明即可。以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本申请方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
以上所述仅为本申请的较佳实施例而已,并不用以限制本申请,凡在本申请的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本申请保护的范围之内。
Claims (8)
1.一种网络流量分流的方法,其特征在于,所述方法用于将报文通过聚合组进行发送,所述聚合组中包括多个活动接口,各个活动接口的限值速率不同,所述方法包括:
按照预设的分流算法,从所述聚合组中选择用于发送待发送的所述报文的第一活动接口,获取所述第一活动接口对应的速率标识,所述速率标识用于表示活动接口的当前速率是否达到所述活动接口的限值速率;
若根据所述速率标识确定所述第一活动接口的当前速率未达到所述第一活动接口的限值速率,则将所述报文从所述第一活动接口发出;若根据所述速率标识确定所述第一活动接口的当前速率已经达到所述第一活动接口的限值速率,则从其他速率标识表示活动接口的当前速率未达到所述活动接口的限值速率所对应的活动接口中,选择第二活动接口,将所述报文从所述第二活动接口发出;
其中,为所述聚合组中的每个活动接口设置一个令牌桶,并设置所述令牌桶的填充速率为所对应的活动接口的限值速率,以根据所述令牌桶测量对应的活动接口的当前速率是否达到所述活动接口的限值速率;
若所述活动接口的当前速率小于所述活动接口的限值速率,则将与所述活动接口对应的令牌桶的所述速率标识设置为第一标识,所述第一标识用于表示活动接口的当前速率未达到所述活动接口的限值速率;
若所述活动接口的当前速率达到所述活动接口的限值速率,则将与所述活动接口对应的令牌桶的所述速率标识设置为第二标识,所述第二标识用于表示活动接口的当前速率已达到所述活动接口的限值速率。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
将所述聚合组中,限值速率相同的活动接口划分至一个等速率组,并将所述聚合组中的各个等速率组按照限值速率从大到小的顺序进行排序;
所述从其他速率标识表示活动接口的当前速率未达到所述活动接口的限值速率所对应的活动接口中,选择第二活动接口,包括:
遍历已排序的各个等速率组,当所遍历到的等速率组中活动接口的限值速率大于所述第一活动接口的限值速率,且所述活动接口所对应的令牌桶的速率标识表示活动接口的当前速率未达到所述活动接口的限值速率时,从所述遍历到的等速率组中选择一个活动接口作为所述第二活动接口。
3.根据权利要求2所述的方法,其特征在于,所述方法还包括:
保存所述从聚合组中选择用于发送待发送的所述报文的第一活动接口时,根据所述报文的报文特征进行哈希计算所得出的第一哈希值;
所述从所述遍历到的等速率组中选择一个活动接口作为所述第二活动接口,包括:
根据所述第一哈希值与所述报文的报文特征,进行哈希计算得出第二哈希值,根据所述第二哈希值从所述遍历到的等速率组中选择一个活动接口作为所述第二活动接口。
4.根据权利要求2所述的方法,其特征在于,所述遍历到的等速率组中活动接口的限值速率大于所述第一活动接口的限值速率,且所述活动接口所对应的令牌桶的速率标识表示活动接口的当前速率未达到所述活动接口的限值速率,包括:
查看所遍历到的等速率组中的首接口的限值速率、以及所述首接口对应的令牌桶的速率标识;
确定所述首接口的限值速率大于所述第一活动接口的限值速率,且所述首接口对应的令牌桶的速率标识表示活动接口的当前速率未达到所述活动接口的限值速率。
5.一种网络流量分流的装置,其特征在于,所述装置用于将报文通过聚合组进行发送,所述聚合组中包括多个活动接口,各个活动接口的限值速率不同,所述装置包括:
获取单元,用于按照预设的分流算法,从所述聚合组中选择用于发送待发送的所述报文的第一活动接口,获取所述第一活动接口对应的速率标识,所述速率标识用于表示活动接口的当前速率是否达到所述活动接口的限值速率;
处理单元,用于在根据所述速率标识确定所述第一活动接口的当前速率未达到所述第一活动接口的限值速率时,则将所述报文从所述第一活动接口发出;在根据所述速率标识确定所述第一活动接口的当前速率已经达到所述第一活动接口的限值速率时,则从其他速率标识表示活动接口的当前速率未达到所述活动接口的限值速率所对应的活动接口中,选择第二活动接口,将所述报文从所述第二活动接口发出;
预设置单元,用于为所述聚合组中的每个活动接口设置一个令牌桶,并设置所述令牌桶的填充速率为所对应的活动接口的限值速率,以根据所述令牌桶测量对应的活动接口的当前速率是否达到所述活动接口的限值速率;
标识单元,用于在所述活动接口的当前速率小于所述活动接口的限值速率时,则将与所述活动接口对应的令牌桶的所述速率标识设置为第一标识,所述第一标识用于表示活动接口的当前速率未达到所述活动接口的限值速率;
在所述活动接口的当前速率达到所述活动接口的限值速率时,则将与所述活动接口对应的令牌桶的所述速率标识设置为第二标识,所述第二标识用于表示活动接口的当前速率已达到所述活动接口的限值速率。
6.根据权利要求5所述的装置,其特征在于,所述装置还包括:
排序单元,用于将所述聚合组中,限值速率相同的活动接口划分至一个等速率组,并将所述聚合组中的各个等速率组按照限值速率从大到小的顺序进行排序;
所述处理单元,包括:
遍历子单元,用于在从其他速率标识表示活动接口的当前速率未达到所述活动接口的限值速率所对应的活动接口中,选择第二活动接口时,遍历已排序的各个等速率组,当所遍历到的等速率组中活动接口的限值速率大于所述第一活动接口的限值速率,且所述活动接口所对应的令牌桶的速率标识表示活动接口的当前速率未达到所述活动接口的限值速率时,从所述遍历到的等速率组中选择一个活动接口作为所述第二活动接口。
7.根据权利要求6所述的装置,其特征在于,所述装置还包括:
保存单元,用于保存所述从聚合组中选择用于发送待发送的所述报文的第一活动接口时,根据所述报文的报文特征进行哈希计算所得出的第一哈希值;
所述处理单元,包括:
选择子单元,用于根据所述第一哈希值与所述报文的报文特征,进行哈希计算得出第二哈希值,根据所述第二哈希值从所述遍历到的等速率组中选择一个活动接口作为所述第二活动接口。
8.根据权利要求6所述的装置,其特征在于,所述遍历子单元,包括:
查看子单元,用于查看所遍历到的等速率组中的首接口的限值速率、以及所述首接口对应的令牌桶的速率标识;
确定子单元,用于确定所述首接口的限值速率大于所述第一活动接口的限值速率,且所述首接口对应的令牌桶的速率标识表示活动接口的当前速率未达到所述活动接口的限值速率。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610152452.0A CN105939283B (zh) | 2016-03-17 | 2016-03-17 | 网络流量分流的方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610152452.0A CN105939283B (zh) | 2016-03-17 | 2016-03-17 | 网络流量分流的方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105939283A CN105939283A (zh) | 2016-09-14 |
CN105939283B true CN105939283B (zh) | 2019-03-15 |
Family
ID=57152001
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610152452.0A Active CN105939283B (zh) | 2016-03-17 | 2016-03-17 | 网络流量分流的方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105939283B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109218215B (zh) * | 2017-06-29 | 2021-11-19 | 华为技术有限公司 | 一种报文传输的方法和网络设备 |
WO2019084805A1 (zh) * | 2017-10-31 | 2019-05-09 | 华为技术有限公司 | 一种分发报文的方法及装置 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101411132A (zh) * | 2006-07-24 | 2009-04-15 | 华为技术有限公司 | 用于聚合速率通信业务的速率管理的系统 |
CN101729424A (zh) * | 2009-12-16 | 2010-06-09 | 杭州华三通信技术有限公司 | 一种流量转发的方法、设备和系统 |
CN101873251A (zh) * | 2009-04-27 | 2010-10-27 | 中兴通讯股份有限公司 | 报文转发方法及装置 |
CN102263697A (zh) * | 2011-08-03 | 2011-11-30 | 杭州华三通信技术有限公司 | 一种聚合链路流量分担方法和装置 |
EP2547053A1 (en) * | 2011-07-13 | 2013-01-16 | Alcatel Lucent | Distribution of data units among interfaces of a node of a packet-switched communication network |
-
2016
- 2016-03-17 CN CN201610152452.0A patent/CN105939283B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101411132A (zh) * | 2006-07-24 | 2009-04-15 | 华为技术有限公司 | 用于聚合速率通信业务的速率管理的系统 |
CN101873251A (zh) * | 2009-04-27 | 2010-10-27 | 中兴通讯股份有限公司 | 报文转发方法及装置 |
CN101729424A (zh) * | 2009-12-16 | 2010-06-09 | 杭州华三通信技术有限公司 | 一种流量转发的方法、设备和系统 |
EP2547053A1 (en) * | 2011-07-13 | 2013-01-16 | Alcatel Lucent | Distribution of data units among interfaces of a node of a packet-switched communication network |
CN102263697A (zh) * | 2011-08-03 | 2011-11-30 | 杭州华三通信技术有限公司 | 一种聚合链路流量分担方法和装置 |
Non-Patent Citations (1)
Title |
---|
《以太网链路聚合技术的研究与实现》;王小玫;《中国优秀硕士学位论文全文数据库 信息科技辑》;20150415(第4期);全文 |
Also Published As
Publication number | Publication date |
---|---|
CN105939283A (zh) | 2016-09-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104734993B (zh) | 数据分流方法及分流器 | |
CN104184617B (zh) | 互联设备预加重配置方法、装置、系统及网络设备 | |
US10528682B2 (en) | Automatic performance characterization of a network-on-chip (NOC) interconnect | |
CN111436030B (zh) | 数据用量上报的方法、装置及系统 | |
CN104853001B (zh) | 一种arp报文的处理方法和设备 | |
CN104980317A (zh) | 一种调度数据网设备的自动测试系统及测试方法 | |
CN108601025B (zh) | 检测中间人攻击的方法与装置 | |
CN108471629A (zh) | 传输网络中业务服务质量的控制方法、设备及系统 | |
CN108055203A (zh) | 一种等价路由负载分担方法及装置 | |
CN103179178B (zh) | 扩展集群间聚合组成员端口的方法和设备 | |
CN103236975B (zh) | 报文转发方法和装置 | |
CN103023815B (zh) | 聚合链路负载分担方法及装置 | |
CN103312607B (zh) | 一种传输路径选择方法及装置 | |
CN105939283B (zh) | 网络流量分流的方法及装置 | |
CN105556916A (zh) | 网络流的信息统计方法和装置 | |
CN104486167A (zh) | 基于mesh网络的并发网络性能以及网络走向的测试方法 | |
CN108234320A (zh) | 报文传输方法及交换机 | |
CN106487683A (zh) | 一种报文的处理方法及装置 | |
JP6671112B2 (ja) | ネットワークスイッチにおける柔軟かつ効率的な解析の方法およびその装置 | |
CN107318132A (zh) | 一种采集系统中数据分发方法、数据分流方法及装置 | |
CN110034978A (zh) | 一种测试网络设备性能的方法和装置 | |
CN104506369B (zh) | 一种丢包位置的检测方法和设备 | |
CN106254282B (zh) | 链路聚合的实现方法及装置 | |
CN103441894A (zh) | 一种l2tp并发连接性能测试的方法及系统 | |
US9992073B2 (en) | Network status measuring system and a method for measuring status of a network |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
CB02 | Change of applicant information |
Address after: Binjiang District and Hangzhou city in Zhejiang Province Road 310051 No. 68 in the 6 storey building Applicant after: Hangzhou Dipu Polytron Technologies Inc Address before: Binjiang District and Hangzhou city in Zhejiang Province Road 310051 No. 68 in the 6 storey building Applicant before: Hangzhou Dipu Technology Co., Ltd. |
|
COR | Change of bibliographic data | ||
GR01 | Patent grant | ||
GR01 | Patent grant |