CN111740909A - 一种报文处理方法、装置、网络传输设备及报文处理系统 - Google Patents

一种报文处理方法、装置、网络传输设备及报文处理系统 Download PDF

Info

Publication number
CN111740909A
CN111740909A CN202010565750.9A CN202010565750A CN111740909A CN 111740909 A CN111740909 A CN 111740909A CN 202010565750 A CN202010565750 A CN 202010565750A CN 111740909 A CN111740909 A CN 111740909A
Authority
CN
China
Prior art keywords
target
flow table
message
virtual switch
network transmission
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
Application number
CN202010565750.9A
Other languages
English (en)
Inventor
夏基华
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Lenovo Beijing Ltd
Original Assignee
Lenovo Beijing Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Lenovo Beijing Ltd filed Critical Lenovo Beijing Ltd
Priority to CN202010565750.9A priority Critical patent/CN111740909A/zh
Publication of CN111740909A publication Critical patent/CN111740909A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/74Address processing for routing
    • H04L45/745Address table lookup; Address filtering
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/74Address processing for routing
    • H04L45/745Address table lookup; Address filtering
    • H04L45/7453Address table lookup; Address filtering using hashing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/70Virtual switches
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D30/00Reducing energy consumption in communication networks
    • Y02D30/50Reducing energy consumption in communication networks in wire-line communication networks, e.g. low power modes or reduced link rate

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本申请公开了一种报文处理方法、装置、网络传输设备及报文处理系统,方法包括:在网络传输设备上,接收待处理的目标报文,网络传输设备与电子设备相连接,电子设备上至少配置有虚拟交换机;在网络传输设备上预先保存的第一流表中,按照第一流表对应的目标查找方式,查找与目标报文对应的目标流表项,目标查找方式中目标流表项与目标报文至少部分一致;如果在第一流表中查找到与目标报文对应的目标流表项,根据目标流表项,对目标报文进行处理;如果在第一流表中没有查找到与目标报文对应的目标流表项,将目标报文传输到电子设备上的虚拟交换机,以使得虚拟交换机对目标报文进行处理。

Description

