虚拟交换机的报文处理方法和装置、芯片及电子设备与流程

专利2023-01-09  155



1.本技术涉及网络数据处理技术领域,特别涉及一种虚拟交换机的报文处理方法和装置、芯片及电子设备。


背景技术:

2.当前在云上虚拟化场景下,需要为每个虚拟机提供安全组产品。安全组是一种虚拟防火墙,虚拟防火墙可以根据用户配置的规则来判断哪些报文可以进出访问虚拟机,为虚拟机提供基本的防护能力,从而提高虚拟机实例的安全性。
3.防火墙包括无状态的防火墙和有状态的防火墙。无状态的防火墙只能通过报文的元组来过滤,阻拦,放行报文。报文的元组包括源ip地址、目的ip地址、源端口、目的端口、网络协议。无状态防火墙并不关心当前网络连接处于何种状态。相较于无状态防火墙,有状态防火墙增加了对当前网络连接状态的识别,同步使用报文的元组对报文进行过滤,阻拦,放行。网络连接状态的识别通常是由ct模块(connection tracker)实现。而基于ct模块实现的安全组方案,为了向用户提供可编程性,将连接跟踪拆分为匹配(match)与动作(action)两部分,由此可以向用户提供一种配置方式,去显示指定报文在特定的连接状态下执行特定动作。
4.此种方案可以提供良好的可编程性,但相应的缺点是连接状态的更新在action部分。具体而言,在特定连接状态下的动作被执行后,该特定连接状态变更为新的连接状态,而基于新的连接状态所需要执行的动作需要重新进行匹配,基于匹配的结果才能确认下一步所需要执行的动作。即对同一个报文,无法一次完成匹配与处理,需要基于初始连接状态进行匹配,执行对应的动作,在动作中更新连接状态,然后基于新的连接状态进行二次匹配,以查找所需对应执行的动作,以此类推。
5.如果一个报文被重复处理两次,接收并处理一个报文相当于收到两个报文,对ovs(open vswitch)虚拟交换机而言相当于压力翻倍。由此带来的问题是,当虚拟交换机开启安全组功能,相较于没有安全组功能,虚拟交换机的网络性能出现回退。即增加ct模块虽然完善了功能,引入了安全组功能的支持,但也对虚拟交换机的网络性能带来影响,造成了性能回退。而且,在硬件卸载方面,需要复杂的硬件资源以实现对硬件卸载的支持。


技术实现要素:

