一种传输网络数据的方法及装置与流程

文档序号:14717766发布日期:2018-06-16 01:56阅读:130来源:国知局
一种传输网络数据的方法及装置与流程
本申请涉及通信
技术领域
,特别是涉及一种传输网络数据的方法及装置。
背景技术
:现有技术中,通常需要利用网闸设备来实现在电路上切断网络之间的链路层连接,实现两个网络在链路层断开,从而达到断开两个网络的连接。网闸设备常常包括一个连接第一网络(例如内网)的第一网闸子设备、一个连接第二网络(例如外网)的第二网闸子设备和隔离硬件,第一网闸子设备和第二网闸子设备通过隔离硬件连接。其中,网闸子设备用于实现网络协议的对接,并且,内网中的网络设备向外网发送的业务报文、以及外网的网络设备向内网发送的业务报文需要网闸子设备进行处理。例如:内网的网络设备将业务报文发送至第一网闸子设备,第一网闸子设备对该业务报文中的有效数据进行提取,比如可以提取传输层以下的数据,或提取应用层数据,第一网闸子设备通过隔离硬件将有效数据发送到第二网闸子设备,再由第二网闸子设备将该有效数据发送给外网的网络设备。这样,内网和外网不直接进行连接,保障了内网和外网的安全。然而,网络中通常存在大量的租户,对于每一租户,都需要配置一个硬件的网闸设备,这样,需要的硬件设备较多,导致布网成本较高。技术实现要素:本申请实施例的目的在于提供一种传输网络数据的方法及装置,无需针对每一租户安装一个网闸设备,降低布网成本。具体技术方案如下:第一方面,提供了一种传输网络数据的方法,所述方法应用于安全设备,所述安全设备包括:第一CPU、第二CPU及内存;所述第一CPU上运行第一网闸子系统,所述第二CPU上运行第二网闸子系统;其中,所述第一CPU利用第一网闸子系统创建有多个第一虚拟设备,所述第一虚拟设备与第一网络连接,所述第二CPU利用第二网闸子系统创建有所述多个第一虚拟设备分别对应的多个第二虚拟设备,所述第二虚拟设备与第二网络连接;所述内存中配置有所述第一虚拟设备和所述第一虚拟设备对应的第二虚拟设备共享的内存区域;所述方法包括:所述第一CPU利用所述第一虚拟设备接收所述第一网络中的网络设备发送的业务报文;如果所述第一CPU利用所述第一虚拟设备判定所述业务报文符合预设的安全策略,则提取所述业务报文中的有效数据,并将所述有效数据存储到所述内存区域中的所述第一虚拟设备的数据写区域;所述第二CPU利用所述第二虚拟设备从所述第一虚拟设备的数据写区域中读取所述有效数据;所述第二CPU利用所述第二虚拟设备将所述有效数据发送给所述第二网络中的网络设备。第二方面,提供了一种安全设备,所述安全设备,包括:第一CPU、第二CPU及内存;所述第一CPU上运行第一网闸子系统,所述第二CPU上运行第二网闸子系统;其中,所述第一CPU利用第一网闸子系统创建有多个第一虚拟设备,所述第一虚拟设备与第一网络连接,所述第二CPU利用第二网闸子系统创建有所述多个第一虚拟设备分别对应的多个第二虚拟设备,所述第二虚拟设备与第二网络连接;所述内存中配置有所述第一虚拟设备和所述第一虚拟设备对应的第二虚拟设备共享的内存区域;其中:所述第一CPU,用于利用所述第一虚拟设备接收所述第一网络中的网络设备发送的业务报文;所述第一CPU,用于如果利用所述第一虚拟设备判定所述业务报文符合预设的安全策略,则提取所述业务报文中的有效数据,并将所述有效数据存储到所述内存区域中的所述第一虚拟设备的数据写区域;所述第二CPU,用于利用所述第二虚拟设备从所述第一虚拟设备的数据写区域中读取所述有效数据;所述第二CPU用于利用所述第二虚拟设备将所述有效数据发送给所述第二网络中的网络设备。本申请实施例提供的传输网络数据的方法及系统,可以方法应用于安全设备,安全设备包括:第一CPU、第二CPU及内存;第一CPU上运行第一网闸子系统,第二CPU上运行第二网闸子系统;其中,第一CPU利用第一网闸子系统创建有多个第一虚拟设备,第一虚拟设备与第一网络连接,第二CPU利用第二网闸子系统创建有多个第一虚拟设备分别对应的多个第二虚拟设备,第二虚拟设备与第二网络连接;内存中配置有第一虚拟设备和第一虚拟设备对应的第二虚拟设备共享的内存区域;第一CPU利用第一虚拟设备接收第一网络中的网络设备发送的业务报文;如果第一CPU利用第一虚拟设备判定业务报文符合预设的安全策略,则提取业务报文中的有效数据,并将有效数据存储到内存区域中的第一虚拟设备的数据写区域;第二CPU利用第二虚拟设备从第一虚拟设备的数据写区域中读取有效数据;第二CPU利用第二虚拟设备将有效数据发送给第二网络中的网络设备。基于本方案,可以在一台安全设备中虚拟化出多个虚拟网闸系统,为多个租户提供网闸安全服务,减少了硬件设备的数目,从而可以降低布网成本。当然,实施本申请的任一产品或方法必不一定需要同时达到以上所述的所有优点。附图说明为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1为本发明实施例提供的一种系统框架图;图2为本发明实施例提供的一种传输网络数据的方法流程图;图3为本发明实施例提供的一种虚拟网闸系统的创建过程的流程图;图4为本发明实施例提供的一种虚拟网闸系统的安全策略的配置过程的流程图;图5为本发明实施例提供的一种安全设备的结构示意图。具体实施方式下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。本发明实施例提供了一种传输网络数据的方法,该方法可以应用于安全设备。本方案中,一台安全设备配置有至少两个CPU,并且,该安全设备中安装有两个网闸子系统(可称为第一网闸子系统和第二网闸子系统)。第一网闸子系统和第二网闸子系统分别运行在不同的CPU上,也即,第一网闸子系统可以运行在第一CPU上,第二网闸子系统可以运行在第二CPU上。每个网闸子系统分别配置有多个端口,端口的占用方式为独占端口方式,这样,第一网闸子系统和第二网闸子系统可以实现物理隔离。第一CPU利用第一网闸子系统创建多个第一虚拟设备,第二CPU利用第二网闸子系统创建多个第一虚拟设备分别对应的多个第二虚拟设备。其中,每个虚拟设备配置有自己独立的路由、安全策略和会话表项等,可以实现现有技术中的第一网闸子设备或第二网闸子设备的功能。第一网闸子系统中的虚拟设备可以与第一网络连接,第二网闸子系统中的虚拟设备可以与第二网络连接。其中,第一网络可以是外网,第二网络是内网;或者,第一网络是外网,第二网络是内网,本发明实施例不做限定。第一网闸子系统中的虚拟设备(可称为第一虚拟设备),与第二网闸子系统中的虚拟设备(可称为第二虚拟设备)通常是成对创建的,如上所述,第一虚拟设备和第二虚拟设备是物理隔离的,并且,第一虚拟设备和第二虚拟设备可以配置有共享的内存区域,以便第一虚拟设备和第二虚拟设备进行数据传输。这样,一对虚拟设备可以构成一个虚拟网闸系统,为通信网络中的租户提供服务。虚拟网闸系统的创建过程后续会进行详细说明。为了便于说明,本发明实施例以第一网络是外网,第二网络是内网为例进行说明,相应的,第一网闸子系统为外端机系统、第一虚拟设备为虚拟外端机、第二网闸子系统为内端机系统、第二虚拟设备为虚拟内端机。其他情况与之类似,本实施例不在赘述。如图1所示,为本发明实施例提供的系统框架图,包括安全设备、多个租户的用户终端(即user1、user2…usern)和服务器(即租户1-sever、租户2-sever…租户n-sever),其中,租户可以通过用户终端访问自己的服务器,即user1访问租户1-sever,user2访问租户2-sever…usern访问租户n-sever。安全设备中配置有CPU1和CPU2,并安装有两个网闸子系统,即system1和system2,system1为外端机系统且运行在CPU1上,system1中创建的虚拟设备可记为out_vs1、out_vs2……out_vsn;system2为内端机系统且运行在CPU2上,,system2中创建的虚拟设备可记为in_vs1、in_vs2……in_vsn。如图2所示,该方法可以包括以下步骤:步骤201,第一CPU利用第一虚拟设备接收第一网络中的网络设备发送的业务报文。在实施中,第一网络中的网络设备(可称为第一网络设备)中可以预先存储有第一虚拟设备的端口信息,当第一网络设备需要与第二网络中的网络设备(可称为第二网络设备)进行数据传输时,第一网络设备可以通过该第一虚拟设备的端口信息,向第一虚拟设备发送业务报文,该业务报文中包含需要传输的网络数据,第一虚拟设备则会接收到该业务报文,并对该业务报文进行缓存。步骤202,如果第一CPU利用第一虚拟设备判定业务报文符合预设的安全策略,则提取业务报文中的有效数据,并将有效数据存储到内存区域中的第一虚拟设备的数据写区域。在实施中,第一虚拟设备和其对应的第二虚拟设备可以配置有共享的内存区域,该共享的内存区域可以划分为多个内存子区域。本实施例中,该共享的内存区域可以被划分为四个内存子区域:数据写区域(也可称为数据写通道)、数据读区域(也可称为数据读通道)、控制写区域(也可称为控制写通道)和控制读区域(也可称为控制读通道)。其中,数据写区域、数据读区域可以构成数据通道,控制写通道和控制读通道可以构成控制通道。第一虚拟设备和第二虚拟设备可以通过数据通道来进行数据传输。在一个虚拟网闸系统中,第一虚拟设备的数据写区域即第二虚拟设备的数据读区域、第一虚拟设备的数据读区域即第二虚拟设备的数据写区域、第一虚拟设备的控制写区域即第二虚拟设备的控制读区域、第一虚拟设备的控制读区域即第二虚拟设备的控制写区域。需要说明的,第一网闸子系统中每个第一虚拟设备的处理资源也是不同的,第二网闸子系统中每个第二虚拟设备的处理资源也是不同的,并且,不同虚拟网闸系统中,共享的内存区域不同。在进行数据传输时,有效数据可以作为数据通道中的载荷并以载荷队列的形式进行存储,该载荷队列为一个先进先出的队列,具体的格式可以如下:载荷1载荷2载荷3……载荷n载荷的格式如下:载荷出端口IPIP包内容载荷长度其中,载荷出端口IP(InternetProtocol,网络协议)是指该载荷发送到第二虚拟设备后,第二虚拟设备向第二网络中的网络设备发送该载荷的端口。例如,第二虚拟设备收到该报文,在进行安全处理后,如果需要转发,需要从端口IP为“载荷出端口IP”的端口发送出去。IP包内容是指需要进行转发的IP报文(即有效数据)的具体内容。载荷长度是指载荷出端口IP和IP包内容的长度之和。第一CPU利用第一虚拟设备接收到业务报文后,可以根据预设的安全策略,对业务报文进行安全检测,根据安全检测的结果,对业务报文进行安全控制处理。如果安全检测通过(即符合预设的安全策略),则可以提取业务报文中的有效数据,比如可以提取传输层以下的数据,或提取应用层数据;如果安全检测未通过,则可以丢弃该业务报文,不进行后续处理。第一CPU利用第一虚拟设备提取到有效数据后,可以根据预先存储的第二虚拟设备的端口信息(即载荷出端口IP)和该有效数据,生成待传输的载荷,例如,可以在该有效数据前添加第二虚拟设备的出端口的IP地址信息以得到载荷,然后将生成的载荷存储到第一虚拟设备的数据写区域(即第一虚拟设备的数据写通道)中。可选的,可以限制数据通道中的载荷数目,具体的处理过程可以如下:当第一虚拟设备检测到第一虚拟设备的数据写区域中的有效数据的数目达到预设数目阈值时,停止向第一虚拟设备的数据写区域中存储有效数据。在实施中,第一CPU可以利用第一虚拟设备实时检测第一虚拟设备的数据写区域中的有效数据的数目(即载荷队列中所包含的载荷的数目)。当第一CPU可以利用第一虚拟设备检测到第一虚拟设备的数据写区域中的有效数据的数目达到预设数目阈值时,可以停止向第一虚拟设备的数据写区域中存储有效数据。步骤203,第二CPU利用第二虚拟设备从第一虚拟设备的数据写区域中读取有效数据。在实施中,第二CPU可以利用第二虚拟设备实时监听第一虚拟设备的数据写区域中是否存在有效数据的载荷,如果存在,则可以从第一虚拟设备的数据写区域中读取有效数据。可选的,对于上述限制数据通道中的载荷数目的情况,相应的,步骤203的处理过程可以如下:当第二CPU利用第二虚拟设备检测到第一虚拟设备的数据写区域中存在待读取的有效数据,且有效数据的数目达到预设数目阈值时,读取预设数目阈值个有效数据。在实施中,第二CPU可以利用第二虚拟设备实时检测第一虚拟设备的数据写区域中的有效数据的数目(即载荷队列中所包含的载荷的数目)。当第二CPU利用第二虚拟设备检测到有效数据的数目达到预设数目阈值时,可以从第一虚拟设备的数据写区域中读取该预设数目阈值个有效数据。或者,第一CPU可以利用第一虚拟设备检测到第一虚拟设备的数据写区域中的有效数据的数目达到预设数目阈值时,也可以向第二虚拟设备发送通知指令,第二虚拟设备则可以在接收到通知指令后,读取该预设数目阈值个有效数据。步骤204,第二CPU利用第二虚拟设备将有效数据发送给第二网络中的网络设备。在实施中,第二虚拟设备可以从载荷中,提取出载荷出端口IP和有效数据,然后可以根据载荷出端口IP,对该有效数据进行转发处理。以上为第一虚拟设备向第二虚拟设备发送有效数据(可称为第一有效数据)的处理过程,同理,第一虚拟设备也可以接收第二虚拟设备发送的有效数据(可称为第二有效数据),具体的处理过程可以为:当检测到第一虚拟设备的数据读区域中存在待读取的第二有效数据时,读取第二有效数据,并将第二有效数据发送给第一网络中的网络设备。可选的,第二虚拟设备也可以限制数据通道中的载荷数目,相应的,当第一虚拟设备检测到第一虚拟设备的数据读区域中存在待读取的第二有效数据,且第二有效数据的数目达到预设数目阈值时,第一虚拟设备可以读取该预设数目阈值个第二有效数据。该处理过程的具体说明可以参照上述步骤203的相关解释,此处不再赘述。本发明实施例中,还提供了虚拟网闸的报文转发流程,该报文转发流程和传统网闸的转发流程相同。在实际中,外网中的网络设备与内网中的网络设备之间的数据通信,通常是由外网中的网络设备发起的,内网中的网络设备根据外网中的网络设备发送的数据报文,回复响应消息。首先,以外网中的客户端通过虚拟网闸访问内网中的服务器(即正向流程)为例进行说明,其中,客户端的IP地址为220.1.1.1,端口为1000端口,服务器的IP地址为10.101.0.9,端口为80端口,10.101.0.9为服务器的实际IP地址。虚拟外端机和虚拟内端机中,会预先存储有与服务器的实际IP地址相对应的代理IP地址和代理端口,本实施例中,虚拟外端机中的代理IP地址为10.2.1.2,代理端口为80端口。虚拟内端机中的代理IP地址为10.1.1.2,端口为10000端口。具体的,虚拟外端机针对该服务器可以存储有以下表项:其中,方向为数据报文的发送方向,类型为数据报文的类型,监听地址为该服务器在虚拟外端机中的代理IP地址,监听端口为该服务器在虚拟外端机中的代理端口,连接地址为该服务器在虚拟内端机中对应的代理IP地址。当客户端需要向该服务器发送数据报文时,该客户端可以获取通过该服务器的域名,解析得到该服务器的监听IP地址和监听端口,然后以220.1.1.1为源IP地址、本地的10000端口为源端口、10.2.1.2为目的IP地址、80端口为目的端口,发送HTTP类型的数据报文。虚拟外端机接收到数据报文后,可以根据该数据报文中的目的IP地址和目的端口匹配到该表项,并对数据报文进行安全检测,比如包过滤、内容扫描、认证审查等。如果检测通过,则根据匹配到的上述表项建立会话,并保存该会话的会话信息。本实施例中,会话信息可以如下:其中,ID为会话ID;Prop为会话的协议;SIP为正向方向的源IP;DIP为正向方向的源IP;SPORT为正向方向的源端口;DPORT为正向方向的目的端口;ResSIP为反向方向源IP;ResDIP为反向方向目的IP;ResSPORT为反向方向源端口;ResDPORT为反向方向目的端口;State为会话的状态;正向方向为外端→内端的方向,反向方向为内端→外端的方向。虚拟外端机建立该会话后,会将该会话的会话信息同步到虚拟内端机,然后提取该数据报文中的应用层数据,用自定义的协议封装该应用层数据,封装后的数据中包含会话ID。虚拟外端机将封装后的数据(可称为载荷)放到数据写通道载荷队列。虚拟内端机从数据读通道的载荷队列中读取该载荷,然后从ID1PropTCP(6)SIP220.1.1.1DIP10.2.1.2SPORT10000DPORT80ResSIP10.101.0.9ResDIP10.1.1.2ResSPORT80ResDPORT10000StateSyn该载荷中提取会话ID,进而确定对应的会话信息。虚拟内端机根据该会话信息对该应用层信息进行封装,其中,封装后的数据报文中,源IP地址为服务器在虚拟内端机中对应的IP地址10.1.1.2,目的IP地址为服务器的实际IP地址10.101.0.9、源端口地址为10000端口,目的端口为服务器的80端口,通信协议的协议号为TCP(6)。虚拟内端机将封装后的数据报文发送给服务器。服务器接收到该数据报文后,可以回复响应消息,响应消息中的源IP地址为10.101.0.9、目的IP为10.1.1.2,源端口为80端口,目的端口为10000端口,协议号为TCP(6)。虚拟内端机收到该数据报文后,可以通过源IP地址、目的IP地址、源端口、目的端口和协议号进行反向匹配,即可匹配出上述会话信息,然后虚拟内端机对报文进行安全检测,如果检测通过,则提取该数据报文中的应用层数据和匹配出的会话ID,进而通过自定义的协议进行封装,得到封装后的数据(即载荷)放到虚拟内端机的数据写通道。虚拟外端机通过数据读通道,读取到该载荷,进而根据该载荷中的会话ID确定对应的会话信息。根据该会话信息,对该载荷中的应用层数据进行封装,得到数据报文,该数据报文中,源IP地址为10.2.1.2,目的IP为200.1.1.1,源端口为80端口,目的端口为10000端口,协议号为TCP(6)。虚拟外端机将该数据报文发送给该客户端,从而实现该客户端与服务器的通信。需要说明的是,如果是由服务器主动发起数据通信,类似的,技术人员需要在虚拟外端机和虚拟内端机中配置外网中的客户端对应的代理IP地址和代理端口等信息,虚拟内端机建立会话后,将该会话的会话信息同步到虚拟外端机,以实现服务器与客户端之间的数据通信。本发明实施例还提供了一种虚拟网闸系统的创建过程,在创建虚拟网闸系统时可以采用两种方式:方式一、优先创建虚拟外端机,由虚拟外端机的网闸子系统触发创建虚拟内端机;方式二、优先创建虚拟内端机,由虚拟内端机的网闸子系统触发创建虚拟外端机。为了便于说明,本发明实施例以方式一为例进行说明,其他情况与之类似,本实施例不在赘述。如图3所示,该处理过程可以包括以下步骤:步骤301,第一CPU利用第一网闸子系统接收第一创建指令,第一创建指令用于指示创建第一虚拟设备。在实施中,第一创建指令中携带第一设备类型的类型信息。技术人员可以在安全设备中安装第一网闸子系统和第二网闸子系统,每个网闸子系统由不同的CPU支持。技术人员在安装第一网闸子系统的过程中,可以通过安全设备的交互界面,选择第一网闸子系统的设备类型,该设备类型可以是虚拟内端机或虚拟外端机。第一CPU则会接收到创建指令(即第一创建指令),第一创建指令中携带有技术人员选择的设备类型(即第一设备类型)的类型信息。步骤302,第一CPU利用第一网闸子系统判断第一设备类型的类型信息是否为虚拟外端机。在实施中,第一CPU可以判断第一设备类型的类型信息是否为虚拟外端机,如果是,则可以执行步骤303,如果不是,则可以执行步骤312~313。步骤303,第一CPU利用第一网闸子系统创建虚拟外端机。在实施中,第一网闸子系统的第一CPU可以一次创建多个虚拟外端机(可记为out_vsi),具体数目可以由技术人员进行设置,针对创建的每个虚拟外端机,可以生成对应的虚拟设备标识,可称为ID(identification,身份保证),则该虚拟外端机的标识为out_vsi_id。步骤304,第一CPU利用第一网闸子系统向预设的命令交互区域中,下发第二创建指令,第二创建指令用于指示创建第二虚拟设备。可选的,第一CPU还可以设置命令交互内存地址。该设置过程可以预先执行,或者,也可以在步骤302之后、步骤303之前执行。具体的处理过程为:第一网闸子系统安装完成后,第一CPU可以根据预设的命令交互内存地址,设置命令交互区域。该命令交互内存地址可以预先存储在第一网闸子系统的代码中,也可以由技术人员在第一网闸子系统安装完成后输入。命令交互区域是第一网闸子系统和第二网闸子系统的共享的内存区域,第一网闸子系统和第二网闸子系统可以通过命令交互区域,实现指令交互。命令交互区域可以包括写指令区域和读指令区域,其中,第一网闸子系统的写指令区域即第二网闸子系统的读指令区域;第一网闸子系统的读指令区域即第二网闸子系统的写指令区域。具体的指令格式可以如下:虚拟设备ID指令类型指令描述读取标识其中,虚拟设备ID为接收该指令的虚拟设备的标识;虚拟设备ID为0代表接收方为网闸子系统;指令类型是对下发指令进行分类,用于表示指令属于哪一类型,比如创建或删除等;指令描述是指指令的具体内容,接收方接收到指令后,会对指令描述进行解析并执行;读取标识是用于描述该指令是否已经被读取,当接收方读取该指令后,会对该读取标识进行置位。在实施中,第一CPU创建第一虚拟设备(可称为第一虚拟外端机)后,可以向命令交互区域中的第一网闸子系统的写指令区域下发第二创建指令。第二创建指令用于指示创建第二虚拟设备,该第二创建指令中携带有虚拟设备标识(即生成的ID)和第二设备类型的类型信息(即虚拟内端机),以触发第二CPU执行步骤305~步骤307。其中,第一CPU可以创建多个第一虚拟外端机,相应的,可以向第一网闸子系统的写指令区域下发多个虚拟设备标识和第二设备类型的类型信息。步骤305,第二CPU利用第二网闸子系统从命令交互区域中读取第二创建指令。在实施中,第二CPU可以监听第一网闸子系统的写指令区域中的指令,当监听到存在待读取的第二创建指令时,可以读取该第二创建指令,并可以对第二创建指令进行解析,以获取虚拟设备标识(即生成的ID)和需要创建的虚拟设备的类型信息(即虚拟内端机)。步骤306,第二CPU利用第二网闸子系统创建虚拟内端机。在实施中,第二CPU利用第二网闸子系统获取到虚拟设备标识和需要创建的虚拟设备的类型信息(即虚拟内端机)后,可以创建第二虚拟设备(即虚拟内端机),该第二虚拟设备的ID与上述第一虚拟设备的ID相同,第二虚拟设备的标识可以为in_vsi_id。第一虚拟设备和其对应的第二虚拟设备可以构成一个虚拟网闸系统。步骤307,第二CPU利用第二网闸子系统将创建结果写入到对应的写指令区域。在实施中,第二CPU利用第二网闸子系统创建第二虚拟设备(即虚拟内端机)后,可以将创建结果以指令的形式写入到第二网闸子系统对应的写指令区域中,创建结果可以为创建成功或创建失败。步骤308,第一CPU利用第一网闸子系统监听第二网闸子系统对应的写指令区域中的指令。在实施中,第一CPU可以监听第二网闸子系统对应的写指令区域中的指令,当检测到第二网闸子系统对应的写指令区域中存在待读取的指令时,可以读取该指令,并对该指令进行解析,从而获取到创建结果。步骤309,第一CPU利用第一网闸子系统判断创建结果是否为创建成功。在实施中,如果该创建结果为创建成功,则可以执行步骤310,否则,执行步骤311。步骤310,第一CPU利用第一网闸子系统为第一虚拟设备分配对应的处理.资源和第一虚拟设备与第二虚拟设备共享的内存区域;第二CPU利用第二网闸子系统为第二虚拟设备分配对应的处理资源和第一虚拟设备与第二虚拟设备共享的内存区域。其中,处理资源可以包括CPU资源、内存资源、端口信息和会话数设置信息等。在实施中,第一CPU判断创建结果是否为创建成功后,可以为第一虚拟设备分配对应的处理资源和第一虚拟设备与第二虚拟设备共享的内存区域,第一CPU还可以通过第二CPU为第二虚拟设备分配对应的处理资源和第一虚拟设备与第二虚拟设备共享的内存区域第一网闸子系统和第二网闸子系统中可以分别存储相同的分配规则。第一网闸子系统的第一CPU可以根据该分配规则,为第一虚拟设备分配处理资源,并可以为第一虚拟设备分配共享的内存区域。同理,第二网闸子系统的第二CPU可以根据该分配规则,为第二虚拟设备分配处理资源,并可以为第二虚拟设备分配共享的内存区域。或者,技术人员可以在第一网闸子系统中,分别设置第一虚拟设备和第二虚拟设备对应的处理资源、以及第一虚拟设备和第二虚拟设备的共享的内存区域。例如,可以输入数据写通道、数据读通道、控制写通道和控制读通道的地址和大小,还可以输入分别输入第一虚拟设备和第二虚拟设备对应的CPU资源的大小、内存资源的大小、端口信息和会话数设置信息等。第一网闸子系统则可以根据技术人员设置指令进行设置,并通过对应的写指令区域通知第二网闸子系统,以使第二网闸子系统的第二CPU为第二虚拟设备分配处理资源、并配置第一虚拟设备和第二虚拟设备共享的内存区域。需要说明的,第一网闸子系统中每个第一虚拟设备的处理资源也是不同的,第二网闸子系统中每个第二虚拟设备的处理资源也是不同的,并且,不同虚拟网闸系统中,共享的内存区域不同。步骤311,第一CPU利用第一网闸子系统将虚拟外端机的工作状态设置为down。在实施中,如果虚拟内端机的创建结果为创建失败,则第一网闸子系统可以将虚拟外端机的工作状态设置为down,直到创建结果为创建成功后,再执行步骤310。步骤312,第一CPU利用第一网闸子系统将创建虚拟内端机。在实施中,对于上述技术人员选择在第一网闸子系统中创建虚拟内端机的情况,第一网闸子系统在执行步骤306时,可以从第一创建指令中,获取到需要创建的虚拟设备的类型信息(即虚拟内端机),然后可以生成对应的虚拟设备标识。步骤313,第一CPU利用第一网闸子系统将将创建结果写入到对应的写指令区域。在实施中,对于上述技术人员选择在第一网闸子系统中创建虚拟内端机的情况,第一CPU利用第一网闸子系统创建虚拟内端机后,也可以将创建结果写入到第一网闸子系统的写指令区域中,创建结果可以为创建成功或创建失败。基于上述创建过程,一个安全设备中可以创建多个虚拟网闸系统,多个虚拟网闸系统可以为多个租户提供服务,从而降低了布网成本。本发明实施例还提供了一种虚拟网闸系统的安全策略的配置过程,在配置安全策略时可以采用两种方式:方式一、在虚拟外端机中进行配置,由虚拟外端机将安全策略下发给虚拟内端机;方式二、在虚拟内端机中进行配置,由虚拟内端机将安全策略下发给虚拟外端机。为了便于说明,本发明实施例以采用方式一配置安全策略、第一虚拟设备为虚拟外端机、第二虚拟设备为虚拟内端机为例进行说明,其他情况与之类似,本实施例不在赘述。如图4所示,该处理过程可以包括以下步骤:步骤401,第一CPU利用第一虚拟设备接收安全策略配置指令,安全策略配置指令中携带第一虚拟设备的安全策略和第二虚拟设备的安全策略。在实施中,技术人员可以在第一虚拟设备中配置安全策略,第一虚拟设备则可以接收到技术人员输入的安全策略配置指令,该安全策略配置指令中可以携带第一虚拟设备的安全策略和第二虚拟设备的安全策略。步骤402,第一CPU利用第一虚拟设备在将第二虚拟设备的安全策略存储到内存区域中的第一虚拟设备的控制写区域。在实施中,第一CPU可以利用第一虚拟设备在接收到的安全策略中,识别第二虚拟设备对应的安全策略,以及属于本地的安全策略,具体的识别方式属于现有技术,本实施例不做限定。如上所述,第一虚拟设备和第二虚拟设备可以通过控制通道进行安全策略和其他控制指令的传输。控制通道中的指令格式可以如下:配置类型配置内容读取标识其中,配置类型可以由技术人员预先设置,不同配置类型对应的配置内容的格式不同;配置内容是用于描述配置的具体内容(比如安全策略的具体内容)。读取标识是用于描述该指令是否已经被读取,当接收方读取该指令后,会对该读取标识进行置位。第一CPU利用第一虚拟设备识别出第二虚拟设备对应的第一安全策略后,可以基于上述指令格式,将第一安全策略存储到第一虚拟设备的控制写区域。步骤403,第二CPU利用第二虚拟设备从第一虚拟设备的控制写区域中读取第一安全策略,并对第一安全策略进行存储。在实施中,第二CPU可以利用第二虚拟设备检测第一虚拟设备的控制写区域中是否存在待读取的指令,如果存在,则可以读取该指令,并对该指令进行解析,以获取第一安全策略,然后对第一安全策略进行存储。可选的,第二虚拟设备还可以通过第一虚拟设备对应的控制读区域向第一虚拟设备发送响应指令。该响应指令的格式可以如下:状态类型状态内容读取标识其中,状态类型可以由技术人员预先设置,不同状态类型对应的状态内容的格式不同;状态内容是用于描述状态的具体内容(比如安全策略配置成功或安全策略配置失败)。读取标识是用于描述该指令是否已经被读取,当接收方读取该指令后,会对该读取标识进行置位。第一虚拟设备可以从第一虚拟设备对应的控制读区域中读取该响应指令,然后对该响应指令进行解析,以获取状态内容,从而获取安全策略是否配置成功。另外,对于在第二虚拟设备中下发安全策略的情况,当第一虚拟设备检测到第一虚拟设备对应的控制读区域中存在待读取的安全策略时,可以读取该安全策略,并对该安全策略进行存储。其中,第一虚拟设备对应的控制读区域是第二虚拟设备对应的控制写区域。该处理过程的具体说明可以参照上述步骤403的相关解释,此处不再赘述。本申请实施例中,安全设备包括:第一CPU、第二CPU及内存;第一CPU上运行第一网闸子系统,第二CPU上运行第二网闸子系统;其中,第一CPU利用第一网闸子系统创建有多个第一虚拟设备,第一虚拟设备与第一网络连接,第二CPU利用第二网闸子系统创建有多个第一虚拟设备分别对应的多个第二虚拟设备,第二虚拟设备与第二网络连接;内存中配置有第一虚拟设备和第一虚拟设备对应的第二虚拟设备共享的内存区域;第一CPU利用第一虚拟设备接收第一网络中的网络设备发送的业务报文;如果第一CPU利用第一虚拟设备判定业务报文符合预设的安全策略,则提取业务报文中的有效数据,并将有效数据存储到内存区域中的第一虚拟设备的数据写区域;第二CPU利用第二虚拟设备从第一虚拟设备的数据写区域中读取有效数据;第二CPU利用第二虚拟设备将有效数据发送给第二网络中的网络设备。基于本方案,可以在一台安全设备中虚拟化出多个虚拟网闸系统,为多个租户提供网闸安全服务,减少了硬件设备的数目,从而可以降低布网成本。基于相同的技术构思,本发明实施例还提供了一种安全设备,如图5所示,该安全设备,包括:第一CPU510、第一CPU520及内存;所述第一CPU510上运行第一网闸子系统,所述第一CPU520上运行第二网闸子系统;其中,所述第一CPU510利用第一网闸子系统创建有多个第一虚拟设备511,所述第一虚拟设备511与第一网络连接,所述第一CPU520利用第二网闸子系统创建有所述多个第一虚拟设备511分别对应的多个第二虚拟设备521,所述第二虚拟设备521与第二网络连接;所述内存中配置有所述第一虚拟设备511和所述第一虚拟设备511对应的第二虚拟设备521共享的内存区域530,其中:所述第一CPU510,用于利用所述第一虚拟设备511接收所述第一网络中的网络设备发送的业务报文;所述第一CPU510,用于如果利用所述第一虚拟设备511判定所述业务报文符合预设的安全策略,则提取所述业务报文中的有效数据,并将所述有效数据存储到所述内存区域中的所述第一虚拟设备511的数据写区域;所述第一CPU520,用于利用所述第二虚拟设备521从所述第一虚拟设备511的数据写区域中读取所述有效数据;所述第一CPU520用于利用所述第二虚拟设备521将所述有效数据发送给所述第二网络中的网络设备。可选的,所述第一CPU510还用于:当利用所述第一虚拟设备511检测到所述第一虚拟设备511的数据写区域中的有效数据的数目达到预设数目阈值时,停止向所述第一虚拟设备511的数据写区域中存储有效数据。可选的,所述第一CPU510还用于:当利用所述第二虚拟设备521检测到所述第一虚拟设备511的数据写区域中存在待读取的有效数据,且所述有效数据的数目达到所述预设数目阈值时,读取所述预设数目阈值个有效数据。可选的,所述第一CPU510,还用于利用所述第一虚拟设备511接收安全策略配置指令,所述安全策略配置指令中携带所述第一虚拟设备511的安全策略和所述第二虚拟设备521的安全策略;所述第一CPU510,还用于利用所述第一虚拟设备511将所述第二虚拟设备521的安全策略存储到所述内存区域中的所述第一虚拟设备511的控制写区域;所述第一CPU520,还用于利用所述第二虚拟设备521从所述第一虚拟设备511的控制写区域中读取所述第一安全策略,并对所述第一安全策略进行存储。可选的,所述第一CPU510,用于利用所述第一网闸子系统接收第一创建指令,所述第一创建指令用于指示创建第一虚拟设备;所述第一CPU510,还用于利用所述第一网闸子系统创建第一虚拟设备511;所述第一CPU510,还用于利用所述第一网闸子系统向预设的命令交互区域中,下发第二创建指令,所述第二创建指令用于指示创建所述第二虚拟设备521;所述第一CPU520,用于利用所述第二网闸子系统从所述命令交互区域中读取所述第二创建指令,并创建第二虚拟设备521;所述第一CPU510,还用于利用所述第一网闸子系统为所述第一虚拟设备511分配对应的处理资源和所述第一虚拟设备511与所述第二虚拟设备521共享的内存区域530;所述第一CPU520,还用于利用所述第二网闸子系统为所述第二虚拟设备521分配对应的处理资源和所述第一虚拟设备511与所述第二虚拟设备521共享的内存区域530。本申请实施例中,安全设备包括:第一CPU、第二CPU及内存;第一CPU上运行第一网闸子系统,第二CPU上运行第二网闸子系统;其中,第一CPU利用第一网闸子系统创建有多个第一虚拟设备,第一虚拟设备与第一网络连接,第二CPU利用第二网闸子系统创建有多个第一虚拟设备分别对应的多个第二虚拟设备,第二虚拟设备与第二网络连接;内存中配置有第一虚拟设备和第一虚拟设备对应的第二虚拟设备共享的内存区域;第一CPU利用第一虚拟设备接收第一网络中的网络设备发送的业务报文;如果第一CPU利用第一虚拟设备判定业务报文符合预设的安全策略,则提取业务报文中的有效数据,并将有效数据存储到内存区域中的第一虚拟设备的数据写区域;第二CPU利用第二虚拟设备从第一虚拟设备的数据写区域中读取有效数据;第二CPU利用第二虚拟设备将有效数据发送给第二网络中的网络设备。基于本方案,可以在一台安全设备中虚拟化出多个虚拟网闸系统,为多个租户提供网闸安全服务,减少了硬件设备的数目,从而可以降低布网成本。需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。以上所述仅为本申请的较佳实施例而已,并非用于限定本申请的保护范围。凡在本申请的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本申请的保护范围内。当前第1页1 2 3 
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1