流量转发方法及装置、电子设备和存储介质

文档序号:1819813 发布日期:2021-11-09 浏览:11次 >En<

阅读说明:本技术 流量转发方法及装置、电子设备和存储介质 (Flow forwarding method and device, electronic equipment and storage medium ) 是由 廖桥生 于 2021-08-04 设计创作,主要内容包括:本发明公开了一种流量转发方法及装置、电子设备和存储介质,该流量转发方法包括:接收SDN控制器下发的带宽限制配置信息,带宽限制配置信息包括上行优先级规则和下行优先级规则;创建与tap接口对应的ifb接口,ifb接口用于接收tap接口转发的出口流量;在tap接口中创建至少两个入口优先级队列、以及在ifb接口中创建至少两个出口优先级队列;以及基于下行优先级规则将入口流量转发至对应的入口优先级队列、以及基于上行优先级规则将出口流量转发至对应的出口优先级队列。该流量转发方法能够根据业务的重要程度给网络流量分配对应的优先级,并按优先级顺序进行网络流量的转发,提高了云计算平台的质量。(The invention discloses a traffic forwarding method and device, electronic equipment and a storage medium, wherein the traffic forwarding method comprises the following steps: receiving bandwidth limitation configuration information issued by an SDN controller, wherein the bandwidth limitation configuration information comprises an uplink priority rule and a downlink priority rule; creating an ifb interface corresponding to the tap interface, wherein the ifb interface is used for receiving the outlet flow forwarded by the tap interface; creating at least two ingress priority queues in a tap interface and at least two egress priority queues in an ifb interface; and forwarding the ingress traffic to the corresponding ingress priority queue based on the downlink priority rule, and forwarding the egress traffic to the corresponding egress priority queue based on the uplink priority rule. The traffic forwarding method can distribute corresponding priority to the network traffic according to the importance degree of the service, and forward the network traffic according to the priority order, so that the quality of the cloud computing platform is improved.)

流量转发方法及装置、电子设备和存储介质

技术领域

本发明属于关于计算机领域,特别是关于一种流量转发方法及装置、电子设备和存储介质。

背景技术

由于实际环境中用户的网络流量通常不带优先级参数,而用户的业务重要性不相同,要实现支持流量优先级的带宽限制首先需要支持设置不同业务网络流量的优先级。目前各大云计算服务提供商的带宽限制功能均只提供了不支持流量优先级的带宽限制功能,导致在大流量和小流量混合场景中,实时性要求不高的大流量下载几乎占满了带宽,而实时性要求高的小流量请求无法访问。

公开于该

背景技术

部分的信息仅仅旨在增加对本发明的总体背景的理解,而不应当被视为承认或以任何形式暗示该信息构成已为本领域一般技术人员所公知的现有技术。

发明内容

本发明的目的在于提供一种流量转发方法及装置、电子设备和存储介质,其能够根据业务的重要程度给网络流量分配对应的优先级,并按优先级顺序进行网络流量的转发,提高了云计算平台的质量。

为实现上述目的,本发明的实施例提供了一种流量转发方法。

在本发明的一个或多个实施方式中,流量转发方法包括以下步骤:接收SDN控制器下发的带宽限制配置信息,所述带宽限制配置信息包括上行优先级规则和下行优先级规则;创建与tap接口对应的ifb接口,所述ifb接口用于接收所述tap接口转发的出口流量;在所述tap接口中创建至少两个入口优先级队列、以及在所述ifb接口中创建至少两个出口优先级队列;基于所述下行优先级规则将入口网络流量转发至对应的所述入口优先级队列、以及基于所述上行优先级规则将出口网络流量转发至对应的所述出口优先级队列。

在本发明的一个或多个实施方式中,基于所述下行优先级规则将入口网络流量转发至对应的所述入口优先级队列,具体包括:在所述tap接口中创建与所述至少两个入口优先级队列对应的入口网络流量过滤器,并利用所述入口网络流量过滤器将入口网络流量转发至对应的所述入口优先级队列,其中,所述入口网络流量过滤器的过滤规则包括所述下行优先级规则。

在本发明的一个或多个实施方式中,基于所述上行优先级规则将出口网络流量转发至对应的所述出口优先级队列,具体包括:在所述ifb接口中创建与所述至少两个出口优先级队列对应的出口网络流量过滤器,并利用所述出口网络流量过滤器将出口网络流量转发至对应的所述出口优先级队列,其中,所述出口网络流量过滤器的过滤规则包括所述上行优先级规则。

