支持多业务功能的过滤分流装置及其方法

文档序号:7716180阅读:126来源:国知局
专利名称:支持多业务功能的过滤分流装置及其方法
技术领域
本发明涉及一种数据包的过滤分流,尤其涉及一种支持多业务功能的过滤分流装置及方法。

背景技术
最近几年,我国在骨干网和城域网方面的建设发展非常迅猛,整体规模也相当大,几乎所有的区域骨干网的带宽都达到了10G(Gigabit,千兆位),部分骨干网的带宽已经升级到40G,总的出口带宽在大型城市、省级城市已经达到了上百G的容量,部分特大型城市达到了上T(Terabit,吉比特)的容量。基于网络基础设施构建的各种宽带业务也蓬勃发展,各种宽带业务以及随之发展的附属安全保障业务,使得适应高带宽大流量的过滤分流装置成为业务部署的关键要素。
目前比较典型宽带业务包括电信增值类的绿色上网业务、宽带网业务分析、网间流量结算系统、病毒清洗业务;安全保障业务包括入侵监测系统、网络安全审计。由于业务特征和行为的不同,诸多业务的部署都需要有符合各自业务要求的过滤分流装置进行前端数据包的预处理,设置不同过滤和分流的规则策略,方便真正承载业务系统的设备做相应的运算和处理。这些业务需要在同一个网络节点设置相应过滤分流设备,对同一组骨干网流量进行过滤分流。
申请号200710036221.4的中国发明专利申请公开一种基于有用连接数据完整的安全内容过滤分流器,先对数据包内容进行粗粒度过滤,过滤后的数据借助内容规则表达式匹配模块对数据包进行细粒度过滤,暂时没有匹配的有用数据进入FPGA组成的缓存系统。一旦后续数据包匹配成功,则系统将缓存的及后续的数据包打上相应的标签,然后按先后到达的顺序保持连接地下发到各个后端应用处理设备。
但是,现有的过滤分流设备,受限于技术体系架构和处理性能的限制,只能实现一套过滤和分流策略,满足一个业务功能,多个业务就需要多套过滤分流装置与之配套。例如,网络安全审计业务对应的过滤分流器输出的数据包只能满足安全审计业务的需要,无法满足绿色上网业务、宽带网业务分析等其他宽带业务和安全保障业务的数据包需求。这样无疑造成了光纤资源、设备、能源的极大浪费。


发明内容
本发明解决的问题是,在宽带业务和安全保障业务复杂化的大趋势下,提供一种支持多业务功能的过滤分流装置,解决现有技术中多网络业务的部署需要多套过滤分流装置支持,造成的光纤资源、设备、能源极大浪费。
为了解决上述技术问题,本发明提供一种支持多业务功能的过滤分流装置,包括管理单元,向用户提供界面以制定各类业务对应的规则策略,输出所述规则策略至规则策略库单元;规则策略库单元,根据所述规则策略形成规则策略库子单元;分类匹配引擎,接收数据包,将所述数据包逐一与所述规则策略库子单元进行匹配形成匹配结果,发送所述匹配结果至业务标签处理引擎,接收结果标签,添加所述结果标签到数据包头部并发送至汇聚交换引擎;业务标签处理引擎,处理所述匹配结果形成所述结果标签,输出所述结果标签至分类匹配引擎,建立结果标签和输出端口的映射表,输出所述映射表至汇聚交换引擎;汇聚交换引擎,接收数据包头部具有所述结果标签的数据包,根据所述结果标签和输出端口的映射表,获得所述数据包的输出端口,从所述输出端口发送所述数据包至用户。
所述规则策略库子单元包括所述规则策略,所述规则策略包括规则和转发行为。
所述分类匹配引擎对所述原始数据包进行协议分析,提取所述原始数据包的协议字段内容,将所述协议字段内容逐一与所述规则策略库子单元进行匹配。
所述协议字段内容符合所述规则策略库子单元中的所述规则,所述规则对应的所述转发行为作为所述匹配结果。
所述匹配结果包括丢弃、转发到指定的一个输出端口、转发到指定的一组输出端口。
所述业务标签处理引擎对所述匹配结果中的输出端口进行移位处理和加法运算,形成结果标签。
所述分类匹配引擎添加所述结果标签到所述原始数据包头部作为目的MAC地址的组成部分。
本发明还提供一种支持多业务功能的过滤分流方法,其特征在于,包括制定各类业务对应的规则策略;根据所述规则策略形成规则策略库子单元;接收数据包,将所述数据包逐一与所述规则策略库子单元进行匹配形成匹配结果,发送所述匹配结果;处理所述匹配结果形成所述结果标签,输出所述结果标签,建立结果标签和输出端口的映射表,输出所述映射表;接收结果标签,添加所述结果标签到数据包头部并输出;接收数据包头部具有所述结果标签的数据包,根据所述结果标签和输出端口的映射表,获得所述数据包的输出端口,从所述输出端口发送所述数据包至用户。
所述形成匹配结果时,对原始数据包进行协议分析,提取数据包的协议字段内容,将该协议字段内容逐一与规则策略库子单元进行匹配,协议字段内容匹配所述规则策略库子单元中的规则,所述规则对应的转发行为作为匹配结果。
所述形成结果标签时,对所述匹配结果中的输出端口进行移位处理,将移位处理后的结果进行加法运算形成结果标签。
与现有技术相比,本发明提供一种支持多业务种类的过滤分流装置及方法,将多种业务的分流过滤功能共享相同的输入单元和过滤分流装置内的处理资源,在一套过滤分流装置中支持多套过滤分流策略,且完全独立互不干扰,符合不同过滤分流策略的数据包从不同的输出端口输出给相应的后端处理系统进行业务处理,有效的解决了多业务功能需求。本发明还提供了多用户管理界面,极大的方便了多业务的部署和实施,将规则和行为组合,方便多用户的底层支持。



