一种设备要求网站怎么增加流量量,在负载允许的情况...

一种单向流量的检测方法及网络设备的制作方法
专利名称一种单向流量的检测方法及网络设备的制作方法
一种单向流量的检测方法及网络设备技术领域
本发明属于安全检测领域,尤其涉及一种单向流量的检测方法及网络设备。
背景技术当前,在硬件安全市场中,反病毒(Ant1-Virus,AV)或者数据泄露防护 (DataLoss,DLP)等实现内容安全检测的功能,已经成为UTM或者其他网络安全设备必备的安全功能。由于AV或者DLP等特性本身主要都是对文件进行操作,如果每次都是对文件的部分内容进行操作,而不是整个文件的话,特性的检测率就会受到很大影响。在此基础上, 出现了代理技术。
代理可以使得网络设备充当中间人的角色,将报文中的文件内容全部缓存下来, 待到整个文件全部还原后再进行安全检测,可以明显提高检测率。
现有代理技术依赖于宿主操作系统提供的内核态协议栈功能,报文要到达应用程序,需要经过多次的报文拷贝,这在性能上是一个巨大的开销。同时,由操作系统内核来完全维护链接需要的所有信息,应用程序无法做到任何干预。
由操作系统内核来维护链接信息所带来的缺点是所有报文必须全部经过操作系统内核,才能实现链接信息的正常维护以形成完整的文件内容。而如果在单向流量场景下, 报文会根据当前网络负载情况选择不同的链路进行转发。如果文件中有一个报文从其他路径转发而并没有经过内核进行处理,则此时该文件就会由于链接信息的不一致导致丢包, 最终导致该文件的链接中断,无法形成完整的文件内容。因此,现有代理技术都不支持单向流量检测。发明内容
本发明实施例的目的在于提供一种检测单向流量的方法。所述方法在具有统一网关出口的负载均衡场景下,基于代理技术实现对单向流量的安全检测。
第一方面,一种单向流量的检测方法,其特征在于,所述方法包括
接收网关转发的报文;
当所述报文命中会话时,根据接收的检测系统中的其他网络设备发送的同步信息中的协议栈信息对所述报文进行解析,获得所述报文的同步信息,其中,所述检测系统中包括至少两个网络设备,所述报文的同步信息中包含有协议栈信息和应用层数据;
判断所述报文的同 步信息中的应用层数据是否为文件;
如果所述报文的同步信息中的应用层数据是文件,则缓存所述应用层数据;
将所述报文的同步信息中的应用层数据与所述其他网络设备发送的同步信息中的应用层数据进行组合获得文件;
如果所述报文是所述文件的最后一个报文,则对所述文件进行安全检测;
如果所述报文不是所述文件的最后一个报文,则将所述报文的同步信息发送给所述其他网络设备,以使所述其他网络设备根据所述报文的同步信息对所述文件进行安全检测。
结合第一方面,在第一方面的第一种可能的实现方式中,所述根据接收的检测系统中的其他网络设备发送的同步信息中的协议栈信息对所述报文进行解析包括
接收所述其他网络设备发送的封装的同步信息,其中所述其他网络设备发送的同步信息中包含有所述其他网络设备接收的文件的其他报文的协议栈信息以及应用层数据信息;
对所述其他网络设备发送的封装的同步信息进行解封装;
根据解封装后的所述其他网络设备发送的同步信息中的协议栈信息对所述报文进行解析。
结合第一方面,在第一方面的第二种可能的实现方式中,所述将所述报文的同步信息发送给所述其他网络设备包括
将所述报文的同步信息进行封装;
将封装后的所述报文的同步信息发送给所述其他网络设备。
结合第一方面或者第一方面的第一种可能的实现方式或者第一方面的第二种可能的实现方式,在第一方面的第三种可能的实现方式中,所述同步信息中还包括五元组信息,所述方法还包括
根据接收的所述其他网络设备发送的同步信息中的五元组信息建立会话。
结合第一方面的第三种可能的实现方式,在第一方面的第四种可能的实现方式中,还包括
如果所述报文的同步信息中的应用层数据不是文件,则根据所述五元组信息将所述报文通过所述网关设备进行转发。
第二方面,一种网络设备,所述网络设备包括
接收单元,用于接收网关转发的报文;
解析单元,用于当所述报文命中会话时,根据接收的检测系统中的其他检测设备发送的同步信息中的协议栈信息对所述报文进行解析,获得所述报文的同步信息,其中,所述检测系统中包括至少两个检测设备,所述报文的同步信息中包含有协议栈信息和应用层数据;
判断单元,用于判断所述报文的同步信息中的应用层数据是否为文件;
缓存单元,用于如果`所述报文的同步信息中的应用层数据是文件,则缓存所述应用层数据;
组合单元,用于将所述`报文的同步信息中的应用层数据与所述其他检测设备发送的同步信息中的应用层数据进行组合获得文件;
安全检测单元,用于如果所述报文是所述文件的最后一个报文,则对所述文件进行安全检测;
发送单元,用于如果所述报文不是所述文件的最后一个报文,则将所述报文的同步信息发送给所述其他检测设备,以使所述其他检测设备根据所述报文的同步信息对所述文件进行安全检测。
结合第二方面,在第二方面的第一种可能的实现方式中,所述解析单元,包括
第一接收子单元,用于接收所述其他检测设备发送的封装的同步信息,其中所述其他检测设备发送的同步信息中包含有所述其他检测设备接收的文件的其他报文的协议栈信息以及应用层数据信息。
解封装子单元,用于对所述其他检测设备发送的封装的同步信息进行解封装;
解析子单元,用于根据解封装后的所述其他检测设备发送的同步信息中的协议栈信息对所述报文进行解析。
结合第二方面,在第二方面的第二种可能的实现方式中,所述发送单元,包括
封装子单元,用于将所述报文的同步信息进行封装;
发送子单元,用于将封装后的所述报文的同步信息发送给所述其他检测设备。
结合第二方面或者第二方面的第一种可能的实现方式或者第二方面的第二种可能的实现方式,在第二方面的第三种可能的实现方式中,所述同步信息还包括五元组信息,
所述网络设备还包括
会话建立单元,用于根据接收的所述其他检测设备发送的同步信息中的五元组信息建立会话。
结合第二方面的第三种可能的实现方式,在第二方面的第四种可能的实现方式中,所述网络设备还包括
转发单元,用于如果所述报文的同步信息中的应用层数据不是文件,则根据所述五元组信息将所述报文通过所述网关设备进行转发。
第三方面,一种系统,所述系统包括至少两个上述网络设备,所述至少两个网络设备用于实现网络流量的负载均衡。
本发明实施例提供的一种单向流量的检测方法,通过根据接收检测系统中其他网络设备发送的同步信息中的协议栈信息对报文进行解析,并将所述报文的同步信息中的应用层数据与所述其他网络设备发送的同步信息中的应用层数据进行组合获得文件,如果所述报文是所述文件的最后一个报文时,则对所述文件进行安全检测,如果所述报文不是所述文件的最后一个报文时,则将所述报文的同步信息发送给其他网络设备,以使得所述其他网络设备根据所述报文的同步信息对所述文件进行检测,从而能够在利用多个网络设备接收文件的报文的情形下基于代理技术实现对单向流量的安全检测。
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例提供的一种检测单向流量的方法应用场景图2是本发明实施例提供的一种单向流量检测的方法流程图3是本发明实施例提供的一种网络设备的装置结构图4是本发明实施例提供的一种网络设备中解析单元的装置结构图5是本发明实施例提供的一种网络设备中发送单元的装置结构图6是本发明实施例提供的又一种网络设备的装置结构图7是本发明实施例提供的又一种网络设备的装置结构图8是本发明实施例提供的一种系统结构图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。
参考图1,图1是本发明实施例提供的一种单向流量的检测方法应用场景图。
如图1所示,内网具有统一的网关出口,在内网中部署有至少两台的网络设备,图1中以两台网络设备(网络设备A和网络设备B)为例进行说明,其中,网络设备和内网用户的个人电脑(Personal Computer,PC)全部连接在办公网络上,网络设备A和网络设备B具有同一的网关出口,即通过同一个网关设备C实现内网PC与外网设备的通信流量的转发, 网络设备A和网络设备B构成的网络系统可以对至少一个PC的流量进行转发,因此,网络设备A和网络设备B需要对内网的至少一个PC与外部设备的流量进行处理、检测和转发, 并能实现流量过滤的功能,且网络设备A和网络设备B能够实现流量的负载均衡。
需要说明的是,本发明实施例中的多个网络设备包括网络设备及具有流量检测功能的其他网络设备,同样的,该多个网络设备构成的网络系统包括由多个网络设备构成的检测系统以及具有流量检测功能的网络系统。为了描述方便,下面的实施例中,将该多个网络设备构成的网络系统称为检测系统。
参考图2,图2是本发明实施例提供的一种单向流量的检测方法流程图。该方法可以由图1中的网络设备A或网络设备B来执行,如图2所示,该方法包括以下步骤
步骤201,接收网关转发的报文;
步骤202,当所 述报文命中会话时,根据接收的检测系统中的其他网络设备发送的同步信息中的协议栈信息对所述报文进行解析,获得所述报文的同步信息,其中,所述检测系统中包括至少两个网络设备,所述至少两个网络设备用于实现网络流量的负载均衡,所述报文的同步信息中包含有协议栈信息和应用层数据;
其中,所述协议栈信息包括但不限于序列号、确认(Acknowledgement, ACK)号、头部长度、标记位、选项。
可实现的,所述根据接收的检测系统中的其他网络设备发送的同步信息中的协议栈信息对所述报文进行解析包括
接收所述其他网络设备发送的封装的同步信息,其中所述其他网络设备发送的同步信息中包含有所述其他网络设备接收的文件的其他报文的协议栈信息以及应用层数据信息;
对所述其他网络设备发送的封装的同步信息进行解封装;
根据解封装后的所述其他网络设备发送的同步信息中的协议栈信息对所述报文进行解析。
具体的,网络设备B接收网络设备A发送的封装的同步信息,所述网络设备将网络设备A发送的封装的同步信息进行解封装,并根据解封装后的同步信息中的协议栈信息对所述网络设备B接收的第二报文进行解析。
步骤203,判断所述报文的同步信息中的应用层数据是否为文件;
具体的,如果报文以HTTP协议传输,则当解码后应用层数据中出现 Content-Disposition字段,就认为后面的数据的应用层数据是在传文件;如果报文以FTP 协议传输,则当出现命令RETR,会新建一个链接,则认为此链接是在传输文件。
步骤204,如果所述报文的同步信息中的应用层数据是文件,则缓存所述应用层数据;
具体的,当网络设备A接收第一报文的同步信息中应用层数据是文件时,则所述网络设备A缓存所述应用层数据;当网络设备B接收第二报文的同步信息中的应用层数据是文件时,则所述网络设备B缓存所述应用层数据。
步骤205,将所述报文的同步信息中的应用层数据与所述其他网络设备发送的同步信息中的应用层数据进行组合获得文件;
本领域人员可以知道,同一时间一个会话只能传输一个文件,因此,当通过多个设备进行负载均衡的情况下,在同一时间,同一文件的多个报文可以经过多个网络设备进行传输。由于同一个会话中的五元组信息(包括源IP、目的IP、源端口、目的端口及协议类型)相同,而ACK号不同,因此,可以根据报文的五元组信息确定不同的报文是否属于同一个会话,从而可以根据报文的五元组信息来确定不同的报文是否属于同一个文件。并根据报文的ACK号将属于同一个文件的多个报文的应用层数据内容进行拼接以形成完整的文件内容。
步骤206,如果所述报文是所述文件的最后一个报文,则对所述文件进行安全检测;
本领域人员可以知道,在进行文件传输时,会在该文件的最后一个数据包中打上传输结束的标识以表明该数据包为某个文件的最后一个数据包,因此,在本发明实施例中, 可以根据报文中的结束标识来确定接收的报文是否为文件的最后一个报文,例如如果在报文中出现FIN或RST标记,则表示该报文为文件的最后一个报文。
步骤207,如果所述报文不是所述文件的最后一个报文,则将所述报文的同步信息发送给所述其他网络设备,以使所述其他网络设备根据所述报文的同步信息对所述文件进行安全检测。
可实现的,在步骤207中,为了保证文件链接的正确性和完整性,所述将所述报文的同步信息发送给所述其他网络设备可以包括
将所述报文的同步信息进行封装;
将封装后的所述报文 的同步信息发送给所述其他网络设备。
具体的,当网络设备A判断接收的第一个报文不是文件的最后一个报文时,则所述网络设备A将第一报文的同步信息进行封装,发送到网络设备B,使得所述网络设备B根据解封装后得到的第一报文的同步信息对第二报文进行解析。
作为一种可选的实施例,所述方法还包括
如果所述报文的同步信息中的应用层数据不是文件,则根据所述五元组信息将所述报文通过所述网关设备进行转发。
其中,所述五元组信息包括源IP、目的IP、源端口、目的端口、传输层协议。当网络设备A判断所述报文的同步信息中的应用层数据不是文件时,则可以根据该报文的五元组信息将该报文通过网络设备C进行转发。
本发明实施例提供的一种单向流量的检测方法,通过根据接收的检测系统中其他网络设备发送的同步信息中的协议栈信息对报文进行解析,并将所述报文的同步信息中的应用层数据与所述其他网络设备发送的同步信息中的应用层数据进行组合获得文件,如果所述报文是所述文件的最后一个报文时,则对所述文件进行安全检测,如果所述报文不是所述文件的最后一个报文时,则将所述报文的同步信息发送给其他网络设备,以使得所述其他网络设备根据所述报文的同步信息对所述文件进行检测从而实现对单向流量基于代理技术的安全检测。
参考图3,图3是本发明实施例提供的一种网络设备的装置结构图。所述装置包括如下单元
接收单元301,用于接收网关转发的报文;
解析单元302,用于当所述报文命中会话时,根据所述接收单元接收的检测系统中的其他检测设备发送的同步信息中的协议栈信息对所述报文进行解析,获得所述报文的同步信息,其中,所述检测系统中包括至少两个检测设备,所述报文的同步信息中包含有协议栈信息和应用层数据;
其中,所述协议栈信息包括但不限于序列号、确认(Acknowledgement, ACK)号、头部长度、标记位、选项。
可实现的,所述解析单元302,包括
第一接收子单元401,用于接收所述其他检测设备发送的封装的同步信息,其中所述其他检测设备发送的同步信息中包含有所述其他检测设备接收的文件的其他报文的协议栈信息以及应用层数据信息;
解封装子单元402,用于对所述第一接收子单元接收的所述其他检测设备发送的封装的同步信息进行解封装;
解析子单元403,用于根据所述解封装子单元解封装后的所述其他检测设备发送的同步信息中的协议栈信息对所述报文进行解析。
判断单元303,用于判断所述解析单元获得的所述报文的同步信息中的应用层数据是否为文件;
具体的,如果报文以HTTP协议传输,则当解码后应用层数据中出现 Content-Disposition字段,就认为后面的数据的应用层数据是在传文件;如果报文以FTP 协议传输,则当出现命令RETR,会新建一个链接,则认为此链接是在传输文件。
缓存单元304,用于如果所述报文的同步信息中的应用层数据是文件,则缓存所述应用层数据;
具体的,当网络设备A接收第一报文的同步信息中应用层数据是文件时,则所述网络设备A缓存所述应用层数据;当网络设备B接收第二报文的同步信息中的应用层数据是文件时,则所述网络设备B缓存所述应用层数据。
组合单元305, 用于将所述报文的同步信息中的应用层数据与所述其他检测设备发送的同步信息中的应用层数据进行组合获得文件;
本领域人员可以知道,同一时间一个会话只能传输一个文件,因此,当通过多个设备进行负载均衡的情况下,在同一时间,同一文件的多个报文可以经过多个网络设备进行传输。由于同一个会话中的五元组信息(包括源IP、目的IP、源端口、目的端口及协议类型)相同,而ACK号不同,因此,可以根据报文的五元组信息确定不同的报文是否属于同一个会话,从而可以根据报文的五元组信息来确定不同的报文是否属于同一个文件。并根据报文的ACK号将属于同一个文件的多个报文的应用层数据内容进行拼接以形成完整的文件内容。
安全检测单元306,用于如果所述报文是所述文件的最后一个报文,则对所述文件进行安全检测;
发送单元307,用于如果所述报文不是所述文件的最后一个报文,则将所述报文的同步信息发送给所述其他检测设备,以使所述其他检测设备根据所述报文的同步信息对所述文件进行安全检测。
可实现的,所述发送单元307,包括
封装子单元501,用于将所述报文的同步信息进行封装;
发送子单元502,用于将所述封装子单元封装后的所述报文的同步信息发送给所述其他检测设备。
本领域人员可以知道,在进行文件传输时,会在该文件的最后一个数据包中打上传输结束的标识以表明该数据包为某个文件的最后一个数据包,因此,在本发明实施例中, 可以根据报文中的结束标识来确定接收的报文是否为文件的最后一个报文。
具体的,当网络设备A判断接收的第一个报文不是文件的最后一个报文时,则所述网络设备A将第一报文的同步信息进行封装,发送到网络设备B,使得所述网络设备B根据解封装后得到的第一报文的同步信息对第二报文进行解析。
其中,所述五元组信息包括源IP、目的IP、源端口、目的端口、传输层协议。当网络设备A判断所述报文的同步信息中的应用层数据不是文件时,则可以根据该报文的五元组信息将该报文通过网络设备C进行转发。
作为一种可选的实施例,所述同步信息还包括五元组信息,
所述网络设备还包括
会话建立单元,用于根据·接收的所述其他网络设备发送的同步信息中的五元组信息建立会话。
图6本发明实施例提供的图1中所示网络设备的又一种装置结构示意图。如图6 所示,其中会话管理模块可以包括图3所示实施例中的接收单元201,用户态协议栈处理模块可以包括图3所示实施例中的解析单元202、判断单元203,应用层处理模块可以包括图 3所示实施例中的缓存单元204、组合单元205、安全检测单元206,消息处理模块可以包括图3所示实施例中的发送单元207。
假设外网发送文件分为第一报文和第二报文。当网络设备A接收到来自于外网的第一报文时,当所述第一报文是会话报文时,所述网络设备A的会话管理模块提取第一报文中的会话信息;所述网络设备A的用户态协议栈处理模块获取的第一报文中的同步信息,存储第一报文同步信息中的协议栈信息,将第一报文同步信息中的应用层数据发送到网络设备A的应用层代理模块,并将第一报文的同步信息发送给消息处理模块进行同步信息的封装,发给网络设备B。
网络设备B和网络设备A根据预先设置的IP地址列表是联网的,网络设备B将接收到网络设备A发送的封装的同步信息,所述网络设备B解封装所述封装的同步信息,将第一报文中的会话信息存储在网络设备B的会话管理模块,将第一报文中的同步信息存储在网络设备B的用户态协议栈,将第一报文中的应用层数据存储在网络设备B的应用层代理模块。
当网络设备B接收到来自外网发送的同一个文件的第二报文时,所述网络设备B 的会话管理模块根据网络设备A同步的同步信息中的协议栈信息对第二报文进行解析,提取第二报文中的会话信息;所述网络设备B的用户态协议栈处理模块提取第二报文中的同步信息,存储第二报文同步信息中的协议栈信息,将第二报文同步信息中的应用层数据发送到网络设备B的应用层代理模块。网络设备B的应用层代理模块将之前存储的第一报文的应用层数据和现在解析的第二报文的应用层数据进行组合获得文件。
同时,所述网络设备B判断所述第二报文已经是所述文件的最后一个报文时,则所述网络设备B通过应用层代理模块对所述文件进行安全检测。
本发明实施例提供的一种网络设备,通过根据接收的检测系统中其他网络设备发送的同步信息中的协议栈信息对报文进行解析,并将所述报文的同步信息中的应用层数据与所述其他网络设备发送的同步信息中的应用层数据进行组合获得文件,如果所述报文是所述文件的最后一个报文时,则对所述文件进行安全检测,如果所述报文不是所述文件的最后一个报文时,则将所述报文的同步信息发送给其他网络设备,以使得所述其他网络设备根据所述报文的同步信息对所述文件进行检测从而实现对单向流量基于代理技术的安全检测。
参考图7,图7是本发明实施例提供的一种网络设备的装置结构图。参考图7,图7 是本发明实施例提供的一种网络设备700,本发明具体实施例并不对所述设备的具体实现做限定。所述网络设备700包括
处理器(processor)701,通信接口(Communications Interface) 702,存储器 (memory) 703,总线 704。
处理器701,通信接口 702,存储器703通过总线704完成相互间的通信。
通信接口 702,用于与其他网络设备进行通信;
处理器701,用于执行程序。
具体地,程序可以包括程序代码,所述程序代码包括计算机操作指令。
处理器701可能是一个中央处理器CPU,或者是特定集成电路ASIC (Application Specific Integrated Circuit),或者是被配置成实施本发明实施例的一个或多个集成电路。
存储器703,用于存放程序 7031。存储器803可能包含高速RAM存储器,也可能还包括非易失性存储器(non-volatile memory)。
程序7031具体可以包括
接收网关转发的报文;
当所述报文命中会话时,根据接收的检测系统中的其他网络设备发送的同步信息中的协议栈信息对所述报文进行解析,获得所述报文的同步信息,其中,所述检测系统中包括至少两个网络设备,所述报文的同步信息中包含有协议栈信息和应用层数据;
判断所述报文的同步信息中的应用层数据是否为文件;
如果所述报文的同步信息中的应用层数据是文件,则缓存所述应用层数据;
将所述报文的同步信息中的应用层数据与所述其他网络设备发送的同步信息中的应用层数据进行组合获得文件;
如果所述报文是所述文件的最后一个报文,则对所述文件进行安全检测;
如果所述报文不是所述文件的最后一个报文,则将所述报文的同步信息发送给所述其他网络设备,以使所述其他网络设备根据所述报文的同步信息对所述文件进行安全检测。
程序7031中各功能模块的具体实现可以参见上述图4-图6所示实施例中的相应模块,在此不再赘述。
参考图8,图8是本发明实施例提供的一种检测系统结构图。如图8所示,为了描述方便,图8以检测系统中包括3个网络设备(网络设备1、网络设备2,网络设备3)为例进行描述,实际应用中,所述系统可以包括至少两个网络设备,所述至少两个网络设备用于实现网络流量的负载均衡;
所述网络设备,用于接收网关转发的报文;当所述报文命中会话时,根据接收的检测系统中的其他网络设备发送的同步信息中的协议栈信息对所述报文进行解析,获得所述报文的同步信息,所述报文的同步信息中包含有协议栈信息和应用层数据;判断所述报文的同步信息中的应用层数据是否为文件;如果所述报文的同步信息中的应用层数据是文件,则缓存所述应用层数据;将所述报文的同步信息中的应用层数据与所述其他网络设备发送的同步信息中的应用层数据进行组合获得文件;如果所述报文是所述文件的最后一个报文,则对所述文件进行安全检测;如果所述报文不是所述文件的最后一个报文,则将所述报文的同步信息发送给所述其他网络设备,以使所述其他网络设备根据所述报文的同步信息对所述文件进行安全检测。
图8以检测系统中包括3个网络设备(网络设备1、网络设备2,网络设备3)为例进行描述,假设外网发送文件分为第一报文和第二报文至第N报文,其中N等于或大于2,当网络设备I接收到来自于外网的第一报文时,当所述第一报文是会话报文时,所述网络设备I 的会话管理模块提取第一报文中的会话信息;所述网络设备I的用户态协议栈处理模块获取的第一报文中的同步信息,存储第一报文同步信息中的协议栈信息,将第一报文同步信息中的应用层数据发送到网络设备I的应用层代理模块,并将第一报文的同步信息发送给消息处理模块进行同步信息的封装,同步发给网络设备2。
网络设备2和网络设备I根据预先设置的IP地址列表是联网的,网络设备2将接收到网络设备I发送的封装的同步信息,所述网络设备2解封装所述封装的同步信息,将第一报文中的会话信息存储在网络设备2的会话管理模块,将第一报文中的同步信息存储在网络设备2的用户态协议栈处理模块,将第一报文中的应用层数据存储在网络设备2的应用层代理模块。
当网络设备2 接收到来自外网发送的同一个文件的第二报文时,所述网络设备2 的用户态协议栈处理模块提取第二报文中的同步信息,存储第二报文同步信息中的协议栈信息,将第二报文同步信息中的应用层数据发送到网络设备2的应用层代理模块。网络设备2的应用层代理模块将之前存储的第一报文的应用层数据和现在解析的第二报文的应用层数据进行组合获得文件。
同时,所述网络设备2判断所述第二报文不是所述文件的最后一个报文时,则所述网络设备2通过消息处理模块将第二报文的同步信息进行封装,发送给系统中的其他网络设备,所述其他网络设备为除2以外的系统中的所有网络设备,例如网络设备I。
当所述网络设备3接收到来自外网发送的同一个文件的第N报文时,所述网络设备3的会话管理模块根据网络设备3同步的同步信息中的协议栈信息对第N报文进行解析,提取第N报文中的会话信息;所述网络设备3的用户态协议栈提取第N报文中的同步信息,存储第N报文同步信息中的协议栈信息,将第N报文同步信息中的应用层数据发送到网络设备3的应用层代理模块。网络设备3的应用层代理模块将之前存储的第一报文的应用层数据,第二报文的应用层数据及第N-1报文的应用层数据和现在解析的第N报文的应用层数据进行组合获得文件。
同时,所述网络设备3判断所述第N报文已经是所述文件的最后一个报文时,则所述网络设备3通过应用层代理模块对所述文件进行安全检测。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的设备和模块的具体工作过程,可以参考前述方法实施例中的对应过程描述,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的设备和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个模块或组件可以结合或者可以集成到另一个设备中,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些通信接口,装置或模块的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部,模块来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能模块可以集成在一个处理模块中,也可以是各个模块单独物理存在,也可以两个或两个以上模块集成在一个模块中。
最后应说明的是以上各实施例仅用以说明本发明的技术方案,而非对其限制; 尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行 等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。
1.一种单向流量的检测方法,其特征在于,所述方法包括
接收网关转发的报文;
当所述报文命中会话时,根据接收的检测系统中的其他网络设备发送的同步信息中的协议栈信息对所述报文进行解析,获得所述报文的同步信息,其中,所述检测系统中包括至少两个网络设备,所述至少两个网络设备用于实现网络流量的负载均衡,所述报文的同步信息中包含有协议栈信息和应用层数据;
判断所述报文的同步信息中的应用层数据是否为文件;
如果所述报文的同步信息中的应用层数据是文件,则缓存所述应用层数据;
将所述报文的同步信息中的应用层数据与所述其他网络设备发送的同步信息中的应用层数据进行组合获得文件;
如果所述报文是所述文件的最后一个报文,则对所述文件进行安全检测;
如果所述报文不是所述文件的最后一个报文,则将所述报文的同步信息发送给所述其他网络设备,以使所述其他网络设备根据所述报文的同步信息对所述文件进行安全检测。
2.根据权利要求1所述的单向流量的检测方法,其特征在于,所述根据接收的检测系统中的其他网络设备发送的同步信息中的协议栈信息对所述报文进行解析包括
接收所述其他网络设备发送的封装的同步信息,其中所述其他网络设备发送的同步信息中包含有所述其他网络设备接收的文件的其他报文的协议栈信息以及应用层数据信息;
对所述其他网络设备发送的封装的同步信息进行解封装;
根据解封装后的所述其他网络设备发送的同步信息中的协议栈信息对所述报文进行解析。
3.根据权利要求1所述的单向流量的检测方法,其特征在于,所述将所述报文的同步信息发送给所述其他网络设备包括
将所述报文的同步信息进行封装;
将封装后的所述报文的同步信息发送给所述其他网络设备。
4.根据权利要求1-3任意一项所述的方法,其特征在于
所述同步信息中还包括五元组信息,
所述方法还包括
根据接收的所述其他网络设备发送的同步信息中的五元组信息建立会话。
5.根据权利要求4所述的方法,其特征在于,还包括
如果所述报文的同步信息中的应用层数据不是文件,则根据所述五元组信息将所述报文通过所述网关设备进行转发。
6.一种网络设备,其特征在于,所述网络设备包括
接收单元,用于接收网关转发的报文;
解析单元,用于当所述报文命中会话时,根据所述接收单元接收的检测系统中的其他检测设备发送的同步信息中的协议栈信息对所述报文进行解析,获得所述报文的同步信息,其中,所述检测系统中包括至少两个检测设备,所述报文的同步信息中包含有协议栈信息和应用层数据;
判断单元,用于判断所述解析单元获得的所述报文的同步信息中的应用层数据是否为文件;
缓存单元,用于如果所述报文的同步信息中的应用层数据是文件,则缓存所述应用层数据;
组合单元,用于将所述报文的同步信息中的应用层数据与所述其他检测设备发送的同步信息中的应用层数据进行组合获得文件;
安全检测单元,用于如果所述报文是所述文件的最后一个报文,则对所述文件进行安全检测;
发送单元,用于如果所述报文不是所述文件的最后一个报文,则将所述报文的同步信息发送给所述其他检测设备,以使所述其他检测设备根据所述报文的同步信息对所述文件进行安全检测。
7.根据权利要求6所述的网络设备,其特征在于,所述解析单元,包括
第一接收子单元,用于接收所述其他检测设备发送的封装的同步信息,其中所述其他检测设备发送的同步信息中包含有所述其他检测设备接收的文件的其他报文的协议栈信息以及应用层数据信息;
解封装子单元,用于对所述第一接收子单元接收的所述其他检测设备发送的封装的同步信息进行解封装;
解析子单元,用于根据所述解封装子单元解封装后的所述其他检测设备发送的同步信息中的协议栈信息对所述报文进行解析。
8.根据权利要求6所述的网络设备,其特征在于,所述发送单元,包括
封装子单元,用于将所述报文的同步信息进行封装;
发送子单元,用于将所述封装子单元封装后的所述报文的同步信息发送给所述其他检测设备。
9.根据权利要求6-8任意一项所述的网络设备,其特征在于,所述同步信息还包括五元组信息,
所述网络设备还包括
会话建立单元,用于根据接收的所述其他检测设备发送的同步信息中的五元组信息建立会话。
10.根据权利要求9所述的网络设备,其特征在于,所述网络设备还包括
转发单元,用于如果所述报文的同步信息中的应用层数据不是文件,则根据所述五元组信息将所述报文通过所述网关设备进行转发。
11.一种系统,其特征在于,所述系统包括至少两个如权利要求6-10任意一项所述的网络设备,所述至少两个网络设备用于实现网络流量的负载均衡。
本发明实施例公开一种单向流量的检测方法及网络设备,通过根据接收的检测系统中其他网络设备发送的同步信息中的协议栈信息对报文进行解析,并将所述报文的同步信息中的应用层数据与所述其他网络设备发送的同步信息中的应用层数据进行组合获得文件,如果所述报文是所述文件的最后一个报文时,则对所述文件进行安全检测,如果所述报文不是所述文件的最后一个报文时,则将所述报文的同步信息发送给其他网络设备,以使得所述其他网络设备根据所述报文的同步信息对所述文件进行检测从而实现对单向流量基于代理技术的安全检测。
文档编号H04L29/06GKSQ
公开日日 申请日期日 优先权日日
发明者薛智慧, 蒋武, 李世光 申请人:华为技术有限公司

我要回帖

更多关于 网站怎么增加流量 的文章

 

随机推荐