在本发明的一个或多个实施方式中,所述带宽限制配置信息还包括上行带宽限制值和下行带宽限制值;所述方法还包括:在所述tap接口上创建入口限速队列和对应的入口限速分类,并基于所述下行带宽限制值配置所述入口限速队列;在所述ifb接口上创建出口限速队列和对应的出口限速分类,并基于所述上行带宽限制值配置所述出口限速队列。

在本发明的一个或多个实施方式中,所述至少两个入口优先级队列创建于所述入口限速队列和入口网络流量过滤器之间,所述至少两个出口优先级队列创建于所述出口限速队列和出口网络流量过滤器之间。

在本发明的一个或多个实施方式中,所述上行优先级规则和所述下行优先级规则包括:源IP、目的IP、协议、源端口、目的端口和优先级等级。

在本发明的一个或多个实施方式中,所述入口优先级队列和所述出口优先级队列是PRIO队列。

在本发明的一个或多个实施方式中,所述入口限速队列和所述出口限速队列是HTB队列,所述入口限速分类和所述出口限速分类是HTB根类。

在本发明的另一个方面当中,提供了一种流量转发装置,其包括接收模块、创建模块和转发模块。

接收模块用于接收SDN控制器下发的带宽限制配置信息,所述带宽限制配置信息包括上行优先级规则和下行优先级规则。

创建模块用于创建与tap接口对应的ifb接口,所述ifb接口用于接收所述tap接口转发的出口流量;在所述tap接口中创建至少两个入口优先级队列、以及在所述ifb接口中创建至少两个出口优先级队列。

转发模块用于基于所述下行优先级规则将入口流量转发至对应的入口优先级队列、以及基于所述上行优先级规则将出口流量转发至所述至少两个出口优先级队列。

在本发明的一个或多个实施方式中,所述转发模块还用于:在所述tap接口中创建与所述至少两个入口优先级队列对应的入口网络流量过滤器,并利用所述入口网络流量过滤器将入口网络流量转发至对应的所述入口优先级队列,其中,所述入口网络流量过滤器的过滤规则包括所述下行优先级规则。

在本发明的一个或多个实施方式中,所述转发模块还用于:在所述ifb接口中创建与所述至少两个出口优先级队列对应的出口网络流量过滤器,并利用所述出口网络流量过滤器将出口网络流量转发至对应的所述出口优先级队列,其中,所述出口网络流量过滤器的过滤规则包括所述上行优先级规则。

在本发明的一个或多个实施方式中,所述带宽限制配置信息还包括上行带宽限制值和下行带宽限制值;所述创建模块还用于:在所述tap接口上创建入口限速队列和对应的入口限速分类,并基于所述下行带宽限制值配置所述入口限速队列;在所述ifb接口上创建出口限速队列和对应的出口限速分类,并基于所述上行带宽限制值配置所述出口限速队列。

在本发明的一个或多个实施方式中,所述创建模块还用于:所述至少两个入口优先级队列创建于所述入口限速队列和入口网络流量过滤器之间,所述至少两个出口优先级队列创建于所述出口限速队列和出口网络流量过滤器之间。

在本发明的一个或多个实施方式中,所述上行优先级规则和所述下行优先级规则包括:源IP、目的IP、协议、源端口、目的端口和优先级等级。

在本发明的一个或多个实施方式中,所述入口优先级队列和所述出口优先级队列是PRIO队列。

在本发明的一个或多个实施方式中,所述入口限速队列和所述出口限速队列是HTB队列,所述入口限速分类和所述出口限速分类是HTB根类。

在本发明的另一个方面当中,提供了一种电子设备,包括:至少一个处理器;以及存储器,所述存储器存储指令,当所述指令被所述至少一个处理器执行时,使得所述至少一个处理器执行如上所述的流量转发方法。

在本发明的另一个方面当中,提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如所述的流量转发方法的步骤。

与现有技术相比,根据本发明实施方式的流量转发方法及装置、电子设备和存储介质,能够根据预设的配置信息给不同的网络流量分配对应的优先级,并将其转发至对应的优先级队列,在高优先级队列的网络流量转发完成后再转发低优先级队列的网络流量,在网络带宽流量达到带宽限制值后,可以保证高优先级的网络流量优先转发,能够实现流量优先级和带宽限制的配置,并且可以实现同一计算节点上虚拟机之间的带宽限制,提高效率。