图1是本发明支持多业务功能的过滤分流装置的结构图; 图2是本发明支持多业务功能的过滤分流方法的流程图。

具体实施例方式 下面结合附图和实施例对本发明作进一步说明。在下列描述中,不详细描述公知的功能和结构,因为它们会使本发明由于不必要的细节而混乱。
如图1所示,本发明提供一种支持多业务功能的过滤分流装置,包括管理单元1、规则策略库单元2、分类匹配引擎3、业务标签处理引擎4、汇聚交换引擎5。
管理单元1向用户提供界面以制定各类业务对应的规则策略,输出制定好的规则策略至规则策略库单元2。
具体地,管理单元1提供给不同用户以彼此独立的良好读写和管理界面,用户根据各自的业务需求建立不同业务对应的规则策略。规则策略制定后,管理单元1将用户建立的规则策略导入高速内存中的规则策略库单元2。
规则策略库单元2根据不同用户制定的各类业务对应的规则策略,储存并形成属于不同用户的规则策略库子单元。
在高速内存的规则策略库单元2中,属于不同用户建立的规则策略被分配在不同的内存空间中,形成相互独立的规则策略库子单元。每个策略库子单元包括用户制定的规则策略,规则策略包括规则和转发行为,所述规则是使用特定模式来描述匹配的特征,转发行为是符合该规则的数据包从指定输出端口发送的行为。
分类匹配引擎3接收原始数据包,将原始数据包逐一与规则策略库单元2内属于不同用户的规则策略库子单元进行匹配形成匹配结果,发送所述匹配结果至业务标签处理引擎4;接收业务标签处理引擎4输出的结果标签,添加所述结果标签到原始数据包头部并发送至汇聚交换引擎5。
具体地,由硬件接口芯片完成各种物理接口的数据包接入,将网络路由器获取的原始数据包输出至分类匹配引擎3。分类匹配引擎3接收原始数据包,进行协议分析,提取数据包的协议字段内容。将该协议字段内容逐一与规则策略库2中不同用户建立的规则策略库子单元进行匹配。协议字段内容匹配某个规则策略库子单元中的规则后,该规则对应的转发行为被视为匹配结果。匹配结果包括丢弃、转发到指定的某个输出端口、转发到指定的一组输出端口。
分类匹配引擎3还接收业务标签处理引擎4处理输出的标签数据包,添加该结果标签到原始数据包头部作为目的MAC(Media Access Control,介质访问控制)地址的组成部分,发送至汇聚交换引擎5。
业务标签处理引擎4处理匹配结果形成结果标签,输出该结果标签至分类匹配引擎3,建立结果标签和输出端口的映射表,输出所述映射表至汇聚交换引擎5。
业务标签处理引擎4首先对不同匹配结果中的输出端口进行移位处理,然后将移位处理后的结果进行加法运算,组成结果标签;并且,建立该结果标签与匹配结果中输出端口的映射表,发送该映射表至汇聚交换引擎5。
汇聚交换引擎5接收数据包头部具有结果标签的数据包,根据结果标签与输出端口的映射表,获得数据包的输出端口,从所述输出端口发送所述原始数据包至用户。
具体地,汇聚交换引擎5依据业务标签处理引擎4建立的结果标签和输出端口的映射表,查询出结果标签对应的输出端口,从该输出端口发送数据包至用户。分发数据包的方式可以为组播、单播。属于多个用户的数据包流,按照组播的方式分发到对应的输出端口;属于单个用户的数据包流,按照单播的方式分发到指定的端口。
下面结合图1以支持三个业务功能的过滤分流装置作示例性说明。在较佳的实施例中,系统还提供一个超级用户,超级用户设置三个用户的初始管理账号,为每个用户配置一个以太网输出端口。限定三个用户账号互相之间无法干扰到其他任何一方的功能和管理行为。完成输入端口的初始化参数配置,包括CRC(Cyclic Redundancy Check,循环冗余校验)、扰码等参数。
第一用户、第二用户、第三用户拥有不同的账号,每个账号拥有不同的ID。三个用户通过网络SSH(Secure Shell)分别以各自的账号远程进入管理单元1。管理单元1向三个用户提供三个相互独立的读写和管理界面。进入管理单元1后,三个用户将拥有相应的权限,如查看输入端口的参数、配置、状态和流量统计信息;配置本账户的规则策略,添加、删除、查看规则;查看本账号拥有的输出端口的参数、配置、状态和流量统计信息,配置期望的端口工作模式。
三个用户根据不同业务的需求设置其过滤规则以及转发行为,形成各自的规则策略。规则策略的格式如下所示 协议protocol=<tcp|udp|icmp|protocolnum> 包长size=<minsize-maxsize> 源端口sport=<port_list> 目的端口dport=<port_list> 源IPsip=<ip>[/<mask>] 目的IPdip=<ip>[/<mask>] Tcp flagtcpflag=<flaglist> 分片ipfrag=<true |false> 输入端口interface=<interface_id> 用户自定义域ud<ud_id>=<data>/<mask> 转发行为丢弃drop;转发到指定的某个输出端口fw rr<port_list>;转发到指定的一组输出端口fw hash<hash_mode><port_list> 管理单元1将制定好的规则策略导入高速内存中的规则策略库单元2。在高速内存的规则策略库单元2中,形成属于不同用户的规则策略库子单元。在高速内存中,各用户建立的规则策略库子单元以建立该规则策略库子单元的用户ID来区分,因此,不同用户建立的规则策略库子单元分配在不同的内存空间中。不同规则策略子单元所占据的内存空间的大小,根据其规则复杂程度,动态的进行申请和释放。该部分功能可以由CAM技术或高速内存技术实现。在本实施例中,高速内存根据三个用户ID分为三个不同的空间。
第一用户通过管理单元1建立Email审计业务对应的规则策略。管理单元1将第一用户建立的规则策略导入高速内存中的规则策略库单元2,在规则策略库单元2内形成属于第一用户的第一规则策略库子单元。第一用户建立的Email审计业务对应的规则策略规定协议端口号为25的UDP数据包,转发至过滤分流装置的输出端口2。第一用户建立的规则策略库为 匹配规则protocol=udp dport=25 转发行为forward to port 2 第二用户通过管理单元1建立入侵检测业务对应规则策略库。管理单元1将第二用户建立的规则策略导入高速内存中的规则策略库单元2,在规则策略库单元2内形成属于第二用户的第二规则策略库子单元。第二用户建立的入侵检测业务对应的规则策略规定符合待检IP段的所有数据包,转发至过滤分流装置的输出端口23。第二用户的规则策略库为 匹配规则ip=121.15.0.0/255.255.0.0 转发行为forward to port 23 第三用户通过管理单元1建立Web检测业务对应规则策略库。管理单元1将第三用户建立的规则策略导入高速内存中的规则策略库单元2,在规则策略库单元2内形成属于第三用户的第三规则策略库子单元。第三用户建立的Web检测业务对应的规则策略规定http包(协议端口号为80或8080的Tcp包),转发至过滤分流装置的输出端口25。第三用户的规则策略库为 匹配规则protocol=tcp dport=80||Protocol=tcp dport=8080 转发行为forward to port 25 没有规则匹配时,默认的转发行为是丢弃,转发端口为0。此时,三个用户分别建立了三个独立的数据包输出端口和规则策略子单元,共享数据包输入端口和分类匹配引擎3。
路由器从网络中获取原始数据包,输入单元将路由器获取的原始数据包输出至分类匹配引擎3。输入单元包括SDH(Synchronous Digital Hierarchy,同步数字体系)的OC3/12/48/192/768以及Ethernet(以太网)的10/100/1000M、10G等接口。
进入到分类匹配引擎3的原始数据包将会逐一在属于三个用户的三个规则策略库子单元内进行匹配查询,得到三个不同的转发行为。
在一具体实施例中,IP地址为121.15.4.31的用户发送smtp数据包,输入单元将数据包输出至分类匹配引擎3。分类匹配引擎3对该数据包进行全扫描和协议分析,提取数据包的协议字段内容。将该协议字段内容逐一与规则策略库2中三个用户建立的第一规则策略库子单元、第二规则策略库子单元、第三规则策略库子单元进行逐一匹配,结果如下 第一用户匹配protocol=udp dport=25的规则,遵循转发行为forward toport 2,得出转发端口为2。
第二用户匹配ip=121.15.0.0/255.255.0.0的规则,遵循转发行为forwardto port 23,得出转发端口为23。
第三用户73不匹配任何规则,遵循缺省转发行为drop,得出转发端口为0(0端口含义为drop)。
因此,IP地址为121.15.4.31用户发送的smtp数据包的匹配结果为同时向输出端口2、23和0转发,分类匹配引擎3将该匹配结果输出至业务标签处理引擎4。
业务标签处理引擎4根据匹配结果,通过移位和加法计算,得到结果标签。在较佳实施例中,业务标签处理引擎4将三个用户匹配后的转发端口号转为二进制,令第一用户的匹配后转发端口号左移30位,空位补0;第二用户的匹配后转发端口号左移20位,空位补0;第二用户的匹配后转发端口号左移10位,空位补0;然后进行加法运算,不足位以0补充,获得一个40bit的结果标签。
第一用户的匹配后转发端口号为“2”,转化为二进制“10”左移30位,空位补0;第二用户的匹配后转发端口号为“23”,转化为二进制为“10111”左移20位,空位补0;第三用户的匹配后转发端口号“0”,转化为二进制“0”左移10位,空位补0。然后进行二进制加法运算,不足位以0补充,将处理结果凑成一个40bit的结果标签,获得结果标签结果为“…100000010111…(前面省略用于补足位的8个0,后面省略20个0)”。为了便于记录,也可以将二进制端口号转化为十六进制“0081700000”(或者十进制2171600896)作为结果标签。具体过程如下所示
结果标签“…100000010111…(前面省略8个0,后面省略20个0)”被记录在该数据包头部的目的MAC地址字段中,随着数据包一起送至分类匹配引擎3。业务标签处理引擎4建立结果标签“…100000010111…(前面省略8个0,后面省略20个0)”对应输出端口2、23和0的映射表,并且将该映射表发送至汇聚交换引擎5。
分类匹配引擎3将数据包头带有结果标签“…100000010111…(前面省略8个0,后面省略20个0)”的数据传输至汇聚交换引擎5。汇聚交换引擎5接收按照业务标签处理引擎4建立的映射表,找出数据包头中的结果标签“…100000010111…(前面省略8个0,后面省略20个0)”对应输出端口2、23和0。
由于需要同时向输出端口2、23发送同样的数据包,因此,汇聚交换引擎5将该数据包内容复制两份,从输出端口2发送数据包至第一用户,第一用户获得了Email审计业务所需的数据包;从输出端口23发送数据包至第二用户,第二用户获得了入侵检测业务处理所需的数据包。多个输出端口引起了多份数据包流量,但不是在匹配之后就复制生产,而是在汇聚输出环节产生,这样极大的节省了数据包从分类匹配引擎3传输到汇聚交换引擎6所占用带宽,提高了处理转发效率。
在又一具体实施例中,IP地址为121.15.4.31用户发送的tcp80端口数据包。分类匹配引擎3接收该数据包,将数据包的协议字段内容逐一与三个规则策略库2中三个用户建立的规则策略库子单元进行逐一匹配,匹配结果为同时向输出端口0、23和25转发,具体如下 第一用户不匹配任何规则,遵循缺省转发行为drop。得出转发端口为0(0端口含义为drop)。
第二用户匹配ip=121.15.0.0/255.255.0.0的规则,遵循转发行为forwardto port 23,得出转发端口为23。
第三用户匹配protocol=tcp dport=80的规则,遵循转发行为forward toport 25,得出转发端口为25。
业务标签处理引擎4根据匹配结果,通过移位和加法计算,得到结果标签“…00000101110000011001…(前面省略10个0,后面省略10个0)”,并且建立结果标签“…00000101110000011001…(前面省略10个0,后面省略10个0)”对应输出端口0、23和25的映射表。分类匹配引擎3将包头带有结果标签“…00000101110000011001…(前面省略10个0,后面省略10个0)”的数据包传输至汇聚交换引擎5。汇聚交换引擎5按照业务标签处理引擎4建立的映射表,找出数据包头中的结果标签“…00000101110000011001…(前面省略10个0,后面省略10个0)”对应输出端口0、23和25。则汇聚交换引擎5复制两份该数据包内容,从输出端口23发送数据至第二用户,第二用户获得了入侵检测业务处理所需的数据包;从输出端口25发送数据至第三用户,第三用户获得了Web检测业务处理所需的数据包。
本发明还提供一种支持多业务功能的过滤分流方法,包括S1制定各类业务对应的规则策略;S2根据所述规则策略,形成规则策略库子单元;S3接收数据包,将所述数据包逐一与所述规则策略库子单元进行匹配形成匹配结果,发送所述匹配结果;S4处理所述匹配结果形成所述结果标签,输出所述结果标签,建立结果标签和输出端口的映射表,输出所述映射表;S5接收结果标签,添加所述结果标签到数据包头部并输出;S6接收具有所述结果标签的数据包,根据所述结果标签和输出端口的映射表,获得所述数据包的输出端口,从所述输出端口发送所述数据包至用户。
在步骤S1中,不同用户拥有不同的ID,用户通过相互独立的读写和管理界面,制定属于各自业务的规则策略。
在步骤S2中,将属于不同用户ID的规则策略分配在不同的内存空间中,形成规则策略库子单元。不同ID的规则策略子单元所占据的内存空间的大小,根据其规则复杂程度,动态的进行申请和释放。该部分功能可以由CAM技术或高速内存技术实现。
在步骤S3中,对原始数据包进行协议分析,提取数据包的协议字段内容。将该协议字段内容逐一与规则策略库子单元进行匹配。协议字段内容符合某个规则策略库子单元中的规则时,该规则对应的转发行为被视为匹配结果。
在步骤S4中,对不同的匹配结果中的输出端口进行移位处理,然后将移位处理后的结果进行加法运算,组成结果标签。建立该结果标签与匹配结果中输出端口的映射表并输出。
在步骤S5中,接收结果标签,添加该标签数据包到原始数据包头部作为目的MAC地址的组成部分,输出带有结果标签的原始数据包。
在步骤S6中,发送数据包的方式可以为组播、单播。属于多个用户的数据包流,按照组播的方式分发到对应的输出端口;属于单个用户的数据包流,按照单播的方式分发到指定的端口。
虽然本发明已以较佳实施例披露如上,但本发明并非限定于此。任何本领域技术人员,在不脱离本发明的精神和范围内,均可作各种更动与修改,因此本发明的保护范围应当以权利要求所限定范围。
权利要求
1.一种支持多业务功能的过滤分流装置,其特征在于,包括
管理单元,向用户提供界面以制定各类业务对应的规则策略,输出所述规则策略至规则策略库单元;
规则策略库单元,根据所述规则策略形成规则策略库子单元;
分类匹配引擎,接收数据包,将所述数据包逐一与所述规则策略库子单元进行匹配形成匹配结果,发送所述匹配结果至业务标签处理引擎,接收结果标签,添加所述结果标签到数据包头部并发送至汇聚交换引擎;
业务标签处理引擎,处理所述匹配结果形成所述结果标签,输出所述结果标签至分类匹配引擎,建立结果标签和输出端口的映射表,输出所述映射表至汇聚交换引擎;
汇聚交换引擎,接收数据包头部具有所述结果标签的数据包,根据所述结果标签和输出端口的映射表,获得所述数据包的输出端口,从所述输出端口发送所述数据包至用户。
2.根据权利要求1所述的过滤分流装置,其特征在于,所述规则策略库子单元包括所述规则策略,所述规则策略包括规则和转发行为。
3.根据权利要求2所述的过滤分流装置,其特征在于,所述分类匹配引擎对所述原始数据包进行协议分析,提取所述原始数据包的协议字段内容,将所述协议字段内容逐一与所述规则策略库子单元进行匹配。
4.根据权利要求3所述的过滤分流装置,其特征在于,所述协议字段内容符合所述规则策略库子单元中的所述规则,所述规则对应的所述转发行为作为所述匹配结果。
5.根据权利要求4所述的过滤分流装置,其特征在于,所述匹配结果包括丢弃、转发到指定的一个输出端口、转发到指定的一组输出端口。
6.根据权利要求5所述的过滤分流装置,其特征在于,所述业务标签处理引擎对所述匹配结果中的输出端口进行移位处理和加法运算,形成结果标签。
7.根据权利要求1所述的过滤分流装置,其特征在于,所述分类匹配引擎添加所述结果标签到所述原始数据包头部作为目的MAC地址的组成部分。
8.一种支持多业务功能的过滤分流方法,其特征在于,包括
制定各类业务对应的规则策略;
根据所述规则策略形成规则策略库子单元;
接收数据包,将所述数据包逐一与所述规则策略库子单元进行匹配形成匹配结果,发送所述匹配结果;
处理所述匹配结果形成结果标签,输出所述结果标签,建立结果标签和输出端口的映射表,输出所述映射表;
接收所述结果标签,添加所述结果标签到数据包头部并输出;
接收数据包头部具有所述结果标签的数据包,根据所述结果标签和输出端口的映射表,获得所述数据包的输出端口,从所述输出端口发送所述数据包至用户。
9.根据权利要求8所述的过滤分流方法,其特征在于,所述形成匹配结果时,对原始数据包进行协议分析,提取数据包的协议字段内容,将该协议字段内容逐一与规则策略库子单元进行匹配,协议字段内容匹配所述规则策略库子单元中的规则,所述规则对应的转发行为作为匹配结果。
10.根据权利要求8所述的过滤分流方法,其特征在于,所述形成结果标签时,对所述匹配结果中的输出端口进行移位处理,将移位处理后的结果进行加法运算形成结果标签。
全文摘要
一种支持多业务功能的过滤分流装置和方法,使输入的原始数据包逐一与不同用户建立的规则策略库子单元进行匹配,形成匹配结果。处理所述匹配结果形成结果标签,建立结果标签和输出端口的映射表。添加所述结果标签到所述原始数据包头部,根据所述结果标签和所述映射表获得输出端口,从所述输出端口发送所述原始数据包至用户。将多种业务的分流过滤功能共享相同的输入单元和装置内的处理资源,在一套过滤分流装置中支持多套过滤分流策略,且完全独立互不干扰,有效的解决了多业务功能需求。
文档编号H04L12/56GK101764741SQ200910199468
公开日2010年6月30日 申请日期2009年11月27日 优先权日2009年11月27日
发明者张诗超 申请人:上海恒为信息科技有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1