一种报文处理方法、装置、网络传输设备及报文处理系统
技术领域
本申请涉及网络传输技术领域,尤其涉及一种报文处理方法、装置、网络传输设备及报文处理系统。
背景技术
开放虚拟交换机Open vSwitch(OVS)是广泛应用在云计算网络中的虚拟交换机软件,为物理机上运行的虚拟机提供网络接入和报文转发功能。OVS可实现大规模虚拟化网络的自动化配置、管理和维护。
在实现虚拟机的数据转发过程中,物理机上的OVS会显著占用中央处理器CPU(centralprocessing unit)和内存资源,这些资源用于将报文从主机分发到主机上不同的虚拟机。
而随着行业的发展,网络数据中心的数据增长从1G到达10G甚至100G的级别,相应的,作为虚拟机的数据转发通道,OVS会更多的与虚拟机争夺主机的CPU和内存资源,这会显著减少主机上可以承载的虚拟机的数量。
发明内容
有鉴于此,本申请提供一种报文处理方法、装置、网络传输设备及报文处理系统,包括:
一种报文处理方法,包括:
在网络传输设备上,接收待处理的目标报文,所述网络传输设备与电子设备相连接,所述电子设备上至少配置有虚拟交换机;
在所述网络传输设备上预先保存的第一流表中,按照所述第一流表对应的目标查找方式,查找与所述目标报文对应的目标流表项,所述目标查找方式中所述目标流表项与所述目标报文至少部分一致;
如果在所述第一流表中查找到与所述目标报文对应的目标流表项,根据所述目标流表项,对所述目标报文进行处理;
如果在所述第一流表中没有查找到与所述目标报文对应的目标流表项,将所述目标报文传输到所述电子设备上的虚拟交换机,以使得所述虚拟交换机对所述目标报文进行处理。
上述方法,优选的,所述第一流表为预先从所述电子设备的虚拟交换机中所获取并保存的流表,所述第一流表中包括多个流表项,所述流表项中至少包含报文标识及所述报文标识对应的处理动作数据;
其中,所述目标查找方式中所述目标流表项与所述目标报文至少部分一致,包括:
所述目标报文中的报头字段与所述目标流表项中的报文标识至少部分一致。
上述方法,优选的,在所述网络传输设备上预先保存的第一流表中,按照所述第一流表对应的目标查找方式,查找与所述目标报文对应的目标流表项,包括:
提取所述目标报文中的报头字段;
根据所述报头字段,在所述网络传输设备上预先保存的第一流表中,按照所述第一流表对应的目标查找方式,查找具有与所述报头字段至少近似匹配的报文标识的目标流表项。
上述方法,优选的,根据所述目标流表项,对所述目标报文进行处理,包括:
提取所述目标流表项中所包含的处理动作数据;
对所述目标报文按照所述处理动作数据进行报文处理,并利用所述网络传输设备将处理后的目标报文按照所述处理动作数据进行传输。
上述方法,优选的所述虚拟交换机对所述目标报文进行处理,包括:
所述虚拟交换机提取所述目标报文中的报头字段;
所述虚拟交换机在预先保存的第二流表中,查找与所述报头字段对应的目标流表项;
所述虚拟交换机提取查找到的目标流表项中所包含的处理动作数据;
对所述目标报文按照所述处理动作数据进行报文处理,并利用所述网络传输设备将处理后的目标报文按照所述处理动作数据进行传输。
上述方法,优选的,如果在所述第一流表中没有查找到与所述目标报文对应的目标流表项,所述方法还包括:
接收所述虚拟交换机发送的所述虚拟交换机在第二流表中查找到的目标流表项;
将所述虚拟交换机查找到的目标流表项添加到所述第一流表中。
一种报文处理装置,包括:
报文获得单元,用于在网络传输设备上,接收待处理的目标报文,所述网络传输设备与电子设备相连接,所述电子设备上至少配置有虚拟交换机;
流表项查找单元,用于在所述网络传输设备上预先保存的第一流表中,按照所述第一流表对应的目标查找方式,查找与所述目标报文对应的目标流表项,所述目标查找方式中所述目标流表项与所述目标报文至少部分一致;
报文处理单元,用于如果在所述第一流表中查找到与所述目标报文对应的目标流表项,根据所述目标流表项,对所述目标报文进行处理;
报文传输单元,用于如果在所述第一流表中没有查找到与所述目标报文对应的目标流表项,将所述目标报文传输到所述电子设备上的虚拟交换机,以使得所述虚拟交换机对所述目标报文进行处理。
上述装置,优选的,还包括:
存储单元,用于预先从所述电子设备的虚拟交换机中获取并保存第一流表,所述第一流表中包括多个流表项,所述流表项中至少包含报文标识及所述报文标识对应的处理动作数据;
其中,所述目标查找方式中所述目标流表项与所述目标报文至少部分一致,包括:
所述目标流表项中的报头字段与所述目标流表项中的报文标识至少部分一致。
一种网络传输设备,包括:
传输接口,用于接收待处理的目标报文,所述网络传输设备与电子设备相连接,所述电子设备上至少配置有虚拟交换机;
处理器,用于在预先保存的第一流表中,按照所述第一流表对应的目标查找方式,查找与所述目标报文对应的目标流表项,所述目标查找方式中所述目标流表项与所述目标报文至少部分一致;如果在所述第一流表中查找到与所述目标报文对应的目标流表项,根据所述目标流表项,对所述目标报文进行处理;如果在所述第一流表中没有查找到与所述目标报文对应的目标流表项,利用传输接口将所述目标报文传输到所述电子设备上的虚拟交换机,以使得所述虚拟交换机对所述目标报文进行处理。
一种报文处理系统,包括:
电子设备,所述电子设备上至少配置有虚拟交换机;
网络传输设备,所述网络传输设备与电子设备相连接,所述网络传输设备用于:接收待处理的目标报文,所述网络传输设备与电子设备相连接,所述电子设备上至少配置有虚拟交换机;在预先保存的第一流表中,按照所述第一流表对应的目标查找方式,查找与所述目标报文对应的目标流表项,所述目标查找方式中所述目标流表项与所述目标报文至少部分一致;如果在所述第一流表中查找到与所述目标报文对应的目标流表项,根据所述目标流表项,对所述目标报文进行处理;如果在所述第一流表中没有查找到与所述目标报文对应的目标流表项,将所述目标报文传输到所述电子设备上的虚拟交换机,以使得所述虚拟交换机对所述目标报文进行处理。
从上述技术方案可以看出,本申请提供的一种报文处理方法、装置、网络传输设备及报文处理系统中,通过在网络传输设备上接收到待处理的目标报文时,不直接将目标报文传输给电子设备上配置的虚拟交换机,而是先在网络传输设备上预先保存的第一流表中按照第一流表对应的目标查找方式查找与目标报文对应的目标流表项,而目标查找方式中目标流表项与目标报文至少部分一致,基于此,如果在网络传输设备上查找到目标流表项,那么就在网络传输设备上根据目标流表项对目标报文进行处理,而只有在网络传输设备上没有查找到目标流表项时,才会将目标报文传输到虚拟交换机,由虚拟交换机对目标报文进行处理。可见,本申请中通过网络传输设备和虚拟交换机之间软硬件结合的方式,并在硬件的网络传输设备上进行报文模糊匹配的流表项查找,只要有流表项与目标报文有部分匹配,那么就可以利用网络传输设备对报文进行处理,而不必完全依靠软件的虚拟交换机对目标报文进行处理,由此,利用硬件的快速处理能力能够减轻软件上进行报文处理对电子设备上处理资源的消耗量,同时在硬件上进行流表项匹配时采用命中率更高的流表项匹配方案,能够进一步增加硬件上进行报文处理的可能性,也就进一步减少对软件上进行报文处理所消耗的电子设备处理资源,也就可以进一步避免因为资源不够而导致的电子设备上所能够配置的虚拟机数量减少的情况下,由此提高报文处理效率。
附图说明
为了更清楚地说明本申请实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为现有OVS中进行流表项匹配的示意图;
图2为本申请实施例一提供的一种报文处理方法的流程图;
图3为本申请实施例中网络传输设备的连接示意图;
图4为本申请实施例中的流表示意图;
图5为本申请实施例一的部分流程图;
图6为本申请实施例中虚拟交换机进行报文处理的流程示意图;
图7为本申请实施例一的另一流程图;
图8为本申请实施例二提供的一种报文处理装置的结构示意图;
图9为本申请实施例二的另一结构示意图;
图10为本申请实施例三提供的一种网络传输设备的结构示意图;
图11为本申请实施例四提供的一种报文处理系统的结构示意图;
图12及图13分别为本申请实施例中进行流标项匹配的示例图。
具体实施方式
首先,对OVS中的报文的处理流程进行说明,OVS中进行报文处理可以划分为一下三个步骤:协议解析,表项查找和动作执行,其中最耗时的步骤在于表项查找。因为在通常情况下,流表中是有数目巨大的流表项的,因此,如何根据数据报文的信息快速的查找到对应的流表项是OVS交换机的一个重要的功能。
在常见的OVS流表项查找方案中,为了提高OVS流表项查找的性能,OVS设计了三级流表,分别是OpenFlow Table、MegaFlow Cache、ExactMatch Cache(EMC)。其中:
OpenFlow Table,是根据用户定义的软件定义网络SDN(Software DefinedNetwork)规则,采用多级流表的形式,每级表包括多条规则。通常每级流表只匹配某一层的报头信息,比如MAC地址。基于此,在该流表中进行报文匹配时需要逐个遍历所有表,虽然命中率较高,但是匹配效率比较低。
MegaFlow Cache,是利用元组空间搜索算法将所有多级OpenFlow Table的级联结果放在一个或多个Hash表中。其中,MegaFlow Cache是支持通用匹配的单级查找表,即它支持对比较大的流量聚合进行缓存转发决策,因此,MegaFlow Cache的报文匹配效率优于OpenFlow Table。
ExactMatch Cache,是针对某一个报文的匹配结果生成一条精确匹配规则并放在一个全局的Hash表中,每一个精确匹配规则匹配所有可能的字段,比如Mac、IP、Port等等。通常一个精确流规则对应一个TCP/UDP会话。因此,ExactMatch Cache的匹配效率最高,但存在命中率较低的缺陷。
这三级流表的查询效率分别是:ExactMatch Cache大于MegaFlow Cache,且MegaFlow Cache大于OpenFlow Table。同时这三级流表的Miss(非命中)概率也是:ExactMatch Cache大于MegaFlow Cache,且MegaFlow Cache大于OpenFlow Table。基于这三级流表的特点,OVS中流表匹配过程如图1中所示:
步骤1中,报文进入后首先在ExactMatch Cache中查找,如果命中,直接执行流表项关联动作;如果未命中,进入步骤2。
步骤2中,在MegaFlow Cache中查找,如果命中,执行流表项关联动作,同时更新ExactMatch Cahe;如果未命中,进入步骤3。
步骤3中,在多级OpenFlow table中顺序查找,最终根据匹配结果更新MegaFlowCache和Micro Flow Cache,并执行流表项关联动作。
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
参考图2所示,为本申请实施例一提供的一种报文处理方法的实现流程图,该方法可以适用于能够进行数据处理且能够进行数据传输的网络传输设备中,如基于FPGA的硬件加速卡等,本实施例中的网络传输设备是与电子设备相连接的,网络传输设备还与其他设备相连,电子设备可以为计算机或服务器等设备,在电子设备中可以配置有多个虚拟机以及一个或多个虚拟交换机,如图3中所示。本实施例中的技术方案主要用于:减少虚拟交换机对电子设备的处理资源的占用,以避免因为资源不够而导致的电子设备上所能够配置的虚拟机数量减少的情况。
具体实现中,本实施例中的方法可以包括以下步骤:
步骤201:在网络传输设备上,接收待处理的目标报文。
其中,目标报文可以是电子设备上其中一个或多个虚拟机向网络传输设备连接的其他设备所传输的报文,或者,目标报文也可以是网络传输设备连接的其他设备向电子设备上的一个或多个虚拟机所传输的报文。也就是说,本实施例中目标报文可以是在网络传输设备上所接收到的任意一方(虚拟机或者其他设备)所传输的报文。
需要说明的是,目标报文实际上可以理解为电子设备中的虚拟机和网络传输设备连接的其他设备之间所传输的报文流中的报文,在目标报文中至少包含有报头以及报文内容,在报头中包含多个报文字段,报文字段可以表征相应的属性,如网络传输协议、报文名称、加密算法、目的地址、原地址等中的任意一种或任意多种,属于同一报文流的报文在报文字段中所表征的一种或多种属性是相同的或相关联的,因此,报文字段能够表征不同的报文是否属于同一报文流。
步骤202:在网络传输设备上预先保存的第一流表中,按照第一流标对应的目标查找方式查找与目标报文对应的目标流表项,如果查找到,执行步骤203,如果没有查找到,执行步骤204。
其中,第一流表可以为从电子设备的虚拟交换机上预先下载并保存在网络传输设备上的存储区域或部件的,第一流表中包含多个流表项,每个流表项分别对应一个或一种相应的报文。具体的,每个流表项中至少包含有对应报文的报文标识以及报文标识对应的处理动作数据,报文标识可以理解为报名ID(Identity document)或者报文类型等,唯一表示报文的所在报文流,而报文标识对应的处理动作数据是指:对报文标识对应的报文流中的报文所需要执行的处理动作集合,如报文转发方式、报文转发对象等报文转发的相关动作信息。
需要说明的是,网络传输设备上的第一流表可以通过以下方式预先保存:
在一种方式中,在网络传输设备连接到电子设备时由网络传输设备主动向电子设备发送流表请求,电子设备上的虚拟交换机响应于网络传输设备发送的流表请求,在虚拟交换机的存储区域中读取到包含多个流表项的第一流表;
或者,在电子设备上监测有网络传输设备连接时在虚拟交换机的存储区域中读取第一流表,并主动向网络传输设备发送所读取到的第一流表。
其中,虚拟交换机中可以包含多个流表,每个流表中的流表项在历史报文处理后被生成,具体可以基于历史报文的报文标识和对该历史报文进行处理的动作数据生成。
在实际应用中,虚拟交换机中各流表中的流表项可能会存在变化,例如,在遇到新类型的报文(没有处理过的类型的报文)时,虚拟交换机通过协议解析之后,进行流表项查找并执行相应的动作,基于此,虚拟交换机生成针对该新类型的报文的流表项,并更新到第一流表和其他流表(如后文中的第二流标)中。相应的,在虚拟交换机中流表的流表项发生增量或者更新时,被下载到网络传输设备上的相应流表中的流表项也相应进行增量或更新的处理。
具体的,虚拟交换机中可以在存在流表项更新时生成更新指令,并发送更新指令给网络传输设备,由网络传输设备根据更新指令对网络传输设备上的第一流表中的流表项进行增量或更新处理;
或者,在网络传输设备上每间隔一定时长就向虚拟交换机发送更新请求,而虚拟交换机可以响应于更新请求,以获得虚拟交换机上的第一流表中的更新数据,再由虚拟交换机将更新数据发送给网络传输设备,网络传输设备可以根据更新数据对网络传输设备中第一流表的流表项进行增量或更新处理。
基于以上实现,网络传输设备上的第一流表与虚拟交换机中的第一流表是保持一致的,相应的,网络传输设备上的第一流表所包含的流表项与虚拟交换机中的第一流表所包含的流表项是保持一致的。
而第一流表对应的目标查找方式是指:根据第一流表中流表项的特点所对应的查找方式。需要说明的是,虚拟交换机中所包含的多个流表是不同的,而不同的流表对应于不同的流表项查找方式,不同的流表项查找方式实现流表项查找时的查找命中率和查找效率是不同的。
例如,在本实施例中,第一流表可以为EMC,相应的,第一流表对应的目标查找方式是将目标报文中的一个或多个特定的报头字段与第一流表中的各流表项中的报文标识进行精确匹配,如果存在一个或多个特定的报头字段与第一流表中的各流表项中的报文标识,那么就认为该流表项即为目标报文相对应的目标流表项,此时,目标报文中的特定的报头字段与查找到的目标流表项中的报文标识完全一致。基于此,本实施例中能够充分利用硬件的快速处理能力进行流表项查找,能够实现较高的匹配效率,以提高报文处理效率。
而由于EMC的特点,其虽然能够具有较高的流表项匹配效率,但是由于EMC的流表项查找方式的特点,使得EMC的流表项匹配的命中率较低,因此,本实施例中可以从虚拟交换机中预先下载MegaFlow Cache作为第一流标,相应的,第一流表对应的目标查找方式中是将目标报文中的报头字段与第一流表中各流表项中的报文标识进行模糊匹配,只要由部分一致,那么就认为该流表项即为与目标报文相对应的目标流表项。此时,目标报文中的报头字段与查找到的目标流表项中的报文标识部分一致或者全部一致。基于此,相对于将EMC预先保存到网络传输设备中进行流表项查找的方案来说,本实施例中将虚拟交换机中的MegaFlow Cache预先保存到网络传输设备中,并在网络传输设备中进行流表项查找,能够充分利用硬件的快速处理能力进行流表项查找以提高报文处理效率且避免占用过多电子设备处理资源的同时,提高流表项匹配的命中率。
具体实现中,如果在网络传输设备上预先保存的第一流表中按照目标查找方式查找到与目标报文相对应的目标流表项,即第一流表中包含与目标报文对应的流表项,那么说明在目标报文之前处理过属于相同报文流的报文,那么当前的目标报文可能不是报文流中的首包,即认为不是当前报文流中的第一个报文,此时,执行步骤203。
如果在网络传输设备上预先保存的第一流表中按照目标查找方式没有查找到与目标报文相对应的目标流表项,即第一流表中不包含与目标报文对应的流表项,那么说明在目标报文之前没有处理过相同报文流的报文,那么当前的目标报文可能是报文流中的首包(当然也可能是目标报文不是报文流中的首包但是只是在第一流表中没有相应的流表项,才会在第一流表中查找不到目标流表项),此时,执行步骤204。
步骤203:根据目标流表项,对目标报文进行处理。
其中,本实施例中可以根据目标流表项中所包含的报文标识对应的处理动作数据,如报文转发方式、报文转发对象等报文转发的相关动作信息,对目标报文进行转发处理。
需要说明的是,步骤203是在网络传输设备上进行的,也就是说,在网络传输设备上的第一流表中查找到目标流表项的情况下,直接在网络传输设备上对目标报文进行处理,充分利用网络传输设备的基于硬件实现的快速处理能力,加快报文的处理。
步骤204:将目标报文传输到电子设备上的虚拟交换机,以使得虚拟交换机对目标报文进行处理。
其中,本实施例中通过网络传输设备将目标报文传输到电子设备上的虚拟交换机,基于此,可以在电子设备上由虚拟交换机对目标报文进行报文处理。
需要说明的是,步骤204中不再继续在网络传输设备上进行报文处理,而是通过网络传输设备将目标报文传输到电子设备上软件实现的虚拟交换机,再由虚拟交换机进行报文处理,也就是说,在网络传输设备上的第一流表中按照目标查找方式没有查找到目标流表项的情况下,由电子设备上配置的软件实现的虚拟交换机实现对目标报文的处理,以提高报文处理的可靠性。
从上述技术方案可以看出,本申请实施例一提供的一种报文处理方法中,通过在网络传输设备上接收到待处理的目标报文时,不直接将目标报文传输给电子设备上配置的虚拟交换机,而是先在网络传输设备上预先保存的第一流表中按照第一流表对应的目标查找方式查找与目标报文对应的目标流表项,而目标查找方式中目标流表项与目标报文至少部分一致,基于此,如果在网络传输设备上查找到目标流表项,那么就在网络传输设备上根据目标流表项对目标报文进行处理,而只有在网络传输设备上没有查找到目标流表项时,才会将目标报文传输到虚拟交换机,由虚拟交换机对目标报文进行处理。可见,本实施例中通过网络传输设备和虚拟交换机之间软硬件结合的方式,并在硬件的网络传输设备上进行报文模糊匹配的流表项查找,只要有流表项与目标报文有部分匹配,那么就可以利用网络传输设备对报文进行处理,而不必完全依靠软件的虚拟交换机对目标报文进行处理,由此,利用硬件的快速处理能力能够减轻软件上进行报文处理对电子设备上处理资源的消耗量,同时,在硬件上进行流表项匹配时采用命中率更高的流表项匹配方案,能够进一步增加硬件上进行报文处理的可能性,也就进一步减少对软件上进行报文处理所消耗的电子设备处理资源,也就可以进一步避免因为资源不够而导致的电子设备上所能够配置的虚拟机数量减少的情况下,由此提高报文处理效率。
在一种实现方式中,步骤202在网络传输设备上预先保存的第一流表中,按照所述第一流表对应的目标查找方式,查找与所述目标报文对应的目标流表项时,可以通过以下方式实现:
首先,在网络传输设备上,提取目标报文中的报头字段。其中,目标报文的报头可以有多个报文字段,本实施例中可以对目标报文的报头中的报文字段进行提取,如提取其中的表征报文所在报文流的标识字段如网际互联协议IP(InternetProtocol)字段、媒体接入控制层MAC(MediaAccess Control)字段及接口port等中的一种或任意多种。
之后,根据报头字段,在网络传输设备上预先保存的第一流表中,按照第一流表对应的目标查找方式,查找具有与报头字段至少近似匹配的报文标识的目标流表项。
其中,本实施例中可以将报头字段中的内容如标识等与第一流表中的各个流表项所包含的报文标识进行模糊比对或者模糊匹配,如果存在一部分一致,那么就可以认为该匹配到的流表项为与目标报文中报头字段相对应的目标流表项,如图4中所示。而此时匹配的目标流表项中还包含报文标识对应的处理动作数据,该处理动作数据可以为:对报文标识对应的报文流中的报文所需要执行的处理动作集合,如报文转发方式、报文转发对象等报文转发的相关动作信息。
相应的,本实施例中步骤203在网络传输设备上根据目标流表项对目标报文进行处理时,具体可以通过以下方式实现,如图5中所示:
步骤501:提取目标流表项中所包含的处理动作数据。
例如,本实施例中对目标流表项中的报文转换方式、报文转发的相关信息等进行提取。
步骤502:对目标报文按照处理动作数据进行报文处理。
例如,本实施例中根据处理动作数据中关于报文转换方式的参数对目标报文进行报文格式或协议的转换及修改等处理。
步骤503:利用网络传输设备将处理后的目标报文按照处理动作数据进行传输。
例如,本实施例中在实现报文格式或协议的转换之后,按照处理动作数据中关于报文转发方式的参数将转换后的目标报文在网络传输设备上传输到电子设备上的虚拟机,或者按照处理动作数据中关于报文转发方式的参数将转换后的目标报文在网络传输设备上传输到与网络传输设备相连接的其他设备上。
在一种实现方式中,在步骤204中将目标报文在网络传输设备上传输给电子设备上的虚拟交换机之后,虚拟交换机对目标报文进行处理时可以通过以下方式实现,如图6中所示:
步骤601:虚拟交换机提取目标报文中的报头字段。
例如,虚拟交换机对目标报文进行协议解析,以解析出到目标报文中的报头字段,并提取出其中网际互联协议IP(InternetProtocol)字段、媒体接入控制层MAC(MediaAccess Control)字段、protocol字段等。
步骤602:虚拟交换机在预先保存的第二流表中,查找与报头字段对应的目标流表项。
其中,本实施例中的第二流表中所包含的流表项要多于第一流表,且第二流表中匹配流表项的方式相对于第一流表来说能够使得第二流表中匹配流表项的命中率更高,例如,第二流表可以为OpenFlow Table。也就是说在第二流表中是能够匹配到与报头字段相对应的目标流表项的,基于此,本实施例中能够通过虚拟交换机中的流表项匹配提高对目标流表项进行查找的可靠性。
步骤603:虚拟交换机提取查找到的目标流表项中所包含的处理动作数据。
例如,本实施例中对查找到的目标流表项中的报文转换方式、报文转发的相关信息等进行提取。
步骤604:虚拟交换机对目标报文按照处理动作数据进行报文处理,并利用网络传输设备将处理后的目标报文按照处理动作数据进行传输。
例如,本实施例中虚拟交换机根据处理动作数据中关于报文转换方式的参数对目标报文进行报文格式或协议的转换,之后,再按照处理动作数据中关于报文转发方式的参数将转换后的目标报文发送给相应的虚拟机,或者虚拟交换机按照处理动作数据中关于报文转发方式的参数将转换后的目标报文先传输到网络传输设备上,再有网络传输设备传输到与网络传输设备相连接的其他设备上。
需要说明的是,虚拟交换机在第二流表中查找到目标流表项之后,可以根据该目标流表项对虚拟交换机中的第一流表进行更新,例如,将目标流表项添加到第一流表中,并在目标流表项中标记与目标报文的报头字段相对应的报文标识,以便于在后续进行流表项查找时能够在第一流表中查找到相应的流表项。
在一种实现方式中,在步骤202中如果在第一流表中没有查找到与目标报文对应的目标流表项,那么在步骤204之后,本实施例中的方法还可以包括以下步骤,如图7中所示:
步骤205:接收虚拟交换机发送的虚拟交换机在第二流表中查找到的目标流表项。
其中,本实施例中在网络传输设备上所接收到的虚拟交换机发送的目标流表项为第二流表中与目标报文相对应的流表项。该目标流表项中至少包含有与目标报文相对应的报文标识以及该报文标识对应的处理动作数据,该处理动作数据能够表征在后续如果遇到属于相同报文流的报文时需要对该报文执行的动作合集,如报文转换及报文转发等。
步骤206:将虚拟交换机查找到的目标流表项添加到第一流表中。
基于此,本实施例中根据目标流表项对网络传输设备上的第一流表中进行增量更新,该增量更新的目标流表项与目标报文所属的报文流是至少能够模糊匹配的,以便于后续报文的处理。
例如,如果接收到新报文,那么先在网络传输设备上在第一流表上进行流表项的模糊匹配,如果这个新报文与前面的目标报文属于同一报文流,那么在第一流表中能够匹配到相应的目标流表项,此时就无需再将新报文发给电子设备的虚拟交换机,而是由网络传输设备利用其硬件的快速处理能力直接按照目标流表项中所包含的处理动作数据对新报文进行处理,由此进一步减少电子设备上虚拟交换机的数据处理量,进而避免对电子设备上处理资源的过度消耗,也就可以避免因为资源不够而导致的电子设备上所能够配置的虚拟机数量减少的情况,不仅能够提高对报文的处理效率,同时也能够因为减少电子设备处理资源消耗。
参考图8,为本申请实施例二提供的一种报文处理装置的结构示意图,该装置可以配置在能够进行数据处理且能够进行数据传输的网络传输设备中,如基于FPGA的硬件加速卡等,本实施例中的网络传输设备是与电子设备相连接的,网络传输设备还与其他设备相连,电子设备可以为计算机或服务器等设备,在电子设备中可以配置有多个虚拟机以及一个或多个虚拟交换机,如图2中所示。本实施例中的技术方案主要用于:减少虚拟交换机对电子设备的处理资源的占用,以避免因为资源不够而导致的电子设备上所能够配置的虚拟机数量减少的情况。
具体实现中,本实施例中的装置可以包括以下结构:
报文获得单元801,用于在网络传输设备上,接收待处理的目标报文,网络传输设备与电子设备相连接,电子设备上至少配置有虚拟交换机;
流表项查找单元802,用于在网络传输设备上预先保存的第一流表中,按照第一流表对应的目标查找方式,查找与目标报文对应的目标流表项,目标查找方式中目标流表项与目标报文至少部分一致;
报文处理单元803,用于如果在第一流表中查找到与目标报文对应的目标流表项,根据目标流表项,对目标报文进行处理;
报文传输单元804,用于如果在第一流表中没有查找到与目标报文对应的目标流表项,将目标报文传输到电子设备上的虚拟交换机,以使得虚拟交换机对目标报文进行处理。
从上述技术方案可以看出,本申请实施例二提供的一种报文处理装置中,通过在网络传输设备上接收到待处理的目标报文时,不直接将目标报文传输给电子设备上配置的虚拟交换机,而是先在网络传输设备上预先保存的第一流表中按照第一流表对应的目标查找方式查找与目标报文对应的目标流表项,而目标查找方式中目标流表项与目标报文至少部分一致,基于此,如果在网络传输设备上查找到目标流表项,那么就在网络传输设备上根据目标流表项对目标报文进行处理,而只有在网络传输设备上没有查找到目标流表项时,才会将目标报文传输到虚拟交换机,由虚拟交换机对目标报文进行处理。可见,本实施例中通过网络传输设备和虚拟交换机之间软硬件结合的方式,并在硬件的网络传输设备上进行报文模糊匹配的流表项查找,只要有流表项与目标报文有部分匹配,那么就可以利用网络传输设备对报文进行处理,而不必完全依靠软件的虚拟交换机对目标报文进行处理,由此,利用硬件的快速处理能力能够减轻软件上进行报文处理对电子设备上处理资源的消耗量,同时,在硬件上进行流表项匹配时采用命中率更高的流表项匹配方案,能够进一步增加硬件上进行报文处理的可能性,也就进一步减少对软件上进行报文处理所消耗的电子设备处理资源,也就可以进一步避免因为资源不够而导致的电子设备上所能够配置的虚拟机数量减少的情况下,由此提高报文处理效率。
在一种实现方式中,本实施例中的装置还可包括以下结构,如图9中所示:
存储单元805,用于预先从电子设备的虚拟交换机中获取并保存第一流表,第一流表中包括多个流表项,流表项中至少包含报文标识及报文标识对应的处理动作数据;
优选方案中,目标查找方式中目标流表项与目标报文至少部分一致,包括:目标流表项中的报头字段与目标流表项中的报文标识至少部分一致。
而如果在所述第一流表中没有查找到与所述目标报文对应的目标流表项,存储单元805还用于:接收所述虚拟交换机发送的所述虚拟交换机在第二流表中查找到的目标流表项;将所述虚拟交换机查找到的目标流表项添加到所述第一流表中。
基于此,流表项查找单元802在网络传输设备上预先保存的第一流表中,按照第一流表对应的目标查找方式,查找与目标报文对应的目标流表项时,具体用于:提取所述目标报文中的报头字段;根据所述报头字段,在所述网络传输设备上预先保存的第一流表中,按照所述第一流表对应的目标查找方式,查找具有与所述报头字段至少近似匹配的报文标识的目标流表项。
在一种实现方式中,报文处理单元803具体用于:提取所述目标流表项中所包含的处理动作数据;对所述目标报文按照所述处理动作数据进行报文处理,并利用所述网络传输设备将处理后的目标报文按照所述处理动作数据进行传输。
基于此,虚拟交换机对目标报文进行处理时,具体为:所述虚拟交换机提取所述目标报文中的报头字段;所述虚拟交换机在预先保存的第二流表中,查找与所述报头字段对应的目标流表项;所述虚拟交换机提取查找到的目标流表项中所包含的处理动作数据;对所述目标报文按照所述处理动作数据进行报文处理,并利用所述网络传输设备将处理后的目标报文按照所述处理动作数据进行传输。
需要说明的是,本实施例中各单元的具体实现可以参考前文中相应内容,此处不再详述。
参考图10,为本申请实施例三提供的一种网络传输设备的结构示意图,该网络传输设备可以为能够进行数据处理且能够进行数据传输的设备,如基于FPGA的硬件加速卡等,本实施例中的网络传输设备是与电子设备相连接的,网络传输设备还与其他设备相连,电子设备可以为计算机或服务器等设备,在电子设备中可以配置有多个虚拟机以及一个或多个虚拟交换机,如图2中所示。本实施例中的技术方案主要用于:减少虚拟交换机对电子设备的处理资源的占用,以避免因为资源不够而导致的电子设备上所能够配置的虚拟机数量减少的情况。
具体实现中,本实施例中的网络传输设备可以包括以下结构:
传输接口1001,用于接收待处理的目标报文,网络传输设备与电子设备相连接,电子设备上至少配置有虚拟交换机;
处理器1002,用于在预先保存的第一流表中,按照第一流表对应的目标查找方式,查找与目标报文对应的目标流表项,目标查找方式中目标流表项与目标报文至少部分一致;如果在第一流表中查找到与目标报文对应的目标流表项,根据目标流表项,对目标报文进行处理;如果在第一流表中没有查找到与目标报文对应的目标流表项,利用传输接口1001将目标报文传输到电子设备上的虚拟交换机,以使得虚拟交换机对目标报文进行处理。
从上述技术方案可以看出,本申请实施例三提供的一种网络传输设备中,在传输接口接收到待处理的目标报文时,不直接将目标报文传输给电子设备上配置的虚拟交换机,而是先在网络传输设备上预先保存的第一流表中按照第一流表对应的目标查找方式查找与目标报文对应的目标流表项,而目标查找方式中目标流表项与目标报文至少部分一致,基于此,如果在网络传输设备上查找到目标流表项,那么就在网络传输设备上根据目标流表项对目标报文进行处理,而只有在网络传输设备上没有查找到目标流表项时,才会将目标报文传输到虚拟交换机,由虚拟交换机对目标报文进行处理。可见,本实施例中通过网络传输设备和虚拟交换机之间软硬件结合的方式,并在硬件的网络传输设备上进行报文模糊匹配的流表项查找,只要有流表项与目标报文有部分匹配,那么就可以利用网络传输设备对报文进行处理,而不必完全依靠软件的虚拟交换机对目标报文进行处理,由此,利用硬件的快速处理能力能够减轻软件上进行报文处理对电子设备上处理资源的消耗量,同时,在硬件上进行流表项匹配时采用命中率更高的流表项匹配方案,能够进一步增加硬件上进行报文处理的可能性,也就进一步减少对软件上进行报文处理所消耗的电子设备处理资源,也就可以进一步避免因为资源不够而导致的电子设备上所能够配置的虚拟机数量减少的情况下,由此提高报文处理效率。
需要说明的是,本实施例的网络传输设备中处理器的具体实现可以参考前文中相应内容,此处不再详述。
参考图11,为本申请实施例四提供的一种报文处理系统的结构示意图,该报文处理系统中可以包括有:
电子设备1101,电子设备1101上至少配置有虚拟交换机,当然电子设备1101上还可以配置有一个或多个虚拟机,每个虚拟机能够实现相应的功能。
网络传输设备1102,网络传输设备1102与电子设备1101相连接,网络传输设备1102用于:接收待处理的目标报文,网络传输设备与电子设备相连接,电子设备上至少配置有虚拟交换机;在预先保存的第一流表中,按照第一流表对应的目标查找方式,查找与目标报文对应的目标流表项,目标查找方式中目标流表项与目标报文至少部分一致;如果在第一流表中查找到与目标报文对应的目标流表项,根据目标流表项,对目标报文进行处理;如果在第一流表中没有查找到与目标报文对应的目标流表项,将目标报文传输到电子设备1102上的虚拟交换机,以使得虚拟交换机对目标报文进行处理。
在具体实现中,网络传输设备1102可以内嵌在电子设备1101中,如配置有基于FPGA的硬件加速卡的计算机或服务器等。
从上述技术方案可以看出,本申请实施例四提供的一种报文处理系统中,通过在网络传输设备上接收到待处理的目标报文时,不直接将目标报文传输给电子设备上配置的虚拟交换机,而是先在网络传输设备上预先保存的第一流表中按照第一流表对应的目标查找方式查找与目标报文对应的目标流表项,而目标查找方式中目标流表项与目标报文至少部分一致,基于此,如果在网络传输设备上查找到目标流表项,那么就在网络传输设备上根据目标流表项对目标报文进行处理,而只有在网络传输设备上没有查找到目标流表项时,才会将目标报文传输到虚拟交换机,由虚拟交换机对目标报文进行处理。可见,本实施例中通过网络传输设备和虚拟交换机之间软硬件结合的方式,并在硬件的网络传输设备上进行报文模糊匹配的流表项查找,只要有流表项与目标报文有部分匹配,那么就可以利用网络传输设备对报文进行处理,而不必完全依靠软件的虚拟交换机对目标报文进行处理,由此,利用硬件的快速处理能力能够减轻软件上进行报文处理对电子设备上处理资源的消耗量,同时,在硬件上进行流表项匹配时采用命中率更高的流表项匹配方案,能够进一步增加硬件上进行报文处理的可能性,也就进一步减少对软件上进行报文处理所消耗的电子设备处理资源,也就可以进一步避免因为资源不够而导致的电子设备上所能够配置的虚拟机数量减少的情况下,由此提高报文处理效率。
需要说明的是,本实施例中的网络传输设备的具体实现可以参考前文中相应内容,此处不再详述。
以插接有基于FPGA的硬件加速卡且配置有虚拟机和虚拟交换机的服务器为例,对本申请的技术方案进行举例说明,如下:
首先,本申请中针对软件性能优化存在瓶颈的缺陷,提出了一种新型的方案,即:通过基于FPGA的硬件加速卡(FPGA Based SmartNIC)实现OVS上的部分数据转发面的功能,即:使用基于FGPA的硬件加速卡替换电子设备上原有的普通网卡,这样利用硬件加速卡的快速硬件处理能力可以显著释放OVS对主机CPU和内存资源的占用,达到提高主机资源利用率和降低总体拥有成本TCO(Total Cost ofOwnership)的目的。
基于此,在OVS在使用硬件加速后,流表查询变成四级查找过程,如图12中所示,在基于FPGA的硬件加速卡会维护一份与软件虚拟交换机一致的EMC,相应的,在硬件加速卡上接收到目标报文之后,首先在硬件中匹配EMC,如果命中即匹配到与目标报文相对应的目标流表项,那么直接由硬件执行关联的报文处理动作;如果未命中,那么硬件加速卡将目标报文上送给软件虚拟交换机处理,例如,虚拟交换机则通过协议解析之后,先在MegaFlowCache中进行流表项模糊匹配,如果仍然没有命中,则虚拟交换机可以在OpenFlow Table中进行流表项查找,之后,虚拟交换机按照查找到的目标流表项中的处理动作数据对目标报文进行处理,并且虚拟交换机会在在处理目标报文后将目标流表项发送到硬件加速卡,以更新硬件加速卡上的EMC中的流表项。
但是,以上方案中由于ExactMatch Cache采用精确匹配的方式,每一个流表项需要精确匹配报头的各个报文字段,这种方式虽然效率高,但是有如下缺陷:
首先,流表项的查找错过的概率很高,对于任何一个TCP/UDP会话,其首包必定会匹配不到流表项,由此大量的流首包会上送软件虚拟交换机处理,从而影响整体性能。另外,软件响应慢,如果处理首包时不能及时下发流表项到硬件加速卡,会导致更多的报文上送软件处理,形成恶性循环。同时,在硬件加速卡上,ExactMatch Cache会占用大量内存。
由此,本申请中提出进一步的改进方案,如下:
本申请中可以直接对虚拟交换机中的MegaFlow Cache卸载到硬件加速卡上,如图13中所示,硬件上维护与软件一致的MegaFlow Cache,在硬件上接收到目标报文后,首先在硬件中采用模糊匹配的方式在MegaFlow Cache进行流表项匹配,如果命中,直接由硬件执行关联动作;如果未命中,目标报文上送给软件处理,软件会在目标报文的处理完成后更新硬件中的MegaFlow Cache。
可见,改进后的方案的核心在于:在流表项的匹配处理中,EMC匹配效率优于MegaFlow,因为EMC只需在单个Hash表中执行查找,MegaFlow需要在多个Hash表中顺序查找。但是在基于FPGA的硬件加速方案中,可以利用FPGA的并行计算能力,使得MegaFlowCache的流表项查找获得和EMC查找一样的性能。
由此,本申请的技术方案中能够使得流表查找错过的概率显著降低,从而使得上送软件处理的报文数量显著降低,也就可以显著突出硬件加速的效果,同时,减少软件中所占用的CPU等资源,并且不再需要维护Exact Flow Cache,能够显著减少内存占用。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本申请。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本申请的精神或范围的情况下,在其它实施例中实现。因此,本申请将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。