附图说明

图1是根据本发明一实施方式的流量转发方法的示意图;

图2是根据本发明一实施方式的SDN系统的结构图;

图3是根据本发明一实施方式的计算节点的结构图;

图4是根据本发明一实施方式的tap接口的结构图;

图5是根据本发明一实施方式的流量转发装置的结构图;

图6是根据本发明一实施方式的流量转发计算设备的硬件结构图。

具体实施方式

下面结合附图,对本发明的具体实施方式进行详细描述,但应当理解本发明的保护范围并不受具体实施方式的限制。

除非另有其它明确表示,否则在整个说明书和权利要求书中,术语“包括”或其变换如“包含”或“包括有”等等将被理解为包括所陈述的元件或组成部分,而并未排除其它元件或其它组成部分。

以下结合附图,详细说明本发明各实施例提供的技术方案。

实施例1

如图1至图3所示,介绍本发明的一个实施例中流量转发方法,该方法包括如下步骤。

在步骤S101中,接收SDN控制器下发的带宽限制配置信息。

在局域网环境中,带宽资源是有限的,为了确保服务器能够及时响应终端的请求,因此需要对每台终端占用的带宽进行限制。在本实施例中,带宽限制配置包括一条或多条上行优先级规则和一条或多条下行优先级规则,这里所说的上行和下行优先级规则都可以包括源IP、目的IP、协议、源端口、目的端口、优先级等级。

SDN控制器从数据库读取虚拟机接口的带宽限制配置信息,并将配置信息下发至对应虚拟机所在计算节点上的qos-agent,qos-agent监听其所属计算节点中虚拟机接口的带宽限制配置,并将收到的带宽限制配置下发到对应虚拟机接口上。

举例来说,用户给虚拟机VM221接口设置支持流量优先级的带宽限制配置后,控制节点10通过管理网卡201将虚拟机VM221接口支持流量优先级的带宽限制配置消息下发至虚拟机VM221所在的计算节点20的qos-agent201。

qos-agent是为网络业务用户提供端到端的服务质量控制与管理的实体及运行其上的策略的集合,它通过跟踪已得到的网络资源的流的整个生存周期,同时依据自身策略和当前网络资源的使用情况,解释新的流的服务质量请求,为新的请求分配合理的网络资源,或者拒绝该请求。

在步骤S102中,创建与tap接口对应的ifb接口。

由于linux tc不支持出口流量控制,本实施例通过linux IFB中间功能模块技术,给每一个虚拟机的tap接口创建一个对应的ifb接口,用于接收tap接口转发的出口流量。

在步骤S103中,在tap接口中创建至少两个入口优先级队列、以及在ifb接口中创建至少两个出口优先级队列。

入口优先级队列和出口优先级队列是PRIO队列,PRIO队列可以创建不同优先级的优先级队列,只有高优先级队列的网络流量转发完成后才会转发低优先级队列的网络流量。

在步骤S104中,基于下行优先级规则将入口网络流量转发至对应的入口优先级队列、以及基于上行优先级规则将出口网络流量转发至对应的出口优先级队列。

在tap接口中创建与入口优先级队列对应的入口网络流量过滤器,并利用入口网络流量过滤器将入口网络流量转发至对应的入口优先级队列,其中,入口网络流量过滤器的过滤规则包括下行优先级规则。

在ifb接口中创建与出口优先级队列对应的出口网络流量过滤器,并利用出口网络流量过滤器将出口网络流量转发至对应的出口优先级队列,其中,出口网络流量过滤器的过滤规则包括上行优先级规则。

通过网络流量过滤器将虚拟机的tap接口的出口网络流量转发到ifb接口并由ifb接口转发出去,从而实现将tap接口的出口网络流量转换成ifb接口的入口网络流量。网络流量过滤器(即tc filter过滤器)可以根据报文的源IP、目的IP、协议、源端口和目的端口五元组(即优先级规则)将报文转发到指定的队列中。tc是linux系统中的流量控制模块,它可以在网络接口上建立数据包发送的队列,并定义队列中数据包的发送方式,从而实现对流量的控制。

