CN116192761A - 报文转发方法、转发层设备、***、电子设备及存储介质 - Google Patents
报文转发方法、转发层设备、***、电子设备及存储介质 Download PDFInfo
- Publication number
- CN116192761A CN116192761A CN202310194563.8A CN202310194563A CN116192761A CN 116192761 A CN116192761 A CN 116192761A CN 202310194563 A CN202310194563 A CN 202310194563A CN 116192761 A CN116192761 A CN 116192761A
- Authority
- CN
- China
- Prior art keywords
- message
- forwarded
- priority
- priority information
- information
- 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
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/10—Flow control; Congestion control
- H04L47/24—Traffic characterised by specific attributes, e.g. priority or QoS
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/22—Parsing or analysis of headers
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Computer And Data Communications (AREA)
Abstract
本申请实施例提供了一种报文转发方法、转发层设备、***、电子设备及存储介质,报文转发方法,应用于网络功能虚拟化转发***的转发层,所述方法包括:接收待转发报文;解析所述待转发报文中通过网络虚拟化协议封装的头部信息,并识别所述头部信息中包括的优先级信息;若所述头部信息中不包括所述优先级信息,则通过第一报文标记器基于所述网络虚拟化协议对所述待转发报文进行优先级信息标记,以按照所述优先级信息对所述待转发报文进行转发处理。
Description
技术领域
本申请实施例涉及计算机技术领域,尤其涉及一种报文转发方法、转发层设备、电子设备及计算机存储介质。
背景技术
随着NFV(Network Functions Virtualization,网络功能虚拟化)愈发成熟,越来越多的产品基于NFV平台搭建承载不同的网元产品,以实现高可用、高性能、弹性伸缩、故障隔离和自愈等特性。
目前,NFV普遍采用分布式的快慢速分离架构,网元产品基于快慢速分离架构,在不同的设备间进行报文流转。
然而,由于网元产品的流量规模快速增长,导致报文在不同设备间转发的复杂度上升,以及报文类型增多。当转发设备之间的网络发生拥塞的时候,重要的数据流有可能被丢弃。因此会损失重要的报文数据。
发明内容
有鉴于此,本申请实施例提供一种报文转发方法,以至少部分解决上述问题。
根据本申请实施例的第一方面,提供了一种用于报文转发方法,该方法应用于网络功能虚拟化转发***的转发层,所述方法包括:接收待转发报文;解析所述待转发报文中通过网络虚拟化协议封装的头部信息,并识别所述头部信息中包括的优先级信息;若所述头部信息中不包括所述优先级信息,则通过第一报文标记器基于所述网络虚拟化协议对所述待转发报文进行优先级信息标记,以按照所述优先级信息对所述待转发报文进行转发处理。
根据本申请实施例的第二方面,提供了一种网络功能虚拟化转发***的转发层设备,所述转发层包括报文识别器、第一报文标记器、报文限速器,所述报文识别器用于接收待转发报文,解析所述待转发报文中通过网络虚拟化协议封装的头部信息,并识别所述头部信息中包括的优先级信息;所述第一报文标记器用于若所述头部信息中不包括所述优先级信息,则基于所述网络虚拟化协议对所述待转发报文进行优先级信息标记;所述报文限速器用于按照所述优先级信息对所述待转发报文进行转发处理。
根据本申请实施例的第三方面,提供了一种网络功能虚拟化转发***,包括转发层,所述转发层用于接收待转发报文;解析所述待转发报文中通过网络虚拟化协议封装的头部信息,并识别所述头部信息中包括的优先级信息;若所述头部信息中不包括所述优先级信息,则通过第一报文标记器基于所述网络虚拟化协议对所述待转发报文进行优先级信息标记,以按照所述优先级信息对所述待转发报文进行转发处理。
根据本申请实施例的第四方面,提供了一种电子设备,包括:处理器、存储器、通信接口和通信总线,所述处理器、所述存储器和所述通信接口通过所述通信总线完成相互间的通信;所述存储器用于存放至少一可执行指令,所述可执行指令使所述处理器执行如上所述方法对应的操作。
根据本申请实施例的第五方面,提供了一种计算机存储介质,其上存储有计算机程序,该程序被处理器执行时实现如上所述的方法。
根据本申请实施例提供的报文转发方法,对接收到的待转发报文的头部信息进行解析,获得携带于网络虚拟化协议封装的头部信息中的优先级信息,以此可以获得待转发报文的优先级,从而可以根据待转发报文的优先级将重要的报文优先转发,避免在网络发生堵塞时遗弃重要的报文数据,并对不包括优先级信息的待转发报文进行优先级信息标记,以此可以使不包括优先级信息的待转发报文根据标记后的优先级信息,将优先级高的报文优先进行转发,避免遗弃重要的报文数据,因此本申请提供的报文转发方法可以避免丢失重要的报文数据,并且,本实施例中,将优先级信息封装于网络虚拟化协议封装的头部信息中,并可以使得优先级信息的携带方式更加适用于虚拟化转发***中。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请实施例中记载的一些实施例,对于本领域普通技术人员来讲,还可以根据这些附图获得其他的附图。
图1为适用本申请实施例的报文转发方法的示例性***的示意图;
图2为根据本申请实施例的一种报文转发方法的步骤流程图;
图3为根据本申请实施例的一种待转发报文的处理流程示意图;
图4为根据本申请实施例的一种报文限速器的原理示意图;
图5为根据本申请实施例的一种报文管理器的原理示意图;
图6为根据本申请实施例的一种网络功能虚拟化转发***的转发层设备的结构框图;
图7为根据本申请实施例的一种网络功能虚拟化转发***的使用场景示意图;
图8为根据本申请实施例的一种电子设备的结构示意图。
具体实施方式
为了使本领域的人员更好地理解本申请实施例中的技术方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本申请实施例一部分实施例,而不是全部的实施例。基于本申请实施例中的实施例,本领域普通技术人员所获得的所有其他实施例,都应当属于本申请实施例保护的范围。
下面结合本申请实施例附图进一步说明本申请实施例具体实现。
图1示出了一种适用本申请实施例的报文转发方法的示例性***。如图1所示,该***100采用三层架构,分别为转发层101,转发管理层102和逻辑层103。逻辑层103与至少一个转发管理层102相连接,转发管理层102与至少一个转发层101相连接。
具体地,用于承载网元的分布式快慢分离架构***一般包括三层架构,第一层是为转发层101,又称PT(Packet Transformation,通用包转发)层,负责高度抽象的根据key/match/action表进行报文转发处理。第二层为转发管理层102,又称FM(Fabric Master,转发管理)层,负责Fabric管理、接口管理和Action加工等处理能力。第三层是逻辑层103,又称SD(Service Decision,逻辑)层,负责生成match/action表的网络功能逻辑,包括首包触发或者优先级配置,从快慢分离的角度,对使用快慢转发的双层来说明,PT/FM层统称为NFV***的快速转发部分,SD层称为NFV***的转发逻辑配置部分。
在快慢速分离的网络功能虚拟化转发***中,为了避免当转发设备之间的网络发生拥塞时数据流可能被丢弃导致损失重要的报文数据的情况,需要对报文进行优先级识别,将优先级高的报文优先发送,并保证优先级较高的报文被丢弃的概率较低,从而可以在网络发生拥塞时保证重要的报文丢失的概率较低,这种技术被称为服务质量(Quality ofService,Qos)技术。
而在现有的传统物理网络的QoS技术中,为了实现及时的将重要的报文优先传递,一般通过下面两种方法对报文进行优先级标记和识别。
一种是通过以太网数据帧VLAN帧头中的802.1p设定优先级。具体根据IEEE802.1Q定义,VLAN帧头中的PRI字段,即802.1p优先级,或称CoS(Class of Service)字段,标识了服务质量需求,即报文的优先级。
另一种是,通过DSCP(Differentiated Services Code Point)字段设定和识别报文的优先级,具体地RFC1349重新定义了IP报文中的ToS(Type of Service)字段,增加了C比特,表示传输开销(Monetary Cost),然后将IPv4报文头ToS域中的比特0~5重新定义为DSCP,并将ToS域改名为DS(Differentiated Service)字节,DSCP字段用于携带报文的优先级。
但是传统物理网络的QoS技术中的报文优先级标记和识别技术,应用于分布式快慢分离架构时会存在以下问题:
1、当采用以太网数据帧VLAN帧头方式时,由于在快慢分离架构中,VLAN字段主要被物理网络占用,报文到PT层时就已经把报文中包括的VLAN字段剥离,因此在快慢分离架构中无法使用该方案实现报文识别和标记。
2、当采用DSCP字段方式时,由于在快慢分离架构中,DSCP字段属于用户的原始报文信,而转发***要求对报文进行透传,转发***不能修改DSCP字段的内容,导致无法使用DSCP字段与自定义的优先级进行对应,因此该字段在NFV中无法使用,而外层报文的IP字段通常是被物理的数据中心网络使用,因此在快慢分离架构中无法使用该方案实现报文识别和标记。
有鉴于此,本申请提供另一种方案,将优先级信息写入通过网络虚拟化协议封装的头部信息中,通过对接收到的待转发报文的头部信息进行解析,获得头部信息中包括的优先级信息,以此可以获得待转发报文的优先级,从而可以根据待转发报文的优先级将重要的报文优先转发,避免在网络发生堵塞时遗弃重要的报文数据,并对不包括优先级信息的待转发报文进行优先级信息标记,以此可以使不包括优先级信息的待转发报文根据标记后的优先级信息,将优先级高的报文优先进行转发,避免遗弃重要的报文数据,因此本申请提供的报文转发方法可以避免丢失重要的报文数据;进一步地,针对不包括优先级信息的待转发报文,还可以获得并将报文对应的优先级信息存储至表项中,以在后续根据表项为待转发报文进行优先级信息标记。
基于上述***100,本申请实施例提供了一种报文转发方法,以下通过多个实施例进行说明。
图2为根据本申请实施例的一种报文转发方法的步骤流程图,图2所示的流程主要用于上述***中的转发层101。如图2所示,该报文转发方法包括如下步骤S201至步骤S203。
步骤S201、接收待转发报文。
通过转发层接收待转发报文,本申请实施例中接收到的报文通过虚拟化协议封装有头部信息,在快慢分离架构下,不同层次的设备通过虚拟化协议封装的头部信息进行交互。
步骤S202、解析待转发报文中通过网络虚拟化协议封装的头部信息,并识别头部信息中包括的优先级信息。
网络虚拟化协议具体可以为通用网络虚拟化封装协议(Generic NetworkVirtualization Encapsulation,GENEVE)。
对接收到的待转发报文进行解析,解析过程包括剥离外层,剥离的外层包括有VLAN帧等等,剥离外层后,解析待转发报文中通过网络虚拟化协议封装的头部信息,识别头部信息中包括的优先级信息,为了表征优先级信息,本申请中的报文的头部信息中新增加了优先级信息。
步骤S203、若头部信息中不包括优先级信息,则通过第一报文标记器基于网络虚拟化协议对待转发报文进行优先级信息标记,以按照优先级信息对待转发报文进行转发处理。
识别头部信息的解析结果,若头部信息中不包括优先级信息,则通过第一报文标记器对待转发报文进行优先级信息标记,从而可以根据优先级信息将优先级高的报文优先发送,具体地,可以通过第一报文标记器基于网络虚拟化协议向头部信息中增加优先级信息,以对待转发报文进行优先级信息标记。第一报文标记器可以设定于***100中的转发层101,即快慢分离架构下的PT层。
需要说明的是,优先级可以对应于待转发报文的重要性和/或及时性,重要性和/或及时性越高,代表待转发报文中的数据越重要,因此对应的优先级越高。
示例地,可以在报文基于Geneve(Generic Network VirtualizationEncapsulation,通用网络虚拟化封装)的头部信息中新增加一个信息类型,新增加的信息类型用于表征优先级信息,例如:在头部信息中新增加一个Option类型,指定0x27表示该Option携带内容为优先级信息,在新增加的Option类型包括有优先级等级,优先级数值范围可以设定为0-7,数值越小优先级越高。
在一种可能的实现方式中,在解析待转发报文中通过网络虚拟化协议封装的头部信息,并识别头部信息中包括的优先级信息时,可以解析头部信息,得到头部信息携带的若干个选项的选项类别标识,将头部信息携带的选项类别标识与预设优先级类别标识进行匹配,根据匹配结果确定头部信息中用于携带优先级信息的字段,以得到优先级信息。
对待转发报文中通过网络虚拟化协议封装的头部信息进行解析,获得头部信息中包括的多个选项类别标识,选项类别标识可以为待转发报文对应的数据类型,待转发报文对应的功能指令等等。
根据解析出的若干个选项的选项类别标识与预先设定的优先级类别标识进行匹配,识别解析结果中记录有优先级信息的字段,并根据字段确定待转发报文对应的优先级。例如:优先级类别标识为0x27,则匹配出若干个选项的选项类别标识中的0x27标识,从而获得优先级信息。
在一种可能的实现方式中,用于携带优先级信息的字段包括:用于携带优先级类别标识的类型字段、用于携带优先级等级的等级字段。
示例地,可以识别出0x137字段,该字段表示为控制类报文,并识别Type:Option类型,识别出0x27标识,表示该Option携带内容为优先级信息,识别priority:报文的优先级等级,范围0-7,数值越小优先级越高。
在本申请实施例中,携带优先级信息的字段包括:用于携带优先级类别标识的类型字段、用于携带优先级等级的等级字段,由此可以准确地识别出对应的优先级,从而可以优先转发优先级高的报文,可以避免优先级高的报文被遗弃。
可选地,当待转发报文的头部信息中不包括优先级信息时,可以对待转发报文使用预先设定的默认优先级处理,例如:可以预先设定默认优先级为优先级中,即处理完优先级高的待转发报文后,处理头部信息不存在优先级的待转发报文。
在本申请实施例中,对接收到的待转发报文的头部信息进行解析,获得头部信息中包括的优先级信息,以此可以获得待转发报文的优先级,从而可以根据待转发报文的优先级将重要的报文优先转发,避免在网络发生堵塞时遗弃重要的报文数据,并对不包括优先级信息的待转发报文进行优先级信息标记,以此可以使不包括优先级信息的待转发报文根据标记后的优先级信息,将优先级高的报文优先进行转发,避免遗弃重要的报文数据,因此本申请提供的报文转发方法可以避免丢失重要的报文数据。
在一种可能的实现方式中,通过第一报文标记器基于网络虚拟化协议对待转发报文进行优先级标记时,可以将待转发报文与预先存储的优先级信息进行匹配。若匹配到待转发报文对应的优先级信息,则通过第一报文标记器根据匹配到的优先级信息、基于网络虚拟化协议对待转发报文进行优先级标记。
当待转发报文的头部信息中不包括优先级信息时,可以根据待转发报文的接入接口、待转发报文的报文类型、待转发报文的报文内容等计算索引值(key值),根据索引值在预先存储的优先级信息中进行匹配,确定待转发报文对应的优先级信息。
当匹配到待转发报文对应的优先级信息后,第一报文标记器基于识别到的优先级信息对待转发报文进行优先级标记,示例地,标记方法可以为基于网络虚拟化协议,即Geneve在报文的头部信息中增加一个新的Option类型,用于表征优先级信息,并在Option中根据对应的优先级等级添加优先级数值,实现对不存在优先级信息的待转发报文进行优先级标记,并且无需更改待转发报文内的数据内容。
在本申请实施例中,将待转发报文与预先存储的优先级信息进行匹配,若匹配到对应的优先级信息,则根据优先级信息对待转发报文进行优先级标记,以此可以实现对不包括优先级的待转发报文设定优先级,设定优先级时根据预先设定的优先级信息进行匹配,避免对待转发报文设置错优先级的情况发生,且由于优先级高的待转发报文优先转发,从而可以避免不包括优先级的重要报文数据被遗弃。
在一种可能的实现方式中,通过第一报文标记器基于网络虚拟化协议对待转发报文进行优先级标记时,可以将待转发报文与预先存储的优先级信息进行匹配。若未匹配到待转发报文对应的优先级信息,则将待转发报文上报至逻辑层,以通过逻辑层中的第二报文标记器根据预设转发逻辑、基于网络虚拟化协议对待转发报文进行优先级标记,得到头部信息中携带有优先级信息的待转发报文,并接收逻辑层下发的待转发报文,并继续执行解析待转发报文中通过网络虚拟化协议封装的头部信息,并识别头部信息中包括的优先级信息的步骤。
当待转发报文的头部信息中不包括优先级信息时,将待转发报文和预先设定的优先级信息进行匹配,当没匹配到待转发报文对应的优先级信息时,将该报文通过向上发送至转发管理层,即FM层,然后通过FM层发送至逻辑层,即SD层。SD层接收到待转发报文后,通过SD层所包括的第二报文标记器对待转发报文进行优先级标记。
SD层的第二报文标记器对待转发报文进行优先级标记时,SD层识别接收到的待转发报文的头部信息,然后根据头部信息和预先设定的转发逻辑生成对应的优先级信息,具体地,SD层会根据头部信息判断该待转发报文的类型,并根据预先设定的转发逻辑判断待转发报文的类型判断对应的优先级,并将优先级信息标记至待转发报文的头部信息中,得到头部信息包括优先级信息的待转发报文。
SD层获得包括优先级信息的待转发报文后,将该待转发报文发送至FM层,FM层接收到该报文后将该报文发回至PT层,PT层接收到待转发报文后,解析待转发报文的头部信息,获得对应的优先级信息,并继续执行后续步骤。
可选地,本申请其他实现方式中,FM层也可以设置有第三报文标记器,由于一个FM层与至少一个PT层相连接,因此在FM层中的第三报文标记器可以存储有相连接的所有PT层的第一报文标记器的匹配规则,当PT层未匹配到待转发报文对应的优先级信息,上传该待转发报文至FM层,FM层中的第三报文标记器识别待转发报文的头部信息,并根据头部信息匹配对应的优先级信息,若能匹配到对应的优先级信息,则将待转发报文发回至PT层,并执行后续步骤,如果未匹配到对应的优先级信息,则将待转发报文发送至SD层,由SD层对待转发报文进行优先级标记。
在本申请实施例中,若未匹配到待转发报文对应的优先级信息,则将待转发报文发送至逻辑层,以对待转发报文生成对应的优先级信息,以此可以实现对待转发报文的优先级标记,且在未匹配到优先级信息的情况下,向上层发送,避免了由于未匹配到优先级信息,将重要的待转发报文数据遗弃的情况发生,因此可以避免不包括优先级的重要报文数据被遗弃。
在一种可能的实现方式中,转发层可以接收逻辑层下发的待转发报文,并继续执行解析待转发报文中通过网络虚拟化协议封装的头部信息,并识别头部信息中包括的优先级信息的步骤后,若头部信息中包括优先级信息,则按照优先级信息对待转发报文进行转发处理,并根据头部信息中包括优先级信息更新预先存储优先级信息。
PT层接收到包括优先级信息的待转发报文后,根据待转发报文的优先级信息将该待转发报文转发,并将优先级信息和对应的待转发报文的头部信息的匹配关系更新至预先储存的优先级信息中,从而下次接收到同类待转发报文后可以根据预先存储的优先级信息对其进行优先级标记,无需再向上发送。
在本申请实施例中,PT层接收到SD层发回的包括优先级信息的待转发报文后,根据优先级信息对待转发报文进行转发,以此可以将优先级高的待转发报文优先转发,保证了重要的待转发报文不被遗弃,且PT层根据待转发报文和优先级的对应关系更新存储的优先级信息,从而在下次接收到类似的待转发报文后无需上传至SD层即可对待转发报文进行优先级标记,提高了对待转发报文标记的效率。
示例地,参见图3,示例性地示出了转发层接收到待转发报文的处理流程示意图,该流程图具体可以由后续的报文识别器执行。
具体地,转发层接收到待转发报文后,先对外层的L2/L3/L4/层进行剥离,之后可以解析其中的Geneve头部信息,确定其中是否存在用于携带优先级信息的option,即判断是否存在option_type+27的option。
若存在,则说明待转发报文中携带有优先级信息,此时待转发报文可能为逻辑层增加优先级信息后重新下发至转发层的待转发报文,则可以记录报文优先级信息,并按照优先级信息进行后续的优先级转发处理,还可以由报文管理器根据待转发报文中携带的优先级信息更新用于存储优先级信息的流表flow。若不存在,则解析待转发报文的内层原始报文,计算生成得到报文的索引值key,并通过报文管理器根据key值在用于存储优先级信息的流表flow中进行查询。
若查询到待转发报文对应的优先级信息,即查询到flow,则可以记录报文优先级,后续由第一报文标记器对待转发报文进行优先级信息标记,从而可以按照优先级信息进行后续的优先级转发处理。
若未查询到待转发报文对应的优先级信息,此时可以将其设置为默认优先级,并上报至逻辑层,上报过程具体对应于图中的missmatch逻辑,即无法匹配逻辑。
在一种可能的实现方式中,在按照优先级信息对待转发报文进行转发处理时,可以通过报文管理器,根据优先级信息将待转发报文增加至对应的报文队列,然后通过报文限速器,按照报文队列对应的优先级将报文队列中的报文进行转发处理。
报文管理器可以针对不同优先级的待转发报文划分不同队列,所有队列的待转发报文安装在同一张连续的流表上,将流量进行分段,通过流表的索引区范围区分报文的优先级等级,优先级等级越高索引越小,优先级越高表项容量越小。
通过流表可以把对应优先级不同的待转发报文划分至不同的队列,例如:把优先级高的待转发报文划分至一个队列,把优先级中的待转发报文划分至一个队列等等,将待转发报文根据优先级划分至不同队列后,将队列发送至报文限速器,报文限速器根据队列所对应的优先级将队列中的待转发报文进行转发。
示例地,报文限速器可以包括令牌桶,报文队列按照优先级进行排序,对应优先级高的队列优先向令牌桶里投放待转发报文,令牌桶接收到待转发报文后判断是否符合***的限速速率,若符合则将待转发报文统计和转发,若不满足,则将待转发报文统计和丢弃。令牌桶的具体工作原理在此不在赘述。
在本申请实施例中,通过队列管理器将待转发报文根据优先级划分队列,由此可以将优先级级别相同的待转发报文划分至同一队列,从而可以筛选出对应于不同优先级的待转发报文,然后通过报文限速器,按照报文队列的优先级将待转发报文进行转发,由此可以将对应优先级高的队列中的待转发报文进行优先转发,避免在网络堵塞时遗弃重要的待转发报文。
示例地,参见图4,示出了一种报文限速器的原理示意图,如图所示,报文限速器根据待转发报文的优先级信息进行报文分类,并按照分类结果将待转发报文放入与优先级对应的队列中,例如,优先级被划分为0-7共8个优先级,8个优先级分别对应图中的队列1-8。
报文限速器可以按照预先规定的速率向令牌桶投放令牌,并通过投放的令牌发送队列1-8中的待转发报文。
在为待转发报文分配令牌后,根据报文的大小等判断是否符合限速速率,若不符合限速速率,则丢弃该待转发报文,并更新统计的丢弃报文统计结果;若符合限速速率,则转发待转发报文并更新统计的发送成功报文的统计结果。
在一种可能的实现方式中,若预先存储有优先级信息,则报文管理器还用于更新用于存储优先级信息的流表。
当SD层返回待转发报文时,同时返回新的优先级信息表项,新的优先级信息表项中包括有待转发报文对应的优先级信息,此时报文管理器可以用于更新存储优先级信息的流表,即在原来的存储优先级信息的流表中添加用于记录新的优先级信息的表项。
在本申请实施例中,报文管理器还可以用于更新存储优先级信息的流表,以此可以保证输入报文管理器的待转发报文能够正确的划分队列,避免由于存储优先级信息的流表没有对应信息而无法划分的情况。从而可以避免重要的待转发报文被遗弃。
示例地,参见图5,示出了一种报文管理器的原理示意图,报文管理器主要与更新存储的优先级信息,以及查找是否存在与待转发报文匹配的优先级信息。
更新优先级信息的过程具体对应图中安装流表的过程。具体地,可以按照优先级对流表进行分类,并在流表flow中为不同的分类预留对应的用于存储优先级信息的容量,分类具体可以包括高优先级、中优先级、低优先级,示例地,若流表flow中共计可以存储10万个表项,则索引值为1-1万的表项对应于高优先级、索引值为1万-2万的表项对应中优先级,剩余表项对应低优先级。
在获得报文的优先级信息后,根据优先级信息对应的报文分类类别,对不同类别对应的flow容量进行检查,从而确定flow容量是否充足,若充足则调用索引工具ring获取索引值idx,并将优先级信息写入索引值idx对应的表项中,以安装流表实现优先级信息的更新。
在查找是否存在与待转发报文匹配的优先级信息时,可以根据待转发报文在流表中进行查询,根据查询到的优先级信息对应的索引值idx,根据idx的值计算报文对应的优先级类别,从而确定报文对应的优先级信息,例如若索引值位于1万-2万之间,则优先级为中。
图6为根据本申请实施例的一种网络功能虚拟化转发***的转发层设备的结构框图,如图6所示,转发层包括报文识别器、第一报文标记器、报文限速器,报文识别器用于接收待转发报文,解析待转发报文中通过网络虚拟化协议封装的头部信息,并识别头部信息中包括的优先级信息。第一报文标记器用于若头部信息中不包括优先级信息,则基于网络虚拟化协议对待转发报文进行优先级信息标记。报文限速器用于按照优先级信息对待转发报文进行转发处理。
在一种可能的实现方式中,报文识别器还用于将待转发报文与预先存储的优先级信息进行匹配;若匹配到待转发报文对应的优先级信息,则通过第一报文标记器根据匹配到的优先级信息、基于网络虚拟化协议对待转发报文进行优先级标记。
在一种可能的实现方式中,报文识别器还用于若未匹配到待转发报文对应的优先级信息,则将待转发报文上报至逻辑层,以通过逻辑层中的第二报文标记器根据预设转发逻辑、基于网络虚拟化协议对待转发报文进行优先级标记,得到头部信息中携带有优先级信息的待转发报文;报文识别器还用于接收逻辑层下发的待转发报文,并继续执行解析待转发报文中通过网络虚拟化协议封装的头部信息,并识别头部信息中包括的优先级信息的步骤。
在一种可能的实现方式中,报文标记器还用于若头部信息中包括优先级信息,则按照优先级信息对待转发报文进行转发处理,并使得报文管理器根据头部信息中包括优先级信息更新预先存储优先级信息。
在一种可能的实现方式中,报文识别器还用于解析头部信息,得到头部信息携带的若干个选项的选项类别标识;将头部信息携带的选项类别标识与预设优先级类别标识进行匹配,根据匹配结果确定头部信息中用于携带优先级信息的字段,以得到优先级信息。
在一种可能的实现方式中,携带优先级信息的字段包括:用于携带优先级类别标识的类型字段、用于携带优先级等级的等级字段。
参见图7,示出了本申请实施例提供的一种网络功能虚拟化转发***的使用场景示意图,如图所示,其包括:逻辑层SD、转发管理层FM、转发层PT,
其中,逻辑层包括第二报文标记器、报文识别器、报文限速器。
转发管理层包括报文识别器和报文限速器。
转发层包括第一报文标记器、报文识别器、报文管理器、报文限速器。
需要说明的是,上述多个报文识别器、报文管理器、报文限速器的具体实现参见上述实施例,在此不再赘述。
另外,第一报文标记器和第二报文标记器的实现原理相同,均用于进行优先级信息标记,具体进行标记的方法参考上述实施例,在此不再赘述。
本实施例中,转发层PT的报文识别器用于接收待转发报文,并判断待转发报文中通过网络虚拟化协议封装的头部信息是否包括优先级信息,且调用报文管理器判断转发层中是否存在待转发报文对应的优先级信息。
若待转发报文中不包括优先级信息,但转发层中存在对应的优先级信息,则后续流程对应于图7中的虚线部分。具体地,可以由第一报文标记器对待转发报文进行优先级信息标记,并由报文限速器根据优先级信息进行转发处理。
若待转发报文中不包括优先级信息且转发层中不存在对应的优先级信息,则继续按照图7中的实线流程进行处理,具体可以由报文识别器调用报文限速器将报文上报至FM层,或者通过其他上报路径将待转发报文上报至FM层。
FM层中的报文识别器确定待转发报文中不包括优先级信息且转发层中不存在对应的优先级信息,则可以继续上报至SD层。
SD层的报文识别器确定待转发报文中不包括优先级信息且转发层中不存在对应的优先级信息后,可以通过第二报文标记器对待转发报文进行优先级信息标记,并通过其中的报文限速器将进行头部信息携带有优先级信息的数据下发至FM层。
此时,FM层的报文识别器确定待转发报文中携带有优先级信息,并通过报文限速器根据优先级信息将待转发报文下发至PT层。
PT层的报文识别器接收到待转发报文后,确定头部信息中包括优先级信息,则可以使得报文管理器更新存储的优先级信息,并通过报文限速器对待转发报文进行转发处理。
本实施例提供的***,可以保证不改变原有分布式的快慢分离架构的转发逻辑,就可以实现报文按照不同优先级进行转发,并且该技术方案可以覆盖所有的快慢分离架构下的转发模型,为提供网元产品,提供更好的网络通信服务能力,解决在快慢分离分布架构下各转发设备间报文交互的延迟和阻塞问题,使得网元产品的稳定性更强。
参照图8,示出了根据本申请实施例的一种电子设备的结构示意图,本申请具体实施例并不对电子设备的具体实现做限定。
如图8所示,该电子设备可以包括:处理器(processor)502、通信接口(Communications Interface)504、存储器(memory)506、以及通信总线508。
其中:
处理器502、通信接口504、以及存储器506通过通信总线508完成相互间的通信。
通信接口504,用于与其它电子设备或服务器进行通信。
处理器502,用于执行程序510,具体可以执行上述报文转发方法实施例中的相关步骤。
具体地,程序510可以包括程序代码,该程序代码包括计算机操作指令。
处理器502可能是CPU,或者是特定集成电路ASIC(Application SpecificIntegrated Circuit),或者是被配置成实施本申请实施例的一个或多个集成电路。智能设备包括的一个或多个处理器,可以是同一类型的处理器,如一个或多个CPU;也可以是不同类型的处理器,如一个或多个CPU以及一个或多个ASIC。
存储器506,用于存放程序510。存储器506可能包含高速RAM存储器,也可能还包括非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。
程序510可包括多条计算机指令,程序510具体可以通过多条计算机指令使得处理器502执行前述多个方法实施例中任一实施例所描述的报文转发方法对应的操作。
程序510中各步骤的具体实现可以参见上述方法实施例中的相应步骤和单元中对应的描述,并具有相应的有益效果,在此不赘述。所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的设备和模块的具体工作过程,可以参考前述方法实施例中的对应过程描述,在此不再赘述。
本申请实施例还提供了一种计算机存储介质,其上存储有计算机程序,该程序被处理器执行时实现前述多个方法实施例中任一实施例所描述的方法。该计算机存储介质包括但不限于:只读光盘(Compact Disc Read-Only Memory,CD-ROM)、随机存储器(RandomAccess Memory,RAM)、软盘、硬盘或磁光盘等。
本申请实施例还提供了一种计算机程序产品,包括计算机指令,该计算机指令指示计算设备执行上述多个方法实施例中的任一报文转发方法对应的操作。
此外,需要说明的是,本申请实施例所涉及到的与用户有关的信息(包括但不限于用户设备信息、用户个人信息等)和数据(包括但不限于用于对模型进行训练的样本数据、用于分析的数据、存储的数据、展示的数据等),均为经用户授权或者经过各方充分授权的信息和数据,并且相关数据的收集、使用和处理需要遵守相关国家和地区的相关法律法规和标准,并提供有相应的操作入口,供用户选择授权或者拒绝。
需要指出,根据实施的需要,可将本申请实施例中描述的各个部件/步骤拆分为更多部件/步骤,也可将两个或多个部件/步骤或者部件/步骤的部分操作组合成新的部件/步骤,以实现本申请实施例的目的。
上述根据本申请实施例的方法可在硬件、固件中实现,或者被实现为可存储在记录介质(诸如CD-ROM、RAM、软盘、硬盘或磁光盘)中的软件或计算机代码,或者被实现通过网络下载的原始存储在远程记录介质或非暂时机器可读介质中并将被存储在本地记录介质中的计算机代码,从而在此描述的方法可被存储在使用通用计算机、专用处理器或者可编程或专用硬件(诸如专用集成电路(Application Specific Integrated Circuit,ASIC)或现场可编辑门阵列(Field Programmable Gate Array,FPGA))的记录介质上的这样的软件处理。可以理解,计算机、处理器、微处理器控制器或可编程硬件包括可存储或接收软件或计算机代码的存储组件(例如,随机存储器(Random Access Memory,RAM)、只读存储器(Read-Only Memory,ROM)、闪存等),当所述软件或计算机代码被计算机、处理器或硬件访问且执行时,实现在此描述的方法。此外,当通用计算机访问用于实现在此示出的方法的代码时,代码的执行将通用计算机转换为用于执行在此示出的方法的专用计算机。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及方法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请实施例的范围。
以上实施方式仅用于说明本申请实施例,而并非对本申请实施例的限制,有关技术领域的普通技术人员,在不脱离本申请实施例的精神和范围的情况下,还可以做出各种变化和变型,因此所有等同的技术方案也属于本申请实施例的范畴,本申请实施例的专利保护范围应由权利要求限定。
Claims (14)
1.一种报文转发方法,应用于网络功能虚拟化转发***的转发层,所述方法包括:
接收待转发报文;
解析所述待转发报文中通过网络虚拟化协议封装的头部信息,并识别所述头部信息中包括的优先级信息;
若所述头部信息中不包括所述优先级信息,则通过第一报文标记器基于所述网络虚拟化协议对所述待转发报文进行优先级信息标记,以按照所述优先级信息对所述待转发报文进行转发处理。
2.根据权利要求1所述的方法,其中,所述通过第一报文标记器基于所述网络虚拟化协议对所述待转发报文进行优先级标记包括:
将所述待转发报文与预先存储的所述优先级信息进行匹配;
若匹配到所述待转发报文对应的优先级信息,则通过所述第一报文标记器根据匹配到的优先级信息、基于所述网络虚拟化协议对所述待转发报文进行优先级标记。
3.根据权利要求2所述的方法,其中,所述方法还包括:
若未匹配到所述待转发报文对应的优先级信息,则将所述待转发报文上报至逻辑层,以通过所述逻辑层中的第二报文标记器根据预设转发逻辑、基于所述网络虚拟化协议对所述待转发报文进行优先级标记,得到所述头部信息中携带有所述优先级信息的所述待转发报文;
接收所述逻辑层下发的所述待转发报文,并继续执行所述解析所述待转发报文中通过网络虚拟化协议封装的头部信息,并识别所述头部信息中包括的优先级信息的步骤。
4.根据权利要求3所述的方法,其中,所述方法还包括:
若所述头部信息中包括所述优先级信息,则按照所述优先级信息对所述待转发报文进行转发处理,并根据所述头部信息中包括所述优先级信息更新预先存储所述优先级信息。
5.根据权利要求1-4所述的方法,其中,所述按照所述优先级信息对所述待转发报文进行转发处理,包括:
通过报文管理器,根据所述优先级信息将所述待转发报文增加至对应的报文队列;
通过报文限速器,按照所述报文队列对应的优先级将所述报文队列中的报文进行转发处理。
6.根据权利要求5所述的方法,其中,若预先存储有所述优先级信息,则所述报文管理器还用于更新用于存储所述优先级信息的流表。
7.根据权利要求1-4任一项所述的方法,其中,所述解析所述待转发报文中通过网络虚拟化协议封装的头部信息,并识别所述头部信息中包括的优先级信息,包括:
解析所述头部信息,得到所述头部信息携带的若干个选项的选项类别标识;
将所述头部信息携带的选项类别标识与预设优先级类别标识进行匹配,根据匹配结果确定所述头部信息中用于携带所述优先级信息的字段,以得到所述优先级信息。
8.根据权利要求7所述的方法,其中,用于携带所述优先级信息的字段包括:用于携带优先级类别标识的类型字段、用于携带优先级等级的等级字段。
9.一种网络功能虚拟化转发***的转发层设备,所述转发层设备包括报文识别器、第一报文标记器、报文限速器,
所述报文识别器用于接收待转发报文,解析所述待转发报文中通过网络虚拟化协议封装的头部信息,并识别所述头部信息中包括的优先级信息;
所述报文标记器用于若所述头部信息中不包括所述优先级信息,则基于所述网络虚拟化协议对所述待转发报文进行优先级信息标记;
所述报文限速器用于按照所述优先级信息对所述待转发报文进行转发处理。
10.根据权利要求9所述的转发层设备,其中,所述转发层设备还包括报文管理器,用于根据所述优先级信息将所述待转发报文增加至对应的报文队列;对应地,所述报文限速器具体用于按照所述报文队列对应的优先级将所述报文队列中的报文进行转发处理。
11.一种网络功能虚拟化转发***,包括转发层,所述转发层用于接收待转发报文;解析所述待转发报文中通过网络虚拟化协议封装的头部信息,并识别所述头部信息中包括的优先级信息;若所述头部信息中不包括所述优先级信息,则通过第一报文标记器基于所述网络虚拟化协议对所述待转发报文进行优先级信息标记,以按照所述优先级信息对所述待转发报文进行转发处理。
12.根据权利要求11所述的转发***,其中,所述转发***还包括逻辑层,所述逻辑层,所述转发层用于若将未匹配到优先级信息的所述待转发报文上报至所述逻辑层;
所述逻辑层中的第二报文标记器用于根据预设转发逻辑、基于所述网络虚拟化协议对所述待转发报文进行优先级标记,得到所述头部信息中携带有所述优先级信息的所述待转发报文;
所述转发层还用于接收所述逻辑层下发的所述待转发报文,并继续执行所述解析所述待转发报文中通过网络虚拟化协议封装的头部信息,并识别所述头部信息中包括的优先级信息的步骤。
13.一种电子设备,包括:处理器、存储器、通信接口和通信总线,所述处理器、所述存储器和所述通信接口通过所述通信总线完成相互间的通信;
所述存储器用于存放至少一可执行指令,所述可执行指令使所述处理器执行如权利要求1-8中任一项所述的方法对应的操作。
14.一种计算机存储介质,其上存储有计算机程序,该程序被处理器执行时实现如权利要求1-8中任一所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310194563.8A CN116192761A (zh) | 2023-02-27 | 2023-02-27 | 报文转发方法、转发层设备、***、电子设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310194563.8A CN116192761A (zh) | 2023-02-27 | 2023-02-27 | 报文转发方法、转发层设备、***、电子设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116192761A true CN116192761A (zh) | 2023-05-30 |
Family
ID=86436371
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310194563.8A Pending CN116192761A (zh) | 2023-02-27 | 2023-02-27 | 报文转发方法、转发层设备、***、电子设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116192761A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117914973A (zh) * | 2024-01-05 | 2024-04-19 | 凌锐蓝信科技(北京)有限公司 | 报文转发方法、装置、网络设备及存储介质 |
-
2023
- 2023-02-27 CN CN202310194563.8A patent/CN116192761A/zh active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117914973A (zh) * | 2024-01-05 | 2024-04-19 | 凌锐蓝信科技(北京)有限公司 | 报文转发方法、装置、网络设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20220103477A1 (en) | Packet processing method for implementing qos guarantee, device, and system | |
CN103765839B (zh) | 用于网络设备内的分组处理的基于变量的转发路径结构 | |
US7042848B2 (en) | System and method for hierarchical policing of flows and subflows of a data stream | |
CN103582512B (zh) | 特征提取装置、网络流量识别方法、装置和*** | |
CN104956637A (zh) | 在多个逻辑网络连接中优先化封装数据包的方法、装置以及*** | |
US11165716B2 (en) | Data flow processing method and device | |
US10592316B2 (en) | Message processing method, apparatus, and system | |
CN106161275A (zh) | 针对服务质量的预测出口分组分类 | |
US11558769B2 (en) | Estimating apparatus, system, method, and computer-readable medium, and learning apparatus, method, and computer-readable medium | |
CN103329493B (zh) | 用于在分组处理期间避免存储器带宽利用的方法和设备 | |
CN108353022A (zh) | 一种数据报文的处理方法、装置及*** | |
CN116192761A (zh) | 报文转发方法、转发层设备、***、电子设备及存储介质 | |
CN112437009A (zh) | SRv6端到端流策略的方法、路由器、路由***和存储介质 | |
CN100574312C (zh) | 分析数据分组的分析器 | |
CN112769738B (zh) | DetNet数据包处理方法及装置 | |
WO2016150020A1 (zh) | 基于调度流标识的报文调度方法和装置 | |
US8553539B2 (en) | Method and system for packet traffic congestion management | |
CN114189902A (zh) | 基于电力业务QoS流映射的定制化电力5G/B5G通信接入方法 | |
US20210306267A1 (en) | Optimized network latency using in-band telemetry | |
CN111740922A (zh) | 数据传输方法、装置、电子设备及介质 | |
EP4181479A1 (en) | Method for identifying flow, and apparatus | |
CN115242892B (zh) | 一种流标识获取方法、装置、设备及介质 | |
CN110099011A (zh) | 一种实体网关接入虚拟家庭网关的方法及*** | |
CN114866488A (zh) | 信息流识别方法、网络芯片及网络设备 | |
CN109905325A (zh) | 一种流量引导方法及流量识别设备 |
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 |