Claims (10)

1.一种报文处理方法,包括:
在网络传输设备上,接收待处理的目标报文,所述网络传输设备与电子设备相连接,所述电子设备上至少配置有虚拟交换机;
在所述网络传输设备上预先保存的第一流表中,按照所述第一流表对应的目标查找方式,查找与所述目标报文对应的目标流表项,所述目标查找方式中所述目标流表项与所述目标报文至少部分一致;
如果在所述第一流表中查找到与所述目标报文对应的目标流表项,根据所述目标流表项,对所述目标报文进行处理;
如果在所述第一流表中没有查找到与所述目标报文对应的目标流表项,将所述目标报文传输到所述电子设备上的虚拟交换机,以使得所述虚拟交换机对所述目标报文进行处理。
2.根据权利要求1所述的方法,所述第一流表为预先从所述电子设备的虚拟交换机中所获取并保存的流表,所述第一流表中包括多个流表项,所述流表项中至少包含报文标识及所述报文标识对应的处理动作数据;
其中,所述目标查找方式中所述目标流表项与所述目标报文至少部分一致,包括:
所述目标报文中的报头字段与所述目标流表项中的报文标识至少部分一致。
3.根据权利要求2所述的方法,在所述网络传输设备上预先保存的第一流表中,按照所述第一流表对应的目标查找方式,查找与所述目标报文对应的目标流表项,包括:
提取所述目标报文中的报头字段;
根据所述报头字段,在所述网络传输设备上预先保存的第一流表中,按照所述第一流表对应的目标查找方式,查找具有与所述报头字段至少近似匹配的报文标识的目标流表项。
4.根据权利要求1或2所述的方法,根据所述目标流表项,对所述目标报文进行处理,包括:
提取所述目标流表项中所包含的处理动作数据;
对所述目标报文按照所述处理动作数据进行报文处理,并利用所述网络传输设备将处理后的目标报文按照所述处理动作数据进行传输。
5.根据权利要求1所述的方法,所述虚拟交换机对所述目标报文进行处理,包括:
所述虚拟交换机提取所述目标报文中的报头字段;
所述虚拟交换机在预先保存的第二流表中,查找与所述报头字段对应的目标流表项;
所述虚拟交换机提取查找到的目标流表项中所包含的处理动作数据;
对所述目标报文按照所述处理动作数据进行报文处理,并利用所述网络传输设备将处理后的目标报文按照所述处理动作数据进行传输。
6.根据权利要求1或5所述的方法,如果在所述第一流表中没有查找到与所述目标报文对应的目标流表项,所述方法还包括:
接收所述虚拟交换机发送的所述虚拟交换机在第二流表中查找到的目标流表项;
将所述虚拟交换机查找到的目标流表项添加到所述第一流表中。
7.一种报文处理装置,包括:
报文获得单元,用于在网络传输设备上,接收待处理的目标报文,所述网络传输设备与电子设备相连接,所述电子设备上至少配置有虚拟交换机;
流表项查找单元,用于在所述网络传输设备上预先保存的第一流表中,按照所述第一流表对应的目标查找方式,查找与所述目标报文对应的目标流表项,所述目标查找方式中所述目标流表项与所述目标报文至少部分一致;
报文处理单元,用于如果在所述第一流表中查找到与所述目标报文对应的目标流表项,根据所述目标流表项,对所述目标报文进行处理;
报文传输单元,用于如果在所述第一流表中没有查找到与所述目标报文对应的目标流表项,将所述目标报文传输到所述电子设备上的虚拟交换机,以使得所述虚拟交换机对所述目标报文进行处理。
8.根据权利要求7所述的装置,还包括:
存储单元,用于预先从所述电子设备的虚拟交换机中获取并保存第一流表,所述第一流表中包括多个流表项,所述流表项中至少包含报文标识及所述报文标识对应的处理动作数据;
其中,所述目标查找方式中所述目标流表项与所述目标报文至少部分一致,包括:
所述目标流表项中的报头字段与所述目标流表项中的报文标识至少部分一致。
9.一种网络传输设备,包括:
传输接口,用于接收待处理的目标报文,所述网络传输设备与电子设备相连接,所述电子设备上至少配置有虚拟交换机;
处理器,用于在预先保存的第一流表中,按照所述第一流表对应的目标查找方式,查找与所述目标报文对应的目标流表项,所述目标查找方式中所述目标流表项与所述目标报文至少部分一致;如果在所述第一流表中查找到与所述目标报文对应的目标流表项,根据所述目标流表项,对所述目标报文进行处理;如果在所述第一流表中没有查找到与所述目标报文对应的目标流表项,利用传输接口将所述目标报文传输到所述电子设备上的虚拟交换机,以使得所述虚拟交换机对所述目标报文进行处理。
10.一种报文处理系统,包括:
电子设备,所述电子设备上至少配置有虚拟交换机;
网络传输设备,所述网络传输设备与电子设备相连接,所述网络传输设备用于:接收待处理的目标报文,所述网络传输设备与电子设备相连接,所述电子设备上至少配置有虚拟交换机;在预先保存的第一流表中,按照所述第一流表对应的目标查找方式,查找与所述目标报文对应的目标流表项,所述目标查找方式中所述目标流表项与所述目标报文至少部分一致;如果在所述第一流表中查找到与所述目标报文对应的目标流表项,根据所述目标流表项,对所述目标报文进行处理;如果在所述第一流表中没有查找到与所述目标报文对应的目标流表项,将所述目标报文传输到所述电子设备上的虚拟交换机,以使得所述虚拟交换机对所述目标报文进行处理。
CN202010565750.9A 2020-06-19 2020-06-19 一种报文处理方法、装置、网络传输设备及报文处理系统 Pending CN111740909A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010565750.9A CN111740909A (zh) 2020-06-19 2020-06-19 一种报文处理方法、装置、网络传输设备及报文处理系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010565750.9A CN111740909A (zh) 2020-06-19 2020-06-19 一种报文处理方法、装置、网络传输设备及报文处理系统

