CN114172695A - 串行防火墙报文转发方法、装置、设备及存储介质 - Google Patents
串行防火墙报文转发方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN114172695A CN114172695A CN202111383186.XA CN202111383186A CN114172695A CN 114172695 A CN114172695 A CN 114172695A CN 202111383186 A CN202111383186 A CN 202111383186A CN 114172695 A CN114172695 A CN 114172695A
- Authority
- CN
- China
- Prior art keywords
- interface
- pair
- virtual
- physical
- message
- 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
- 238000000034 method Methods 0.000 title claims abstract description 75
- 230000008569 process Effects 0.000 claims abstract description 21
- 238000013507 mapping Methods 0.000 claims description 166
- 238000004590 computer program Methods 0.000 claims description 3
- 101100152304 Caenorhabditis elegans tap-1 gene Proteins 0.000 description 25
- 238000012545 processing Methods 0.000 description 14
- 238000010586 diagram Methods 0.000 description 9
- 238000001514 detection method Methods 0.000 description 6
- 238000004891 communication Methods 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 4
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 230000009286 beneficial effect Effects 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000003491 array Methods 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 235000019800 disodium phosphate Nutrition 0.000 description 1
- 238000005265 energy consumption Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/02—Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/74—Address processing for routing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/74—Address processing for routing
- H04L45/742—Route cache; Operation thereof
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Hardware Design (AREA)
- Computer Security & Cryptography (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本申请提供一种串行防火墙报文转发方法、装置、设备及存储介质,涉及网络安全技术领域。应用于串行防火墙,串行防火墙包括:多个接口对;该方法包括:经由第一接口对中的物理接口接收报文,并将报文中的源物理地址与第一接口对中的虚拟接口写入桥转发数据库表中;若报文为待转发的报文,则经由第一接口对中的物理接口将报文转发至第一接口对中的虚拟接口;根据桥转发数据库表或路由信息,确定报文待转发至的第二接口对中的虚拟接口;经由第一接口对中的虚拟接口将报文发送至第二接口对中的虚拟接口;经由第二接口对中的虚拟接口将报文发送至第二接口对中的物理接口,并经由第二接口对中的物理接口发送报文。本方案极大降低了报文转发过程的时延。
Description
技术领域
本申请涉及网络安全技术领域,具体而言,涉及一种串行防火墙报文转发方法、装置、设备及存储介质。
背景技术
为了确保各种不同的网络设备在网络中进行数据通信的信息安全问题,通常使用防火墙来对各网络设备实行严格的访问控制。
目前,串行防火墙大多采用链表队列,收取操作系统内核从网卡接收到的报文,并在对报文进行检测之后,设置报文的裁决标志,再交还给链表队列,由操作系统内核进行转发。
但是,由于通过操作系统内核进行报文转发时,会产生频繁的硬件中断、内存拷贝等问题,进而造成报文转发的时延将大大增加。
发明内容
本发明的目的在于,针对上述现有技术中的不足,提供一种串行防火墙报文转发方法、装置、设备及存储介质,以便降低报文转发的时延。
为实现上述目的,本申请实施例采用的技术方案如下:
第一方面,本申请实施例提供了一种串行防火墙报文转发方法,应用于串行防火墙,所述串行防火墙中包括:多个接口对,各所述接口对分别包括一个物理接口和一个虚拟接口;所述虚拟接口由所述串行防火墙中的操作系统控制,所述物理接口由所述串行防火墙中的应用进程管理;
所述方法包括:
经由第一接口对中的物理接口接收报文,并将所述报文的源物理地址(MediaAccess Control,简称MAC)与所述第一接口对中的虚拟接口写入桥转发数据库((Forwarding Database,简称FDB)表中;
若所述报文为待转发的报文,则经由所述第一接口对中的物理接口将所述报文转发至所述第一接口对中的虚拟接口;
根据所述FDB表或路由信息,确定所述报文待转发至的第二接口对中的虚拟接口;
经由所述第一接口对中的虚拟接口将所述报文发送至所述第二接口对中的虚拟接口;
经由所述第二接口对中的虚拟接口将所述报文发送至所述第二接口对中的物理接口,并经由所述第二接口对中的物理接口发送所述报文。
可选地,所述经由第一接口对中的物理接口接收报文之前,还包括:
分别创建所述第一接口对中的物理接口的第一软交换映射接口、以及所述第一接口对中的虚拟接口;
创建所述第一接口对中的虚拟接口的第二软交换映射接口。
可选地,所述经由所述第一接口对中的物理接口将所述报文转发至所述第一接口对中的虚拟接口,包括:
根据所述第一接口对中的物理接口、与所述第一接口对中的物理接口的第一软交换映射接口的软交换映射关系,经由所述第一接口对中的物理接口将所述报文转发至所述第一接口对中的物理接口的第一软交换映射接口;
根据所述第一接口对中的物理接口的第一软交换映射接口、与所述第一接口对中的虚拟接口的第二软交换映射接口的桥接映射关系,经由所述第一接口对中的物理接口的第一软交换映射接口将所述报文转发至所述第一接口对中的虚拟接口的第二软交换映射接口;
根据所述第一接口对中的虚拟接口的第二软交换映射接口、与所述第一接口对中的虚拟接口的软交换映射关系,经由所述第一接口对中的虚拟接口的第二软交换映射接口将所述报文转发至所述第一接口对中的虚拟接口。
可选地,所述根据所述FDB表或路由信息,确定所述报文的第二接口对中的虚拟接口,包括:
根据所述FDB表确定所述报文待转发至的目标虚拟接口;或根据所述路由信息进行选路确定所述报文待转发至的所述目标虚拟接口;并将所述目标虚拟接口作为所述第二接口对中的虚拟接口。
可选地,所述经由所述第一接口对中的虚拟接口将所述报文发送至所述第二接口对中的虚拟接口之前,包括:
分别创建所述第二接口对中的物理接口的第一软交换映射接口、以及所述第二接口对中的虚拟接口;
创建所述第二接口对中的虚拟接口的第二软交换映射接口。
可选地,所述经由所述第二接口对中的虚拟接口将接收到的所述报文发送至所述第二接口对中的物理接口,包括:
根据所述第二接口对中的虚拟接口、与所述第二接口对中的虚拟接口的第二软交换映射接口的软交换映射关系,经由所述第二接口对中的虚拟接口将所述报文转发至所述第二接口对中的虚拟接口的第二软交换映射接口;
根据所述第二接口对中的虚拟接口的第二软交换映射接口、与所述第二接口对中的物理接口的第一软交换映射接口的桥接映射关系,经由所述第二接口对中的虚拟接口的第二软交换映射接口将所述报文转发至所述第二接口对中的物理接口的第一软交换映射接口;
根据所述第二接口对中的物理接口的第一软交换映射接口、与所述第二接口对中的物理接口的软交换映射关系,经由所述第二接口对中的物理接口的第一软交换映射接口将所述报文转发至所述第二接口对中的物理接口。
可选地,所述经由所述第二接口对中的物理接口发送所述报文,包括:
将所述报文复制至发送数据缓冲地址循环队列,经由所述第二接口对中的物理接口将所述报文发送至目标接收设备。
第二方面,本申请实施例还提供了一种串行防火墙报文转发装置,应用于串行防火墙,所述串行防火墙中包括:多个接口对,各所述接口对分别包括一个物理接口和一个虚拟接口;所述虚拟接口由所述串行防火墙中的操作系统控制,所述物理接口由所述串行防火墙中的应用进程管理;
所述装置包括:
接收模块,用于经由第一接口对中的物理接口接收报文,并将所述报文中的源MAC与所述第一接口对中的虚拟接口写入FDB表中;
转发模块,用于若所述报文为待转发的报文,则经由所述第一接口对中的物理接口将所述报文转发至所述第一接口对中的虚拟接口;
确定模块,用于根据所述FDB表或路由信息,确定所述报文待转发至的第二接口对中的虚拟接口;
所述转发模块,还用于经由所述第一接口对中的虚拟接口将所述报文发送至所述第二接口对中的虚拟接口;经由所述第二接口对中的虚拟接口将所述报文发送至所述第二接口对中的物理接口,并经由所述第二接口对中的物理接口发送所述报文。
可选地,所述装置,还包括:
创建模块,用于分别创建所述第一接口对中的物理接口的第一软交换映射接口、以及所述第一接口对中的虚拟接口;创建所述第一接口对中的虚拟接口的第二软交换映射接口。
可选地,所述转发模块,还用于:
根据所述第一接口对中的物理接口、与所述第一接口对中的物理接口的第一软交换映射接口的软交换映射关系,经由所述第一接口对中的物理接口将所述报文转发至所述第一接口对中的物理接口的第一软交换映射接口;
根据所述第一接口对中的物理接口的第一软交换映射接口、与所述第一接口对中的虚拟接口的第二软交换映射接口的桥接映射关系,经由所述第一接口对中的物理接口的第一软交换映射接口将所述报文转发至所述第一接口对中的虚拟接口的第二软交换映射接口;
根据所述第一接口对中的虚拟接口的第二软交换映射接口、与所述第一接口对中的虚拟接口的软交换映射关系,经由所述第一接口对中的虚拟接口的第二软交换映射接口将所述报文转发至所述第一接口对中的虚拟接口。
可选地,所述确定模块,还用于:
根据所述FDB表确定所述报文待转发至的目标虚拟接口,或根据所述路由信息进行选路确定所述报文待转发至的所述目标虚拟接口;并将所述目标虚拟接口作为所述第二接口对中的虚拟接口。
可选地,所述创建模块,还用于:
分别创建所述第二接口对中的物理接口的第一软交换映射接口、以及所述第二接口对中的虚拟接口;创建所述第二接口对中的虚拟接口的第二软交换映射接口。
可选地,所述转发模块,还用于:
根据所述第二接口对中的虚拟接口、与所述第二接口对中的虚拟接口的第二软交换映射接口的软交换映射关系,经由所述第二接口对中的虚拟接口将所述报文转发至所述第二接口对中的虚拟接口的第二软交换映射接口;
根据所述第二接口对中的虚拟接口的第二软交换映射接口、与所述第二接口对中的物理接口的第一软交换映射接口的桥接映射关系,经由所述第二接口对中的虚拟接口的第二软交换映射接口将所述报文转发至所述第二接口对中的物理接口的第一软交换映射接口;
根据所述第二接口对中的物理接口的第一软交换映射接口、与所述第二接口对中的物理接口的软交换映射关系,经由所述第二接口对中的物理接口的第一软交换映射接口将所述报文转发至所述第二接口对中的物理接口。
可选地,所述转发模块,还用于:
将所述报文复制至发送数据缓冲地址循环队列,经由所述第二接口对中的物理接口将所述报文发送至目标接收设备。
第三方面,本申请实施例还提供了一种电子设备,包括:处理器、存储介质和总线,所述存储介质存储有所述处理器可执行的机器可读指令,当电子设备运行时,所述处理器与所述存储介质之间通过总线通信,所述处理器执行所述机器可读指令,以执行如第一方面提供的所述方法的步骤。
第四方面,本申请实施例还提供了一种计算机可读存储介质,所述存储介质上存储有计算机程序,所述计算机程序被处理器运行时执行如第一方面提供的任一所述方法。
本申请的有益效果是:
本申请实施例提供一种串行防火墙报文转发方法、装置、设备及存储介质,应用于串行防火墙,串行防火墙中包括:多个接口对,各接口对分别包括一个物理接口和一个虚拟接口;虚拟接口由串行防火墙中的操作系统控制,物理接口由串行防火墙中的应用进程管理;该方法包括:经由第一接口对中的物理接口接收报文,并将报文中的源MAC与第一接口对中的虚拟接口写入FDB表中;若报文为待转发的报文,则经由第一接口对中的物理接口将报文转发至第一接口对中的虚拟接口;根据FDB表或路由信息,确定报文待转发至的第二接口对中的虚拟接口;经由第一接口对中的虚拟接口将报文发送至第二接口对中的虚拟接口;经由第二接口对中的虚拟接口将报文发送至第二接口对中的物理接口,并经由第二接口对中的物理接口发送报文。在本方案中,主要是经由串行防火墙中由操作系统管理的“第一接口对中的虚拟接口”、“第二接口对中的虚拟接口”这两个虚拟接口,将“第一接口对中的物理接口”接收到的报文转发给了“第二接口对中的物理接口”,避免了采用传统Linux操作系统内核进行报文转发时频繁产生用户态和内核态之间的硬件中断、内存拷贝等问题,极大地降低了报文转发过程的时延。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本发明的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1为本申请实施例提供的一种电子设备的结构示意图;
图2为本申请实施例提供的一种串行防火墙报文转发方法的流程示意图;
图3为本申请实施例提供的一种串行防火墙报文转发示意图;
图4为本申请实施例提供的另一种串行防火墙报文转发方法的流程示意图;
图5为本申请实施例提供的一种串行防火墙中接口对示意图;
图6为本申请实施例提供的又一种串行防火墙报文转发方法的流程示意图;
图7为本申请实施例提供的另一种串行防火墙报文转发方法的流程示意图;
图8为本申请实施例提供的又一种串行防火墙报文转发方法的流程示意图;
图9为本申请实施例提供的一种串行防火墙报文转发流程示意图;
图10为本申请实施例提供的一种串行防火墙报文转发装置的结构示意图。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,应当理解,本申请中附图仅起到说明和描述的目的,并不用于限定本申请的保护范围。另外,应当理解,示意性的附图并未按实物比例绘制。本申请中使用的流程图示出了根据本申请的一些实施例实现的操作。应该理解,流程图的操作可以不按顺序实现,没有逻辑的上下文关系的步骤可以反转顺序或者同时实施。此外,本领域技术人员在本申请内容的指引下,可以向流程图添加一个或多个其他操作,也可以从流程图中移除一个或多个操作。
另外,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本申请实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本申请的实施例的详细描述并非旨在限制要求保护的本申请的范围,而是仅仅表示本申请的选定实施例。基于本申请的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本申请保护的范围。
需要说明的是,本申请实施例中将会用到术语“包括”,用于指出其后所声明的特征的存在,但并不排除增加其它的特征。
首先,在对本申请所提供的技术方案展开具体说明之前,先对本申请所涉及的相关背景进行简单说明。
目前,串行防火墙大多采用NFQUEUE队列,收取操作内核从网卡收到的报文,在进行报文检测之后,设置报文的裁决标志,再交还给NFQUEUE队列,由操作系统内核进行转发。
其中,传统Linux操作系统内核网络数据流程:
硬件中断--->取包分发至内核线程--->软件中断--->内核线程在协议栈中处理包--->处理完毕通知用户层;
用户层收包-->网络层--->逻辑层--->业务层。
因此,采用操作系统内核处理数据报文,存在以下弊端:
1、中断处理。当网络中大量数据包到来时,会产生频繁的硬件中断请求,这些硬件中断可以打断之前较低优先级的软中断或者系统调用的执行过程,如果这种打断频繁的话,将会产生较高的性能开销。
2、内存拷贝。正常情况下,一个网络数据包从网卡到应用程序需要经过如下的过程:数据从网卡通过DMA等方式传到内核开辟的缓冲区,然后从内核空间拷贝到用户态空间,在Linux内核协议栈中,这个耗时操作甚至占到了数据包整个处理流程的57.1%。
3、上下文切换。频繁到达的硬件中断和软中断都可能随时抢占系统调用的运行,这会产生大量的上下文切换开销。另外,在基于多线程的服务器设计框架中,线程间的调度也会产生频繁的上下文切换开销,同样,锁竞争的耗能也是一个非常严重的问题。
4、局部性失效。如今主流的处理器都是多个核心的,这意味着一个数据包的处理可能跨多个中央处理器(Central Processing Unit,简称CPU)核心,比如一个数据包可能中断在cpu0,内核态处理在cpu1,用户态处理在cpu2,这样跨多个核心,容易造成CPU缓存失效,造成局部性失效。如果是非统一内存访问架构(Non Uniform Memory AccessArchitecture,简称NUMA),更会造成跨NUMA访问内存,性能受到很大影响。
5、内存管理。传统服务器内存页为4K,为了提高内存的访问速度,避免cachemiss,可以增加cache中映射表的条目,但这又会影响CPU的检索效率。
所以,通过操作系统内核进行报文转发时,会产生频繁的硬件中断、内存拷贝等问题,进而造成报文转发的时延将大大增加。
但是,数据平面开发套件(Data Plane Development Kit,简称DPDK)没有协议栈,如果DPDK绕开操作系统内核直接从网卡收发报文,会导致无法通过操作系统的路由与FDB表转发报文。
为了解决上述现有技术中存在的技术问题,本申请提供一种可以通过DPDK技术进行报文转发的方法。具体是:为每一个“DPDK网络接口”配置对应的“虚拟接口”,并为“DPDK网络接口对应的虚拟接口”配置相对应的IP地址,“DPDK网络接口”和“虚拟接口”之间组成接口对,即,该接口对是由一个DPDK物理接口和一个虚拟接口组成的。通过内置交换模块将“物理接口”收到的接口对外的报文无条件转发给“虚拟接口”,对于“虚拟接口”收到的接口对外的报文也无条件转发给“物理接口”。其中,虚拟接口由操作系统管理,物理接口由“DPDK应用进程”管理。
例如,当某一个接口对中的物理接口收到报文且检测完成以后,检测结果为允许转发时,经由该接口对中的物理接口将报文发送至“该接口对中的虚拟接口”,由于“虚拟接口”由操作系统管理,操作系统会根据路由、FDB表等技术进行转发时的选路,操作系统根据选路结果将报文交给选择的“目标接口对中的虚拟接口”,经由“目标接口对中的虚拟接口”将报文发送给与“目标接口对中的物理接口”,再经由“目标接口对中的物理接口”将报文转发出去。
本申请主要是利用由“DPDK应用进程”管理的DPDK网络接口、以及由操作系统管理的与“DPDK网络接口”配置对应的“虚拟接口”进行报文转发,避免了采用传统Linux操作系统内核进行报文转发时频繁产生用户态和内核态之间的硬件中断、内存拷贝等问题,极大地降低了报文转发过程的时延。同时利用操作系统内核保证选路结果的正确性,提高了报文转发的准确性。
同时,本申请无需修改网卡驱动,无需使用特定驱动的网卡,具有通用性。
图1为本申请实施例提供的一种电子设备的结构示意图;该电子设备如可以是计算机或者服务器等处理设备,以用于实现本申请提供的串行防火墙报文转发方法。如图1所示,电子设备包括:处理器101、存储器102。
处理器101、存储器102之间直接或间接地电性连接,以实现数据的传输或交互。例如,可通过一条或多条通信总线或信号线实现电性连接。
其中,处理器101可以是一种集成电路芯片,具有信号的处理能力。上述的处理器101可以是通用处理器,包括中央处理器(Central Processing Unit,CPU)、网络处理器(Network Processor,NP)等。可以实现或者执行本发明实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
存储器102可以是,但不限于,随机存取存储器(Random Access Memory,RAM),只读存储器(Read Only Memory,ROM),可编程只读存储器(Programmable Read-OnlyMemory,PROM),可擦除只读存储器(Erasable Programmable Read-Only Memory,EPROM),电可擦除只读存储器(Electric Erasable Programmable Read-Only Memory,EEPROM)等。
可以理解,图1所述的结构仅为示意,电子设备100还可包括比图1中所示更多或者更少的组件,或者具有与图1所示不同的配置。图1中所示的各组件可以采用硬件、软件或其组合实现。
存储器102用于存储程序,处理器101调用存储器102存储的程序,以执行下面实施例提供的串行防火墙报文转发方法。
如下将通过多个实施例对本申请提供的一种串行防火墙报文转发方法和对应产生的有益效果进行说明。
图2为本申请实施例提供的一种串行防火墙报文转发方法的流程示意图,图3为本申请实施例提供的一种串行防火墙报文转发示意图;可选地,该方法的执行主体可以是服务器、计算机等电子设备中的串行防火墙,具有数据处理功能。应当理解,在其它实施例中串行防火墙报文转发方法其中部分步骤的顺序可以根据实际需要相互交换,或者其中的部分步骤也可以省略或删除。如图2所示,该方法包括:
S201、经由第一接口对中的物理接口接收报文,并将报文中的源MAC与第一接口对中的虚拟接口写入FDB表中。
应理解,在本实施例中,串行防火墙中包括:多个接口对,各接口对分别包括一个物理接口和一个虚拟接口;虚拟接口由串行防火墙中的操作系统控制,物理接口由串行防火墙中的应用进程管理。
例如,参考图3所示,串行防火墙包括但不限于第一接口对interface-pair1、第二接口对interface-pair2。以第一接口对interface-pair1为例,第一接口对interface-pair1中包括:一个物理接口tap2和一个虚拟接口tap1,也可以将第一接口对interface-pair1中的物理接口记作interface-pair1.tap2,将第一接口对interface-pair1中的虚拟接口记作interface-pair1.tap1。且虚拟接口tap1是由串行防火墙中的操作系统管理,物理接口tap2由串行防火墙中的“DPDK应用进程”管理,也即,各接口对中的物理接口和虚拟接口分别是由不同的对象所管理。这样,可以利用处于操作系统用户态的DPDK网络接口采用零拷贝技术收发报文,利用大页内存有效避免cache miss,避免了用户态和内核态之间的系统调用,极大地降低了报文转发时延。
在本实施例中,可以通过第一接口对interface-pair1中的物理接口interface-pair1.tap2接收报文,同时,并将该报文中的源MAC与第一接口对中的虚拟接口写入FDB表中。
S202、若报文为待转发的报文,则经由第一接口对中的物理接口将报文转发至第一接口对中的虚拟接口。
在本实施例中,若对第一接口对interface-pair1中的物理接口interface-pair1.tap2接收到的报文进行检测后,得到的检测结果为允许转发时,则经由“第一接口对interface-pair1中的物理接口interface-pair1.tap2”将报文发送给“第一接口对interface-pair1中的虚拟接口interface-pair1.tap1”。
S203、根据FDB表或路由信息,确定报文待转发至的第二接口对中的虚拟接口。
可选地,操作系统根据路由、FDB表等技术进行报文转发时的选路,并根据选路结果确定报文待转发至的第二接口对中的虚拟接口。
在本实施例中,利用操作系统内核保证选路结果的正确性,提高了报文转发的准确性。
S204、经由第一接口对中的虚拟接口将报文发送至第二接口对中的虚拟接口。
在本实施例中,继续参考图3所示,可以经由“第一接口对interface-pair1中的虚拟接口interface-pair1.tap1”将报文发送到“第二接口对interface-pair2中的虚拟接口tap1”。
S205、经由第二接口对中的虚拟接口将报文发送至第二接口对中的物理接口,并经由第二接口对中的物理接口发送报文。
可选地,在“第二接口对interface-pair2中的虚拟接口interface-pair2.tap1”接收到报文之后,“第二接口对interface-pair2中的虚拟接口interface-pair2.tap1”将接收到的第二接口对外的报文转发给“第二接口interface-pair2对中的物理接口interface-pair2.tap2”,此时,经由“第二接口interface-pair2对中的物理接口interface-pair2.tap2”将报文转发给其他接收设备,有效降低了报文转发过程中的时延。
在本实施例中,主要是经由“第一接口对interface-pair1中的虚拟接口interface-pair1.tap1”、“第二接口对interface-pair2中的虚拟接口interface-pair2.tap1”这两个由操作系统管理的虚拟接口,实现了将第一接口对interface-pair1中的物理接口interface-pair1.tap2接收到的报文转发给了“第二接口interface-pair2对中的物理接口interface-pair2.tap2”,避免了采用传统Linux操作系统内核进行报文转发时频繁产生用户态和内核态之间的硬件中断、内存拷贝等问题,极大地降低了报文转发过程的时延。
综上所述,本申请实施例提供一种串行防火墙报文转发方法,应用于串行防火墙,串行防火墙中包括:多个接口对,各接口对分别包括一个物理接口和一个虚拟接口;虚拟接口由串行防火墙中的操作系统控制,物理接口由串行防火墙中的应用进程管理;该方法包括:经由第一接口对中的物理接口接收报文,并将报文中的源MAC与第一接口对中的虚拟接口写入FDB表中;若报文为待转发的报文,则经由第一接口对中的物理接口将报文转发至第一接口对中的虚拟接口;根据FDB表或路由信息,确定报文待转发至的第二接口对中的虚拟接口;经由第一接口对中的虚拟接口将报文发送至第二接口对中的虚拟接口;经由第二接口对中的虚拟接口将报文发送至第二接口对中的物理接口,并经由第二接口对中的物理接口发送报文。在本方案中,主要是经由串行防火墙中由操作系统管理的“第一接口对中的虚拟接口”、“第二接口对中的虚拟接口”这两个虚拟接口,将“第一接口对中的物理接口”接收到的报文转发给了“第二接口对中的物理接口”,避免了采用传统Linux操作系统内核进行报文转发时频繁产生用户态和内核态之间的硬件中断、内存拷贝等问题,极大地降低了报文转发过程的时延。
将通过如下实施例,具体讲解如何创建得到各接口对中的虚拟接口。
参考图4所示,在上述步骤S201:经由第一接口对中的物理接口接收报文之前,还包括:
S401、分别创建第一接口对中的物理接口的第一软交换映射接口、以及第一接口对中的虚拟接口。
S402、创建第一接口对中的虚拟接口的第二软交换映射接口。
在本实施例中,例如,可以参考图5所示,可以预先创建物理网卡(如,DPDK网卡)中第一接口对interface-pair1中的物理接口interface-pair1.tap2对应的第一软交换映射接口,即vtap2,也可以记作interface-pair1.vtap2。
然后,再创建“第一接口对interface-pair1”中的“虚拟接口”,即tap1,可以记作interface-pair1.tap1”。同时并为“第一接口对interface-pair1中的“虚拟接口interface-pair1.tap1”创建它的第二软交换映射接口,即vtap1,也可以记作interface-pair1.vtap1。
其中,vtap1与vtap2之间通过操作系统中内置的交换模块进行转发数据。
此时,“第一接口对interface-pair1的虚拟接口interface-pair1.tap1”与“第一接口对interface-pair1中的物理接口interface-pair1.tap2”构成一个接口对。也即,“第一接口对interface-pair1”中的物理接口为interface-pair1.tap2、虚拟接口为interface-pair1.tap1。
可选地,还可以根据实际使用情况,为“第一接口对interface-pair1”中的虚拟接口interface-pair1.tap1配置互联网协议(Internet Protocol,简称IP)、虚拟局域网(Virtual Local Area Network,简称VLAN)、路由等网络配置信息。
在本实施例中,interface-pair1.vtap2与interface-pair1.tap2是映射接口关系,interface-pair1.vtap2与interface-pair1.vtap1是桥接关系。这样,使得可以经由interface-pair1.tap2、interface-pair1.vtap2将报文转发至虚拟接口interface-pair1.tap1。
同理,也可以采用上述同样的方式得到第二接口对中的虚拟接口。
具体参考图6所示,上述步骤S204:经由第一接口对中的虚拟接口将报文发送至第二接口对中的虚拟接口之前,包括:
S601、分别创建第二接口对中的物理接口的第一软交换映射接口、以及第二接口对中的虚拟接口。
S602、创建第二接口对中的虚拟接口的第二软交换映射接口。
采用上述实施例中的方式,也可以创建得到“第二接口对中的物理接口的第一软交换映射接口interface-pair2.vtap2”、“第二接口对中的虚拟接口interface-pair2.tap1”、以及“第二接口对中的虚拟接口的第二软交换映射接口interface-pair2vtap1”。
将通过如下实施例,具体讲解如何确定该报文的转发接口。
可选地,上述步骤S203中根据FDB表或路由信息,确定报文的第二接口对中的虚拟接口,包括:
根据FDB表确定报文待转发至的目标虚拟接口;或根据路由信息进行选路确定报文待转发至的所述目标虚拟接口;并将目标虚拟接口作为第二接口对中的虚拟接口。
在本实施例中,有两种方式可以确定该报文的转发接口。具体的,可以先根据FDB表确定报文待转发至的目标虚拟接口,若在FDB表中无法查询到该报文待转发至的目标虚拟接口,此时,可以根据路由信息进行选路确定报文待转发至的目标虚拟接口,并将目标虚拟接口作为第二接口对中的虚拟接口。
将通过如下实施例,具体讲解如何经由“某一个接口对中的物理接口”将收到的该接口对外的报文无条件转发给“该接口对中的虚拟接口”,或者,经由“某一个接口对中的虚拟接口”将接收到的该接口对外的报文也无条件转发给“该接口对中的物理接口”。
第一种情况、经由“某一个接口对中的物理接口”将收到的该接口对外的报文无条件转发给“该接口对中的虚拟接口”。
具体参考图7所示,上述步骤S202:经由第一接口对中的物理接口将报文转发至第一接口对中的虚拟接口,包括:
S701、根据第一接口对中的物理接口、与第一接口对中的物理接口的第一软交换映射接口的软交换映射关系,经由第一接口对中的物理接口将报文转发至第一接口对中的物理接口的第一软交换映射接口。
在本实施例中,当“第一接口对中的物理接口interface-pair1.tap2”接收到报文时,将获取到的报文发送至“接收数据缓冲循环队列”,由“DPDK接收模块”轮询该队列,并将报文取出交给“报文检测模块”进行检测。若检测结果为转发,则根据“第一接口对中的物理接口interface-pair1.tap2”、以及“第一接口对中的物理接口的第一软交换映射接口interface-pair1.vtap2”的软交换映射关系,得到“第一接口对中的物理接口interface-pair1.tap2”的交换映射接口是interface-pair1.vtap2,并经由“第一接口对中的物理接口interface-pair1.tap2”将报文转发给“第一接口对中的物理接口的第一软交换映射接口interface-pair1.vtap2”。
S702、根据第一接口对中的物理接口的第一软交换映射接口、与第一接口对中的虚拟接口的第二软交换映射接口的桥接映射关系,经由第一接口对中的物理接口的第一软交换映射接口将报文转发至第一接口对中的虚拟接口的第二软交换映射接口。
可选地,由上述图5可知,interface-pair1.vtap2与interface-pair1.vtap1是桥接关系,则可以根据“第一接口对中的物理接口的第一软交换映射接口interface-pair1.vtap2”、“第一接口对中的虚拟接口的第二软交换映射接口interface-pair1.vtap1”的桥接映射关系,得到“第一接口对中的物理接口的第一软交换映射接口interface-pair1.vtap2”的桥接映射接口是interface-pair1.vtap1,并经由“第一接口对中的物理接口的第一软交换映射接口interface-pair1.vtap2”将报文转发给“第一接口对中的虚拟接口的第二软交换映射接口interface-pair1.vtap1”。
S703、根据第一接口对中的虚拟接口的第二软交换映射接口、与第一接口对中的虚拟接口的软交换映射关系,经由第一接口对中的虚拟接口的第二软交换映射接口将报文转发至第一接口对中的虚拟接口。
可选地,也可以根据“第一接口对中的虚拟接口的第二软交换映射接口interface-pair1.vtap1”、“第一接口对中的虚拟接口interface-pair1.tap1”的软交换映射关系,得到“第一接口对中的虚拟接口的第二软交换映射接口interface-pair1.vtap1”的软交换映射接口是“第一接口对中的虚拟接口interface-pair1.tap1”,则经由“第一接口对中的虚拟接口的第二软交换映射接口interface-pair1.vtap1”将报文转发至“第一接口对中的虚拟接口interface-pair1.tap1”。
至此,实现了经由“第一接口对中的物理接口的第一软交换映射接口interface-pair1.vtap2”、“第一接口对中的虚拟接口的第二软交换映射接口interface-pair1.vtap1”这两个桥接映射接口,将“第一接口对中的物理接口interface-pair1.tap2”接收到的报文最终转发给“第一接口对中的虚拟接口interface-pair1.tap1”。
第二种情况、经由“某一个接口对中的虚拟接口”将接收到的该接口对外的报文也无条件转发给“该接口对中的物理接口”。
具体参考图8所示,上述步骤S205:经由第二接口对中的虚拟接口将接收到的报文发送至第二接口对中的物理接口,包括:
S801、根据第二接口对中的虚拟接口、与第二接口对中的虚拟接口的第二软交换映射接口的软交换映射关系,经由第二接口对中的虚拟接口将报文转发至第二接口对中的虚拟接口的第二软交换映射接口。
S802、根据第二接口对中的虚拟接口的第二软交换映射接口、与第二接口对中的物理接口的第一软交换映射接口的桥接映射关系,经由第二接口对中的虚拟接口的第二软交换映射接口将报文转发至第二接口对中的物理接口的第一软交换映射接口。
S803、根据第二接口对中的物理接口的第一软交换映射接口、与第二接口对中的物理接口的软交换映射关系,经由第二接口对中的物理接口的第一软交换映射接口将报文转发至第二接口对中的物理接口。
在本实施例中,若操作系统根据路由等信息进行选路,选路结果为由“第二接口对中的虚拟接口interface-pair2.tap1”进行报文转发,同样,也可以根据“第二接口对中的虚拟接口interface-pair2.tap1”、以及“第二接口对中的虚拟接口的第二软交换映射接口interface-pair2.vtap1”的软交换映射关系,则可以经由“第二接口对中的虚拟接口interface-pair2.tap1”将报文转发至其映射接口“第二接口对中的虚拟接口的第二软交换映射接口interface-pair2.vtap1”。
然后,根据“第二接口对中的虚拟接口的第二软交换映射接口interface-pair2.vtap1”、与“第二接口对中的物理接口的第一软交换映射接口interface-pair2.vtap2”的桥接映射关系,则可以经由“第二接口对中的虚拟接口的第二软交换映射接口interface-pair2.vtap1”将报文转发至其映射接口“第二接口对中的物理接口的第一软交换映射接口interface-pair2.vtap2”。
以及,内置软交换模块根据“第二接口对中的物理接口的第一软交换映射接口interface-pair2.vtap2”、与“第二接口对中的物理接口interface-pair2.tap2”的软交换映射关系,则可以经由“第二接口对中的物理接口的第一软交换映射接口interface-pair2.vtap2”将报文转发至“第二接口对中的物理接口interface-pair2.tap2”。
至此,实现了经由“第二接口对中的虚拟接口的第二软交换映射接口interface-pair2.vtap1”、“第二接口对中的物理接口的第一软交换映射接口interface-pair2.vtap2”这两个软交换映射接口,将“第二接口对中的虚拟接口interface-pair1.tap1”接收到的报文转发至“第二接口对中的物理接口interface-pair1.tap2”。
另外,当报文到达“第二接口对中的物理接口interface-pair1.tap2”之后,可以采用现有技术中的发包流程将报文转发其他接收设备。
将通过如下实施例,具体讲解上述步骤S205中的如何经由第二接口对中的物理接口发送报文,包括:
可选地,将报文复制至发送数据缓冲地址循环队列,经由第二接口对中的物理接口将报文发送至目标接收设备。
可以参考图9所示,在物理接口和DPDK之间建立无锁发包队列Tx Queue,开辟发送数据缓冲地址池(如DMA addr1、…、DMA addrn)。在转发数据包时,将“数据缓冲地址”放入到无锁发包队列Tx Queue,DMA控制器取走报文数据交由物理接口进行转发,同时将缓冲地址置为已发送。
具体的,CPU读取发送侧描述符tx_ring队列,检查DD标志是否为1,为1则说明发送完毕。针对发送完毕的描述符需要释放该描述符里对应的缓冲区。CPU以轮询的方式将准备发送的缓冲区rte_mbuf的虚拟地址填充到描述符sw_ring。CPU将准备发送的缓冲区rte_mbuf的虚拟地址填充到描述符sw_ring。CPU通过将“准备发送的缓冲区rte_mbuf的虚拟地址转换”得到“该rte_mbuf里data数据部分的物理地址”填充到发送测描述符tx_ring队列中,并将DD标志清0。
DMA控制器读取base寄存器,获取发送侧描述符,根据发送测描述符获取tx_ring队列地址,读取head指针里的元素,判断DD标志释放为0则从描述符中获取数据缓存区地址,通过高速串行计算机扩展总线(peripheral component interconnect express,简称PCIE)将数据拷贝到网卡硬件Tx_FIFO缓存中往外发送数据。
DMA控制器回写该描述符中队列里DD的标志置1,通知CPU该缓存中数据已成功发送。
下述对用以执行本申请所提供的串行防火墙报文转发装置及存储介质等进行说明,其具体的实现过程以及技术效果参见上述,下述不再赘述。
图10为本申请实施例提供的一种串行防火墙报文转发装置,应用于串行防火墙,串行防火墙中包括:多个接口对,各接口对分别包括一个物理接口和一个虚拟接口;虚拟接口由串行防火墙中的操作系统控制,物理接口由串行防火墙中的应用进程管理;该装置包括:
接收模块1001,用于经由第一接口对中的物理接口接收报文,并将报文中的源MAC与第一接口对中的虚拟接口写入FDB表中;
转发模块1002,用于若报文为待转发的报文,则经由第一接口对中的物理接口将报文转发至第一接口对中的虚拟接口;
确定模块1003,用于根据FDB表或路由信息,确定报文待转发至的第二接口对中的虚拟接口;
转发模块1002,还用于经由第一接口对中的虚拟接口将报文发送至第二接口对中的虚拟接口;经由第二接口对中的虚拟接口将报文发送至第二接口对中的物理接口,并经由第二接口对中的物理接口发送报文。
可选地,该装置,还包括:
创建模块,用于分别创建第一接口对中的物理接口的第一软交换映射接口、以及第一接口对中的虚拟接口;创建第一接口对中的虚拟接口的第二软交换映射接口。
可选地,转发模块1002,还用于:
根据第一接口对中的物理接口、与第一接口对中的物理接口的第一软交换映射接口的软交换映射关系,经由第一接口对中的物理接口将报文转发至第一接口对中的物理接口的第一软交换映射接口;
根据第一接口对中的物理接口的第一软交换映射接口、与第一接口对中的虚拟接口的第二软交换映射接口的桥接映射关系,经由第一接口对中的物理接口的第一软交换映射接口将报文转发至第一接口对中的虚拟接口的第二软交换映射接口;
根据第一接口对中的虚拟接口的第二软交换映射接口、与第一接口对中的虚拟接口的软交换映射关系,经由第一接口对中的虚拟接口的第二软交换映射接口将报文转发至第一接口对中的虚拟接口。
可选地,确定模块1003,还用于:
根据FDB表确定报文待转发至的目标虚拟接口;或根据路由信息进行选路确定报文待转发至的所述目标虚拟接口;并将目标虚拟接口作为第二接口对中的虚拟接口。
可选地,创建模块,还用于:
分别创建第二接口对中的物理接口的第一软交换映射接口、以及第二接口对中的虚拟接口;创建第二接口对中的虚拟接口的第二软交换映射接口。
可选地,转发模块1002,还用于:
根据第二接口对中的虚拟接口、与第二接口对中的虚拟接口的第二软交换映射接口的软交换映射关系,经由第二接口对中的虚拟接口将报文转发至第二接口对中的虚拟接口的第二软交换映射接口;
根据第二接口对中的虚拟接口的第二软交换映射接口、与第二接口对中的物理接口的第一软交换映射接口的桥接映射关系,经由第二接口对中的虚拟接口的第二软交换映射接口将报文转发至第二接口对中的物理接口的第一软交换映射接口;
根据第二接口对中的物理接口的第一软交换映射接口、与第二接口对中的物理接口的软交换映射关系,经由第二接口对中的物理接口的第一软交换映射接口将报文转发至第二接口对中的物理接口。
可选地,转发模块1002,还用于:
将报文复制至发送数据缓冲地址循环队列,经由第二接口对中的物理接口将报文发送至目标接收设备。
上述装置用于执行前述实施例提供的方法,其实现原理和技术效果类似,在此不再赘述。
以上这些模块可以是被配置成实施以上方法的一个或多个集成电路,例如:一个或多个特定集成电路(Application Specific Integrated Circuit,简称ASIC),或,一个或多个微处理器(digitalsingnal processor,简称DSP),或,一个或者多个现场可编程门阵列(Field Programmable Gate Array,简称FPGA)等。再如,当以上某个模块通过处理元件调度程序代码的形式实现时,该处理元件可以是通用处理器,例如中央处理器(CentralProcessing Unit,简称CPU)或其它可以调用程序代码的处理器。再如,这些模块可以集成在一起,以片上系统(system-on-a-chip,简称SOC)的形式实现。
可选地,本发明还提供一种程序产品,例如计算机可读存储介质,包括程序,该程序在被处理器执行时用于执行上述方法实施例。
在本发明所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
上述以软件功能单元的形式实现的集成的单元,可以存储在一个计算机可读取存储介质中。上述软件功能单元存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器(英文:processor)执行本发明各个实施例所述方法的部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(英文:Read-Only Memory,简称:ROM)、随机存取存储器(英文:Random Access Memory,简称:RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
Claims (10)
1.一种串行防火墙报文转发方法,其特征在于,应用于串行防火墙,所述串行防火墙中包括:多个接口对,各所述接口对分别包括一个物理接口和一个虚拟接口;所述虚拟接口由所述串行防火墙中的操作系统控制,所述物理接口由所述串行防火墙中的应用进程管理;
所述方法包括:
经由第一接口对中的物理接口接收报文,并将所述报文中的源物理地址与所述第一接口对中的虚拟接口写入桥转发数据库表中;
若所述报文为待转发的报文,则经由所述第一接口对中的物理接口将所述报文转发至所述第一接口对中的虚拟接口;
根据所述桥转发数据库表或路由信息,确定所述报文待转发至的第二接口对中的虚拟接口;
经由所述第一接口对中的虚拟接口将所述报文发送至所述第二接口对中的虚拟接口;
经由所述第二接口对中的虚拟接口将所述报文发送至所述第二接口对中的物理接口,并经由所述第二接口对中的物理接口发送所述报文。
2.根据权利要求1所述的方法,其特征在于,所述经由第一接口对中的物理接口接收报文之前,还包括:
分别创建所述第一接口对中的物理接口的第一软交换映射接口、以及所述第一接口对中的虚拟接口;
创建所述第一接口对中的虚拟接口的第二软交换映射接口。
3.根据权利要求2所述的方法,其特征在于,所述经由所述第一接口对中的物理接口将所述报文转发至所述第一接口对中的虚拟接口,包括:
根据所述第一接口对中的物理接口、与所述第一接口对中的物理接口的第一软交换映射接口的软交换映射关系,经由所述第一接口对中的物理接口将所述报文转发至所述第一接口对中的物理接口的第一软交换映射接口;
根据所述第一接口对中的物理接口的第一软交换映射接口、与所述第一接口对中的虚拟接口的第二软交换映射接口的桥接映射关系,经由所述第一接口对中的物理接口的第一软交换映射接口将所述报文转发至所述第一接口对中的虚拟接口的第二软交换映射接口;
根据所述第一接口对中的虚拟接口的第二软交换映射接口、与所述第一接口对中的虚拟接口的软交换映射关系,经由所述第一接口对中的虚拟接口的第二软交换映射接口将所述报文转发至所述第一接口对中的虚拟接口。
4.根据权利要求2所述的方法,其特征在于,所述根据所述桥转发数据库表或路由信息,确定所述报文的第二接口对中的虚拟接口,包括:
根据所述桥转发数据库表确定所述报文待转发至的目标虚拟接口,或根据所述路由信息进行选路确定所述报文待转发至的所述目标虚拟接口;并将所述目标虚拟接口作为所述第二接口对中的虚拟接口。
5.根据权利要求1所述的方法,其特征在于,所述经由所述第一接口对中的虚拟接口将所述报文发送至所述第二接口对中的虚拟接口之前,包括:
分别创建所述第二接口对中的物理接口的第一软交换映射接口、以及所述第二接口对中的虚拟接口;
创建所述第二接口对中的虚拟接口的第二软交换映射接口。
6.根据权利要求5所述的方法,其特征在于,所述经由所述第二接口对中的虚拟接口将接收到的所述报文发送至所述第二接口对中的物理接口,包括:
根据所述第二接口对中的虚拟接口、与所述第二接口对中的虚拟接口的第二软交换映射接口的软交换映射关系,经由所述第二接口对中的虚拟接口将所述报文转发至所述第二接口对中的虚拟接口的第二软交换映射接口;
根据所述第二接口对中的虚拟接口的第二软交换映射接口、与所述第二接口对中的物理接口的第一软交换映射接口的桥接映射关系,经由所述第二接口对中的虚拟接口的第二软交换映射接口将所述报文转发至所述第二接口对中的物理接口的第一软交换映射接口;
根据所述第二接口对中的物理接口的第一软交换映射接口、与所述第二接口对中的物理接口的软交换映射关系,经由所述第二接口对中的物理接口的第一软交换映射接口将所述报文转发至所述第二接口对中的物理接口。
7.根据权利要求1-6任一项所述的方法,其特征在于,所述经由所述第二接口对中的物理接口发送所述报文,包括:
将所述报文复制至发送数据缓冲地址循环队列,经由所述第二接口对中的物理接口将所述报文发送至目标接收设备。
8.一种串行防火墙报文转发装置,其特征在于,应用于串行防火墙,所述串行防火墙中包括:多个接口对,各所述接口对分别包括一个物理接口和一个虚拟接口;所述虚拟接口由所述串行防火墙中的操作系统控制,所述物理接口由所述串行防火墙中的应用进程管理;
所述装置包括:
接收模块,用于经由第一接口对中的物理接口接收报文,并将所述报文中的源物理地址与所述第一接口对中的虚拟接口写入桥转发数据库表中;
转发模块,用于若所述报文为待转发的报文,则经由所述第一接口对中的物理接口将所述报文转发至所述第一接口对中的虚拟接口;
确定模块,用于根据所述桥转发数据库表或路由信息,确定所述报文待转发至的第二接口对中的虚拟接口;
所述转发模块,还用于经由所述第一接口对中的虚拟接口将所述报文发送至所述第二接口对中的虚拟接口;经由所述第二接口对中的虚拟接口将所述报文发送至所述第二接口对中的物理接口,并经由所述第二接口对中的物理接口发送所述报文。
9.一种电子设备,其特征在于,包括:处理器、存储介质和总线,所述存储介质存储有所述处理器可执行的机器可读指令,当电子设备运行时,所述处理器与所述存储介质之间通过总线通信,所述处理器执行所述机器可读指令,以执行如权利要求1-7任一所述方法的步骤。
10.一种计算机可读存储介质,其特征在于,所述存储介质上存储有计算机程序,所述计算机程序被处理器运行时执行如权利要求1-7任一所述方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111383186.XA CN114172695A (zh) | 2021-11-22 | 2021-11-22 | 串行防火墙报文转发方法、装置、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111383186.XA CN114172695A (zh) | 2021-11-22 | 2021-11-22 | 串行防火墙报文转发方法、装置、设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114172695A true CN114172695A (zh) | 2022-03-11 |
Family
ID=80479769
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111383186.XA Pending CN114172695A (zh) | 2021-11-22 | 2021-11-22 | 串行防火墙报文转发方法、装置、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114172695A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116192524A (zh) * | 2023-03-06 | 2023-05-30 | 北京亿赛通科技发展有限责任公司 | 一种基于串接流量的应用防火墙 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111132170A (zh) * | 2019-12-31 | 2020-05-08 | 奇安信科技集团股份有限公司 | 虚拟防火墙的通信方法和装置、虚拟防火墙及拓扑结构 |
CN112511439A (zh) * | 2020-11-25 | 2021-03-16 | 杭州迪普科技股份有限公司 | 数据转发方法、装置、设备及计算机可读存储介质 |
CN113329022A (zh) * | 2021-05-31 | 2021-08-31 | 北京天融信网络安全技术有限公司 | 一种虚拟防火墙的信息处理方法及电子设备 |
-
2021
- 2021-11-22 CN CN202111383186.XA patent/CN114172695A/zh active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111132170A (zh) * | 2019-12-31 | 2020-05-08 | 奇安信科技集团股份有限公司 | 虚拟防火墙的通信方法和装置、虚拟防火墙及拓扑结构 |
CN112511439A (zh) * | 2020-11-25 | 2021-03-16 | 杭州迪普科技股份有限公司 | 数据转发方法、装置、设备及计算机可读存储介质 |
CN113329022A (zh) * | 2021-05-31 | 2021-08-31 | 北京天融信网络安全技术有限公司 | 一种虚拟防火墙的信息处理方法及电子设备 |
Non-Patent Citations (1)
Title |
---|
BANDAOYU: ""DPDK技术介绍--研读"", pages 1 - 6, Retrieved from the Internet <URL:https://blog.51cto.com/liangchaoxi/4063887> * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116192524A (zh) * | 2023-03-06 | 2023-05-30 | 北京亿赛通科技发展有限责任公司 | 一种基于串接流量的应用防火墙 |
CN116192524B (zh) * | 2023-03-06 | 2024-03-12 | 北京亿赛通科技发展有限责任公司 | 一种基于串接流量的应用防火墙 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9710408B2 (en) | Source core interrupt steering | |
JP6328134B2 (ja) | クラスタ化されたコンピュータ・システムで通信チャネルのフェイルオーバを実行する方法、装置、およびプログラム | |
CN107995129B (zh) | 一种nfv报文转发方法和装置 | |
US9952987B2 (en) | Posted interrupt architecture | |
WO2018076793A1 (zh) | 一种NVMe数据读写方法及NVMe设备 | |
US8949498B2 (en) | Interrupt handling in a virtual machine environment | |
US6295573B1 (en) | Point-to-point interrupt messaging within a multiprocessing computer system | |
US7512723B2 (en) | Queued interface devices, multi-core peripheral systems, and methods for sharing a peripheral in a multi-core system | |
US7441150B2 (en) | Fault tolerant computer system and interrupt control method for the same | |
US10713083B2 (en) | Efficient virtual I/O address translation | |
JP2015079542A (ja) | 割り込み分配スキーム | |
AU2020213829B2 (en) | Handling an input/output store instruction | |
JPH06309252A (ja) | 相互接続インタフェース | |
WO2012114211A1 (en) | Low latency precedence ordering in a pci express multiple root i/o virtualization environment | |
WO2015135383A1 (zh) | 一种数据迁移方法、装置及计算机系统 | |
WO2020157594A1 (en) | Handling an input/output store instruction | |
US9684613B2 (en) | Methods and systems for reducing spurious interrupts in a data storage system | |
JP5907179B2 (ja) | 仮想マシン制御プログラム、仮想マシン制御方法および情報処理装置 | |
EP3918467A1 (en) | Handling an input/output store instruction | |
US7564860B2 (en) | Apparatus and method for workflow-based routing in a distributed architecture router | |
JP2007058716A (ja) | データ転送バスシステム | |
CN114172695A (zh) | 串行防火墙报文转发方法、装置、设备及存储介质 | |
WO2014206229A1 (zh) | 一种加速器以及数据处理方法 | |
WO2022032990A1 (zh) | 一种命令信息传输方法、系统、装置及可读存储介质 | |
JP3659048B2 (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 |