6.本技术提供了一种虚拟交换机的报文处理方法和装置、芯片及电子设备、计算机程序产品、计算机可读存储介质,可以克服现有技术中存在的技术缺陷。
7.本技术提供的技术方案包括:
8.第一方面,本技术提供了一种虚拟交换机的报文处理方法,所述方法包括:
9.接收与解析报文,以提取所述报文的元组信息;
10.将所述报文送入快速路径处理时,根据所述报文的元组信息查询有状态流表的流表项,其中,所述有状态流表设置于所述快速路径,所述有状态流表的流表项包括已登记的
连接的状态和所述连接对应的报文的预设处理规则;
11.若命中所述有状态流表中的流表项,则根据所述命中的流表项更新所述报文所属连接的状态,并且按照所述报文的预设处理规则处理所述报文;
12.若未命中所述有状态流表的流表项,则将所述报文送入慢速路径处理时,根据所述报文的元组信息登记所述报文所属连接的状态,以及获取所述连接对应的报文的预设处理规则;
13.按照获取的所述连接对应的报文的预设处理规则处理所述报文,并且将已登记的所述报文所属连接的状态和获取的所述连接对应的报文的预设处理规则作为新的流表项插入所述有状态流表。
14.第二方面,本技术提供了一种虚拟交换机的报文处理装置,包括:
15.接收与解析模块,用于接收与解析报文,以提取所述报文的元组信息;
16.查询模块,用于将所述报文送入快速路径处理时,根据所述报文的元组信息查询有状态流表的流表项,其中,所述有状态流表设置于所述快速路径,所述有状态流表的流表项包括已登记的连接的状态和所述连接对应的报文的预设处理规则;
17.更新模块,用于若命中所述有状态流表中的流表项,则根据所述命中的流表项更新所述报文所属连接的状态,并且按照所述报文的预设处理规则处理所述报文;
18.登记与获取模块,用于若未命中所述有状态流表的流表项,则将所述报文送入慢速路径处理时,根据所述报文的元组信息登记所述报文所属连接的状态,以及获取所述连接对应的报文的预设处理规则;
19.处理与插入模块,用于按照获取的所述连接对应的报文的预设处理规则处理所述报文,并且将已登记的所述报文所属连接的状态和获取的所述连接对应的报文的预设处理规则作为新的流表项插入所述有状态流表。
20.第三方面,本技术提供了一种芯片,包括:存储器和处理器,所述存储器用于存储计算机可执行指令,所述处理器用于执行所述计算机可执行指令,所述计算机可执行指令被处理器执行时实现前述第一方面提供的所述虚拟交换机的报文处理方法的步骤。
21.第四方面,本技术提供了一种电子设备,包括如本技术第三方面所述芯片。
22.第五方面,本技术提供了一种计算机程序产品,所述计算机程序被处理器执行时实现前述第一方面提供的所述虚拟交换机的报文处理方法的步骤。
23.第六方面,本技术提供了一种计算机可读存储介质,存储有计算机程序或指令,所述计算机程序或指令被处理器执行时实现前述第一方面提供的所述虚拟交换机的报文处理方法的步骤。
附图说明
24.图1是本技术第一实施例提供的一种虚拟交换机处理报文的方法的流程示意图;
25.图2是本技术第二实施例提供的一种虚拟交换机的报文处理装置的结构示意图;
26.图3是本技术第三实施例提供的一种电子设备的结构示意图。
具体实施方式
27.在下面的描述中阐述了很多具体细节以便于充分理解本技术。但是本技术能够以
很多不同于在此描述的其它方式来实施,本领域技术人员可以在不违背本技术内涵的情况下做类似推广,因此本技术不受下面公开的具体实施的限制。
28.在本技术一个或多个实施例中使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本技术一个或多个实施例。在本技术一个或多个实施例和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本技术一个或多个实施例中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
29.应当理解,尽管在本技术一个或多个实施例中可能采用术语第一、第二等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本技术一个或多个实施例范围的情况下,第一也可以被称为第二,类似地,第二也可以被称为第一。取决于语境,如在此所使用的词语“如果”可以被解释成为“在
……
时”或“当
……
时”或“响应于确定”。
30.本技术提供一种虚拟交换机的报文处理方法和装置、芯片及电子设备、计算机程序产品、计算机可读存储介质,在下面的实施例中逐一进行说明。
31.请参见图1,图1示出了本技术第一实施例提供的一种虚拟交换机的报文处理方法的流程示意图,该方法包括:
32.步骤102:接收与解析报文,以提取所述报文的元组信息。
33.具体地,本技术中,虚拟交换机具有安全组(即虚拟防火墙)功能。虚拟交换机根据虚拟防火墙对接收的报文执行放行、过滤、阻拦等动作。当虚拟交换机接收到报文时,对报文进行解析以提取报文的元组信息,从而辨别报文所属的连接。连接可以是基于tcp、udp、icmp、dccp、sctp、gre等网络协议的连接。一个连接可以包括多个报文。报文的元组信息可以包括源ip地址、目的ip地址、源端口、目的端口、网络协议等信息。报文的元组信息可以确定报文所属的连接。
34.步骤104:将所述报文送入快速路径处理时,根据所述报文的元组信息查询有状态流表的流表项,其中,所述有状态流表设置于所述快速路径,所述有状态流表的流表项包括已登记的连接的状态和所述连接对应的报文的预设处理规则。
35.具体地,当接收与解析报文后,虚拟交换机将报文送入快速路径进行处理。快速路径可以处于操作系统的用户空间。快速路径包括用于对报文进行精确匹配的流表。虚拟交换机根据报文的元组信息查询快速路径中的流表以获取报文的预设处理规则,并按照预设处理规则对报文进行处理(例如,放行、过滤、阻拦等)。快速路径的流表可以包括有状态流表。有状态流表包括至少一流表项。有状态流表的流表项可以包括已登记的连接的状态和连接对应的报文的预设处理规则。
36.在第一实施例的变更实施例中,虚拟交换机根据所述报文的元组信息查询有状态流表的流表项的步骤可以具体包括:
37.将所述报文的元组信息与所述有状态流表的流表项所包括的已登记的连接的状态进行匹配;
38.若所述有状态流表的流表项存在与所述报文的元组信息匹配的连接的状态,则命中所述有状态流表的流表项;
39.若所述有状态流表的流表项不存在与所述报文的元组信息匹配的连接的状态,则
未命中所述有状态流表的流表项。
40.步骤106:若命中所述有状态流表中的流表项,则根据所述命中的流表项更新所述报文所属连接的状态,并且按照所述报文的预设处理规则处理所述报文。
41.具体地,如果命中有状态流表中的流表项,即有状态流表的流表项存在与所述报文的元组信息匹配的连接的状态,换而言之,虚拟交换机拦截到的这个报文属于已登记过的连接,那么,对于属于已登记过的连接的报文,虚拟交换机根据命中的流表项更新报文所属连接的状态。更新报文所属连接的状态可以包括更新报文所属连接接收到的报文数的统计信息以对连接的报文数进行统计。
42.本技术在快速路径设置有状态流表以供报文进行匹配,并且直接在快速路径更新报文所属连接的状态,以及按照报文的预设处理规则处理报文,实现了在功能上支持虚拟防火墙的同时,还避免了报文的重复处理,即对同一个报文,可以一次完成匹配与处理,无需基于初始连接状态进行匹配,执行对应的动作,在动作中更新连接状态,然后基于新的连接状态进行二次匹配,以查找所需对应执行的动作,改善虚拟交换机的网络性能。而且,由于可以一次完成匹配与处理,在硬件卸载方面,不需要复杂的硬件资源以实现对硬件卸载的支持。
43.步骤108:若未命中所述有状态流表的流表项,则将所述报文送入慢速路径处理时,根据所述报文的元组信息登记所述报文所属连接的状态,以及获取所述连接对应的报文的预设处理规则。
44.具体地,如果未命中有状态流表中的流表项,即有状态流表的流表项不存在与所述报文的元组信息匹配的连接的状态,换而言之,虚拟交换机拦截到的这个报文属于没有登记过的连接,那么虚拟交换机将报文送入慢速路径进行处理。慢速路径也处于操作系统的用户空间。慢速路径包括用于对所述报文进行模糊匹配的流表。虚拟交换机将报文送入慢速路径处理时,根据报文的元组信息登记报文所属连接的状态,以及获取连接对应的报文的预设处理规则。登记报文所属连接的状态可以包括新建一个所述报文所属的连接,以记录所述报文所属连接的状态。报文的预设处理规则可以包括对所述报文执行放行、过滤、阻拦等动作。本技术在慢速路径处理没有登记过的连接对应的报文时,通过登记登记报文所属连接的状态,可以实现虚拟交换机在功能上支持虚拟防火墙。
45.步骤1010:按照获取的所述连接对应的报文的预设处理规则处理所述报文,并且将已登记的所述报文所属连接的状态和获取的所述连接对应的报文的预设处理规则作为新的流表项插入所述有状态流表。
46.具体地,在登记报文所属连接的状态以及获取连接对应的报文的预设处理规则之后,虚拟交换机按照获取的连接对应的报文的预设处理规则处理报文,并且,虚拟交换机将已登记的报文所属连接的状态和获取的连接对应的报文的预设处理规则作为新的流表项插入有状态流表。
47.本技术提供的虚拟交换机的报文处理方法,通过将有状态流表设置于快速路径以供报文进行匹配,对于属于已登记过的连接的报文,可以直接在快速路径进行一次匹配,并且更新报文所属连接的状态以及按照报文的预设处理规则处理报文,即对同一个报文,在快速路径可以一次完成匹配与处理;对于属于没有登记过的连接的报文,则通过在慢速路径对报文所属连接的状态进行登记,并且获取连接对应的报文的预设处理规则以及按照报
文的预设处理规则处理报文,即对同一个报文,在慢速路径也可以一次完成匹配与处理;因此,本技术提供的虚拟交换机的报文处理方法,实现了虚拟交换机在功能上支持虚拟防火墙的同时,还避免了报文的重复处理,即对同一个报文,可以一次完成匹配与处理。无需基于初始连接状态进行匹配,执行对应的动作,在动作中更新连接状态,然后基于新的连接状态进行二次匹配,以查找所需对应执行的动作。克服虚拟交换机在引入安全组功能会造成虚拟交换机的网络性能回退的缺陷。改善虚拟交换机的网络性能。而且,由于报文可以一次完成匹配与处理,在硬件卸载方面,不需要复杂的硬件资源以实现对硬件卸载的支持。
48.请参见图2,图2示出了本技术第二实施例提供的一种虚拟交换机的报文处理装置的结构示意图。
49.需要说明的是,本技术第二实施例提供的虚拟交换机的报文处理装置的技术方案与本技术第二实施例提供的虚拟交换机的报文处理方法的技术方案属于同一构思,虚拟交换机的报文处理装置的技术方案未详细描述的细节内容,均可以参见虚拟交换机的报文处理方法的技术方案的描述。
50.本技术第二实施例提供的虚拟交换机的报文处理装置包括:接收与解析模块、查询模块、更新模块、登记与获取模块、处理与插入模块。
51.接收与解析模块,用于接收与解析报文,以提取所述报文的元组信息。
52.具体地,本技术中,虚拟交换机具有安全组(即虚拟防火墙)功能。虚拟交换机通过虚拟防火墙对接收的报文执行放行、过滤、阻拦等动作。当虚拟交换机接收到报文时,对报文进行解析以提取报文的元组信息,从而辨别报文所属的连接。连接可以是基于tcp、udp、icmp、dccp、sctp、gre等网络协议的连接。一个连接可以包括多个报文。报文的元组信息可以包括源ip地址、目的ip地址、源端口、目的端口、网络协议等信息。报文的元组信息可以确定报文所属的连接。
53.查询模块,用于将所述报文送入快速路径处理时,根据所述报文的元组信息查询有状态流表的流表项,其中,所述有状态流表设置于所述快速路径,所述有状态流表的流表项包括已登记的连接的状态和所述连接对应的报文的预设处理规则。
54.具体地,当接收与解析报文后,虚拟交换机将报文送入快速路径进行处理。快速路径可以处于操作系统的用户空间。快速路径包括用于对报文进行精确匹配的流表。虚拟交换机根据报文的元组信息查询快速路径中的流表以获取报文的预设处理规则,并按照预设处理规则对报文进行处理(例如,放行、过滤、阻拦等)。快速路径的流表可以包括有状态流表。有状态流表包括至少一流表项。有状态流表的流表项可以包括已登记的连接的状态和连接对应的报文的预设处理规则。
55.在第二实施例的变更实施例中,查询模块还可以具体包括:匹配单元、第一判断单元、第二判断单元。
56.匹配单元,用于将所述报文的元组信息与所述有状态流表的流表项所包括的已登记的连接的状态进行匹配。
57.第一判断单元,用于若所述有状态流表的流表项存在与所述报文的元组信息匹配的连接的状态,则命中所述有状态流表的流表项。
58.第二判断单元,用于若所述有状态流表的流表项不存在与所述报文的元组信息匹配的连接的状态,则未命中所述有状态流表的流表项。
59.更新模块,用于若命中所述有状态流表中的流表项,则根据所述命中的流表项更新所述报文所属连接的状态,并且按照所述报文的预设处理规则处理所述报文。
60.具体地,如果命中有状态流表中的流表项,即有状态流表的流表项存在与所述报文的元组信息匹配的连接的状态,换而言之,虚拟交换机拦截到的这个报文属于已登记过的连接,那么,对于属于已登记过的连接的报文,虚拟交换机根据命中的流表项更新报文所属连接的状态。更新报文所属连接的状态可以包括更新报文所属连接接收到的报文数的统计信息以对连接的报文数进行统计。
61.本技术在快速路径设置有状态流表以供报文进行匹配,并且直接在快速路径更新报文所属连接的状态,以及按照报文的预设处理规则处理报文,实现了在功能上支持虚拟防火墙的同时,还避免了报文的重复处理,即对同一个报文,可以一次完成匹配与处理,无需基于初始连接状态进行匹配,执行对应的动作,在动作中更新连接状态,然后基于新的连接状态进行二次匹配,以查找所需对应执行的动作,改善虚拟交换机的网络性能。而且,由于报文可以一次完成匹配与处理,在硬件卸载方面,不需要复杂的硬件资源以实现对硬件卸载的支持。
62.登记与获取模块,用于若未命中所述有状态流表的流表项,则将所述报文送入慢速路径处理时,根据所述报文的元组信息登记所述报文所属连接的状态,以及获取所述连接对应的报文的预设处理规则。
63.具体地,如果未命中有状态流表中的流表项,即有状态流表的流表项不存在与所述报文的元组信息匹配的连接的状态,换而言之,虚拟交换机拦截到的这个报文属于没有登记过的连接,那么虚拟交换机将报文送入慢速路径进行处理。慢速路径也处于操作系统的用户空间。慢速路径包括用于对所述报文进行模糊匹配的流表。虚拟交换机将报文送入慢速路径处理时,根据报文的元组信息登记报文所属连接的状态,以及获取连接对应的报文的预设处理规则。登记报文所属连接的状态可以包括新建一个所述报文所属的连接,以记录所述报文所属连接的状态。报文的预设处理规则可以包括对所述报文执行放行、过滤、阻拦等动作。本技术在慢速路径处理没有登记过的连接对应的报文时,通过登记登记报文所属连接的状态,可以实现虚拟交换机在功能上支持虚拟防火墙。
64.处理与插入模块,用于按照获取的所述连接对应的报文的预设处理规则处理所述报文,并且将已登记的所述报文所属连接的状态和获取的所述连接对应的报文的预设处理规则作为新的流表项插入所述有状态流表。
65.具体地,在登记报文所属连接的状态以及获取连接对应的报文的预设处理规则之后,虚拟交换机按照获取的连接对应的报文的预设处理规则处理报文,并且,虚拟交换机将已登记的报文所属连接的状态和获取的连接对应的报文的预设处理规则作为新的流表项插入有状态流表。
66.本技术提供的虚拟交换机的报文处理装置,通过将有状态流表设置于快速路径以供报文进行匹配,对于属于已登记过的连接的报文,可以直接在快速路径进行一次匹配,并且更新报文所属连接的状态以及按照报文的预设处理规则处理报文,即对同一个报文,在快速路径可以一次完成匹配与处理;对于属于没有登记过的连接的报文,则通过在慢速路径对报文所属连接的状态进行登记,并且获取连接对应的报文的预设处理规则以及按照报文的预设处理规则处理报文,即对同一个报文,在慢速路径也可以一次完成匹配与处理;因
此,本技术提供的虚拟交换机的报文处理装置,实现了虚拟交换机在功能上支持虚拟防火墙的同时,还避免了报文的重复处理,即对同一个报文,可以一次完成匹配与处理。无需基于初始连接状态进行匹配,执行对应的动作,在动作中更新连接状态,然后基于新的连接状态进行二次匹配,以查找所需对应执行的动作。克服虚拟交换机在引入安全组功能会造成虚拟交换机的网络性能回退的缺陷。改善虚拟交换机的网络性能。而且,由于报文可以一次完成匹配与处理,在硬件卸载方面,不需要复杂的硬件资源以实现对硬件卸载的支持。
67.上述虚拟交换机的报文处理装置中的各个功能模块可全部或部分通过软件、硬件及其组合来实现。上述各功能模块可以硬件形式内嵌于或独立于芯片的处理器中,也可以以软件形式存储于芯片的存储器中,以便于处理器调用执行以上各个功能模块对应的操作。
68.请参见图3,图3示出了本技术第三实施例提供的一种芯片的结构示意图。
69.本技术第三实施例提供的芯片,可以包括通过系统总线连接的处理器、存储器和网络接口。其中,芯片的处理器用于提供计算和控制能力。芯片的存储器包括非易失性存储介质和内存储器。非易失性存储介质存储有操作系统(如片上操作系统soc)、计算机程序和数据库。内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。芯片的数据库用于存储故障信息等数据。芯片的网络接口用于与外部设备通过网络连接通信。计算机程序被处理器执行时可以实现如本技术第一实施例提供的虚拟交换机的报文处理方法。
70.本领域技术人员可以理解,图3中示出的结构,仅仅是与本技术方案相关的部分结构的框图,并不构成对本技术方案所应用于其上的芯片的限定,具体的芯片可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
71.相应地,本技术还提供了一种芯片,芯片可以是dpu(data processing unit,数据处理器)、gpu(graphics processing unit,图形处理器)、cpu(central processing unit,中央处理器)等。芯片包括存储器和处理器。存储器中存储有计算机程序,处理器执行计算机程序时实现如本技术第一实施例提供的虚拟交换机的报文处理方法。
72.相应地,本技术还提供了一种电子设备,电子设备可以是服务器、服务器集群等。电子设备可以包括如本十年前提供的芯片。
73.相应地,本技术还提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现如本技术第一实施例提供的虚拟交换机的报文处理方法。
74.相应地,本技术还提供了一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现如本技术第一实施例提供的虚拟交换机的报文处理方法。
75.在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
76.计算机可读指令包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、u盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(rom,read-only memory)、随机存取存储器(ram,random access memory)、
电载波信号、电信信号以及软件分发介质等。需要说明的是,所述计算机可读介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减,例如在某些司法管辖区,根据立法和专利实践,计算机可读介质不包括电载波信号和电信信号。
77.需要说明的是,对于前述的方法实施例,为了简便描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本说明书实施例并不受所描述的动作顺序的限制,因为依据本说明书实施例,某些步骤可以采用其它顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定都是本说明书实施例所必须的。
78.在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其它实施例的相关描述。
79.以上公开的本说明书优选实施例只是用于帮助阐述本说明书。可选实施例并没有详尽叙述所有的细节,也不限制该发明仅为所述的具体实施方式。显然,根据本说明书实施例的内容,可作很多的修改和变化。本说明书选取并具体描述这些实施例,是为了更好地解释本说明书实施例的原理和实际应用,从而使所属技术领域技术人员能很好地理解和利用本说明书。本说明书仅受权利要求书及其全部范围和等效物的限制。