Publications (1)

Publication Number Publication Date
CN111740909A true CN111740909A (zh) 2020-10-02

Family

ID=72650395

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010565750.9A Pending CN111740909A (zh) 2020-06-19 2020-06-19 一种报文处理方法、装置、网络传输设备及报文处理系统

Country Status (1)

Country Link
CN (1) CN111740909A (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114374648A (zh) * 2020-10-14 2022-04-19 芯启源(南京)半导体科技有限公司 一种np芯片结合tcam实现智能网卡的方法
CN114726788A (zh) * 2022-05-06 2022-07-08 深圳星云智联科技有限公司 应用于dpu的报文传输方法及相关装置

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104601468A (zh) * 2015-01-13 2015-05-06 杭州华三通信技术有限公司 报文转发方法和设备
CN106789667A (zh) * 2016-11-21 2017-05-31 华为技术有限公司 一种数据转发方法、相关设备及系统
US20180026873A1 (en) * 2016-07-21 2018-01-25 Alibaba Group Holding Limited Express route transmissions between virtual machines and cloud service computing devices
CN109525495A (zh) * 2018-12-24 2019-03-26 广东浪潮大数据研究有限公司 一种数据处理装置、方法和fpga板卡
CN110324245A (zh) * 2018-03-31 2019-10-11 华为技术有限公司 一种基于集成流表转发报文的方法及装置

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104601468A (zh) * 2015-01-13 2015-05-06 杭州华三通信技术有限公司 报文转发方法和设备
US20180026873A1 (en) * 2016-07-21 2018-01-25 Alibaba Group Holding Limited Express route transmissions between virtual machines and cloud service computing devices
CN106789667A (zh) * 2016-11-21 2017-05-31 华为技术有限公司 一种数据转发方法、相关设备及系统
CN110324245A (zh) * 2018-03-31 2019-10-11 华为技术有限公司 一种基于集成流表转发报文的方法及装置
CN109525495A (zh) * 2018-12-24 2019-03-26 广东浪潮大数据研究有限公司 一种数据处理装置、方法和fpga板卡

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114374648A (zh) * 2020-10-14 2022-04-19 芯启源(南京)半导体科技有限公司 一种np芯片结合tcam实现智能网卡的方法
CN114374648B (zh) * 2020-10-14 2024-03-19 芯启源(南京)半导体科技有限公司 一种np芯片结合tcam实现智能网卡的方法
CN114726788A (zh) * 2022-05-06 2022-07-08 深圳星云智联科技有限公司 应用于dpu的报文传输方法及相关装置
CN114726788B (zh) * 2022-05-06 2024-02-02 深圳星云智联科技有限公司 应用于dpu的报文传输方法及相关装置

Similar Documents

Publication Publication Date Title
CN109547580B (zh) 一种处理数据报文的方法和装置
CN107438994B (zh) 用于服务器负载均衡的方法、设备和计算机存储介质
JP3717836B2 (ja) ダイナミック・ロード・バランサ
CN111740910A (zh) 一种报文处理方法、装置、网络传输设备及报文处理系统
CN105591973B (zh) 应用识别方法及装置
CN113542125B (zh) 一种基于集成流表转发报文的方法及装置
EP2434689A1 (en) Method and apparatus for detecting message
KR101409311B1 (ko) 패킷 처리 및 전처리기를 위한 장치 및 방법
JP2004172917A (ja) パケット検索装置及びそれに用いるパケット処理検索方法並びにそのプログラム
EP3844911B1 (en) Systems and methods for generating network flow information
WO2024007844A1 (zh) 报文转发方法、装置、计算设备及卸载卡
CN111740909A (zh) 一种报文处理方法、装置、网络传输设备及报文处理系统
CN115426312B (zh) 一种大规模多模态网络中标识管理及优化转发方法和装置
CN114448891A (zh) 流表同步方法、装置、设备和介质
EP3742307A1 (en) Managing network traffic flows
CN116545921A (zh) 基于ecmp的报文转发方法、装置、设备及存储介质
CN109672594B (zh) IPoE报文处理方法、装置及宽带远程接入服务器
US20220174081A1 (en) Monitoring of abnormal host
CN107547381B (zh) 一种出方向路由过滤orf处理方法和装置
Chang et al. Hash-based OpenFlow packet classification on heterogeneous system architecture
CN112769748B (zh) 一种基于dpdk的acl包过滤方法
Zhang et al. Loom: Switch-based cloud load balancer with compressed states
CN110300033B (zh) 一种丢包信息记录方法、网络设备及网络系统
CN115996203B (zh) 网络流量分域方法、装置、设备和存储介质
JP2018101926A (ja) ネットワーク装置および異常検知システム

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
RJ01 Rejection of invention patent application after publication

Application publication date: 20201002