报文过滤方法和装置的制作方法

文档序号:7754313阅读:449来源:国知局
专利名称:报文过滤方法和装置的制作方法
技术领域
本发明涉及网络通信技术领域,具体而言,涉及一种报文过滤方法和装置。
背景技术
ACL(访问控制列表)是通过一系列的匹配条件来对数据报文进行分类的技术。 ACL根据不同的匹配标准,可以分为标准ACL、扩展ACL、二层ACL、混合ACL等。这些固 定ACL可以匹配到数据报文头部常用的字段与组合,如源MAC、目的MAC,源IP,目的IP, EtherType类型等;但有些比较特殊的字段(如=EtherType类型后面的两个字节)或组合 并不在常见的匹配之中,这时只能使用自定义的ACL才能实现对这些特殊字段或组合的匹 配。自定义ACL是指把报文头部前128个字节分为从4*N+2 (N的值为0 31)开始的 32个4字节的小块,用户可以从中任意选择4个小块(共16字节)来设置匹配的数据对报 文进行分类。在现有的技术中,自定义ACL的配置没有基于模版来设置报文类型、匹配规则和 硬件等功能,这样,每次配置都要与之前的所有配置进行检查,且无法实现对所有报文类型 匹配的覆盖。从而,在使用ACL对报文进行过滤时,增加了处理的复杂度和时间。

发明内容
本发明的主要目的在于提供一种报文过滤方法和装置,以至少解决在现有技术中 报文过滤较为复杂以及时间较长的问题。根据本发明的一个方面,提供了一种报文过滤方法,其包括根据待匹配报文的类 型和上述待匹配报文的内容生成自定义访问控制列表ACL模版;确定上述自定义ACL模版 的匹配规则,其中,上述匹配规则包括上述待匹配报文的内容的取值范围;使用上述匹配规 则对接收到的报文进行过滤。进一步,根据待匹配报文的类型和上述待匹配报文的内容生成自定义访问控制列 表ACL模版包括获取上述待匹配报文的类型以及上述待匹配报文的内容;根据上述待匹 配报文的类型获取上述待匹配报文的内容在报文头部中的偏移位置;将上述类型和上述偏 移位置组合成上述自定义ACL模版。进一步,在将上述类型和上述偏移位置组合成上述自定义ACL模版之后,还包括 判断待匹配报文的类型是否发生变化;若发生变化,则根据变化后的类型重新获取上述待 匹配报文的内容在报文头部中的偏移位置;将上述变化后的类型和重新获取的偏移位置组 合成变化后的自定义ACL模版。进一步,确定上述自定义ACL模版的匹配规则包括接收用户输入的匹配条件;根 据上述用户输入的匹配条件确定上述待匹配报文的内容的取值范围。进一步,在根据上述用户输入的匹配条件确定上述待匹配报文的内容的取值范围 之后,还包括判断上述用户输入的匹配条件是否发生改变;若发生改变,则根据变化后的匹配条件确定变化后的上述待匹配报文的内容的取值范围。进一步,使用上述匹配规则对接收到的报文进行过滤包括判断交换设备的端口 是否已配置旧匹配规则;若已配置,则判断上述已配置的旧匹配规则是否与当前确定的上 述匹配规则相同;若不同,则将上述旧匹配规则更新为上述当前确定的上述匹配规则;上 述交换设备的端口使用上述当前确定的上述匹配规则对接收到的报文进行过滤。根据本发明的另一方面,提供了一种报文过滤装置,其包括生成单元,用于根据 待匹配报文的类型和上述待匹配报文的内容生成自定义访问控制列表ACL模版;确定单 元,用于确定上述自定义ACL模版的匹配规则,其中,上述匹配规则包括上述待匹配报文的 内容的取值范围;过滤单元,用于使用上述匹配规则对接收到的报文进行过滤。进一步,上述生成单元包括第一获取模块,用于获取上述待匹配报文的类型以及 上述待匹配报文的内容;第二获取模块,用于根据上述待匹配报文的类型获取上述待匹配 报文的内容在报文头部中的偏移位置;处理模块,用于将上述类型和上述偏移位置组合成 上述自定义ACL模版。进一步,上述确定单元包括接收模块,用于接收用户输入的匹配条件;处理模 块,用于根据上述用户输入的匹配条件确定上述待匹配报文的内容的取值范围。进一步,上述过滤单元包括第一判断模块,用于判断交换设备的端口是否已配置 旧匹配规则;第二判断模块,用于在已配置旧匹配规则时判断上述已配置的旧匹配规则是 否与当前确定的上述匹配规则相同;更新模块,用于在旧匹配规则与当前确定的上述匹配 规则不同时,将上述旧匹配规则更新为上述当前确定的上述匹配规则;过滤模块,用于使用 上述当前确定的上述匹配规则对接收到的报文进行过滤。本发明采用自定义ACL模版的概念,使得其与报文类型和匹配规则相对应,这样 在使用自定义ACL对报文进行过滤时,不需要与之前的所有配置进行检查,并且可以覆盖 全部的报文类型,减少了处理的复杂度和时间。