技术特征:
1.一种虚拟交换机的报文处理方法,其特征在于,包括:接收与解析报文,以提取所述报文的元组信息;将所述报文送入快速路径处理时,根据所述报文的元组信息查询有状态流表的流表项,其中,所述有状态流表设置于所述快速路径,所述有状态流表的流表项包括已登记的连接的状态和所述连接对应的报文的预设处理规则;若命中所述有状态流表中的流表项,则根据所述命中的流表项更新所述报文所属连接的状态,并且按照所述报文的预设处理规则处理所述报文;若未命中所述有状态流表的流表项,则将所述报文送入慢速路径处理时,根据所述报文的元组信息登记所述报文所属连接的状态,以及获取所述连接对应的报文的预设处理规则;按照获取的所述连接对应的报文的预设处理规则处理所述报文,并且将已登记的所述报文所属连接的状态和获取的所述连接对应的报文的预设处理规则作为新的流表项插入所述有状态流表。2.根据权利要求1所述的方法,其特征在于,所述根据所述报文的元组信息查询有状态流表的流表项的步骤包括:将所述报文的元组信息与所述有状态流表的流表项所包括的已登记的连接的状态进行匹配;若所述有状态流表的流表项存在与所述报文的元组信息匹配的连接的状态,则命中所述有状态流表的流表项;若所述有状态流表的流表项不存在与所述报文的元组信息匹配的连接的状态,则未命中所述有状态流表的流表项。3.根据权利要求1所述的方法,其特征在于,所述更新所述报文所属连接的状态包括更新所述报文所属连接接收到的报文数的统计信息。4.根据权利要求1所述的方法,其特征在于,所述登记所述报文所属连接的状态包括新建一个所述报文所属的连接以记录所述连接的状态。5.根据权利要求1所述的方法,其特征在于,所述快速路径和所述慢速路径均处于操作系统的用户空间,所述快速路径包括用于对所述报文进行精确匹配的流表,所述慢速路径包括用于对所述报文进行模糊匹配的流表。6.一种虚拟交换机的报文处理装置,其特征在于,包括:接收与解析模块,用于接收与解析报文,以提取所述报文的元组信息;查询模块,用于将所述报文送入快速路径处理时,根据所述报文的元组信息查询有状态流表的流表项,其中,所述有状态流表设置于所述快速路径,所述有状态流表的流表项包括已登记的连接的状态和所述连接对应的报文的预设处理规则;更新模块,用于若命中所述有状态流表中的流表项,则根据所述命中的流表项更新所述报文所属连接的状态,并且按照所述报文的预设处理规则处理所述报文;登记与获取模块,用于若未命中所述有状态流表的流表项,则将所述报文送入慢速路径处理时,根据所述报文的元组信息登记所述报文所属连接的状态,以及获取所述连接对应的报文的预设处理规则;处理与插入模块,用于按照获取的所述连接对应的报文的预设处理规则处理所述报
文,并且将已登记的所述报文所属连接的状态和获取的所述连接对应的报文的预设处理规则作为新的流表项插入所述有状态流表。7.一种芯片,其特征在于,所述芯片包括存储器和处理器,所述存储器用于存储计算机可执行指令,所述处理器用于执行所述计算机可执行指令,所述计算机可执行指令被处理器执行时实现权利要求1至5任意一项所述虚拟交换机的报文处理方法的步骤。8.一种电子设备,其特征在于,包括如权利要求7所述芯片。9.一种计算机程序产品,包括计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至5中任一项所述虚拟交换机的报文处理方法的步骤。10.一种计算机可读存储介质,存储有计算机程序或指令,其特征在于,所述计算机程序或指令被处理器执行时实现权利要求1至5中任一项所述虚拟交换机的报文处理方法的步骤。

技术总结
本申请提供虚拟交换机的报文处理方法和装置、芯片及电子设备,通过将有状态流表设置于快速路径以供报文进行匹配,对于已登记过的连接的报文,在快速路径一次匹配,并且更新报文所属连接的状态及按照预设处理规则处理报文;对于未登记过的连接的报文,通过在慢速路径对报文所属连接的状态进行登记,并获取预设处理规则以及按照预设处理规则处理报文。实现虚拟交换机在功能上支持虚拟防火墙的同时,还避免报文的重复处理,即对同一个报文,一次完成匹配与处理。克服虚拟交换机在引入安全组功能会造成虚拟交换机的网络性能回退的缺陷。改善虚拟交换机的网络性能。且由于报文可以一次完成匹配与处理,不需要复杂的硬件资源以实现对硬件卸载的支持。对硬件卸载的支持。对硬件卸载的支持。


技术研发人员:袁林思
受保护的技术使用者:深圳云豹智能有限公司
技术研发日:2022.07.26
技术公布日:2022/11/1
转载请注明原文地址: https://tieba.8miu.com/read-206.html

最新回复(0)