以虚拟机的接口tap211为例,接口tap211的入口网络流量根据qos-agent配置的下行优先级规则设置不同业务网络流量的优先级,根据入口网络流量的优先级将入口网络流量转发到不同的入口优先级队列,不同入口优先级队列中的流量按照优先级等级由高至低依次转发给虚拟机;接口tap211的出口网络流量根据qos-agent配置的上行优先级规则设置不同业务网络流量的优先级,根据出口网络流量的优先级将出口网络流量转发到不同的出口优先级队列,不同出口优先级队列中的流量按照优先级等级由高至低依次转发给虚拟交换机。

实施例2

如图4所示,介绍本发明的又一个实施例中流量转发方法,该方法包括如下步骤。

在步骤S201中,接收SDN控制器下发的带宽限制配置信息。

云计算的核心就是基于网络的应用,接入网络的带宽直接决定了企业使用云计算平台的质量,由于云计算平台中的所有虚拟机共享环境中的网络资源,为保证每台虚拟机都有个稳定的带宽资源,可以对云环境中虚拟机的网络流量进行带宽限制。

带宽限制功能通常是指在路由器、交换机、网卡等设备上配置限速规则,当指定网络流量经过这些设备时,对符合限速规则的网络流量进行限速,超过限速值的网络流量会被丢弃。

相应地,与上一实施例不同的是,在本实施例中,带宽限制配置信息除包括一条或多条上行优先级规则和一条或多条下行优先级规则外,还包括上行带宽限制值和下行带宽限制值。这里的上行带宽限制值和下行带宽限制值用于限制入口网络流量和出口网络流量的转发速度,优先级规则可以包括源IP、目的IP、协议、源端口、目的端口、优先级等级。

在步骤S202中,创建与tap接口对应的ifb接口,用于接收tap接口转发的出口流量。

在步骤S203中,在tap接口上创建入口限速队列和对应的入口限速分类,并基于下行带宽限制值配置入口限速队列;在ifb接口上创建出口限速队列和对应的出口限速分类,并基于上行带宽限制值配置出口限速队列。

入口限速队列和出口限速队列是HTB队列,HTB队列是一个可分类的队列,与其他复杂的队列类型相比,HTB具有功能强大、配置简单及容易上手等优点。入口限速分类和出口限速分类是HTB根类,HTB可以指定带宽限制速度,通过令牌桶技术限制流量带宽。

在步骤S204中,将tap接口上所有的入口网络流量转发至入口限速队列、以及将ifb接口上所有的出口网络流量转发至出口限速队列。

在本实施例中,采用tc filter过滤器根据业务的源IP、目的IP、协议、源端口和目的端口五元组将其转发到对应入口限速队列和出口限速队列。

在步骤S205中,在tap接口中创建至少两个入口优先级队列、以及在ifb接口中创建至少两个出口优先级队列。

现有技术在大流量和小流量混合场景中,实时性要求不高的大流量下载几乎占满了带宽,而实时性要求高的小流量请求无法访问。在本实施例中,带宽限制功能提供了支持流量优先级的带宽限制功能,根据业务的重要性和实时性选择对应的优先级队列,在高优先级的网络流量转发完成后,再对低优先级的网络流量进行转发,可以避免实时性要求高的小流量请求无法访问的问题。

在步骤S206中,基于下行优先级规则将入口网络流量转发至对应的入口优先级队列、以及基于上行优先级规则将出口网络流量转发至对应的出口优先级队列。

举例来说,在完成上述SDN系统云计算平台的配置后,虚机VM221上ftp业务和http业务的网络流量走向如下,ftp业务的网络流量走向如图4实线所示,ftp业务为tcp端口20,上行网络流量依次经过出口网络流量过滤器,、出口优先级1队列、出口限速队列后,通过虚机交换机204上的tap211接口发送到虚拟交换机204;下行网络流量依次经过虚拟交换机204上的tap211接口、入口网络流量过滤器,入口优先级1队列、入口限速队列后转发给虚机VM221。http业务的网络流量走向如图4虚线所示,http业务为tcp端口80,上行网络流量依次经过出口网络流量过滤器、出口优先级2队列、出口限速队列后,通过虚机交换机204上的tap211接口发送到虚拟交换机204;下行网络流量依次经过虚拟交换机204上的tap211接口、入口网络流量过滤器,入口优先级2队列、入口限速队列后转发给虚机VM221。

