CN115499386A - 一种数据转发方法、vpp网元设备和可读存储介质 - Google Patents
一种数据转发方法、vpp网元设备和可读存储介质 Download PDFInfo
- Publication number
- CN115499386A CN115499386A CN202210910756.4A CN202210910756A CN115499386A CN 115499386 A CN115499386 A CN 115499386A CN 202210910756 A CN202210910756 A CN 202210910756A CN 115499386 A CN115499386 A CN 115499386A
- Authority
- CN
- China
- Prior art keywords
- data
- hqos
- forwarded
- forwarding
- vpp
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 49
- 238000012545 processing Methods 0.000 claims abstract description 8
- 238000004590 computer program Methods 0.000 claims description 9
- 230000008569 process Effects 0.000 description 9
- 230000006870 function Effects 0.000 description 8
- 238000010586 diagram Methods 0.000 description 7
- 238000013461 design Methods 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 4
- 230000000694 effects Effects 0.000 description 3
- 239000000126 substance Substances 0.000 description 3
- 101100388291 Arabidopsis thaliana DTX49 gene Proteins 0.000 description 2
- 101100268840 Danio rerio chrna1 gene Proteins 0.000 description 2
- 101150065731 NIC1 gene Proteins 0.000 description 2
- PWHVEHULNLETOV-UHFFFAOYSA-N Nic-1 Natural products C12OC2C2(O)CC=CC(=O)C2(C)C(CCC2=C3)C1C2=CC=C3C(C)C1OC(O)C2(C)OC2(C)C1 PWHVEHULNLETOV-UHFFFAOYSA-N 0.000 description 2
- 238000004458 analytical method Methods 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000003491 array Methods 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 238000012827 research and development Methods 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
Images
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/50—Queue scheduling
- H04L47/62—Queue scheduling characterised by scheduling criteria
- H04L47/625—Queue scheduling characterised by scheduling criteria for service slots or service orders
- H04L47/6275—Queue scheduling characterised by scheduling criteria for service slots or service orders based on priority
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开了一种数据转发方法、VPP网元设备和可读存储介质,其中,所述方法应用于矢量数据包处理VPP网元设备,所述方法包括:获取待转发流量数据;基于预先配置的匹配规则,确定所述待转发流量数据的优先级分类结果;将所述待转发流量数据放入多个分层服务质量HQOS队列中与所述优先级分类结果对应的HQOS队列中,所述多个HQOS队列的优先级不同;按照优先级从高到低的顺序依次发送所述多个HQOS队列中的待转发流量数据。本发明提供的技术方案,使得VPP网元设备能够针对不同业务流量提供差分调度服务。
Description
技术领域
本发明涉及通信技术领域,具体涉及一种数据转发方法、VPP网元设备和可读存储介质。
背景技术
软件定义网络(Software Defined Network,SDN)重新定义了传统的网络结构,将原来的网络设备,采用在云主机或通用x86服务器上部署,更灵活更便捷地面向用户提供服务。而软件定义广域网(Software Defined Wide Area Network,SDWAN)是将SDN技术在广域网场景中重要应用落地。矢量数据包处理(Vector Packet Processing,VPP)则是SDWAN开源中一个很好的平台,可提供开箱即用的交换机或路由器功能,它是思科矢量数据包处理(VPP)技术的开源版本,可以在虚拟化环境中或x86服务器部署运行,经过验证,其高性能,模块化,灵活性以及丰富的功能集获得到大家的喜爱。
随着IP技术和网络的发展,IP网络已经从当初的单一网络向集成数据、语音、视频、图像的多业务网络转变。而每种业务要求的传输时延和抖动等服务参数不尽相同,因此分层服务质量(Hierarchical Quality of Service,HQOS)已经成为网络设备必备功能。在网络拥塞环境下,应该优先高优先级业务带宽,低优先数据报文次之,从而保证用户上网体验。思科开源软件VPP缺少对不同业务流量提供差分调度服务能力。
发明内容
有鉴于此,本发明实施例提供了一种一种数据转发方法、VPP网元设备和可读存储介质,以解决当前思科开源软件VPP缺少对不同业务流量提供差分调度服务的能力的问题。
根据第一方面,本发明实施例提供了一种数据转发方法,应用于VPP网元设备,所述方法包括:
获取待转发流量数据;
基于预先配置的匹配规则,确定所述待转发流量数据的优先级分类结果;
将所述待转发流量数据放入多个HQOS队列中与所述优先级分类结果对应的HQOS队列中,所述多个HQOS队列的优先级不同;
按照优先级从高到低的顺序依次发送所述多个HQOS队列中的待转发流量数据。
可选的,所述获取待转发数据之前,还包括:
接收配置数据,所述配置数据包括分离的控制面数据和转发面数据;所述转发面数据包括所述匹配规则、以及所述匹配规则与所述优先级之间的一一对应关系;
基于所述配置数据进行配置。
可选的,所述基于所述配置数据进行配置,包括:
基于所述配置数据,调用ACL插件相关API进行配置,所述ACL插件相关API是通过DLSYM方式获取。
可选的,一个所述匹配规则对应一个ACL表项;
所述基于预先配置的匹配规则,确定所述待转发流量数据的优先级分类结果,包括:
通过接口索引查询绑定的ACL上下文表项标识;
通过ACL上下文表项标识查询ACL表内容,调用ACL API进行所述待转发流量数据的匹配。
可选的,所述转发面数据还包括绑定规则,所述绑定规则包括转发线程相关的绑定规则和HQOS线程相关的绑定规则;其中,
所述绑定规则至少包括与VPP核的绑定规则;
所述转发线程用于获取所述待转发流量数据;
所述HQOS线程,用于基于预先配置的匹配规则,确定所述待转发流量数据的优先级分类结果;将所述待转发流量数据放入多个分层服务质量HQOS队列中与所述优先级分类结果对应的HQOS队列中,所述多个HQOS队列的优先级不同;按照优先级从高到低的顺序依次发送所述多个HQOS队列中的待转发流量数据。
可选的,所述获取待转发流量数据,包括:
通过多个转发线程分别收取所述待转发流量数据,每一所述转发线程分别对应一个收包队列,且分别绑定到一个VPP转发核。
可选的,所述HQOS线程绑定到一个VPP调度核,所述VPP调度核与所述转发线程绑定的VPP转发核不同。
根据第二方面,本发明实施例提供了一种VPP网元设备,包括:
转发模块,用于获取待转发流量数据;
分类模块,用于基于预先配置的匹配规则,确定所述待转发流量数据的优先级分类结果;
所述分类模块,还用于将所述待转发流量数据放入多个分层服务质量HQOS队列中与所述优先级分类结果对应的HQOS队列中,所述多个HQOS队列的优先级不同;
调度模块,用于按照优先级从高到低的顺序依次发送所述多个HQOS队列中的待转发流量数据。
根据第三方面,本发明实施例提供了一种VPP网元设备,包括:
存储器和处理器,所述存储器和所述处理器之间互相通信连接,所述存储器用于存储计算机程序,所述计算机程序被所述处理器执行时,实现上述第一方面所述的任一种数据转发方法。
根据第四方面,本发明实施例提供了一种计算机可读存储介质,所述计算机可读存储介质用于存储计算机程序,所述计算机程序被处理器执行时,实现上述第一方面所述的任一种数据转发方法。
本发明实施例中,VPP网元设备在转发数据时,先按照预先配置的匹配规则,确定所述待转发流量数据的优先级,然后将该待转发流量数据放入相应优先级的HQOS队列中,在数据发送时,优先级较高的HQOS队列中的数据优先发送,优先级较低的HQOS队列中的数据后发送,也就是说优先级较高的数据优先发送,而优先级较低的数据后发送,且只要存在较高优先级的数据待发送就先发送较高优先级的数据,除非当前没有任何较高优先级的数据待发送,那么才会发送较低优先级的数据,因此较低优先级的数据将会在发生拥塞时被较高优先级的数据抢先。从而,可以使得实时业务的数据可以得到优先转发,非实时业务的数据在转发完实时业务的数据的空闲中得到转发,既保证了实时业务的优先,又充分利用了网络资源。
附图说明
通过参考附图会更加清楚的理解本发明的特征和优点,附图是示意性的而不应理解为对本发明进行任何限制,在附图中:
图1为本发明实施例提供的一种数据转发方法的流程示意图;
图2为本发明实施例中应用于VPP网元设备的HOQS功能实现示意图;
图3为SDWAN整体架构示意图;
图4为本发明实施例中的HQOS配置数据模块化和VPP网元设备插件的示意图;
图5为本发明实施例提供的一种报待转发流量数据的分类和调度流程示意图;
图6为本发明实施例提供的高性能HQOS调度实现架构的示意图;
图7为本发明实施例提供的一种VPP网元设备的结构示意图;
图8为本发明实施例提供的又一种VPP网元设备的结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。此外,术语“第一”、“第二”等仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。在以下各实施例的描述中,“多个”的含义是两个以上,除非另有明确具体的限定。
请参阅图1和图2,本发明实施例提供了一种数据转发方法,应用于VPP网元设备,所述方法包括:
S101:获取待转发流量数据,即报文;
S102:基于预先配置的匹配规则,确定所述待转发流量数据的优先级分类结果;
S103:将所述待转发流量数据放入多个HQOS队列中与所述优先级分类结果对应的HQOS队列中,所述多个HQOS队列的优先级不同,即有几个HQOS队列就有几个优先级,例如有四个HQOS队列,那么就有四个优先级,包括高优先级、中优先级、正常优先级和低优先级;
S104:按照优先级从高到低的顺序依次发送所述多个HQOS队列中的待转发流量数据。举例来说,如果优先级有四级,从高到低依次为高优先级、中优先级、正常优先级和低优先级,那么HQOS队列就有四个:高优先级队列、中优先级队列、正常优先级队列和低优先级队列。数据发送时的调度顺序为首先让高优先级队列中的报文出队并发送,直到高优先级队列中的报文发送完,然后发送中优先级队列中的报文,同样,直到发送完,然后是正常优先级队列和低优先级队列。
具体的,所述VPP网元设备可以应用于SDWAN,也可以应用于其他虚拟化网络。所述匹配规则的数量与所述多个HQOS队列的数量一致,也即匹配规则的数量与优先级的数量一致,一个匹配规则与一个优先级对应。一个匹配规则可以包括多条子匹配规则,例如50条。如果待转发流量数据,即报文,符合一个匹配规则中的一条子匹配规则,那么该待转发流量数据的优先级即是该匹配规则对应的优先级。匹配规则具体是关于IP报文五元组的,即判断待转发流量数据的IP报文五元组是否符合其中一条子匹配规则。
本发明实施例中,VPP网元设备在转发数据时,先按照预先配置的匹配规则,确定所述待转发流量数据的优先级,然后将该待转发流量数据放入相应优先级的HQOS队列中,在数据发送时,优先级较高的HQOS队列中的数据优先发送,优先级较低的HQOS队列中的数据后发送,也就是说优先级较高的数据优先发送,而优先级较低的数据后发送,且只要存在较高优先级的数据待发送就先发送较高优先级的数据,除非当前没有任何较高优先级的数据待发送,那么才会发送较低优先级的数据,因此较低优先级的数据将会在发生拥塞时被较高优先级的数据抢先。从而,可以使得实时业务(例如基于IP的语音传输(Voice overInternet Protocol,VoIP))的数据可以得到优先转发,非实时业务(如E-Mail)的数据在转发完实时业务的数据的空闲中得到转发,既保证了实时业务的优先,又充分利用了网络资源。
一些具体的实施方式中,所述获取待转发数据之前,即步骤S101之前,还包括:
接收配置数据,所述配置数据包括分离的控制面数据和转发面数据;所述转发面数据包括所述匹配规则、以及所述匹配规则与所述优先级之间的一一对应关系(即映射关系);
基于所述配置数据进行配置。
本发明实施例提出了配置数据模块化设计,解耦合设计,请参阅图3,在HQOS配置管理时,对配置数据进行了划分,包括基础配置、绑定规则和匹配规则,其中所述匹配规则与所述优先级之间的一一对应关系是包括在所述基础配置中的,所述基础配置还包括HQOS实例名称和/或配置带宽大小等。HQOS实例与所述VPP网元设备进行绑定时,需要指定需要绑定的接口。
以VPP网元设备应用于SDWAN为例,请参阅图4,SDWAN包括通用客户端设备(Universal Customer Premise Equipment,UCPE)配置管理系统、VPP网元设备和日志管理模块。其中,UCPE配置管理系统用于提供对外HQOS策略配置接口,支持netconf协议;接收用户HQOS配置数据,进行配置解析处理,将解析数据转化成VPP能识别的数据格式,通过VPP提供的应用程序编程接口(Application Programming Interface,API)接口下发到VPP网元设备中的VPP控制核(core)进行处理。VPP控制核用于对接收到的配置数据进行相关的配置检查,将配置数据分解为控制面数据和转发面数据。控制面数据用于研发维护,与上层配置进行对账使用。转发面数据设计尽量符合CPU高速缓存(CPU cache)的时间局部性和空间局部性,提高转发效率。日志管理模块,配置数据增加响应的日志记录,提高研发问题定位效率。
本发明实施例提供了一种转发面数据和控制面数据分离设计,控制面数据通过netconf接口下发到VPP控制核上面,用户可以通过VPP cli命令查询配置数据信息。
转发面数据是在转发过程中查询配置数据表项。转发面数据尽量只存储转发过程中使用的信息,保证cache数据对齐,或者利用cache的时间局部性或空间局部性进行设计结构体。
下面以代码示例举例说明一下,hqos_policy_running_main_t是运行数据结构体,其中变量u32*hqos_alctx_per_itf_vec是一个vector数组结构,通过接口索引查询访问控制策略(Access Control List,ACL)上下文信息。只有32字节,利用空间局部性原理,CPU每次读取一个cache数据,可以将相邻的接口信息读取出来。
hqos_running_data_by_acl_vec是一个vector数组结构。变量是32字节,通过ACL索引直接查询到HQOS规则的表项信息。同样利用cache空间局部性。
其中,所述转发面数据的一个匹配规则对应一个ACL表项。请参阅图5所示,本发明实施例的分类流程具体为:
通过接口索引查询绑定ACL上下文表项标识(ID);
通过ACL上下文表项ID查询ACL表内容,调用ACL API进行待转发流量数据(报文)的匹配。
另外,请参阅5,本发明实施例的调度流程为:
通过ACL上下文表项ID查询ACL表内容,调用ACL API进行待转发流量数据(报文)的匹配之后,若匹配,则通过ACL索引直接查询到对应HQOS队列信息;对于不匹配的情况,可以认为对应低优先级队列;
将待转发流量数据放入相应的队列中。
一些具体的实施方式中,所述基于所述配置数据进行配置,包括:包括:
基于所述配置数据,调用ACL插件相关应用程序编程接口(ApplicationProgramming Interface,API)进行配置,所述ACL插件相关API是通过DLSYM方式获取。
目前的VPP网元设备自带ACL插件和policer(限速策略器)插件,但是请参阅3,本发明实施例提供的VPP网元设备不仅包括ACL插件和policer插件,还包括HQOS插件。实现本发明实施例提供的方法需要用到HQOS插件和ACL插件。至于policer插件,由于其只提供了基本流量限速功能,拥塞场景下会随机丢弃报文,而HQOS插件除包含优先级队列调度外,也支持流量限速功能,且拥塞场景下会保证高优先级队列报文不丢弃、低优先级报文入队失败丢弃,因此policer插件与HQOS插件互斥,需要关闭policer插件。
具体的,用户通过控制面下发HQOS配置数据到HQOS插件,HQOS插件调用ACL插件API接口进行匹配规则配置。转发面同样在HQOS节点(NODE)处理中调用ACL插件API接口进行流匹配(即进行待转发流量数据的匹配),将匹配后流量(即待转发流量数据)送到对应的HQOS队列中。
另外,由于HQOS插件无法直接调用ACL插件相关的API接口,因此在初始化阶段HQOS插件通过DLSYM方式获取ACL插件相关API接口。
VPP网元设备增加HQOS功能后,转发速率可能成为瓶颈点,因此本发明实施例提供了如下技术方案,以最大限度提升转发性能。
一些具体的实施方式中,所述转发面数据还包括绑定规则,所述绑定规则包括转发线程相关的绑定规则和HQOS线程相关的绑定规则;其中,
所述绑定规则至少包括与VPP核的绑定规则;
所述转发线程用于获取所述待转发流量数据;
所述HQOS线程,用于基于预先配置的匹配规则,确定所述待转发流量数据的优先级分类结果;将所述待转发流量数据放入多个分层服务质量HQOS队列中与所述优先级分类结果对应的HQOS队列中,所述多个HQOS队列的优先级不同;按照优先级从高到低的顺序依次发送所述多个HQOS队列中的待转发流量数据。
其中一些具体的实施方式中,请参阅图6,所述获取待转发流量数据,包括:
通过多个转发线程分别收取所述待转发流量数据,每一所述转发线程分别对应一个收包队列,且分别绑定到一个VPP转发核(非VPP控制核)。
本发明实施例中,开启多个收到队列,并且每个收包队列绑定到一个VPP核,最大程度提高收包性能。
请参阅图6,如果存在多个网卡(例如图6所示的NIC0和NIC1两个网卡),那么每一网卡都有多个收包队列,不同网卡的收包队列均绑定到相同的几个VPP核,因此每一网卡的收包队列数量相同,均等于绑定的VPP核的数量。
另一些具体的实施方式中,所述HQOS线程绑定到一个VPP调度核,所述VPP调度核与所述转发线程绑定的VPP转发核不同。当然,VPP调度核也与VPP控制核不同。
本发明实施例中,HQOS线程独占一个VPP核,与收包线程独立,采用轮询调度机制提升转发性能。
进一步的实施方式中,HQOS队列的数量可以与VPP转发核的数量一致,实现多核场景无锁化。
请参阅图6,如果存在多个网卡(例如图6所示的NIC0和NIC1两个网卡),那么每一网卡分别对应一个HQOS线程,每个HQOS线程的HQOS队列相互独立,即每一网卡分别对应多个HQOS队列。
相应地,请参考图7,本发明实施例提供一种VPP网元设备,包括:
转发模块701,用于获取待转发流量数据;
分类模块702,用于基于预先配置的匹配规则,确定所述待转发流量数据的优先级分类结果;
所述分类模块702,还用于将所述待转发流量数据放入多个HQOS队列中与所述优先级分类结果对应的HQOS队列中,所述多个HQOS队列的优先级不同;
调度模块703,用于按照优先级从高到低的顺序依次发送所述多个HQOS队列中的待转发流量数据。
本发明实施例中,VPP网元设备在转发数据时,先按照预先配置的匹配规则,确定所述待转发流量数据的优先级,然后将该待转发流量数据放入相应优先级的HQOS队列中,在数据发送时,优先级较高的HQOS队列中的数据优先发送,优先级较低的HQOS队列中的数据后发送,也就是说优先级较高的数据优先发送,而优先级较低的数据后发送,且只要存在较高优先级的数据待发送就先发送较高优先级的数据,除非当前没有任何较高优先级的数据待发送,那么才会发送较低优先级的数据,因此较低优先级的数据将会在发生拥塞时被较高优先级的数据抢先。从而,可以使得实时业务的数据可以得到优先转发,非实时业务的数据在转发完实时业务的数据的空闲中得到转发,既保证了实时业务的优先,又充分利用了网络资源。
一些具体的实施方式中,所述VPP网元设备还包括:
配置数据接收模块,用于接收配置数据,所述配置数据包括分离的控制面数据和转发面数据;所述转发面数据包括所述匹配规则、以及所述匹配规则与所述优先级之间的一一对应关系;
配置模块,用于基于所述配置数据进行配置。
一些具体的实施方式中,所述配置模块,用于基于所述配置数据,调用访问控制策略ACL插件相关应用程序编程接口API进行配置,所述ACL插件相关API是通过DLSYM方式获取。
一些具体的实施方式中,一个所述匹配规则对应一个ACL表项;
所述分类模块702包括:
查询单元,用于通过接口索引查询绑定的ACL上下文表项标识;
匹配单元,用于通过ACL上下文表项标识查询ACL表内容,调用ACL API进行所述待转发流量数据的匹配。
一些具体的实施方式中,所述转发面数据还包括绑定规则,所述绑定规则包括转发线程相关的绑定规则和HQOS线程相关的绑定规则;其中,
所述绑定规则至少包括与VPP核的绑定规则;
所述转发线程用于获取所述待转发流量数据;
所述HQOS线程,用于基于预先配置的匹配规则,确定所述待转发流量数据的优先级分类结果;将所述待转发流量数据放入多个分层服务质量HQOS队列中与所述优先级分类结果对应的HQOS队列中,所述多个HQOS队列的优先级不同;按照优先级从高到低的顺序依次发送所述多个HQOS队列中的待转发流量数据。
一些具体的实施方式中,所述转发模块701包括:
接收单元,用于通过多个转发线程分别收取所述待转发流量数据,每一所述转发线程分别对应一个收包队列,且分别绑定到一个VPP转发核。
一些具体的实施方式中,所述HQOS线程绑定到一个VPP调度核,所述VPP调度核与所述转发线程绑定的VPP转发核不同。
本发明实施例是与上述方法实施例基于相同的发明构思的装置实施例,因此具体的技术细节和对应的技术效果请参阅上述方法实施例,此处不再赘述。
本发明实施例还提供了一种VPP网元设备,如图8所示,该VPP网元设备可以包括处理器81和存储器82,其中处理器81和存储器82可以通过总线或者其他方式互相通信连接,图8中以通过总线连接为例。
处理器81可以为中央处理器(Central Processing Unit,CPU)。处理器81还可以为其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等芯片,或者上述各类芯片的组合。
存储器82作为一种非暂态计算机可读存储介质,可用于存储非暂态软件程序、非暂态计算机可执行程序以及模块,如本发明实施例中的数据转发方法对应的程序指令/模块(例如,图7所示的转发模块701、分类模块702、和调度模块703)。处理器81通过运行存储在存储器82中的非暂态软件程序、指令以及模块,从而执行处理器的各种功能应用以及数据处理,即实现上述方法实施例中的数据转发方法。
存储器82可以包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需要的应用程序;存储数据区可存储处理器81所创建的数据等。此外,存储器82可以包括高速随机存取存储器,还可以包括非暂态存储器,例如至少一个磁盘存储器件、闪存器件、或其他非暂态固态存储器件。在一些实施例中,存储器82可选包括相对于处理器81远程设置的存储器,这些远程存储器可以通过网络连接至处理器81。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
所述一个或者多个模块存储在所述存储器82中,当被所述处理器81执行时,执行如图1-6所示实施例中的数据转发方法。
上述VPP网元设备具体细节可以对应参阅图1至图6所示的实施例中对应的相关描述和效果进行理解,此处不再赘述。
相应地,本发明实施例还提供一种计算机可读存储介质,所述计算机可读存储介质用于存储计算机程序,所述计算机程序被处理器执行时,实现上述数据转发方法实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于VPP网元设备实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
以上所述仅为本申请的实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。
Claims (10)
1.一种数据转发方法,其特征在于,应用于矢量数据包处理VPP网元设备,所述方法包括:
获取待转发流量数据;
基于预先配置的匹配规则,确定所述待转发流量数据的优先级分类结果;
将所述待转发流量数据放入多个分层服务质量HQOS队列中与所述优先级分类结果对应的HQOS队列中,所述多个HQOS队列的优先级不同;
按照优先级从高到低的顺序依次发送所述多个HQOS队列中的待转发流量数据。
2.根据权利要求1所述的方法,其特征在于,所述获取待转发数据之前,还包括:
接收配置数据,所述配置数据包括分离的控制面数据和转发面数据;所述转发面数据包括所述匹配规则、以及所述匹配规则与所述优先级之间的一一对应关系;
基于所述配置数据进行配置。
3.根据权利要求2所述的方法,其特征在于,所述基于所述配置数据进行配置,包括:
基于所述配置数据,调用访问控制策略ACL插件相关应用程序编程接口API进行配置,所述ACL插件相关API是通过DLSYM方式获取。
4.根据权利要求3所述的方法,其特征在于,一个所述匹配规则对应一个ACL表项;
所述基于预先配置的匹配规则,确定所述待转发流量数据的优先级分类结果,包括:
通过接口索引查询绑定的ACL上下文表项标识;
通过ACL上下文表项标识查询ACL表内容,调用ACL API进行所述待转发流量数据的匹配。
5.根据权利要求2所述的方法,其特征在于,所述转发面数据还包括绑定规则,所述绑定规则包括转发线程相关的绑定规则和HQOS线程相关的绑定规则;其中,
所述绑定规则至少包括与VPP核的绑定规则;
所述转发线程用于获取所述待转发流量数据;
所述HQOS线程,用于基于预先配置的匹配规则,确定所述待转发流量数据的优先级分类结果;将所述待转发流量数据放入多个分层服务质量HQOS队列中与所述优先级分类结果对应的HQOS队列中,所述多个HQOS队列的优先级不同;按照优先级从高到低的顺序依次发送所述多个HQOS队列中的待转发流量数据。
6.根据权利要求1或5所述的方法,其特征在于,所述获取待转发流量数据,包括:
通过多个转发线程分别收取所述待转发流量数据,每一所述转发线程分别对应一个收包队列,且分别绑定到一个VPP转发核。
7.根据权利要求5所述的方法,其特征在于,所述HQOS线程绑定到一个VPP调度核,所述VPP调度核与所述转发线程绑定的VPP转发核不同。
8.一种VPP网元设备,其特征在于,包括:
转发模块,用于获取待转发流量数据;
分类模块,用于基于预先配置的匹配规则,确定所述待转发流量数据的优先级分类结果;
所述分类模块,还用于将所述待转发流量数据放入多个HQOS队列中与所述优先级分类结果对应的HQOS队列中,所述多个HQOS队列的优先级不同;
调度模块,用于按照优先级从高到低的顺序依次发送所述多个HQOS队列中的待转发流量数据。
9.一种VPP网元设备,其特征在于,包括:
存储器和处理器,所述存储器和所述处理器之间互相通信连接,所述存储器用于存储计算机程序,所述计算机程序被所述处理器执行时,实现权利要求1至7中任一项所述的数据转发方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质用于存储计算机程序,所述计算机程序被处理器执行时,实现权利要求1至7中任一项所述的数据转发方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210910756.4A CN115499386B (zh) | 2022-07-29 | 2022-07-29 | 一种数据转发方法、vpp网元设备和可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210910756.4A CN115499386B (zh) | 2022-07-29 | 2022-07-29 | 一种数据转发方法、vpp网元设备和可读存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN115499386A true CN115499386A (zh) | 2022-12-20 |
CN115499386B CN115499386B (zh) | 2024-04-26 |
Family
ID=84466177
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210910756.4A Active CN115499386B (zh) | 2022-07-29 | 2022-07-29 | 一种数据转发方法、vpp网元设备和可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115499386B (zh) |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20190280991A1 (en) * | 2019-05-16 | 2019-09-12 | Intel Corporation | Quality of service traffic management in high-speed packet processing systems |
CN111901244A (zh) * | 2020-07-10 | 2020-11-06 | 苏州浪潮智能科技有限公司 | 一种网络报文转发架构 |
CN113014453A (zh) * | 2021-03-03 | 2021-06-22 | 上海天旦网络科技发展有限公司 | k8s中基于DPDK的数据包回放方法、系统及介质 |
CN113630339A (zh) * | 2021-08-04 | 2021-11-09 | 安超云软件有限公司 | 流量转发方法及装置、电子设备和存储介质 |
CN114095251A (zh) * | 2021-11-19 | 2022-02-25 | 南瑞集团有限公司 | 一种基于dpdk与vpp的sslvpn实现方法 |
CN114268590A (zh) * | 2021-11-24 | 2022-04-01 | 成都安恒信息技术有限公司 | 一种基于vpp的保障带宽的系统及方法 |
-
2022
- 2022-07-29 CN CN202210910756.4A patent/CN115499386B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20190280991A1 (en) * | 2019-05-16 | 2019-09-12 | Intel Corporation | Quality of service traffic management in high-speed packet processing systems |
CN111901244A (zh) * | 2020-07-10 | 2020-11-06 | 苏州浪潮智能科技有限公司 | 一种网络报文转发架构 |
CN113014453A (zh) * | 2021-03-03 | 2021-06-22 | 上海天旦网络科技发展有限公司 | k8s中基于DPDK的数据包回放方法、系统及介质 |
CN113630339A (zh) * | 2021-08-04 | 2021-11-09 | 安超云软件有限公司 | 流量转发方法及装置、电子设备和存储介质 |
CN114095251A (zh) * | 2021-11-19 | 2022-02-25 | 南瑞集团有限公司 | 一种基于dpdk与vpp的sslvpn实现方法 |
CN114268590A (zh) * | 2021-11-24 | 2022-04-01 | 成都安恒信息技术有限公司 | 一种基于vpp的保障带宽的系统及方法 |
Non-Patent Citations (5)
Title |
---|
ELLUDRAON: "VPP Implementation", Retrieved from the Internet <URL:https://github.com/terragraph/meta-terragraph/blob/main/docs/developer/VPP_Implementation.md> * |
FD.IO VPP: "QoS Hierarchical Scheduler", Retrieved from the Internet <URL:https://docs.fd.io/vpp/19.01/qos_doc.html> * |
OUYANGXIBAO: "vpp hoqs分析", Retrieved from the Internet <URL:https://segmentfault.com/a/1190000019644679> * |
TURBOCK: "VPP中ACL(访问控制列表)的使用——系列一", Retrieved from the Internet <URL:https://blog.csdn.net/turbock/article/details/100731125> * |
张鸿圆: "时间确定网络分组转发队列调度机制研究", 《中国优秀硕士学位论文全文数据库》 * |
Also Published As
Publication number | Publication date |
---|---|
CN115499386B (zh) | 2024-04-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11677851B2 (en) | Accelerated network packet processing | |
Ishimori et al. | Control of multiple packet schedulers for improving QoS on OpenFlow/SDN networking | |
US10057387B2 (en) | Communication traffic processing architectures and methods | |
US9516138B2 (en) | Method and apparatus to process interest messages and data messages based on priorities in content-centric network (CCN) | |
US9654406B2 (en) | Communication traffic processing architectures and methods | |
CN103765839B (zh) | 用于网络设备内的分组处理的基于变量的转发路径结构 | |
US11533268B2 (en) | Methods and apparatus to schedule service requests in a network computing system using hardware queue managers | |
WO2020087523A1 (zh) | 网络通信的方法、装置及电子设备 | |
US9590922B2 (en) | Programmable and high performance switch for data center networks | |
CN112468413B (zh) | 报文处理方法、装置、电子设备及存储介质 | |
CN104468401A (zh) | 一种报文处理方法和装置 | |
EP3949299A1 (en) | Quality of service in virtual service networks | |
WO2017101815A1 (zh) | 一种消息处理方法、装置和系统 | |
WO2018013443A1 (en) | Multiple core software forwarding | |
US20030081623A1 (en) | Virtual queues in a single queue in the bandwidth management traffic-shaping cell | |
US11218394B1 (en) | Dynamic modifications to directional capacity of networking device interfaces | |
US20030099200A1 (en) | Parallel limit checking in a hierarchical network for bandwidth management traffic-shaping cell | |
US11528187B1 (en) | Dynamically configurable networking device interfaces for directional capacity modifications | |
US20030099199A1 (en) | Bandwidth allocation credit updating on a variable time basis | |
CN114500418B (zh) | 数据统计方法及相关装置 | |
CN115499386B (zh) | 一种数据转发方法、vpp网元设备和可读存储介质 | |
CN113395612A (zh) | 一种光纤通信中的数据转发方法以及相关装置 | |
WO2022152230A1 (zh) | 信息流识别方法、网络芯片及网络设备 | |
JP2011091711A (ja) | ノード及び送信フレーム振り分け方法並びにプログラム | |
US11228532B2 (en) | Method of executing QoS policy and network device |
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 |