CN101217455B - 基于有用连接数据完整的安全内容过滤分流器 - Google Patents
基于有用连接数据完整的安全内容过滤分流器 Download PDFInfo
- Publication number
- CN101217455B CN101217455B CN2007100362214A CN200710036221A CN101217455B CN 101217455 B CN101217455 B CN 101217455B CN 2007100362214 A CN2007100362214 A CN 2007100362214A CN 200710036221 A CN200710036221 A CN 200710036221A CN 101217455 B CN101217455 B CN 101217455B
- Authority
- CN
- China
- Prior art keywords
- data
- packet
- module
- regular expression
- unit
- 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.)
- Expired - Fee Related
Links
Images
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开了一种基于有用连接数据完整的安全内容过滤分流器,提升内容过滤性能,减少系统复杂性,提高稳定性、有效性,实现完整的数据分流。其技术方案为:本发明基于高速网络处理器、大容量数据缓存和内容正则表达式匹配模块结合实现的安全内容过滤分流器由接入单元、数据缓存单元、内容正则表达式匹配单元以及交换输出单元组成。本发明应用于网络信息技术领域。
Description
技术领域
本发明涉及一种网络数据处理装置,具体涉及一种高速网络环境中的数据包过滤分流装置。
背景技术
最近几年,我国在宽带骨干网络方面,包括城域网方面发展迅猛,目前大部分区域骨干网的带宽达到了10G(Gigabit,千兆位),部分骨干网的带宽即将升到40G,而总的出口带宽在特大型城市已经达到了上百G的容量。电子政务、电子商务、电子娱乐等迅速发展,网络已经逐步渗透到社会日常生活的各个方面,但随之而来的计算机病毒、黑客、信息间谍、非法内容等的泛滥,对国家政府、企事业单位互联网的应用构成了重大安全威胁,构建相应的安全设备成为重中之重,特别是适应高带宽大流量的过滤分流装置。
申请号为200410084539.6的中国发明专利申请公开了一种基于网络处理器和CPU阵列的交换架构的安全过滤分流器,针对10G以上宽带网络环境下的数据处理需求,根据网络处理器和通用CPU处理器在海量数据处理上的特性,将对网络数据的过滤分流处理工作进行合理分解,对请求数据包在不同的处理器上进行分层次的数据转发处理和安全审查,使两种处理器能够充分地发挥各自的优势,并采用数据分流策略制定与数据转发相分离的架构,从而减轻了安全过滤分流器的核心处理单元的工作负担,在宽带网络环境下能够达到安全高效的数据过滤分流处理性能,能够为各种宽带网络应用提供较高的数据接入质量。
但该方案存在一定的不足,一方面由于板载CPU内存容量承载支持有限,不能采用大量缓存数据包方式,使得对于特定连接的数据内容在CPU检测到命中丢弃规则时,相应的数据头部已经下发到后端设备,增加了无效数据处理压力,数据有效性不够;另一方面是由于通用CPU的处理能力有限,当安全特征匹配规则比较多时,特别是采用正则表达式规则形式且有一定复杂度时会增大数据时延,导致丢包,同时随着要求处理的有效数据容量不断增加,将导致非常庞大的通用CPU阵列,这样会增加系统故障点,导致系统的稳定性也难以保证。
由此可见,在网络带宽不断增加的情况下,对分流设备在数据转发处理上的安全规则处理性能、转发数据有效性和系统稳定性等方面都提出了更高的要求,而现有的技术和产品还无法完全满足宽带网络对海量数据处理提出的高性能高数据有效高稳定的要求。
发明内容
本发明的目的在于解决上述问题,提供了一种基于有用连接数据完整的安全内容过滤分流器,提升了在复杂正则表达式规则匹配情况下的内容过滤性能,减少了整个系统的复杂性,提高了稳定性,同时大大提升了转发数据的有效性,实现基于有用连接数据完整的数据分流。
本发明的技术方案为:本发明提供了一种基于有用连接数据完整的安全内容过滤分流器,包括接入单元、数据接入分配单元、内容正则表达式匹配单元、数据缓存单元和交换输出单元,其中:
该接入单元接收来自网络中的各种类型的大流量数据信号进行光电转换和帧处理,数据流还原为标准封装格式的数据包,通过一接口传递给与之连接的该数据接入分配单元;
该数据接入分配单元,与该接入单元连接,进一步包括网络处理器和外部内存,
其中该网络处理器进一步包括:
帧头信息处理模块,接收该接入单元的数据包,检验该些数据包的完整性并对该些数据包进行封装处理;
分类查找处理模块,连接该帧头信息处理模块,按照人工预设的过滤规则或者该内容正则表达式匹配单元动态设置的过滤规则,对该些数据包进行匹配并根据匹配结果在该些数据包的包头位置打上相应标签,过滤掉标签为“丢弃”的数据包,将标签为“细粒度处理”或“转发处理”的数据包发送至下一个连接的模块;
转发决策处理模块,连接该分类查找处理模块,接收该分类查找处理模块的数据包,将标签为“转发处理”的数据包发送至流量控制数据封装模块,同时接收该数据缓存单元发出的标签为“转发处理”的数据包再发送至流量控制数据封装模块;将标签为“细粒度处理”的数据包发送给该内容正则表达式匹配单元,同时接收该内容正则表达式匹配单元的反馈信息,该反馈信息主要是动态设置相关的连接匹配规则,该些连接匹配规则在连接断开后立即自动失效删除。并将消息反馈给该内容正则表达式匹配模块;
流量控制数据封装模块,连接该转发决策处理模块,接收来自该转发决策处理模块的标签为“转发处理”的数据包,去掉包头标签后封装为标准以太网格式,同时进行负载均衡和流量控制,将该些数据包有序发送至该交换输出单元;
该内容正则表达式匹配单元连接该数据接入分配单元和该数据缓存单元,进一步包括:
数据连接表管理及存储空间管理模块,建立数据连接表管理数据包所在的连接,同时管理整个数据缓存单元,根据该数据缓存单元的反馈信息更新存储空间管理信息;
规则配置和正则表达式匹配搜索模块,对数据包进行细粒度检查,通过设置关键字并利用关键字对数据包进行内容审查,筛选出有用连接;
设备基本运行管理模块,连接该数据连接管理及存储空间管理模块以及该规则配置和正则表达式匹配搜索模块,用以初始化以及管理整个系统;
该数据缓存单元连接该转发决策处理模块和设备基本运行管理模块,暂存数据包;
该交换输出单元连接该流量控制数据封装模块,将来自该流量控制数据封装模块的数据包输出。
上述的基于有用连接数据完整的安全内容过滤分流器,其中,该接入单元由若干个光电信号转换模块通过XFI总线连接成帧芯片构成,其中该些光电信号转换模块进行光电信号的转换,该些成帧芯片按照PPP/HDLC over SONET/SDH协议规范从SONET/SDH将数据流还原为PPP数据包。
上述的基于有用连接数据完整的安全内容过滤分流器,其中,该交换输出单元主要由千兆交换模块和千兆光模块组成,该交换输出单元中的千兆光口通过串行接口总线和该千兆光模块相连,该交换输出单元根据制定的分发策略完成数据包分发操作。
上述的基于有用连接数据完整的安全内容过滤分流器,其中,该些标签用于传递信息,包括命中规则相应匹配动作的定义、存储空间位置的定义以及执行命令的定义。
上述的基于有用连接数据完整的安全内容过滤分流器,其中,该分类查找处理模块的匹配是七层线速匹配,主要的过滤项包括:规则号、源机器地址、目的机器地址、源IP地址、源IP掩码、目的IP地址、目的IP掩码、源端口号、目的端口号以及一定长度字符内的域名地址。
上述的基于有用连接数据完整的安全内容过滤分流器,其中,该转发决策处理模块接收到的反馈信息包括指定连接的后续所有包的直接转发、指定连接的后续所有包的转发缓存或指定连接的后续所有包的丢弃。
上述的基于有用连接数据完整的安全内容过滤分流器,其中,该数据缓存单元包括可编程逻辑门阵列和若干个工业标准服务器DDR内存插槽阵列,其中可编程逻辑门阵列包括数据接收和发送模块、数据存储管理模块和命令管理控制模块,该数据接收和发送模块接收和发送来自该数据接入分配单元和/或该内容正则表达式匹配单元的数据包;该命令管理控制模块接收配置信息,进行内存空间扫描和空间配置,同时对该数据接收和发送模块接收到的命令进行解析;该数据存储管理模块接收到命令后根据命令的要求对数据包进行存储。
上述的基于有用连接数据完整的安全内容过滤分流器,其中,该内容正则表达式匹配单元由一主芯片、一用于缓存搜索信息的搜索内存以及一系统内存组成,该设备基本运行管理模块设置在该主芯片内,通过本地配置总线对该接入单元、该数据接入分配单元、该数据缓存单元和该交换输出单元的各芯片进行寄存器初始配置管理和配置信息输入,包括存储空间大小设置、粗粒度过滤规则和细粒度过滤规则配置输入。
上述的基于有用连接数据完整的安全内容过滤分流器,其中,该规则配置和正则表达式匹配搜索模块进行细粒度规则比对时,若没有命中,则将该连接数据包暂时缓存到该数据缓存单元,直到该连接被删除后才释放;若命中,则配置要求该连接后续数据包直接转发的规则到该转发决策处理模块,同时将当前数据包缓存到该数据缓存单元,要求该数据缓存单元将基于该连接缓存的所有数据包发送到该转发决策处理模块,以实现符合要求的数据连接分流下发且该连接数据包的内容完整。
本发明对比现有技术有如下的有益效果:(1)本发明采用多级架构设计,将海量数据处理任务合理拆解,分配到不同的处理单元负责,通过对不同处理单元处理能力的提升,缓解了核心的数据分流处理单元的工作压力,提高了系统整体的处理性能;(2)采用高性能的网络处理器技术实现数据分流处理,支持20G以上的数据处理性能;(3)采用了高性能的内容正则表达式匹配模块进行细粒度过滤,避免了复杂低效的CPU阵列,使整个系统的稳定性和实时性有了很大提高,便于设备小型化模块化;(4)采用了大规模内存存储阵列,并与内容正则表达式匹配模块实现了互动,实现了未知数据的临时缓存,大大提升了数据转发的有效性,降低了后端处理系统的无效处理负荷。
附图说明
图1是本发明的基于有用连接数据完整的安全内容过滤分流器的一个较佳实施例的结构图。
图2是图1实施例的接入单元的组成结构图。
图3是图1实施例的数据接入分配单元的组成结构图。
图4是图1实施例的内容正则表达式匹配单元的组成结构图。
图5是图1实施例的数据缓存单元的组成结构图。
图6是图1实施例的交换输出单元的组成结构图。
具体实施方式
下面结合附图和实施例对本发明作进一步的描述。
图1示出了本发明的基于有用连接数据完整的安全内容过滤分流器的一个较佳实施例的结构组成。请参见图1,分流器10由接入单元1、数据接入分配单元2、内容正则表达式匹配单元3、数据缓存单元4和交换输出单元5组成。其中接入单元1主要包括两个10G(Gigabit,千兆位)接口,接入单元1与数据接入分配单元2之间通过两条SPI-4.2(System Packet Interface Level 4 Phase 2,系统包接口4.2类型)总线互连,单条总线带宽资源为12Gbps。数据接入分配单元2分别与内容正则表达式匹配单元3及数据缓存单元4之间各自通过4个RGMII(Reduced Gigabit Media-Independent Interface,精简的千兆位媒体独立接口)总线互连,进行双向数据通信,总带宽为4Gbps。数据接入分配单元2与交换输出单元5之间通过SPI-4.2总线互连。同时内容正则表达式匹配单元3与数据缓存单元4之间通过4个RGMII总线相连,进行双向数据通信。整个系统的管理和初始化由内容正则表达式匹配单元3承担。
请参见图2,接入单元1由两组10G光电信号转换模块11a、11b和成帧芯片12a、12b组成,转换模块与成帧芯片之间分别通过XFI(10 Gigabit SerialElectrical Interface,光电转换器和成帧芯片串行接口)总线连接。两组成帧芯片12a、12b分别通过高速SPI-4.2总线接口分别与数据接入分配单元2连接,数据接入分配单元2支持两个SPI-4.2总线接口。这两个10G光电信号转换模块11a、11b可兼容10G POS(Packet Over SDH,基于同步数位阶层光纤网络的数据包)、10G LAN(Local Area Network,局域网)、WAN(Wide Area Networks,广域网)。芯片和模块的工作初始配置统一由内容正则表达式匹配单元3所内带的处理器进行配置管理。
接入单元1中的光电信号转换模块11a、11b对来自网络中的数据流进行光电转换,然后利用成帧芯片12a、12b进行数据帧处理,并按照PPP/HDLC OverSONET/SDH(基于同步光网络协议/同步数位阶层光纤网络的点到点/高级数据链路控制)协议规范从SONET/SDH(同步光网络/同步数位阶层光纤网络)将数据流还原为PPP(point to point,点到点协议)数据包,然后通过高速SPI4.2接口传递给数据接入分配单元2处理。
请参见图3,数据接入分配单元2由网络处理器单元21和外部256MB DDR(Double Date Rate,双倍数据传输模式)内存22构成。内存22由芯片DDR2561×4组成,通过标准DDR接口相连。网络处理器单元22包括帧头信息处理模块211、分类查找处理模块212、转发决策处理模块213和流量控制数据封装模块214。帧头信息处理模块211通过两个SPI4.2高速接口与接入单元1相连,按照标准协议规范检验接入单元1发送过来的数据包的完整性,在收到数据包后去掉二层封装成为纯IP数据包并在包头另外封装4字节标签,后续的各个处理单元包括内容正则表达式匹配单元3,数据缓存单元4及数据接入分配单元2之间通过该标签来协同处理该数据包。
分类查找处理模块212与帧头信息处理模块211相连,分类查找处理模块212按照预先人工设置的过滤规则或者是内容正则表达式匹配单元3根据匹配情况动态设置的过滤规则(所有规则累计最大条数为100万条),对数据包进行七层线速匹配,。过滤项主要依据七层协议的头信息进行过滤,属于粗粒度过滤,主要的过滤项包括:规则号、源机器地址、目的机器地址、源IP地址、源IP掩码、目的IP地址、目的IP掩码、源端口号、目的端口号、60字符以内的域名地址、相应过滤操作,其中“相应过滤操作”选项中包括细粒度处理、丢弃、直接转发、转发至数据缓存单元四种选择并在包头位置打上相应标签。分类查找处理模块212根据规则匹配结果,过滤掉标签为“丢弃”的非法数据包和异常数据包,将需要进一步细粒度处理的数据包、直接转发数据包和转发至数据缓存单元4的数据包分别打上“细粒度处理”标签、“转发处理”标签和“转发缓存”标签,发送到转发决策处理模块213。
转发决策处理模块213与分类查找处理模块212相连,转发决策处理模块213主要围绕标签进行处理:将标签为“细粒度处理”的数据包通过和内容正则表达式匹配单元3相连的4个RGMI I千兆口以简单轮循方式发给内容正则表达式匹配单元3,同时接受内容正则表达式匹配单元3的反馈信息。反馈信息主要是动态设置相关的匹配规则,包括指定连接的后续所有包的直接转发,指定连接的后续所有包的转发缓存或指定连接的后续所有包的丢弃等,这些特定的基于连接的动态设置规则在该连接断开后10秒内自动失效删除,并将消息反馈给内容正则表达式匹配单元3;将标签为“转发处理”的数据包发送给流量控制数据封装模块214;将标签为“转发缓存”的数据包通过和数据缓存单元4相连的4个RGMII千兆口以简单轮循方式发给数据缓存单元4,同时接收数据缓存单元4发出的带有“转发处理”标签的数据包,并发送给流量控制数据封装模块214。
流量控制数据封装模块214与转发决策处理模块213相连,流量控制数据封装模块214通过SPI4.2接口同交换输出单元5相连,转发决策处理模块213通过4个RGMII接口同数据缓存单元4相连,同时通过另外4个RGMII接口同内容正则表达式匹配单元3相连。流量控制数据封装模块214对数据包去掉包头标签后将数据包封装为标准以太网格式,同时进行负载均衡实现,主要是按通用负载均衡算法,目前采用最小连接法(由于网络处理器具有可编程的特性,因此可以根据实际应用的需要灵活选择适用的负载均衡算法),对数据包进行分发策略的计算,同时采用源IP,目的IP,协议三元组合异或哈希方式保证数据在任意一条链路上保持其内容完整性。另外对数据包进行一定的流量QOS(Quality of Service)控制,主要按最高阀值限流控制,防止单条连接的数据流量由于缓存下发的原因而突然过大导致数据出现丢失,流量控制数据封装模块最后通过高速接口依据均衡策略和流控策略将数据包有序地发送到交换输出单元5。
请参见图4,内容正则表达式匹配单元3由内容正则表达式匹配主芯片31、用于缓存搜索信息的128M DDR搜索内存32和2G系统内存(标准DIMM内存条1G共2条)33组成,主要完成三大功能:第一方面是内容正则表达式匹配主芯片31内带的处理器作为设备的基本运行管理模块311,通过本地配置总线对接入单元1、数据接入分配单元2、数据缓存单元4和交换输出单元5的各个芯片模块进行寄存器初始配置管理,简单配置信息输入,包括存储空间大小设置,粗粒度过滤规则和细粒度过滤规则配置输入等。
第二方面是:通过和数据接入分配单元2相连的4个RGMII千兆口获取数据包,首先是针对该数据包所在的连接由数据连接表管理及存储空间管理模块312建立连接管理表进行简单管理,实现内容正则表达式匹配模块3在1分钟内若没有收到相关连接的数据包,内容正则表达式匹配模块3会自动删除内部与该连接相关的信息,主要是跨包搜索状态信息。,连接表信息等,同时会立刻通知数据缓存单元4清除与该连接相关的所有缓存内容。然后对数据包进行细粒度检查,主要是针对不同种类应用的审查需要,根据应用层协议规范中的定义,通过设置要匹配内容的字段偏移范围、字段长度(不超过400个字符)、字段内容(支持大小写字母,数字和特殊字符,可二进制输入)以及过滤操作形成不同的关键字,利用关键字在数据包指定字段偏移范围内全文搜索匹配的方法对数据包进行内容审查。且这种细粒度过滤具有基于连接的数据包内容审查功能,将从一个连接中的多个数据包提取出的信息进行拼接,再进行内容匹配。也就是说字段偏移范围可以支持任意,这样可以发现分散在多个数据包中的异常情况,对于单条规则可以由不同的关键字构成,这些关键字之间采用基本正则表达式的描述形式实现与,或,非的组合,最大支持20个关键字的组合成单条规则,但单条规则只对应单个过滤操作动作,这些动作包括特定连接后续所有包丢弃,特定连接后续所有包直接转发等。若规则命中要求直接转发,则内容正则表达式匹配单元3会给数据缓存单元4发出相应发送消息,同时会根据过滤操作动作反馈信息给数据接入分配单元2,数据接入分配单元2接收到后设置相关动态连接规则到数据接入分配单元2的分类查找处理模块212,这样该连接后续的所有包都将根据这条动态规则实现直接转发,等到数据缓存单元4发送完全部缓存数据后发消息给内容正则表达式匹配单元3,内容正则表达式匹配单元3清除内容正则表达式匹配模块与该连接相关的信息,主要是跨包搜索状态信息,连接表信息等。若规则命中要求丢弃,则内容正则表达式匹配单元3会给数据缓存单元4发出相应清除消息,同时会根据过滤操作动作反馈信息给数据接入分配单元2,数据接入分配单元2接收到后设置相关动态连接规则到数据接入分配单元2的分类查找处理模块212,这样该连接后续的所有包都将根据这条动态规则实现全部丢弃,最后内容正则表达式匹配单元3清除内容正则表达式匹配模块3与该连接相关的信息,主要是跨包搜索状态信息,连接表信息等。若数据接入分配单元2的分类查找处理模块212检测到该连接的带RST或FIN标志的数据包或一段时间内没有数据包收到,则自动删除该连接规则,同时发送相关删除消息给内容正则表达式匹配模块3,一旦内容正则表达式匹配模块3收到删除消息会立刻清除内容正则表达式匹配模块3与该连接相关的信息,主要是跨包搜索状态信息,连接表信息等;三是通过和数据缓存单元4相连的4个RGMII千兆接口以简单轮循方式将还没有匹配发生的有用的数据包转发给数据缓存单元4进行缓存,同时也管理连接结束的信息,一旦接收到数据接入分配单元2发出的连接规则删除消息,立刻通知数据缓存单元4清除相关连接的缓存内容并释放空间。整个数据缓存单元4由基于内容正则表达式匹配模块3中内带的处理器实现的数据连接表管理及存储空间管理模块312来管理,首先是根据空间大小配置信息划分固定大小的存储单元,主要管理工作包括分发和回收相应的存储单元,分发通过对数据包源IP,目的IP,源端口,目的端口,协议号五元异或方式寻址定位存储空间,对于异或哈希碰撞采用标准的哈希碰撞解决方法链表方式解决,回收通过数据缓存单元4发数据空消息来通知实现。
请参见图5,数据缓存单元4采用FPGA(Field-programmable Gate Arrav,可编程逻辑门阵列)41加上两个工业标准服务器DDR内存插槽阵列42a、42b组成。每个阵列包含16个标准DDR插槽,最大支持内存为64Gbyte,数据缓存单元4和内容正则表达式匹配单元3通过4个RGMII千兆接口相连,数据缓存单元4和数据接入分配单元2通过4个RGMII千兆接口相连。FPGA41主要包括8个RGMII数据接收和发送模块411,2个DDR控制模块412a、412b,这些主要功能模块采用标准商业化的IP核产品实现。命令管理控制模块414接收配置管理总线过来的配置信息,主要就是内存空间扫描和空间配置,同时对数据接收和发送模块411接收到的命令进行解析,内容正则表达式匹配模块3通过数据包标签携带命令方式和FPGA41进行通信,命令包括写数据包到指定连接存储地址,FPGA的数据存储管理模块413接收到命令后按要求存储,按先到先存方式实现,缓存大小可以根据不同应用配置。若缓存设置不足,则丢弃后续数据包,不循环覆盖,并发溢出消息告知命令管理控制模块414,再经命令管理控制模块414发消息给内容正则表达式匹配模块单元3内带的处理器;其他命令主要有清除命令,指定空间的释放;设置命令,设置统一缓存大小;读存储状态命令,读相应地址缓存空间状态信息,主要是空还是非空;发送命令,将相应地址缓存在一定空间内的数据包在数据存储管理模块413控制下按先存先出的方式通过4个RGMII千兆接口以简单轮循方式发送给网络处理器21,同时发送时修改包头标签信息为“转发处理”,由网络处理器的转发决策处理模块213将数据包经过流量控制数据封装模块214,最后通过交换输出单元的相应千兆口发出,数据包发完后FPGA的数据存储管理模块413发送完成消息给命令管理控制模块414,再经命令管理控制模块414发消息给内容正则表达式匹配模块单元3内带的处理器,只要后续还有其它数据包,FPGA41还会继续转发,并在转发完成后发消息,直到内容正则表达式匹配模块3发命令清除对应空间,内容正则表达式匹配模块3最后会根据数据缓存单元4发送的消息来更新相应的存储空间管理信息。
请参见图6,交换输出单元5主要由千兆交换模块51和若干个千兆光模块53组成。交换输出单元5共12个千兆光口,通过SerDes接口(串行接口总线)和千兆光模块52相连。交换输出单元5根据主控单元制定的分发策略完成数据包分发操作。
下面对本发明的基于有用连接数据完整的安全内容过滤分流器的工作流程作详细的描述。
步骤(1):由接入单元1对来自网络中的各种类型的大流量数据信号(最高为20G)进行光电转换,帧处理,数据流按照PPP/HDLC Over SONET/SDH规范从SONET/SDH数据流还原为PPP数据包,然后通过高速接口SPI4.2传递给数据接入分配单元2。
步骤(2):数据接入分配单元2按照标准协议规范检验接入单元1发送过来的数据包的完整性,然后按预先设置的过滤规则或者内容正则表达式匹配单元3动态配置的规则对数据包进行简单七层线速过滤,过滤掉非法数据包,异常数据包和指定丢弃的特定连接的后续数据包。
步骤(3):数据接入分配单元2把需要进行深度内容检查的数据包提交给内容正则表达式匹配单元3作进一步细粒度的内容分析,对于不需要进行细粒度内容审查的数据包,主要是直接转发符合预先配置规则的数据包或内容正则表达式匹配单元动态配置的指定连接的后续数据包,由数据接入分配单元2根据负载均衡算法和流量控制运算得出该数据包的分流分发策略,并依照策略将数据发送给交换输出单元5执行具体的数据转发操作。
步骤(4):内容正则表达式匹配单元3先对该数据所在的连接建立连接表管理,然后按照细粒度过滤规则对数据包的内容进行深入过滤,若是命中规则要求下发,则将过滤结果反馈给数据接入分配单元2,数据接入分配单元2根据细粒度过滤结果为该数据包制定分流策略,并依据分流策略进行下发,同时内容正则表达式匹配单元3要求数据缓存单元4将该数据包所在连接的所有缓存数据包依次有序下发,直到清空后发消息给内容正则表达式匹配单元3,由内容正则表达式匹配单元3清除内容正则表达式匹配模块3与该连接相关的所有信息,主要是跨包搜索状态信息,连接表信息;若是命中规则要求丢弃,同样将过滤结果反馈给数据接入分配单元2,由数据接入分配单元2实现对该数据后续连接全部丢弃,同时内容正则表达式匹配单元3要求数据缓存单元4将该数据所在连接的所有空间清空释放,最后清除内容正则表达式匹配模块3与该连接相关的所有信息,主要是跨包搜索状态信息,连接表信息。
步骤(5):若是当前数据包没有命中规则,内容正则表达式匹配单元3则将数据包发送给数据缓存单元4,由数据缓存单元4按先进先存方式保存,直到有命中规则发生,若缓存空间溢出,则丢弃后续数据包,缓存空间由内容正则表达式匹配单元3进行配置管理。
步骤(6):对于内容正则表达式匹配单元3动态设置的规则,一旦数据接入分配单元2检测到该连接的带RST或FIN(通常一个会话包含多个数据包传送,根据协议规定,数据包中某个字段的赋值为RST或FIN,则表示该会话终止。这里的会话被称为连接)标志的数据包或限定时间内没有数据包收到,则自动删除该条连接规则,同时发送相关消息给内容正则表达式匹配模块3,一旦内容正则表达式匹配模块3收到消息会立刻清除内容正则表达式匹配模块3与该连接相关的所有信息,主要是跨包搜索状态信息,连接表信息,同时会立刻通知数据缓存单元4清除与该连接相关的所有缓存内容,并释放缓存空间;对于内容正则表达式匹配模块3建立的连接表管理,同样在限定时间内若没有收到数据接入分配单元2发送来的该连接的数据包,则清除内容正则表达式匹配模块3与该连接相关的所有信息,主要是跨包搜索状态信息,连接表信息,同时会立刻通知数据缓存单元4清除与该连接相关的所有缓存内容,并释放缓存空间。
综上所述,上述安全内容过滤分流器针对10G以上宽带网络环境下的数据处理需求,根据网络处理器的处理特点,先对数据包内容进行粗粒度过滤,过滤后的数据借助内容正则表达式匹配模块对数据包进行细粒度过滤,暂时没有匹配的有用数据进入FPGA组成的缓存系统。一旦后续数据包匹配成功,则系统将缓存的及后续的数据包打上相应的标签,然后按先后到达的顺序保持连接地下发到各个后端应用处理设备。通过这种数据粗粒度过滤和细粒度过滤相对分离的架构方式,有助于网络处理器和内容正则表达式匹配模块能够充分地发挥各自的优势,从而减轻了安全过滤分流器的核心数据接收转发的工作负担,在宽带网络环境下能够达到安全高效的数据过滤分流处理性能,同时安全内容过滤分流器针对每一个细粒度检索连接加上了可配置调节的缓存使得匹配无效的数据暂时不再下发,直到符合相关下发的匹配策略。这一方式极大的降低了后端系统应用设备的处理压力,又不损坏有用连接的数据完整,大大减少了后端系统应用设备在宽带网络应用环境下相应的系统规模。
上述实施例是提供给本领域普通技术人员来实现或使用本发明的,本领域普通技术人员可在不脱离本发明的发明思想的情况下,对上述实施例做出种种修改或变化,因而本发明的保护范围并不被上述实施例所限,而应该是符合权利要求书提到的创新性特征的最大范围。
Claims (9)
1.一种基于有用连接数据完整的安全内容过滤分流器,包括接入单元、数据接入分配单元、内容正则表达式匹配单元、数据缓存单元和交换输出单元,其中:
该接入单元接收来自网络中的各种类型的大流量数据信号进行光电转换和帧处理,数据流还原为标准封装格式的数据包,通过一接口传递给与之连接的该数据接入分配单元;
该数据接入分配单元,与该接入单元连接,该数据接入分配单元进一步包括网络处理器和外部内存,
其中该网络处理器进一步包括:
帧头信息处理模块,接收该接入单元的数据包,检验该些数据包的完整性并对该些数据包进行封装处理;
分类查找处理模块,连接该帧头信息处理模块,按照人工预设的过滤规则或者该内容正则表达式匹配单元动态设置的过滤规则,对该些数据包进行匹配并根据匹配结果在该些数据包的包头位置打上相应标签,过滤掉标签为“丢弃”的数据包,将标签为“细粒度处理”或“转发处理”的数据包发送至下一个连接的模块;
转发决策处理模块,连接该分类查找处理模块,接收该分类查找处理模块的数据包,将标签为“转发处理”的数据包发送至流量控制数据封装模块,同时接收该数据缓存单元发出的标签为“转发处理”的数据包再发送至流量控制数据封装模块;将标签为“细粒度处理”的数据包发送给该内容正则表达式匹配单元,同时接收该内容正则表达式匹配单元的反馈信息,该反馈信息主要是动态设置相关的连接匹配规则,该些连接匹配规则在连接断开后立即自动失效删除,并将消息反馈给该内容正则表达式匹配模块;
流量控制数据封装模块,连接该转发决策处理模块,接收来自该转发决策处理模块的标签为“转发处理”的数据包,去掉包头标签后封装为标准以太网格式,同时进行负载均衡和流量控制,将该些数据包有序发送至该交换输出单元;
该内容正则表达式匹配单元连接该数据接入分配单元和该数据缓存单元,该内容正则表达式匹配单元进一步包括:
数据连接表管理及存储空间管理模块,建立数据连接表管理数据包所在的 连接,同时管理整个数据缓存单元,根据该数据缓存单元的反馈信息更新存储空间管理信息;
规则配置和正则表达式匹配搜索模块,对数据包进行细粒度检查,通过设置关键字并利用关键字对数据包进行内容审查,筛选出有用连接;
设备基本运行管理模块,连接该数据连接表管理及存储空间管理模块以及该规则配置和正则表达式匹配搜索模块,用以初始化以及管理整个系统;
该数据缓存单元连接该转发决策处理模块和设备基本运行管理模块,暂存数据包;
该交换输出单元连接该流量控制数据封装模块,将来自该流量控制数据封装模块的数据包输出。
2.根据权利要求1所述的基于有用连接数据完整的安全内容过滤分流器,其特征在于,该接入单元由若干个光电信号转换模块通过XFI总线连接成帧芯片构成,其中该些光电信号转换模块进行光电信号的转换,该些成帧芯片按照PPP/HDL Cover SONET/SDH协议规范从SONET/SDH将数据流还原为PPP数据包。
3.根据权利要求1所述的基于有用连接数据完整的安全内容过滤分流器,其特征在于,该交换输出单元主要由千兆交换模块和千兆光模块组成,该交换输出单元中的千兆光口通过串行接口总线和该千兆光模块相连,该交换输出单元根据制定的分发策略完成数据包分发操作。
4.根据权利要求1所述的基于有用连接数据完整的安全内容过滤分流器,其特征在于,该些标签用于传递信息,该信息包括命中规则相应匹配动作的定义、存储空间位置的定义以及执行命令的定义。
5.根据权利要求1所述的基于有用连接数据完整的安全内容过滤分流器,其特征在于,该分类查找处理模块的匹配是七层线速匹配,主要的过滤项包括:规则号、源机器地址、目的机器地址、源IP地址、源IP掩码、目的IP地址、目的IP掩码、源端口号、目的端口号以及一定长度字符内的域名地址。
6.根据权利要求1所述的基于有用连接数据完整的安全内容过滤分流器,其特征在于,该转发决策处理模块接收到的反馈信息包括指定连接的后续所有包的直接转发、指定连接的后续所有包的转发缓存或指定连接的后续所有包的丢弃。
7.根据权利要求1所述的基于有用连接数据完整的安全内容过滤分流器,其特征在于,该数据缓存单元包括可编程逻辑门阵列和若干个工业标准服务器DDR内存插槽阵列,其中可编程逻辑门阵列包括数据接收和发送模块、数据存储管理模块和命令管理控制模块,该数据接收和发送模块接收和发送来自该数据接入分配单元和/或该内容正则表达式匹配单元的数据包;该命令管理控制模块接收配置信息,进行内存空间扫描和空间配置,同时对该数据接收和发送模块接收到的命令进行解析;该数据存储管理模块接收到命令后根据命令的要求对数据包进行存储。
8.根据权利要求1所述的基于有用连接数据完整的安全内容过滤分流器,其特征在于,该内容正则表达式匹配单元由一主芯片、一用于缓存搜索信息的搜索内存以及一系统内存组成,该设备基本运行管理模块设置在该主芯片内,通过本地配置总线对该接入单元、该数据接入分配单元、该数据缓存单元和该交换输出单元的各芯片进行寄存器初始配置管理和配置信息输入,该寄存器初始配置管理和配置信息输入包括存储空间大小设置、粗粒度过滤规则和细粒度过滤规则配置输入。
9.根据权利要求8所述的基于有用连接数据完整的安全内容过滤分流器,其特征在于,该规则配置和正则表达式匹配搜索模块进行细粒度规则比对时,若没有命中,则将连接数据包暂时缓存到该数据缓存单元,直到连接被删除后才释放;若命中,则配置要求连接后续数据包直接转发的规则到该转发决策处理模块,同时将当前数据包缓存到该数据缓存单元,要求该数据缓存单元将基于连接缓存的所有数据包发送到该转发决策处理模块,以实现符合要求的数据连接分流下发且该连接数据包的内容完整。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2007100362214A CN101217455B (zh) | 2007-01-05 | 2007-01-05 | 基于有用连接数据完整的安全内容过滤分流器 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2007100362214A CN101217455B (zh) | 2007-01-05 | 2007-01-05 | 基于有用连接数据完整的安全内容过滤分流器 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101217455A CN101217455A (zh) | 2008-07-09 |
CN101217455B true CN101217455B (zh) | 2011-07-27 |
Family
ID=39623818
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2007100362214A Expired - Fee Related CN101217455B (zh) | 2007-01-05 | 2007-01-05 | 基于有用连接数据完整的安全内容过滤分流器 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101217455B (zh) |
Families Citing this family (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101340295B (zh) * | 2008-08-07 | 2011-12-14 | 北京锐安科技有限公司 | 一种多带宽等级骨干光网络的数据接入处理板 |
CN101765137B (zh) * | 2008-12-25 | 2012-03-28 | 中国移动通信集团公司 | 网络故障定位方法、设备及系统 |
CN101728869B (zh) * | 2009-11-10 | 2012-09-26 | 重庆大学 | 电站自动化系统数据网络安全监控方法 |
CN101764741B (zh) * | 2009-11-27 | 2012-06-06 | 上海恒为信息科技有限公司 | 支持多业务功能的过滤分流装置及其方法 |
CN102868631B (zh) * | 2012-09-28 | 2016-09-21 | 华为技术有限公司 | 负载分担方法和装置 |
CN103368777B (zh) * | 2013-07-11 | 2016-12-28 | 曙光信息产业股份有限公司 | 一种数据包处理板及处理方法 |
CN103647708A (zh) * | 2013-11-29 | 2014-03-19 | 曙光信息产业(北京)有限公司 | 基于atca的数据报文处理板 |
CN107749826B (zh) * | 2017-09-15 | 2021-10-08 | 深圳市盛路物联通讯技术有限公司 | 一种数据包转发方法及系统 |
CN107453956B (zh) * | 2017-09-15 | 2020-04-28 | 北京百卓网络技术有限公司 | 通信网络系统、分流器设备及其快速接入网络的方法 |
CN110417675B (zh) * | 2019-07-29 | 2020-12-01 | 广州竞远安全技术股份有限公司 | 一种soc下高性能探针的网络分流方法、装置及系统 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1555166A (zh) * | 2003-12-26 | 2004-12-15 | ƽ | Pos数据过滤分发的方法与装置 |
CN1564547A (zh) * | 2004-03-25 | 2005-01-12 | 上海复旦光华信息科技股份有限公司 | 保持连接特性的高速过滤分流方法 |
CN1610335A (zh) * | 2004-11-25 | 2005-04-27 | 上海复旦光华信息科技股份有限公司 | 基于网络处理器和cpu阵列的交换架构的安全过滤分流器 |
-
2007
- 2007-01-05 CN CN2007100362214A patent/CN101217455B/zh not_active Expired - Fee Related
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1555166A (zh) * | 2003-12-26 | 2004-12-15 | ƽ | Pos数据过滤分发的方法与装置 |
CN1564547A (zh) * | 2004-03-25 | 2005-01-12 | 上海复旦光华信息科技股份有限公司 | 保持连接特性的高速过滤分流方法 |
CN1610335A (zh) * | 2004-11-25 | 2005-04-27 | 上海复旦光华信息科技股份有限公司 | 基于网络处理器和cpu阵列的交换架构的安全过滤分流器 |
Also Published As
Publication number | Publication date |
---|---|
CN101217455A (zh) | 2008-07-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101217455B (zh) | 基于有用连接数据完整的安全内容过滤分流器 | |
US9755947B2 (en) | Hierarchical self-organizing classification processing in a network switch | |
CN102468899B (zh) | 通道化stm-1接入分发方法与系统 | |
TW576037B (en) | High speed network processor | |
US8949578B2 (en) | Sharing of internal pipeline resources of a network processor with external devices | |
AU2004311714B2 (en) | Apparatus and method for improved Fibre Channel oversubscription over transport | |
US9485200B2 (en) | Network switch with external buffering via looparound path | |
US9154442B2 (en) | Concurrent linked-list traversal for real-time hash processing in multi-core, multi-thread network processors | |
CN1316366C (zh) | 网络应用设备的流调度和结构 | |
US7296093B1 (en) | Network processor interface system | |
US9300597B2 (en) | Statistics module for network processors in virtual local area networks | |
US8761204B2 (en) | Packet assembly module for multi-core, multi-thread network processors | |
US8873550B2 (en) | Task queuing in a multi-flow network processor architecture | |
CN108833299A (zh) | 一种基于可重构交换芯片架构的大规模网络数据处理方法 | |
US6853638B2 (en) | Route/service processor scalability via flow-based distribution of traffic | |
US20150331718A1 (en) | Network processor having multicasting protocol | |
US8817799B2 (en) | Network processor for supporting residential gateway applications | |
US8874878B2 (en) | Thread synchronization in a multi-thread, multi-flow network communications processor architecture | |
CN1321516C (zh) | 基于网络处理器和cpu阵列的交换架构的安全过滤分流器 | |
US20060221989A1 (en) | Method and system for accommodating several ethernet ports and a wrap transmitted flow handled by a simplifed frame-by-frame upper structure | |
CN100502365C (zh) | 板间通信方法 | |
TWI320279B (en) | System and method of annotating network packets | |
CN101662428B (zh) | 基于堆叠结构的10g高性能宽带网络行为实时安全管理系统 | |
CN100539543C (zh) | Pos数据过滤分发的方法与装置 | |
Zang et al. | PROP: Using PCIe-based RDMA to accelerate rack-scale communications in data centers |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20110727 Termination date: 20190105 |
|
CF01 | Termination of patent right due to non-payment of annual fee |