此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发 明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中图1是根据本发明实施例的报文过滤方法的流程图;图2是根据本发明实施例的配置自定义ACL的模版的优选流程图;图3是根据本发明实施例的配置基于自定义ACL模版的匹配规则的优选流程图;图4是根据本发明实施例的将自定义ACL的匹配规则应用于交换设备的端口的优 选流程图;图5是根据本发明实施例的更新或删除基于自定义ACL模版的匹配规则的示意 图;图6是根据本发明实施例的从交换设备的端口解除自定义ACL的匹配规则的示意 图;图7是根据本发明实施例的删除自定义ACL的模版的示意图;图8是根据本发明实施例的报文过滤装置的结构示意图。
具体实施例方式下文中将参考附图并结合实施例来详细说明本发明。需要说明的是,在不冲突的 情况下,本申请中的实施例及实施例中的特征可以相互组合。图1是根据本发明实施例的报文过滤方法的流程图,其包括如下步骤S102,根据待匹配报文的类型和上述待匹配报文的内容生成自定义ACL模版;S104,确定上述自定义ACL模版的匹配规则,其中,上述匹配规则包括上述待匹配 报文的内容的取值范围;S106,使用上述匹配规则对接收到的报文进行过滤。在现有的技术中,自定义ACL的配置没有基于模版来设置报文类型、匹配规则和 设置硬件等功能,这样,每次配置都要与之前的所有配置进行检查,且无法实现对所有报文 类型匹配的覆盖。从而,在使用自定义ACL对报文进行过滤时,增加了处理的复杂度和时 间。反观本发明实施例,采用自定义ACL模版的概念,使得其与报文类型和匹配内容相对 应,这样在使用自定义ACL对报文进行过滤时,不需要与之前的所有配置进行检查,并且可 以覆盖全部的报文类型,减少了处理的复杂度和时间。优选的,根据待匹配报文的类型和所述待匹配报文的内容生成自定义访问控制列 表ACL模版包括获取所述待匹配报文的类型以及所述待匹配报文的内容;根据所述待匹 配报文的类型获取所述待匹配报文的内容在报文头部中的偏移位置;将所述类型和所述偏 移位置组合成所述自定义ACL模版。通过设置所有报文类型的待匹配的内容和偏移位置,增加了处理的适用生。优选的,在将所述类型和所述偏移位置组合成所述自定义ACL模版之后,上述方 法还包括判断待匹配报文的类型是否发生变化;若发生变化,则根据变化后的类型重新 获取所述待匹配报文的内容在报文头部中的偏移位置;将所述变化后的类型和重新获取的 偏移位置组合成变化后的自定义ACL模版。通过上述偏移位置和报文类型可以灵活的配置自定义ACL模版,这样在自定义 ACL模版更新时,只需要更新偏移位置与报文类型,而不需要完全重新配置,从而增加了处 理的灵活性。优选的,确定所述自定义ACL模版的匹配规则包括接收用户输入的匹配条件;根 据所述用户输入的匹配条件确定所述待匹配报文的内容的取值范围。通过用户输入的方式获取匹配条件,提高了配置的灵活性和实时性。优选的,在根据所述用户输入的匹配条件确定所述待匹配报文的内容的取值范围 之后,上述方法还包括判断上述用户输入的匹配条件是否发生改变;若发生改变,则根据 变化后的匹配条件确定变化后的所述待匹配报文的内容的取值范围。通过上述的检测更新方法,可以根据用户的输入来实时地配置匹配规则。优选的,使用上述匹配规则对接收到的报文进行过滤包括判断交换设备的端口 是否已配置旧匹配规则;若已配置,则判断上述已配置的旧匹配规则是否与当前确定的上 述匹配规则相同;若不同,则将上述旧匹配规则更新为上述当前确定的上述匹配规则;上 述交换设备的端口使用上述当前确定的上述匹配规则对接收到的报文进行过滤。通过上述的方式,只在旧的匹配规则与新的匹配规则不同的情况下,才更新交换 设备的端口所使用的匹配规则,从而减少了系统的开销。
6
下面对上述实施例进行进一步的描述。在上述步骤S102中,配置自定义ACL的模版,确定需要匹配的字段,即从报文头部 前128个字节分成的32个小块中选择出所需的4个小块(如果用户匹配的字段并不需要 用满4个小块,也可以选择1-3块)。在同一个模版中用户可以对不同类型的报文都配置一 个模版,不同类型的报文指的是报文二层类型+报文三层类型+vlan标签的个数。举例来说用户需要匹配的是以太网的IPV4的报文,要匹配unTag,oneTag 与twoTag所有类型,那么可以确认匹配的报文类型组合为(EtherNetII+IPV4+unTag, EtherNetI I+IPV4+oneTag, EtherNetI I+IPV4+twoTag)。如果用户需要匹配的是目的 Mac+IPV4类型+四层端口号,那么在unTag的时候,四个小块的偏移即为0、1、6、9 ;oneTag 的时候四个小块的偏移即为0、1、7、10 ;twoTag的时候四个小块的偏移为0、1、8、11。可以 如下配置模式为Acl udf profile loffset 10offset2 1 offset3 6 offset4 9 EtherNetIIIPV4 unTag ;Acl udf profile loffsetl O offset2 1 offset3 7 offset4 10 EtherNetIIIPV4 oneTag ;Acl udf profile 1 offset 10offset2 1 offset38offset4 11 EtherNetIIIPV4 twoTagο如果除上述配置外还需对IPV6报文限制,可以继续在Acl udfprofile 1中添 加,这样基于同一个模版,就可以匹配所有类型的报文;当然,如果只需要匹配一层Vlan标 签的报文,则只需要配置上述中间的那条即可。如果对已经配置的报文类型还有别的需求,比如需要匹配以太网报文的目的 Mac+IPV4的option字段+外层Vlan中的Cos值,那么可以根据需要配置新的模版,可以如 下配置模式为Acl udf profile 2 ο f f s e t 10 offset21offset3 4 offset41IEtherNetIIIPV4oneTag ;Acl udf profile 2 offsetl 0 of f set2 Iof f set3 4 offset4 12 EtherNetIIIPV4 twoTag。模版与模版之间不需要做冲突检查,因为配置了模版不代表要应用于交换设备, 在定义出具体的匹配规则应用于端口时需要进行冲突的检测。在上述的步骤S104中,配置基于自定义ACL模版的一系列匹配规则,是指在基于 步骤S102中的模版配置具体需要匹配的数据范围。举例来说基于模版1配置,匹配目的 Mac为1000. 2001. 3002+IPV4类型为17+四层源端口号为67的报文,以及匹配目的Mac为 1000. 2002. 3010 001f+IPV4类型为17+四层源端口号为68的报文,这样可以进行如下配 置Acl udfprofile lacl_no 100Rule lpermit offsetl 0x1000 Oxffff of f set2 0x20013002 0xffffffffoffset3 0x110000 OxffOOOO offset4 0x430000 OxffffOOOO ;Rule 2permit offsetl OxlOOOOxffff of f set2 0x200230 10 0xfffffff0offset3 0x110000 OxffOOOO offset4 0x440000 OxffffOOOO ;
在上述步骤S106中,将自定义ACL的匹配规则应用于交换设备的端口,在绑定端 口时检测是否已有基于别的自定义模版的ACL已经绑定于别的端口,即检查是否还有可用 的UDF资源。举例来说,配置了基于Acl udf profile 1的acl 100与101,基于Acl udf profile 2的acl 200与201,因为硬件要求设备上只能实现一种模式的自定义ACL,即在任 意端口如果绑定了 acl 100,那么在别的端口上就只能绑定acl 100或101,而不可以再绑 定200与201 了,如果需要绑定就必须把别的模版的acl全部从端口解除掉。如果是第一 次绑定某模版的ACL,需要首先初始化UDF的组;最后一次解除某模版的ACL绑定,需要清 除UDF组的设置。由此可见,在本发明提供的方案中,可以简单的实现自定义ACL的配置,提高了自 定义ACL配置的效率,提供了用户丰富的配置ACL的方法。下面结合附图来详细描述上述实施例中的各个步骤。图2是根据本发明实施例的配置自定义ACL的模版的优选流程图,其包括以下步 骤S201.用户确定需要匹配的报文的类型。例如,如上述实施例所示,确定报文类型 为(EtherNetII+IPV4+unTag, EtherNetII+IPV4+oneTag, EtherNetII+IPV4+twoTag);S202.用户确定需要匹配的各种类型报文的偏移块;上例中,因为匹配的是目 的Mac+IPV4类型+四层端口号,所以确定偏移块为unTag :0、1、6、9,oneTag :0、1、7、10, twoTag :0、1、8、11。S203.判断配置的模版中同样类型报文是否有配置过,没有转向S206,有转向 S204 ;S204.同一个模版中同样的类型配置过,则进一步判断其与新配置是否相同,相同 转向210,没有转向S205 ;S205.删除模版中此类型报文的配置;S206.保存模版中对此类型报文的配置;S207.判断此模版是否有配置ACL规则,没有转向S210,有转向S208 ;S208.判断此模版配置的ACL规则是否绑定端口,没有转向S210,有转向S209 ;S209.更新 UDF 模式;S210.结束。图3是根据本发明实施例的配置基于自定义ACL模版的匹配规则的优选流程图, 其包括以下步骤S301.此ACL规则是否有配置过,没有转向S307,有转向S302 ;S302.此ACL规则中的此条Rule是否配置过,没有转向S305,有转向S303 ;S303.此条Rule与原先的配置是否相同,相同转向S304,不同转向S305 ;S304.记录此ACL的Rule规则配置相同;如上例中记录的四个小块的匹配内容 就是(Rulel =OxlOOO Oxffff,0x20013002 Oxffffffff,0x110000 OxffOOOO,0x430000 OxffffOOOO ;Rule2 =OxlOOO Oxffff,0x20023010 OxfffffffO,0x110000 OxffOOOO、 0x440000 Oxffff0000),转至 S306 ;S305.记录此ACL的Rule规则配置不同,保存Rule的配置,转至S306 ;S306.判断ACL规则配置是否结束,是转向S308,否转向S302 ;
8
S307.保存ACL规则所有的配置,转至S308 ;S308.判断ACL是否绑定端口,没有转向S310,有转向S309 ;S309.更新端口绑定的ACL规则;S310.结束。图4是根据本发明实施例的将自定义ACL的匹配规则应用于交换设备的端口的优 选流程图,其包括以下步骤S401.判断此端口是否已绑定ACL,没有转向S409,有转向S402 ;S402.判断此端口已经绑定的ACL与新要绑定的是否相同,是转向S413,否转向 S403 ;S403.判断新绑定的ACL与原来绑定的ACL是否基于同一个自定义ACL模版,是转 向S404,否转向S406 ;
5404.删除端口与原有ACL的绑定;
5405.重新绑定新的ACL,转向S413;
5406.判断是否还有端口绑定与原先的ACL相同模版的ACL,是转向S413,否转向
5407.删除端口与原有ACL的绑定;
5408.删除UDF原有模式,转向S411;
5409.判断此模版的ACL是否有绑定其他端口,是转向S412,否转向S410;
5410.判断是否有其他模版的ACL绑定端口,是转向S413,否转向S411;
5411.初始化UDF新的模式;
5412.在端口上绑定ACL配置;
5413.结束。
图5是根据本发明实施例的更新或删除基于自定义ACL模版的匹配规则的示意 S407 ; 图,其包括以下步骤S501.判断此ACL是否有绑定端口,没有转向S505,有转向S502 ;S502.删除此ACL对所有端口的绑定;S503.判断此ACL所属的模版是否还有别的ACL绑定端口,没有转向S504,有转向 S505 ;S504.删除 UDF 模式;S505.删除 ACL 规则;S506.结束。图6是根据本发明实施例的从交换设备的端口解除自定义ACL的匹配规则的示意 图,其包括以下步骤 向 S606
5601.判断此ACL是否绑定给定的端口,没有转向S606,有转向S602;
5602.判断是否还有端口绑定此ACL,没有转向S604,有转向S603;
5603.解除此端口的ACL绑定,转向S606;
5604.判断其他端口是否还有绑定与此ACL相同模版的规则,没有转向S605,有转
5605.删除UDF模式;
S606.结束。图7是根据本发明实施例的删除自定义ACL的模版的示意图,其包括以下步骤S701.判断基于此自定义ACL模式是否有配置ACL规则,没有转向S707,有转向 S702 ;S702.判断基于此模版的ACL规则是否有绑定端口,没有转向S705,有转向S703 ;S703.删除ACL规则对端口的绑定;S704.删除 UDF 模式;S705.删除基于此模版的ACL规则;S706.删除自定义ACL模版;S707.结束。本发明还提供了一种报文过滤装置,其可以使用上述各实施例描述的报文过滤方法。图8是根据本发明实施例的报文过滤装置的结构示意图,其包括生成单元802, 用于根据待匹配报文的类型和所述待匹配报文的内容生成自定义访问控制列表ACL模版; 确定单元804,与生成单元802连接,用于确定所述自定义ACL模版的匹配规则,其中,所述 匹配规则包括所述待匹配报文的内容的取值范围;过滤单元806,与确定单元804连接,用 于使用上述匹配规则对接收到的报文进行过滤。在实施例中,采用自定义ACL模版的概念,使得其与报文类型和匹配规则相对应, 这样在使用自定义ACL对报文进行过滤时,不需要与之前的所有配置进行检查,并且可以 覆盖全部的报文类型,减少了处理的复杂度和时间。优选的,上述生成单元802包括第一获取模块,用于获取所述待匹配报文的类型 以及所述待匹配报文的内容;第二获取模块,与第一获取模块连接,用于根据所述待匹配报 文的类型获取所述待匹配报文的内容在报文头部中的偏移位置;处理模块,与第一获取模 块和第二获取模块连接,用于将所述类型和所述偏移位置组合成所述自定义ACL模版。优选的,上述确定单元804包括接收模块,用于接收用户输入的匹配条件;处理 模块,与接收模块连接,用于根据所述用户输入的匹配条件确定所述待匹配报文的内容的 取值范围。优选的,上述过滤单元806包括第一判断模块,用于判断交换设备的端口是否已 配置旧匹配规则;第二判断模块,与第一判断模块连接,用于在已配置旧匹配规则时判断上 述已配置的旧匹配规则是否与当前确定的上述匹配规则相同;更新模块,与第二判断模块 连接,用于在旧匹配规则与当前确定的上述匹配规则不同时,将上述旧匹配规则更新为上 述当前确定的上述匹配规则;过滤模块,与更新模块连接,用于使用上述当前确定的上述匹 配规则对接收到的报文进行过滤。显然,本领域的技术人员应该明白,上述的本发明的各模块或各步骤可以用通用 的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成 的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储 在存储装置中由计算装置来执行,并且在某些情况下,可以以不同于此处的顺序执行所示 出或描述的步骤,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或 步骤制作成单个集成电路模块来实现。这样,本发明不限制于任何特定的硬件和软件结合。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技 术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修 改、等同替换、改进等,均应包含在本发明的保护范围之内。
权利要求
一种报文过滤方法,其特征在于,包括根据待匹配报文的类型和所述待匹配报文的内容生成自定义访问控制列表ACL模版;确定所述自定义ACL模版的匹配规则,其中,所述匹配规则包括所述待匹配报文的内容的取值范围;使用所述匹配规则对接收到的报文进行过滤。
2.根据权利要求1所述的方法,其特征在于,根据待匹配报文的类型和所述待匹配报 文的内容生成自定义访问控制列表ACL模版包括获取所述待匹配报文的类型以及所述待匹配报文的内容;根据所述待匹配报文的类型获取所述待匹配报文的内容在报文头部中的偏移位置; 将所述类型和所述偏移位置组合成所述自定义ACL模版。
3.根据权利要求2所述的方法,其特征在于,在将所述类型和所述偏移位置组合成所 述自定义ACL模版之后,还包括判断待匹配报文的类型是否发生变化;若发生变化,则根据变化后的类型重新获取所述待匹配报文的内容在报文头部中的偏 移位置;将所述变化后的类型和重新获取的偏移位置组合成变化后的自定义ACL模版。
4.根据权利要求1所述的方法,其特征在于,确定所述自定义ACL模版的匹配规则包括接收用户输入的匹配条件;根据所述用户输入的匹配条件确定所述待匹配报文的内容的取值范围。
5.根据权利要求4所述的方法,其特征在于,在根据所述用户输入的匹配条件确定所 述待匹配报文的内容的取值范围之后,还包括判断所述用户输入的匹配条件是否发生改变;若发生改变,则根据变化后的匹配条件确定变化后的所述待匹配报文的内容的取值范围。
6.根据权利要求1所述的方法,其特征在于,使用所述匹配规则对接收到的报文进行 过滤包括判断交换设备的端口是否已配置旧匹配规则;若已配置,则判断所述已配置的旧匹配规则是否与当前确定的所述匹配规则相同;若不同,则将所述旧匹配规则更新为所述当前确定的所述匹配规则;所述交换设备的端口使用所述当前确定的所述匹配规则对接收到的报文进行过滤。
7.一种报文过滤装置,其特征在于,包括生成单元,用于根据待匹配报文的类型和所述待匹配报文的内容生成自定义访问控制 列表ACL模版;确定单元,用于确定所述自定义ACL模版的匹配规则,其中,所述匹配规则包括所述待 匹配报文的内容的取值范围;过滤单元,用于使用所述匹配规则对接收到的报文进行过滤。
8.根据权利要求7所述的装置,其特征在于,所述生成单元包括第一获取模块,用于获取所述待匹配报文的类型以及所述待匹配报文的内容;第二获取模块,用于根据所述待匹配报文的类型获取所述待匹配报文的内容在报文头 部中的偏移位置;处理模块,用于将所述类型和所述偏移位置组合成所述自定义ACL模版。
9.根据权利要求7所述的装置,其特征在于,所述确定单元包括 接收模块,用于接收用户输入的匹配条件;处理模块,用于根据所述用户输入的匹配条件确定所述待匹配报文的内容的取值范围。
10.根据权利要求7所述的装置,其特征在于,所述过滤单元包括 第一判断模块,用于判断交换设备的端口是否已配置旧匹配规则;第二判断模块,用于在已配置旧匹配规则时判断所述已配置的旧匹配规则是否与当前 确定的所述匹配规则相同;更新模块,用于在旧匹配规则与当前确定的所述匹配规则不同时,将所述旧匹配规则 更新为所述当前确定的所述匹配规则;过滤模块,用于使用所述当前确定的所述匹配规则对接收到的报文进行过滤。
全文摘要
本发明公开了一种报文过滤方法和装置,其中,该报文过滤方法包括根据待匹配报文的类型和上述待匹配报文的内容生成自定义访问控制列表ACL模版;确定上述自定义ACL模版的匹配规则,其中,上述匹配规则包括上述待匹配报文的内容的取值范围;使用上述匹配规则对接收到的报文进行过滤。本发明解决了现有技术中报文过滤较为复杂以及时间较长的问题,使得在使用自定义ACL对报文进行过滤时,不需要与之前的所有配置进行检查,并且可以覆盖全部的报文类型,减少了处理的复杂度和时间。
文档编号H04L12/56GK101895467SQ20101022814
公开日2010年11月24日 申请日期2010年7月8日 优先权日2010年7月8日
发明者潘丹丹 申请人:中兴通讯股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1