http业务上行网络流量和下行网络流量分别走出口优先级2队列和入口优先级2队列,ftp业务上行网络流量和下行网络流量分别走出口优先级1队列和入口优先级1队列,由于优先级2队列的优先级比优先级1队列的优先级高,所以当ftp业务大流量持续发送或者接收和http业务小流量持续发送和接收同时进行时,会保证http业务流量不丢包。

如图5所示,介绍本发明流量转发装置的具体实施方式。

在本发明的实施方式中,流量转发装置包括接收模块501、创建模块502和转发模块503。

接收模块501用于接收SDN控制器下发的带宽限制配置信息,带宽限制配置信息包括上行优先级规则和下行优先级规则.

创建模块502用于创建与tap接口对应的ifb接口,ifb接口用于接收tap接口转发的出口流量;在tap接口中创建至少两个入口优先级队列、以及在ifb接口中创建至少两个出口优先级队列。

转发模块503用于基于下行优先级规则将入口流量转发至对应的入口优先级队列、以及基于上行优先级规则将出口流量转发至至少两个出口优先级队列。

转发模块503还用于:在tap接口中创建与至少两个入口优先级队列对应的入口网络流量过滤器,并利用入口网络流量过滤器将入口网络流量转发至对应的入口优先级队列,其中,入口网络流量过滤器的过滤规则包括下行优先级规则。

转发模块503还用于:在ifb接口中创建与至少两个出口优先级队列对应的出口网络流量过滤器,并利用出口网络流量过滤器将出口网络流量转发至对应的出口优先级队列,其中,出口网络流量过滤器的过滤规则包括上行优先级规则。

创建模块502还用于:在tap接口上创建入口限速队列和对应的入口限速分类,并基于下行带宽限制值配置入口限速队列;在ifb接口上创建出口限速队列和对应的出口限速分类,并基于上行带宽限制值配置出口限速队列。

创建模块502还用于:至少两个入口优先级队列创建于入口限速队列和入口网络流量过滤器之间,至少两个出口优先级队列创建于出口限速队列和出口网络流量过滤器之间。

图6示出了根据本说明书的实施例的用于流量转发的计算设备60的硬件结构图。如图6所示,计算设备60可以包括至少一个处理器601、存储器602(例如非易失性存储器)、内存603和通信接口604,并且至少一个处理器601、存储器602、内存603和通信接口604经由总线605连接在一起。至少一个处理器601执行在存储器602中存储或编码的至少一个计算机可读指令。

应该理解,在存储器602中存储的计算机可执行指令当执行时使得至少一个处理器601进行本说明书的各个实施例中以上结合图1-6描述的各种操作和功能。

在本说明书的实施例中,计算设备60可以包括但不限于:个人计算机、服务器计算机、工作站、桌面型计算机、膝上型计算机、笔记本计算机、移动计算设备、智能电话、平板计算机、蜂窝电话、个人数字助理(PDA)、手持装置、消息收发设备、可佩戴计算设备、消费电子设备等等。

根据一个实施例,提供了一种比如机器可读介质的程序产品。机器可读介质可以具有指令(即,上述以软件形式实现的元素),该指令当被机器执行时,使得机器执行本说明书的各个实施例中以上结合图1-6描述的各种操作和功能。具体地,可以提供配有可读存储介质的系统或者装置,在该可读存储介质上存储着实现上述实施例中任一实施例的功能的软件程序代码,且使该系统或者装置的计算机或处理器读出并执行存储在该可读存储介质中的指令。

根据本发明实施方式的流量转发方法及装置、电子设备和存储介质,能够根据预设的配置信息给不同的网络流量分配对应的优先级,并将其转发至对应的优先级队列,在高优先级队列的网络流量转发完成后再转发低优先级队列的网络流量,在网络带宽流量达到带宽限制值后,可以保证高优先级的网络流量优先转发,能够实现流量优先级和带宽限制的配置,并且可以实现同一计算节点上虚拟机之间的带宽限制,提高效率。

本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。

本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。

这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。

这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作S以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的S。

前述对本发明的具体示例性实施方案的描述是为了说明和例证的目的。这些描述并非想将本发明限定为所公开的精确形式,并且很显然,根据上述教导,可以进行很多改变和变化。对示例性实施例进行选择和描述的目的在于解释本发明的特定原理及其实际应用,从而使得本领域的技术人员能够实现并利用本发明的各种不同的示例性实施方案以及各种不同的选择和改变。本发明的范围意在由权利要求书及其等同形式所限定。

14页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:分配带宽资源的方法、装置、电子设备及介质

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!