CN109246023A - 流量控制方法、网络设备及存储介质 - Google Patents
流量控制方法、网络设备及存储介质 Download PDFInfo
- Publication number
- CN109246023A CN109246023A CN201811366157.0A CN201811366157A CN109246023A CN 109246023 A CN109246023 A CN 109246023A CN 201811366157 A CN201811366157 A CN 201811366157A CN 109246023 A CN109246023 A CN 109246023A
- Authority
- CN
- China
- Prior art keywords
- clear text
- subqueue
- flow control
- bandwidth
- address
- 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
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/50—Queue scheduling
- H04L47/52—Queue scheduling by attributing bandwidth to queues
- H04L47/522—Dynamic queue service slot or variable bandwidth allocation
Abstract
本申请实施例提供一种流量控制方法、网络设备及存储介质。在本申请实施例中,针对待处理报文,通过获取待处理报文的业务信息,进而结合待处理报文的业务信息将待处理报文划分至对应的流控子队列进行流控处理。本申请实施例中,基于业务信息与流控子队列之间的映射关系,根据报文中的业务信息将待处理报文进行分类,可提高对报文进行分类的精细度,进而当将不同类型的流量分别送入相应的流控子队列进行适配的流量管控时,有助于进一步满足各种应用服务类型对网络传输效率的需求,进而提高网络服务质量。
Description
技术领域
本申请涉及网络通信技术领域,尤其涉及一种流量控制方法、网络设备及存储介质。
背景技术
Linux操作系统中的流量控制器(Traffic Control,TC)用于Linux内核的流量控制,它利用队列规定建立处理数据包的队列,并定义队列中的数据包被发送的方式,从而实现对流量的控制。其中,TC模块实现流量控制功能使用的队列规定分为两类,一类是无类队列规定,另一类是分类队列规定。
分类队列规定是对进入网络设备的数据包根据不同的需求以分类的方式区分对待的队列规定。现有TC模块支持以fwmark分类器、u32分类器、路由(route) 分类器和资源预留协议(Resource ReSerVation Protocol,RSVP)分类器等分类器进行流量分类,之后根据分类结果决定把数据包送入相应的类进行排队进行流量控制。
上述分类器基于互联网协议(Internet Protocol,IP)参数对数据包进行分类,在一定场合满足流控需求,但具有一定局限性,例如,对于对等(Peer-to-peer, P2P)类应用会使用跳动端口技术及加密方式进行传输,基于上述分类器将无法对这类数据包进行分类和流量管控,进而影响网络服务质量。尤其是,随着计算机网络技术和多媒体技术的飞速发展,各种综合服务应用类型不断丰富,一种新的流控方案亟待提出。
发明内容
本申请的多个方面提供一种流量控制方法、网络设备及存储介质,用以基于报文包含的业务信息对报文进行分类和流量控制,进而提高网络服务质量。
本申请实施例提供一种流量控制方法,包括:
获取待处理报文在网卡中的存储地址;
根据所述待处理报文在网卡中的存储地址,获取所述待处理报文的业务信息;
根据所述待处理报文的业务信息查询预设的业务信息与流控子队列标识之间的映射关系,得到所述待处理报文对应的目标流控子队列标识;
将所述待处理报文送入所述目标流控子队列标识所标识的目标流控子队列进行流控处理。
本申请实施例还提供一种网络设备,包括:网卡;所述网卡上设置有存储器和处理器;其中,所述存储器,用于存储待处理报文和计算机程序;
所述处理器耦合至所述存储器,用于执行所述计算机程序以用于:
获取所述待处理报文在所述存储器中的存储地址;
根据所述待处理报文在存储器中的存储地址,获取所述待处理报文的业务信息;
根据所述待处理报文的业务信息查询预设的业务信息与流控子队列标识之间的映射关系,得到所述待处理报文对应的目标流控子队列标识;
将所述待处理报文送入所述目标流控子队列标识所标识的目标流控子队列进行流控处理。
本申请实施例还提供一种存储有计算机指令的计算机可读存储介质,其特征在于,当所述计算机指令被一个或多个处理器执行时,致使所述一个或多个处理器执行上述方法中的步骤。
在本申请实施例中,针对待处理报文,通过获取待处理报文的业务信息,进而结合待处理报文的业务信息将待处理报文划分至对应的流控子队列进行流控处理。本申请实施例中,基于业务信息与流控子队列之间的映射关系,根据报文包含的业务信息将待处理报文进行分类,可提高对报文进行分类的精细度,进而当将不同业务的流量分别送入相应的流控子队列进行适配的流量管控时,有助于进一步满足各种应用服务类型对网络传输效率的需求,进而提高网络服务质量。
附图说明
此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
图1为本申请实施例提供的一种网络系统的结构示意图;
图2a为本申请实施例提供的一种流量控制方法的流程示意图;
图2b为本申请实施例提供的一种TC配置策略的流程示意图;
图2c为本申请实施例提供的一种TC模块内部系统架构示意图;
图2d-图2g为本申请实施例提供的带宽分配方式的示意图;
图3为本申请实施例提供的一种网络设备的结构示意图。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚,下面将结合本申请具体实施例及相应的附图对本申请技术方案进行清楚、完整地描述。显然,所描述的实施例仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
OpenWrt系统为嵌入式的Linux发行版,OpenWrt的包管理提供了一个完全可写的文件系统,从应用程序供应商提供的选择和配置,并允许自定义的设备,以适应任何应用程序。现有Openwrt系统中的TC对数据包的分类能力比较局限,有可能影响网络服务质量,针对这些问题,本申请实施例提供一种解决方案,基本思路是:针对待处理报文,通过获取待处理报文的业务信息,进而结合待处理报文的业务信息将待处理报文划分至对应的流控子队列进行流控处理。本申请实施例中,根据业务信息将待处理报文进行分类,可提高对报文进行分类的精细度,进而当将不同业务的流量分别送入相应的流控子队列进行适配的流量管控时,有助于进一步满足各种应用服务类型对网络传输效率的需求,进而提高网络服务质量。
以下结合附图,详细说明本申请各实施例提供的技术方案。
图1为本申请实施例提供的一种网络系统的结构示意图。如图1所示,该网络系统包括:网络管理设备10a以及至少一台终端设备10b;至少一台终端设备10b均与网络管理设备10a通信连接。其中,网络管理设备10a可以为网关、接入控制器(Access Controller,AC)、路由器等。在该网络系统中,终端设备 10b可以通过网络管理设备10a向外部网络发送数据包,也可以通过网络管理设备10a接收外部网络发送的数据包。其中,终端设备10b通过网络管理设备10a 向外部网络发送数据包的大致工作流程为:
第1步:终端设备10b将待发送数据包发送给网络管理设备10a。
第2步:网络管理设备10a接收各终端设备10b发送的数据包并对其进行流量管理和控制。
第3步:网络管理设备10a按照相应的流控策略将各终端设备10b发送的数据包转发给外部网络。
相应地,终端设备10b通过网络管理设备10a接收外部网络发送的数据包的大致工作流程为:
第1步:网络管理设备10a接收来自外部网络10b的数据包并对其进行流量管理和控制。
第2步:网络管理设备10a按照相应的流控策略将各数据包发送给对应的终端设备10b。
在图1所示网络系统中,无论网络管理设备10a是转发终端设备10b向外部网络发送的数据包,还是将外部网络发送的数据包转发给终端设备10b,为了防止造成网络管理设备10a的出口带宽被占满而导致丢包,网络管理设备10a 都需要对其接收到的数据包进行流量控制。当然,值得说明的是,除了图1所示网络系统之外,在其它结构的网络系统中,为了避免流量阻塞,也需要进行流量控制。在本实施例中,网络管理设备10a使用分类队列规定实现流量控制功能。其中,网络管理设备10a可以采用fwmark分类器、u32分类器、route分类器或RSVP分类器对接收到的数据包进行分类,并根据分类结果决定把数据包送入相应的类进行排队进行流量控制。
其中,上述列举的分类器主要是基于IP协议中第四层的IP地址、端口等信息对数据包进行分类,这在一定场合可以满足流控需求,但是具有一定局限性。为了适应不断丰富的业务场景,使得流量控制能与业务场景相适配,本实施例提供一种新的流控方法,该方法主要结合报文的业务信息对报文进行分类,进而根据分类结果决定把数据包送入相应的类进行排队,并按照该类所规定的流控策略对数据包进行流量控制。其中,在本申请实施例中,报文的业务信息包括但不局限于第七层应用层的信息,例如,报文所属的业务类型;还可包括其他业务信息,例如报文所属的业务用户等。
值得说明的是,本实施例提供的流控方法可以单独部署实施,即网络管理设备10a可以单独部署并实施本实施例提供的流控方法。当然,网络管理设备 10a也可以同时部署本实施例的流控方法与基于fwmark分类器、u32分类器、 route分类器或RSVP分类器等已有分类器实现的流控方法,并可根据流控需求将本实施例的流控方法与基于已有分类器实现的流控方法结合实施。无论是单独实施还是结合实施,本申请下述实施例中,将重点描述本申请提供的流控方法。
图2a为本申请实施例提供的一种流量控制方法的流程示意图。如图2a所示,该方法包括:
201、获取待处理报文在网卡中的存储地址。
202、根据待处理报文在网卡中的存储地址,获取待处理报文的业务信息。
203、根据待处理报文的业务信息查询预设的业务信息与流控子队列标识之间的映射关系,得到待处理报文对应的目标流控子队列标识。
204、将待处理报文送入目标流控子队列标识所标识的目标流控子队列进行流控处理。
在本实施例中,终端设备和外部网络之间进行通讯,一般需要通过网络管理设备(交换机、路由器、网关等)进行转发。网络管理设备接收到终端设备或外部网络向对方发送的报文时,将报文存储在内部的网卡中,并调用对应的流量控制方法对该报文进行流控处理后进行转发。在本实施例中,待处理报文可以为外网向内网中的终端设备发送的报文,也可以为内网中的终端设备向发送外部网络发送的报文,将其统一定义为待处理报文。
在步骤201中,当网卡接收到待处理报文时,可获取该报文在网卡中的存储地址。接下来,在步骤202中,可根据待处理报文的存储地址,读取待处理报文并根据待处理报文,获取待处理报文的业务信息。在本实施例中,待处理报文的业务信息包括但不局限于该报文所属的业务用户、业务类型等。
在本实施例中,流控子队列是基于业务信息设置的,不同的业务信息对应不同的流控子队列,且每个流控子队列可按照与其业务信息适配的方式对进入其中的报文进行排队和流量控制。
进一步,在本实施例中,每个流控子队列拥有一个队列标识,用于唯一标识该队列。可选地,可对流控子队列进行统一编号,则流控子队列标识可为该流控子队列对应的编号。基于此,可预设业务信息与流控子队列标识之间的映射关系,这样,当确定出待处理报文的业务信息时,便可进入步骤203,将待处理报文的业务信息在预设的业务信息与流控子队列标识之间的映射关系中进行遍历,进而查询到待处理报文对应的流控子队列标识,即目标流控子队列标识。又因为流控子队列标识唯一标识对应的流控子队列,进而在步骤204中,可将待处理报文送入该目标流控子队列标识所标识的目标流控子队列中进行流量控制。
在本实施例中,针对待处理报文,获取待处理报文的业务信息,进而结合待处理报文的业务信息将待处理报文划分至对应的流控子队列进行流控处理。本申请实施例中,基于预设的业务信息与流控子队列标识之间的映射关系,根据报文中的业务信息将待处理报文进行分类,可提高对报文进行分类的精细度,进而当将不同类型的流量分别送入相应的流控子队列进行适配的流量管控时,有助于进一步满足各种应用服务类型对网络传输效率的需求,进而提高网络服务质量。
本申请实施例提供的流控方法可应用于各种具有流控功能的系统中,例如可以应用到主流路由器固件系统(例如OpenWrt系统)中。OpenWrt系统为嵌入式的Linux发行版,OpenWrt的包管理提供了一个完全可写的文件系统,从应用程序供应商提供的选择和配置,并允许自定义的设备,以适应任何应用程序。
在OpenWrt系统中,TC负责流量控制,它利用队列规定建立处理数据包的队列,并定义队列中的数据包被发送的方式,从而实现对流量的控制。 TC模块实现流量控制功能使用的队列规定分为两类,一类是无类队列规定,另一类是分类队列规定。其中,本申请上述实施例提供的流控方法属于分类队列规定。
TC模块通过三种结构:队列(qdisc)、分类(class)和过滤器(filter) 来组合成各种定制的报文分发结构。这种结构类似于一个树,队列是树的根节点,是每一个结构节点的载体,规定和限制了该根节点可以承担怎样的功能,派生出怎样的子节点;分类可以看做树上子节点的值,它具体定义了该子节点对于流量的带宽、优先级、延迟和突发流量的规定;filter就是子节点的闸门,管理报文是否应该流入该子节点。
基于上述分析,本申请实施例提供的流控方法具体可应用TC模块中的过滤器(filter)中并结合TC模块中的流控队列实现。在将本申请实施例提供的方法应用到TC模块时,为了减少对TC模块的改动,本申请实施例可以在TC模块中新增一种filter,该新增filter配合TC模块中的qdisc、class 等完成流量控制。
在使用新增filter之前,可以采用下述方式在TC模块中添加该新增filter。其中添加新增filter对应的过滤策略的部分代码如下:
tc filter add dev eth1 parent 1:0 protocol ip prio 7 handle 2 objsubscriber 用户名app-group业务组名classid分类ID
其中,“tc filter add dev eth1”表示添加新的过滤器,“parent 1:0”表示父分类为1:0,“protocol ip”表示过滤协议为IP协议;“prio 7 handle 2”表示新增的过滤器的优先级为7、编号为2,“subscriber用户名app-group业务组名”表示新增过滤器对应的业务信息(用户名和业务组名),“classid分类ID”表示该新增过滤器对应的流控子队列的ID。
当然,基于OpenWrt允许自定义过滤类型的特性,当不需要新增filter 时,也可以将其删除。其中,删除新增filter的过滤策略的部分代码如下:
tc filter del dev eth1 parent 1:0protocol ip prio 7 handle 2 objsubscriber用户名app-group业务组名classid分类ID
其中,“tc filter del dev eth1”表示删除过滤器,其他部分的解释可参见上述新增filter对应的代码的相关内容,在此不再赘述。
进一步,还可通过过滤策略的优先级,将同一优先级的过滤策略同时删除,其部分代码如下:
tc filter del dev eth1 parent 1:0 protocol ip prio 7
此段代码表示将优先级为7的过滤策略同时删除。
进一步,OpenWrt系统在采用新增filter对数据包进行分类之前,需要对该新增filter进行TC策略配置。其中对新增filter进行TC策略配置的流程如图2b所示,主要包括:
第1步:针对网络管理设备10a的网卡绑定一个队列。
第2步:在该队列上建立分类,为流控子队列指定具体的整形、限流和优先级规则,即为每个流控子队列设置相应的流控策略模式。可选地,策略模式可为先进先出(FIFO)模式、每IP(per-ip)模式、分层令牌桶(Hierarchical Token Bucket,HTB)模式等,但不限于此。
第3步:为每一个分类建立一个过滤器,用于指定报文被分配给哪一个类,除了默认的类之外,每一个分类都应该有对应的过滤器来匹配报文。
可选地,可采用结构体来存储业务信息。在一可选实施例中,采用struct obj_filter结构体存储业务信息,struct tcf_result结构体存储流控子队列标识, structobj_filter结构体和struct tcf_result结构体的代码实现形式如下:
当在TC模块中配置新增filter之后,TC模块的内部框架如图2c所示。下面结合图2c所示,对基于新增filter进行流量控制的过程进行详细说明。
在一可选实施例中,如图2c所示,可设置业务识别模块用于对报文的业务信息进行识别。基于业务识别模块,步骤202的一种可选实施方式为:将待处理报文在网卡中的存储地址作为输入参数调用业务识别模块,以供业务识别模块对待处理报文进行业务层面的分析,进而得到待处理报文业务信息。相应地,该业务识别模块可基于该存储地址,获取待处理报文并对待处理报文进行业务层面的分析,进而获得待处理报文业务信息。
进一步,在实际应用中,报文的业务信息包括该报文所属的业务类型、发送或接收该报文的用户所属的用户组等信息。基于此,业务识别模块可包括业务识别单元和/或用户识别单元。其中,业务识别单元可用于对待处理报文所属的业务类型进行识别,用户识别单元用于对待处理报文所属的业务用户进行识别,例如待处理报文所属的用户组等。其中,可根据不同的应用场景的需求,获取不同的业务信息。
例如,在应用场景A中,例如公司、企业类,可根据各个部门的工作业务的不同,将同一部门所属的终端终端设备划分为一个用户组,并将各用户组作为业务信息。
相应地,对于用户识别单元,可预先将各用户组进行编码,各用户组分别对应一个不同的编码值,并建立各用户组中的终端地址信息与用户组编码值之间的映射关系,其中,终端地址信息包括终端的MAC地址和/或IP地址。相应地,终端地址信息和用户组编码值之间的映射关系可为:MAC地址与用户组编码值之间的映射关系和/或IP地址与用户组编码值之间的映射关系。当调用用户识别单元时,用户识别单元可从待处理报文在网卡中的存储地址,读取待处理报文,并提取待处理报文的报文头信息中的终端地址信息,之后,根据提取的终端地址信息,查询已知的终端地址信息与用户组编码值之间的映射关系,确定待处理报文所属的用户组编码值。其中,提取的终端地址信息是MAC地址还是IP地址,或者MAC地址和IP地址,由终端地址信息和用户组编码值之间的映射关系类型决定。例如,若已知的为终端的MAC地址与用户组编码值之间的映射关系,则提取待处理报文的报文头信息中的MAC地址;若已知的为终端的MAC地址和IP地址与用户组编码值之间的映射关系,则提取待处理报文的报文头信息中的MAC地址和IP地址,等等。本实施例中,基于新增filter可基于待处理报文中的MAC地址和/或IP地址,将待处理报文送入相应的目标流控子队列,相较于现有的分类器其分类功能更为强大,将待处理报文的所属类别可以划分更为精细。
进一步,待处理报文可为终端设备向外部网络发送的报文,也可为外部网络向终端设备发送的报文,进而用户识别单元从待处理报文头信息中可提取源终端地址信息或目的终端地址信息。若待处理报文为终端设备向外部网络发送的报文,则用户识别单元从待处理报文的报文头信息中提取源终端地址信息,即源MAC地址和/或源IP地址;待处理报文为外部网络向终端设备发送的报文,则用户识别单元从待处理报文的报文头信息中提取目的终端地址信息,即目的MAC地址和/或目的IP地址。进一步,根据提取的源终端地址信息或目的地址终端信息查询已知的终端地址信息与用户组编码值之间的映射关系,从而获得待处理报文所属的业务用户组的编码值,并将该编码值输出给新增filter。
又例如,在应用场景B中,需要对业务进行分类并进行流量控制。其中,业务类型包括:视频业务、邮件业务、Web业务、即时通讯业务等,但不限于此。在应用场景B中,不同业务对带宽、抖动、延迟等要求不同,则可将处理报文在网卡中的存储地址作为入口参数调用业务识别单元,以供业务识别单元对待处理报文所属的业务类型进行分析,进而获得待处理报文所属的业务类型。
再例如,在应用场景C中,需要同时对业务和用户进行分类而进行流量控制,则可将处理报文在网卡中的存储地址作为入口参数调用用户识别单元和业务识别单元,分别获取待识别报文所属的业务用户和业务类型。值得说明的是,在本申请实施例中,业务类型可采用多种方式对其进行划分。例如,根据不同业务对带宽、抖动、延迟等要求不同,将业务分为:视频、邮件、即时通讯、游戏、网页、下载等,但不限于此。又例如,根据多媒体信息类型,将业务分为:视频、图像、文本等。
相应地,在业务识别单元中,可根据待处理报文在网卡中的存储地址,读取待处理报文;进一步,根据待处理报文的净荷内容确定待处理报文的流量特征,并根据待处理报文的流量特征查询已知流量特征与业务类型编码值之间的映射关系,获得并输出待处理报文所属的业务类型的编码值。
其中,在读取待识别报文之前,业务识别单元还可对大量的各种业务类型的报文的净荷内容进行研究学习进而获取各种业务类型的报文的流量特征,并在此基础上建立起业务类型识别模型。为了提高业务类型识别模型的兼容性,可将业务类型分别进行编码,每种业务类型对应一个不同的编码值,进而建立流量特征与业务类型编码值之间的映射关系。这样,根据待处理报文的净荷内容,提取其流量特征进行匹配,从而判断业务类型,可以将业务类型划分更精细。
进一步,可采用净荷特征匹配技术、交互式业务识别技术、行为模式识别技术以及深度流检测技术对报文的净荷内容进行分析,进而获取各种业务类别的报文的流量特征。相应地,可采用对应的技术对待处理报文的净荷内容进行流量特征的提取,并根据净荷内容对应的流量特征对待处理报文进行分类。
值得说明的是,在图2c所示的内部框架中,业务识别模块为新增filter 的附属模块,在一些实施例中,还可将业务识别模块添加至filter中形成一个新的filter,来实现对待处理报文的业务信息的分类和流控处理,其具体实施过程与图2c所示内部框架的处理过程相同,在此不再赘述。
进一步,基于对图2c的描述可知,在进行TC策略配置时,建立业务信息与流控子通道之间的映射关系,进而在步骤203之前,可根据预设的业务信息与编码值之间的对应关系,将业务信息与流控子队列标识之间的映射关系转换为编码值与流控子队列标识之间的映射关系。基于待处理报文的业务信息以及业务信息的编码值与流控子队列标识之间的映射关系,便可确定对待处理报文进行流控处理的目标流控子队列。
进一步,当确定出对待处理报文进行流控处理的目标流控子队列时,执行步骤204,将待处理报文送入目标流控子队列进行流控处理。在本申请实施例中,可采用多种策略对待处理报文进行流控处理,下面对步骤204的可选实施方式进行示例性说明。
实施方式1:可采用per-ip策略对待处理报文进行流控处理。具体实施方式为:将上述确定出的目标流控子队列作为父队列,并根据待处理报文以及与待处理报文在相同时间段内到达该父队列的报文中不同源IP地址或不同目的IP地址的数量,将父队列的最大可分配带宽进行均分,得到各子队列的均分带宽;根据子队列的均分带宽和设定的子队列最大带宽,确定子队列承诺带宽,其中,设定的子队列最大带宽小于或等于最大可分配带宽;根据最大可分配带宽和子队列承诺带宽,在父队列下针对不同源IP地址或不同目的IP地址创建子队列;之后,将待处理报文以及源IP地址或目的IP地址与待处理报文相同的其它报文送入待处理报文的源IP地址对应的子队列中,并按照等于子队列的承诺带宽的转发速率对待处理报文以及源IP地址或目的 IP地址与待处理报文相同的其它报文进行转发。其中,最大可分配带宽可为目标流控子队列的全部带宽,也可根据实际需要将目标流控子队列的全部带宽预留出部分带宽,并将剩余带宽作为最大可分配带宽。值得说明的是,对于是针对不同源IP地址还是不同目的IP地址创建子队列,则根据待处理报文是从内网的终端设备向外部网络发送的报文,还是外部网络向内网的终端设备发送的报文而定。若待处理报文是从内网的终端设备向外部网络发送的报文,则针对不同源IP地址创建子队列,相应地,接下来进行流控处理的则为源IP地址与待处理报文相同的报文;反之,则针对不同目的IP地址创建子队列相应地,接下来进行流控处理的则为目的IP地址与待处理报文相同的报文。
进一步,可根据子队列的均分带宽和设定的子队列最大带宽的大小关系,确定子队列承诺带宽。若子队列的均分带宽小于或等于子队列最大带宽,则将子队列的均分带宽作为子队列承诺带宽;若子队列的均分带宽大于子队列最大带宽,则将子队列的最大带宽作为子队列承诺带宽。
可选地,可采用iptables过滤出内网设备对应的IP地址。其中,iptables 是与
Linux内核集成的IP信息包过滤系统,可用来设置、维护和检查Linux 内核的IP包过滤规则
的。
其中,采用iptables过滤出内网设备对应的IP地址时,可采用shell脚本实现per-
ip模式对待处理报文的流控,其部分代码如下:
上述代码表示对收集到的内网IP进行分类和过滤器设置。其中for循环的参数为起始IP和终止IP,for循环执行的第1步为:新增分类1:1$i,其父分类为1:1,采用HTB队列类型,分配带宽为指定带宽;第2步为:新增u32 过滤类型,过滤协议为ip,优先级别为50,匹配的目的IP为指定IP地址。
为了更清楚地理解实施方式1的处理过程,下面以待处理报文为内网中的终端设备向外部网络发送的报文且待处理报文的业务信息为其所属的业务类型为例,并结合图2d所示的带宽分配方式,对其进行示例性说明。假设父队列对应的业务类型为视频,其全部带宽为10Mb/s,为了便于描述,在下文描述中将带宽的单位Mb/s,简写为M,最大可分配带宽为8M,其余2M为预留带宽,待处理报文以及与待处理报文在相同时间段内到达父队列的报文总共具有4个不同的源IP地址,即该父队列接收到以4个不同的源IP地址 (IP1-4)发送的视频类报文。假设待处理报文的源IP地址为IP1,则在实施方式1中,将8M的最大可分配带宽均分为4等份,每份占用2M带宽,即创建的4个子队列(子队列1-4)的均分带宽为2M,且各子队列的最大带宽小于或等于最大可分配带宽(8M),假设设置各子队列的最大带宽为5M。由于子队列的均分带宽小于其最大带宽,则设置4个子队列的承诺带宽为 2M。接下来,将源IP地址为IP1的报文送入IP1对应的子队列中,并按照 2M的转发速率对源IP地址为IP1的报文进行转发。
但是,如果根据待处理报文以及与待处理报文在相同时间段内到达父队列的报文中不同IP地址的数量,将父队列的最大可分配带宽进行均分后,得到的均分带宽大于各子队列的最大带宽,则按照等于该子队列最大带宽的转发速率对待处理报文进行转发。例如,当待处理报文以及与待处理报文在相同时间段内到达父队列的报文总共具有1个源IP地址,即IP1时,得到的均分带宽为8M,并且大于该子队列的最大带宽5M。则,将该子队列的承诺带宽设置为5M,并按照5M的转发速率对源IP地址为IP1的报文进行转发。
实施方式2:可采用HTB策略模式对对待处理报文进行流控处理。在 HTB策略模式中,可预先设置业务信息的优先级,报文所属的业务信息的优先级用于表示不同业务信息所对应的报文在目标流控子队列中被转发的先后顺序,其中报文所属的业务信息的优先级越高,对该报文越优先转发。基于此,采用HTB策略模式对待处理报文进行流控处理的具体实施方式为:根据待处理报文的业务信息确定待处理报文的优先级;根据待处理报文的优先级确定待处理报文在目标流控子队列中可占用的承诺带宽和可占用的最大带宽,承诺带宽小于或等于最大带宽;并按照可占用的承诺带宽和可占用的最大带宽,对待处理报文进行转发。其中,待处理报文在目标流控子队列中可占用的最大带宽可以为目标流控子队列的可分配总带宽,也可以为目标流控子队列的可分配总带宽的部分带宽。进一步,目标流控子队列的可分配总带宽可为目标流控子队列的全部带宽或部分带宽。
进一步,可采用不同的带宽分配方式来实现对优先级较高的报文的优先转发。下面结合带宽分配方式,对按照待处理报文的优先级对待处理报文进行转发的实施方式进行示例性说明。
可选地,可按照报文所属类别的优先级对一个网卡端口带宽进行分配,优先级越高的报文可占用的带宽越大,即业务信息的优先级越高,其所对应的流控子队列的带宽越高。例如,假设视频类报文的优先级>Web类报文的优先级>P2P类报文的优先级,则可为3类报文分配可占用带宽为:视频类报文的带宽>Web类报文的带宽>P2P类报文的带宽,即3种业务类型对应的3个流控子队列的带宽为:视频对应的流控子队列的带宽>Web业务对应的流控子队列的带宽>P2P对应的流控子队列的带宽。假设一个网卡端口的带宽为10M,则视频类报文的流控子队列可占用5M带宽,Web类报文的流控子队列可占用4M带宽,P2P类报文的流控子队列可占用1M带宽,等等。在该带宽分配方式下,按照可占用的带宽对所述待处理报文进行转发的一种可选实施方式为:对待处理报文按照大于或小于目标流控子队列中的可占用的带宽的转发速率进行转发。其中,目标流控子队列中的可占用带宽可为该目标流控子队列的全部带宽或部分带宽。例如,目标流控子队列的全部带宽为5M,则可将5M的带宽全部用于待处理报文进行转发,也可预留部分带宽,只贡献部分带宽(例如4M等)用于对待处理报文进行转发。
为了更清楚地理解实施方式2的处理过程,下面以待处理报文的业务信息为其所属的业务类型为例,对其处理过程进行示例性说明。如图2e所示,假设网卡的端口带宽为10M;预设的业务应用为视频业务Web业务、P2P业务,且已知三者的优先级为:视频业务>Web业务>P2P业务;假设视频业务的流控子队列可占用5M带宽,Web类报文的流控子队列可占用4M带宽, P2P类报文的流控子队列可占用1M带宽。假设确定出的待处理报文的业务类型为视频业务,则确定目标流控子队列为视频业务对应的流控子队列,其带宽为5M,则将待处理报文送入目标流控子队列,并按照小于或等于5M的转发速率对待处理报文进行转发。
实施方式3:在采用HTB策略模式对待处理报文进行流控处理时,还可使优先级高的报文可借用优先级低的报文的空闲带宽,实现对优先级高的报文的优先转发。基于此,将待处理报文送入目标流控子队列标识所标识的目标流控子队列进行流控处理的又一种可选实施方式为:根据待处理报文的业务信息确定待处理报文的优先级;根据待处理报文的优先级确定待处理报文在目标流控子队列中可占用的带宽和可占用的最大带宽;并根据其可占用的最大带宽,从优先级低于待处理报文的其它报文的可占用的带宽的空闲带宽中为待处理报文借用部分带宽,其中,待处理报文可占用的带宽和为待处理报文借用的部分带宽之和小于或等于其可占用的最大带宽;之后,根据待处理报文可占用的带宽和为待处理报文借用的部分带宽对待处理报文进行转发。
其中,根据待处理报文在目标流控子队列中可占用的最大带宽,从优先级低于待处理报文的其它报文的可占用的带宽的空闲带宽中为待处理报文借用部分带宽,是指:当优先级低于待处理报文的其它报文的可占用的带宽中的空闲带宽与待处理报文的可占用的带宽之和小于或等于待处理报文对应子队列的最大带宽时,可借用其它报文的可占用的带宽中的空闲带宽的全部带宽,也可借用空闲带宽的部分带宽;否则,则可借用其它报文的可占用的带宽中的空闲带宽的部分带宽,并控制待处理报文的其它报文的可占用的带宽中的空闲带宽与待处理报文的可占用的带宽之和小于或等于待处理报文对应子队列的最大带宽。
进一步,在根据待处理报文可占用的带宽和为处理报文借用的部分带宽对待处理报文进行转发时,可按照等于待处理报文可占用带宽和借用的带宽之和的转发速率,对待处理报文进行转发。
为了便于更清楚地理解上述实施方式3下,在目标流控子队列中对待处理报文进行流控处理的实施方式,下面以业务信息为业务应用为例,对其处理过程进行示例性说明。如图2f所示,假设网卡的端口带宽为10M;预设的业务应用为视频业务、Web业务、P2P业务,且已知三者的优先级为:视频业务>Web业务>P2P业务。如图2f所示,假设视频业务的流控子队列可占用4M带宽,最大带宽为6M;Web类报文的流控子队列可占用3M带宽,最大带宽为4M;P2P类报文的流控子队列可占用1M带宽,最大带宽为2M;预留1M带宽作为共享带宽。假设确定出待处理报文的业务应用类型为视频业务,则将待处理报文送入视频业务对应的目标流控子队列中,并从Web业务或P2P业务所对应的可占用的承诺带宽的空闲带宽中借用部分带宽,其中,待处理报文的可占用带宽和借用带宽之和小于或等于最大带宽。例如Web业务所对应的可占用3M带宽中有2.5M空闲带宽,但是由于视频业务对应的子队列的最大带宽为6M,则待处理报文可从2.5M的空闲带宽中最多借用2M 带宽,即采用6M带宽对待处理报文进行转发。
值得说明的是,在本申请实施例中,当业务信息为业务应用和用户组时,可见上述实施方式1-3中进行互相组合,来实现对待处理报文进行流控处理。下面以实施方式2和3为例进行示例性说明。如图2g所示,假设网卡的端口带宽为10M;预设的业务应用为视频业务、Web业务、P2P业务,预设的用户组为用户组1和用户组2,且已知业务应用的优先级为:视频业务>Web 业务>P2P业务,用户组的优先级为用户组1>用户组2。首先,可基于业务类型对网卡的端口带宽进行划分,再基于用户组对各业务类型进行划分。假设视频业务的流控子队列可占用4M带宽,最大带宽为6M;Web类业务的流控子队列可占用3M带宽,最大带宽为5M;P2P类业务的流控子队列可占用1M带宽,最大带宽为4M;预留1M带宽作为共享带宽;并基于用户组1 和用户组2对视频业务的流控子队列的带宽进行进一步划分,假设用户组1 占用3M带宽,最大带宽为4M;用户组2占用1M带宽,最大带宽为3M。假设待处理报文为用户组1中的视频类报文,可确定对待处理报文进行处理的目标流控子队列为视频类业务对应的流控子队列;进一步,假设用户组2 的1M带宽中有0.5M带宽空闲,则将待处理报文送入用户组1对应的子队列,并借用用户组2的0.5M带宽,即以3.5M的带宽对待处理报文进行转发。
需要说明的是,上述实施例所提供方法的各步骤的执行主体均可以是同一设备,或者,该方法也由不同设备作为执行主体。比如,步骤201和202的执行主体可以为设备A;又比如,步骤201的执行主体可以为设备A,步骤202 的执行主体可以为设备B;等等。
另外,在上述实施例及附图中的描述的一些流程中,包含了按照特定顺序出现的多个操作,但是应该清楚了解,这些操作可以不按照其在本文中出现的顺序来执行或并行执行,操作的序号如201、202等,仅仅是用于区分开各个不同的操作,序号本身不代表任何的执行顺序。
相应地,本申请实施例还提供一种存储有计算机指令的计算机可读存储介质。当该计算机指令被一个或多个处理器执行时,致使一个或多个处理器上述方法中的步骤。
图3为本申请实施例提供的一种网络设备的结构示意图。如图3所示,网络设备包括:网卡30a、存储器30a1和处理器30a2。
其中,网卡30a上设置有存储器,用于存储待处理报文。
其中,存储器30a1,用于存储计算机程序,并可被配置为存储其它各种数据以支持在网络设备上的操作。其中,处理器30a2可执行存储器30a1中存储的计算机程序,以实现相应控制逻辑。存储器30a1可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器 (SRAM),电可擦除可编程只读存储器(EEPROM),可擦除可编程只读存储器(EPROM),可编程只读存储器(PROM),只读存储器(ROM),磁存储器,快闪存储器,磁盘或光盘。
处理器30a2耦合至存储器30a1,用于执行计算机程序以用于:获取待处理报文在存储器30a1中的存储地址;根据待处理报文在存储器30a1中的存储地址,获取待处理报文业务信息;根据待处理报文业务信息查询预设的业务信息与流控子队列标识之间的映射关系,得到待处理报文对应的目标流控子队列标识;将待处理报文送入目标流控子队列标识所标识的目标流控子队列进行流控处理。
在一可选实施方式中,处理器30a2在根据待处理报文在网卡中的存储地址获取待处理报文的业务信息时,具体用于:将待处理报文在存储器30a1 中的存储地址作为入口参数调用并执行业务识别模块,对待处理报文进行业务分析得到待处理报文的业务信息。
进一步,处理器30a2在调用业务识别模块时,具体用于:将待处理报文在存储器30a1中的存储地址作为入口参数调用并执行业务识别模块中的业务识别单元,对待处理报文所属的业务类型进行分析得到待处理报文所属的业务类型;和/或将待处理报文在存储器30a1中的存储地址入口参数调用并执行业务识别模块中的用户识别单元,对待处理报文所属的业务用户进行分析得到待处理报文所属的业务用户。
可选地,处理器30a2在调用并执行业务识别单元时,具体用于:根据待处理报文在存储器30a1中的存储地址从存储器30a1中读取待处理报文,根据待处理报文的净荷内容确定待处理报文的流量特征,根据待处理报文的流量特征查询已知流量特征与业务类型编码值之间的映射关系获得并输出待处理报文所属的业务类型的编码值。
可选地,处理器30a2在调用并执行用户识别单元时,具体用于:根据待处理报文在存储器30a1中的存储地址从存储器30a1中读取所述待处理报文;并从待处理报文的报文头信息中提取终端地址信息,根据终端地址信息查询已知终端地址信息与用户组编码值之间的映射关系,获得并输出待处理报文所属业务用户组的编码值;其中终端地址信息包括源终端地址信息或目的终端地址信息。其中,对于终端地址信息及其与用户组编码值之间的映射关系的描述,可参见上述方法实施例中的相关内容,在此不再赘述。
进一步,处理器30a2在得到待处理报文对应的目标流控子队列标识之前,还用于:根据预设的业务信息与编码值之间的对应关系,将业务信息与流控子队列标识之间的映射关系转换为编码值与流控子队列标识之间的映射关系。
在一可选实施例中,处理器30a2在将待处理报文送入目标流控子队列标识所标识的目标流控子队列进行流控处理时,具体用于:将目标流控子队列作为父队列;根据待处理报文以及与待处理报文在相同时间段内到达父队列的报文中不同源IP地址或不同目的IP地址的数量,将父队列的最大可分配带宽进行均分,得到子队列的均分带宽;根据子队列的均分带宽和设定的子队列最大带宽,确定子队列承诺带宽,其中,设定的子队列最大带宽小于或等于父队列的最大可分配带宽;进一步,根据父队列的最大可分配带宽和子队列承诺带宽,在父队列下针对不同源IP地址或不同目的IP地址创建子队列;将待处理报文以及源IP地址或目的IP地址与待处理报文相同的其它报文送入待处理报文的源IP地址对应的子队列中,并按照小于或等于该子队列承诺带宽的转发速率对待处理报文以及源IP地址或目的IP地址与待处理报文相同的其它报文进行转发。
进一步,处理器30a2在确定子队列承诺带宽时,具体用于:若子队列的均分带宽小于或等于子队列最大带宽,将子队列的均分带宽作为子队列承诺带宽;若子队列的均分带宽大于子队列最大带宽,将子队列的最大带宽作为子队列承诺带宽。
在另一可选实施例中,处理器30a2在将待处理报文送入目标流控子队列标识所标识的目标流控子队列进行流控处理时,具体用于:根据待处理报文的业务信息确定待处理报文的优先级;根据待处理报文的优先级确定待处理报文在目标流控子队列中可占用的带宽;按照可占用的带宽对待处理报文进行转发。
在又一种可选实施例中,处理器30a2在将待处理报文送入目标流控子队列标识所标识的目标流控子队列进行流控处理时,具体用于:根据待处理报文的业务信息确定待处理报文的优先级;根据待处理报文的优先级,确定待处理报文在目标流控子队列中可占用的带宽和可占用的最大带宽,并根据待处理报文可占用的最大带宽,从优先级低于待处理报文的其它报文的可占用的带宽中为待处理报文借用部分带宽,其中待处理报文可占用的带宽和为待处理报文借用的部分带宽之和小于或等于其可占用的最大带宽;根据待处理报文可占用的带宽和为待处理报文借用的部分带宽对待处理报文进行转发。
在一些可选实施方式中,如图3所示,网络设备还可以包括:通信组件30b、电源组件30c等可选组件。图3中仅示意性给出部分组件,并不意味着网络设备必须包含图3所示全部组件,也不意味着网络设备只能包括图3所示组件。
其中,通信组件30b被配置为便于网络设备和其他设备之间有线或无线方式的通信。网络设备可以接入基于通信标准的无线网络,如WiFi,2G或3G,或它们的组合。在一个示例性实施例中,通信组件经由广播信道接收来自外部广播管理系统的广播信号或广播相关信息。在一个示例性实施例中,所述通信组件可为基于近场通信(NFC)技术、射频识别(RFID)技术,红外数据协会 (IrDA)技术,超宽带(UWB)技术,蓝牙(BT)技术和其他技术实现通信模块。
其中,电源组件30c被配置为网络设备的各种组件提供电力。电源组件30c 可以包括电源管理系统,一个或多个电源,及其他与为电源组件所在设备生成、管理和分配电力相关联的组件。
在本申请实施例中,网络设备针对待处理报文,通过获取待处理报文的业务信息,进而结合待处理报文的业务信息将待处理报文划分至对应的流控子队列进行流控处理。本申请实施例中,基于业务信息与流控子队列之间的映射关系,根据报文包含的业务信息将待处理报文进行分类,可提高对报文进行分类的精细度,进而当将不同类型的流量分别送入相应的流控子队列进行适配的流量管控时,有助于进一步满足各种应用服务类型对网络传输效率的需求,进而提高网络服务质量。
需要说明的是,在本申请实施例中所提供的各种流程可以包括更多或更少的操作,并且这些操作可以按顺序执行或并行执行。还需要说明的是,本文中的“第一”、“第二”等描述,是用于区分不同的消息、设备、模块等,不代表先后顺序,也不限定“第一”和“第二”是不同的类型。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、 CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/ 或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器 (RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存 (PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。
以上所述仅为本申请的实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。
Claims (12)
1.一种流量控制方法,其特征在于,包括:
获取待处理报文在网卡中的存储地址;
根据所述待处理报文在网卡中的存储地址,获取所述待处理报文的业务信息;
根据所述待处理报文的业务信息查询预设的业务信息与流控子队列标识之间的映射关系,得到所述待处理报文对应的目标流控子队列标识;
将所述待处理报文送入所述目标流控子队列标识所标识的目标流控子队列进行流控处理。
2.根据权利要求1所述的方法,其特征在于,所述根据所述待处理报文在网卡中的存储地址获取所述待处理报文的业务信息,包括:
将所述待处理报文在网卡中的存储地址作为入口参数调用业务识别模块,以供所述业务识别模块对所述待处理报文进行业务分析得到所述待处理报文的业务信息。
3.根据权利要求2所述的方法,其特征在于,所述将所述待处理报文在网卡中的存储地址作为入口参数调用业务识别模块,以供所述业务识别模块对所述待处理报文进行业务分析得到所述待处理报文的业务信息,包括以下至少一种:
将所述待处理报文在网卡中的存储地址作为入口参数调用所述业务识别模块中的业务识别单元,以供所述业务识别单元对所述待处理报文所属的业务类型进行分析得到所述待处理报文所属的业务类型;
将所述待处理报文在网卡中的存储地址作为入口参数调用业务识别模块中的用户识别单元,以供所述用户识别单元对所述待处理报文所属的业务用户进行分析得到所述待处理报文所属的业务用户。
4.根据权利要求3所述的方法,其特征在于,还包括:
在所述业务识别单元中,根据所述待处理报文在网卡中的存储地址从所述网卡中读取所述待处理报文,根据所述待处理报文的净荷内容确定所述待处理报文的流量特征,根据所述待处理报文的流量特征查询已知流量特征与业务类型编码值之间的映射关系获得并输出所述待处理报文所属的业务类型的编码值。
5.根据权利要求3所述的方法,其特征在于,还包括:
在所述用户识别单元中,根据所述待处理报文在网卡中的存储地址从所述网卡中读取所述待处理报文,并从所述待处理报文的报文头信息中提取终端地址信息,根据所述终端地址信息查询已知终端地址信息与用户组编码值之间的映射关系,获得并输出所述待处理报文所属业务用户组的编码值;其中所述终端地址信息包括源终端地址信息或目的终端地址信息。
6.根据权利要求4或5所述的方法,其特征在于,在根据所述待处理报文的业务信息查询预设的业务信息与流控子队列标识之间的映射关系,得到所述待处理报文对应的目标流控子队列标识之前,还包括:
根据所述预设的业务信息与编码值之间的对应关系,将所述业务信息与流控子队列标识之间的映射关系转换为编码值与流控子队列标识之间的映射关系。
7.根据权利要求1-5任一项所述的方法,其特征在于,所述将所述待处理报文送入所述目标流控子队列标识所标识的目标流控子队列进行流控处理,包括:
将所述目标流控子队列作为父队列;
根据所述待处理报文以及与所述待处理报文在相同时间段内到达所述父队列的报文中不同源IP地址或不同目的IP地址的数量,将所述父队列的最大可分配带宽进行均分,得到子队列的均分带宽;
根据所述子队列的均分带宽和设定的子队列最大带宽,确定子队列承诺带宽,其中,所述设定的子队列最大带宽小于或等于所述最大可分配带宽;
根据所述最大可分配带宽和所述子队列承诺带宽,在所述父队列下针对不同源IP地址或不同目的IP地址创建子队列;
将所述待处理报文以及源IP地址或目的IP地址与所述待处理报文相同的其它报文送入所述待处理报文的源IP地址对应的子队列中,并按照等于所述子队列承诺带宽的转发速率对所述待处理报文以及源IP地址或目的IP地址与所述待处理报文相同的其它报文进行转发。
8.根据权利要求7所述的方法,其特征在于,所述根据所述子队列的均分带宽和设定的子队列最大带宽,确定子队列承诺带宽,包括:
若所述子队列的均分带宽小于或等于所述子队列最大带宽,将所述均分带宽作为所述子队列承诺带宽;
若所述子队列的均分带宽大于所述子队列最大带宽,将所述子队列的最大带宽作为所述子队列承诺带宽。
9.根据权利要求1-5任一项所述的方法,其特征在于,所述将所述待处理报文送入所述目标流控子队列标识所标识的目标流控子队列进行流控处理,包括:
根据所述待处理报文的业务信息确定所述待处理报文的优先级;
根据所述待处理报文的优先级确定所述待处理报文在所述目标流控子队列中可占用的带宽;
按照所述可占用的带宽对所述待处理报文进行转发。
10.根据权利要求1-5任一项所述的方法,其特征在于,所述将所述待处理报文送入所述目标流控子队列标识所标识的目标流控子队列进行流控处理,包括:
根据所述待处理报文的业务信息确定所述待处理报文的优先级;
根据所述待处理报文的优先级,确定所述待处理报文在所述目标流控子队列中可占用的带宽和其可占用的最大带宽;
根据所述可占用的最大带宽,从优先级低于所述待处理报文的其它报文的可占用的带宽的空闲带宽中为所述待处理报文借用部分带宽;其中,所述待处理报文可占用的带宽和为所述待处理报文借用的部分带宽之和小于或等于所述可占用的最大带宽;
根据所述待处理报文可占用的带宽和为所述待处理报文借用的部分带宽对所述待处理报文进行转发。
11.一种网络设备,其特征在于,包括:网卡、存储器和处理器;所述网卡用于存储待处理报文;所述存储器,用于存储计算机程序;
所述处理器耦合至所述存储器,用于执行所述计算机程序以用于:
获取所述待处理报文在所述存储器中的存储地址;
根据所述待处理报文在存储器中的存储地址,获取所述待处理报文的业务信息;
根据所述待处理报文的业务信息查询预设的业务信息与流控子队列标识之间的映射关系,得到所述待处理报文对应的目标流控子队列标识;
将所述待处理报文送入所述目标流控子队列标识所标识的目标流控子队列进行流控处理。
12.一种存储有计算机指令的计算机可读存储介质,其特征在于,当所述计算机指令被一个或多个处理器执行时,致使所述一个或多个处理器执行权利要求1-10任一项所述方法中的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811366157.0A CN109246023A (zh) | 2018-11-16 | 2018-11-16 | 流量控制方法、网络设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811366157.0A CN109246023A (zh) | 2018-11-16 | 2018-11-16 | 流量控制方法、网络设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN109246023A true CN109246023A (zh) | 2019-01-18 |
Family
ID=65075529
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811366157.0A Pending CN109246023A (zh) | 2018-11-16 | 2018-11-16 | 流量控制方法、网络设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109246023A (zh) |
Cited By (22)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110087261A (zh) * | 2019-04-28 | 2019-08-02 | 电子科技大学 | 一种基于OpenWrt的企业级无线局域网流量控制方法 |
CN110912810A (zh) * | 2019-11-08 | 2020-03-24 | 中国电建集团国际工程有限公司 | 数据传输的方法、智能网关、计算机设备和存储介质 |
CN111049669A (zh) * | 2019-10-30 | 2020-04-21 | 烽火通信科技股份有限公司 | 一种实现流量控制的分布式存储系统及方法 |
CN111131292A (zh) * | 2019-12-30 | 2020-05-08 | 北京天融信网络安全技术有限公司 | 报文分流方法、装置、网络安全检测设备及存储介质 |
CN111371690A (zh) * | 2020-02-24 | 2020-07-03 | 迈普通信技术股份有限公司 | 流量调控方法、装置、网络设备及计算机可读存储介质 |
CN111565323A (zh) * | 2020-03-23 | 2020-08-21 | 视联动力信息技术股份有限公司 | 一种流量控制方法、装置、电子设备及存储介质 |
CN111782259A (zh) * | 2020-06-24 | 2020-10-16 | 北京计算机技术及应用研究所 | 一种基于反向代理的微服务治理方法 |
CN112087395A (zh) * | 2020-08-28 | 2020-12-15 | 浪潮云信息技术股份公司 | 一种服务形式的分级流量控制方法 |
CN112217738A (zh) * | 2020-11-04 | 2021-01-12 | 成都中科大旗软件股份有限公司 | 一种文旅数据服务的流控方法、系统、存储介质及终端 |
CN112585914A (zh) * | 2020-11-27 | 2021-03-30 | 新华三技术有限公司 | 报文转发方法、装置以及电子设备 |
CN112751765A (zh) * | 2019-10-30 | 2021-05-04 | 华为技术有限公司 | 一种用于调整传输速率的方法和装置 |
CN112929294A (zh) * | 2019-12-06 | 2021-06-08 | 华为技术有限公司 | 一种报文调度方法及装置 |
CN113783797A (zh) * | 2021-09-13 | 2021-12-10 | 京东科技信息技术有限公司 | 云原生容器的网络流量控制方法、装置、设备及存储介质 |
CN113852559A (zh) * | 2021-09-23 | 2021-12-28 | 北京天融信网络安全技术有限公司 | 一种针对工控流量数据进行管理的方法以及装置 |
CN114024917A (zh) * | 2020-07-15 | 2022-02-08 | 中国移动通信集团终端有限公司 | 互联网业务带宽保障的方法、装置、设备及存储介质 |
CN115037694A (zh) * | 2022-04-26 | 2022-09-09 | 上海地面通信息网络股份有限公司 | 一种数据传输方法、装置、电子设备和存储介质 |
CN115134310A (zh) * | 2022-08-31 | 2022-09-30 | 浙江大华技术股份有限公司 | 流量的调度方法、装置、存储介质及电子装置 |
CN115150338A (zh) * | 2021-03-29 | 2022-10-04 | 华为技术有限公司 | 报文流量控制的方法、装置、设备及计算机可读存储介质 |
CN115242711A (zh) * | 2022-07-14 | 2022-10-25 | 天翼云科技有限公司 | 一种报文传输方法及装置 |
CN115914118A (zh) * | 2022-10-09 | 2023-04-04 | 鹏城实验室 | 针对通信服务质量的流量控制方法、系统及相关设备 |
WO2023236832A1 (zh) * | 2022-06-08 | 2023-12-14 | 大唐移动通信设备有限公司 | 数据调度处理方法、设备、装置及存储介质 |
CN115914118B (zh) * | 2022-10-09 | 2024-05-14 | 鹏城实验室 | 针对通信服务质量的流量控制方法、系统及相关设备 |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101009655A (zh) * | 2007-02-05 | 2007-08-01 | 华为技术有限公司 | 流量调度方法及装置 |
CN101150496A (zh) * | 2006-09-22 | 2008-03-26 | 中兴通讯股份有限公司 | 提高重要信息网络传输质量的方法 |
CN101848167A (zh) * | 2010-06-01 | 2010-09-29 | 北京星网锐捷网络技术有限公司 | 基于类的加权公平队列调度方法及装置 |
CN103795648A (zh) * | 2012-10-30 | 2014-05-14 | 中兴通讯股份有限公司 | 一种队列调度方法、装置及系统 |
CN104468401A (zh) * | 2014-11-20 | 2015-03-25 | 华为技术有限公司 | 一种报文处理方法和装置 |
CN104954257A (zh) * | 2014-03-27 | 2015-09-30 | 苏州与或信息科技有限公司 | 报文转发系统及方法 |
CN105490961A (zh) * | 2014-09-19 | 2016-04-13 | 杭州迪普科技有限公司 | 报文处理方法、装置以及网络设备 |
CN105516012A (zh) * | 2014-12-16 | 2016-04-20 | 北京安天电子设备有限公司 | 对超大网络流量处理的负载均衡方法及系统 |
CN105939308A (zh) * | 2015-07-27 | 2016-09-14 | 杭州迪普科技有限公司 | 报文的处理方法和装置 |
-
2018
- 2018-11-16 CN CN201811366157.0A patent/CN109246023A/zh active Pending
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101150496A (zh) * | 2006-09-22 | 2008-03-26 | 中兴通讯股份有限公司 | 提高重要信息网络传输质量的方法 |
CN101009655A (zh) * | 2007-02-05 | 2007-08-01 | 华为技术有限公司 | 流量调度方法及装置 |
CN101848167A (zh) * | 2010-06-01 | 2010-09-29 | 北京星网锐捷网络技术有限公司 | 基于类的加权公平队列调度方法及装置 |
CN103795648A (zh) * | 2012-10-30 | 2014-05-14 | 中兴通讯股份有限公司 | 一种队列调度方法、装置及系统 |
CN104954257A (zh) * | 2014-03-27 | 2015-09-30 | 苏州与或信息科技有限公司 | 报文转发系统及方法 |
CN105490961A (zh) * | 2014-09-19 | 2016-04-13 | 杭州迪普科技有限公司 | 报文处理方法、装置以及网络设备 |
CN104468401A (zh) * | 2014-11-20 | 2015-03-25 | 华为技术有限公司 | 一种报文处理方法和装置 |
CN105516012A (zh) * | 2014-12-16 | 2016-04-20 | 北京安天电子设备有限公司 | 对超大网络流量处理的负载均衡方法及系统 |
CN105939308A (zh) * | 2015-07-27 | 2016-09-14 | 杭州迪普科技有限公司 | 报文的处理方法和装置 |
Cited By (31)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110087261B (zh) * | 2019-04-28 | 2020-11-06 | 电子科技大学 | 一种基于OpenWrt的企业级无线局域网流量控制方法 |
CN110087261A (zh) * | 2019-04-28 | 2019-08-02 | 电子科技大学 | 一种基于OpenWrt的企业级无线局域网流量控制方法 |
CN111049669A (zh) * | 2019-10-30 | 2020-04-21 | 烽火通信科技股份有限公司 | 一种实现流量控制的分布式存储系统及方法 |
CN112751765A (zh) * | 2019-10-30 | 2021-05-04 | 华为技术有限公司 | 一种用于调整传输速率的方法和装置 |
CN110912810A (zh) * | 2019-11-08 | 2020-03-24 | 中国电建集团国际工程有限公司 | 数据传输的方法、智能网关、计算机设备和存储介质 |
CN112929294A (zh) * | 2019-12-06 | 2021-06-08 | 华为技术有限公司 | 一种报文调度方法及装置 |
CN111131292A (zh) * | 2019-12-30 | 2020-05-08 | 北京天融信网络安全技术有限公司 | 报文分流方法、装置、网络安全检测设备及存储介质 |
CN111131292B (zh) * | 2019-12-30 | 2022-04-26 | 北京天融信网络安全技术有限公司 | 报文分流方法、装置、网络安全检测设备及存储介质 |
CN111371690A (zh) * | 2020-02-24 | 2020-07-03 | 迈普通信技术股份有限公司 | 流量调控方法、装置、网络设备及计算机可读存储介质 |
CN111565323A (zh) * | 2020-03-23 | 2020-08-21 | 视联动力信息技术股份有限公司 | 一种流量控制方法、装置、电子设备及存储介质 |
CN111782259A (zh) * | 2020-06-24 | 2020-10-16 | 北京计算机技术及应用研究所 | 一种基于反向代理的微服务治理方法 |
CN111782259B (zh) * | 2020-06-24 | 2023-11-10 | 北京计算机技术及应用研究所 | 一种基于反向代理的微服务治理方法 |
CN114024917A (zh) * | 2020-07-15 | 2022-02-08 | 中国移动通信集团终端有限公司 | 互联网业务带宽保障的方法、装置、设备及存储介质 |
CN114024917B (zh) * | 2020-07-15 | 2024-04-09 | 中国移动通信集团终端有限公司 | 互联网业务带宽保障的方法、装置、设备及存储介质 |
CN112087395B (zh) * | 2020-08-28 | 2022-06-24 | 浪潮云信息技术股份公司 | 一种服务形式的分级流量控制方法 |
CN112087395A (zh) * | 2020-08-28 | 2020-12-15 | 浪潮云信息技术股份公司 | 一种服务形式的分级流量控制方法 |
CN112217738B (zh) * | 2020-11-04 | 2023-08-25 | 成都中科大旗软件股份有限公司 | 一种文旅数据服务的流控方法、系统、存储介质及终端 |
CN112217738A (zh) * | 2020-11-04 | 2021-01-12 | 成都中科大旗软件股份有限公司 | 一种文旅数据服务的流控方法、系统、存储介质及终端 |
CN112585914A (zh) * | 2020-11-27 | 2021-03-30 | 新华三技术有限公司 | 报文转发方法、装置以及电子设备 |
CN115150338A (zh) * | 2021-03-29 | 2022-10-04 | 华为技术有限公司 | 报文流量控制的方法、装置、设备及计算机可读存储介质 |
CN113783797A (zh) * | 2021-09-13 | 2021-12-10 | 京东科技信息技术有限公司 | 云原生容器的网络流量控制方法、装置、设备及存储介质 |
CN113783797B (zh) * | 2021-09-13 | 2023-11-07 | 京东科技信息技术有限公司 | 云原生容器的网络流量控制方法、装置、设备及存储介质 |
CN113852559A (zh) * | 2021-09-23 | 2021-12-28 | 北京天融信网络安全技术有限公司 | 一种针对工控流量数据进行管理的方法以及装置 |
CN113852559B (zh) * | 2021-09-23 | 2024-01-23 | 北京天融信网络安全技术有限公司 | 一种针对工控流量数据进行管理的方法以及装置 |
CN115037694A (zh) * | 2022-04-26 | 2022-09-09 | 上海地面通信息网络股份有限公司 | 一种数据传输方法、装置、电子设备和存储介质 |
WO2023236832A1 (zh) * | 2022-06-08 | 2023-12-14 | 大唐移动通信设备有限公司 | 数据调度处理方法、设备、装置及存储介质 |
CN115242711A (zh) * | 2022-07-14 | 2022-10-25 | 天翼云科技有限公司 | 一种报文传输方法及装置 |
CN115134310B (zh) * | 2022-08-31 | 2022-12-06 | 浙江大华技术股份有限公司 | 流量的调度方法、装置、存储介质及电子装置 |
CN115134310A (zh) * | 2022-08-31 | 2022-09-30 | 浙江大华技术股份有限公司 | 流量的调度方法、装置、存储介质及电子装置 |
CN115914118A (zh) * | 2022-10-09 | 2023-04-04 | 鹏城实验室 | 针对通信服务质量的流量控制方法、系统及相关设备 |
CN115914118B (zh) * | 2022-10-09 | 2024-05-14 | 鹏城实验室 | 针对通信服务质量的流量控制方法、系统及相关设备 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109246023A (zh) | 流量控制方法、网络设备及存储介质 | |
US11425004B2 (en) | In-fabric traffic analysis | |
Taleb et al. | PERMIT: Network slicing for personalized 5G mobile telecommunications | |
CN108462750A (zh) | 分布式调用追踪方法、业务系统、监控系统及存储介质 | |
CN107113290A (zh) | 向数据中心应用提供服务质量 | |
US9838483B2 (en) | Methods, systems, and computer readable media for a network function virtualization information concentrator | |
CN103516632B (zh) | 用于在分布式交换机中提供服务的方法和装置 | |
Peraković et al. | Challenges and Issues of ICT in Industry 4.0 | |
CN107533484A (zh) | 用于动态管理虚拟网络功能描述符的系统和方法 | |
US9537717B2 (en) | Policy enforcement point provisioning | |
CN113760452B (zh) | 一种容器调度方法、系统、设备及存储介质 | |
US20180198732A1 (en) | Negotiating quality of service for data flows | |
CN109510780A (zh) | 流控方法、交换芯片及网络设备 | |
EP3757780B1 (en) | Method and apparatus for service management | |
Faticanti et al. | Throughput-aware partitioning and placement of applications in fog computing | |
WO2020087523A1 (zh) | 网络通信的方法、装置及电子设备 | |
WO2022134725A1 (zh) | 一种大规模K8s集群监控的方法、装置、设备及可读介质 | |
Chang et al. | Slice orchestration for multi-service disaggregated ultra-dense RANs | |
CN110414928B (zh) | 业务流分类处理方法、装置和通信设备 | |
CN112565317B (zh) | 混合云系统及其数据处理方法、设备及存储介质 | |
CN114830080B (zh) | 数据分发流程配置方法及装置、电子设备、存储介质 | |
CN113765816A (zh) | 一种基于服务网格的流量控制方法、系统、设备及介质 | |
US11057308B2 (en) | User- and application-based network treatment policies | |
JP2020028049A (ja) | 通信制御装置、通信制御システム、通信制御方法および通信制御プログラム | |
US10503795B2 (en) | Method and system for managing data |
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 | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20190118 |
|
RJ01 | Rejection of invention patent application after publication |