CN101399747B - Acl配置实现方法 - Google Patents
Acl配置实现方法 Download PDFInfo
- Publication number
- CN101399747B CN101399747B CN2007101236863A CN200710123686A CN101399747B CN 101399747 B CN101399747 B CN 101399747B CN 2007101236863 A CN2007101236863 A CN 2007101236863A CN 200710123686 A CN200710123686 A CN 200710123686A CN 101399747 B CN101399747 B CN 101399747B
- Authority
- CN
- China
- Prior art keywords
- acl
- template
- rule
- user defined
- implementation method
- 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.)
- Active
Links
Images
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开了ACL配置实现方法,应用在路由交换设备上,涉及数据通信领域,尤其涉及ACL配置实现方法。所述方法包括以下步骤:A、用户自定义ACL规则并下发;B、路由交换设备决定是否重新配置模板;C、路由交换设备根据模板中生效的ACL写驱动。本发明由于用户可以通过自定义ACL规则对于那些使用业界通用ACL形式不能或者不容易匹配到的字段进行ACL设置。所以丰富了ACL定义的内容,可以更好地实现数据报文的过滤。
Description
技术领域
本发明涉及数据通信领域,尤其涉及ACL配置实现方法。
背景技术
ACL(Access Control List)是一种定义流的工具,它的全称为访问控制列表。ACL通过一系列的匹配条件对数据报文进行分类,这些条件可以是数据包的目的地址、源地址、端口号等。ACL应用在交换路由设备的虚接口或者物理接口等,路由交换设备根据ACL中指定的匹配条件来检测数据包,从而决定该数据包转发或者丢弃。
ACL目前的匹配规则主要是针对数据报文中固定字段进行匹配,并且对于不同的匹配标准定义了不同的名字,按照行业中通用的称呼如下,我们称之为固定ACL:
标准ACL:源地址。
扩展ACL:源地址、目的地址等五元组。
二层ACL:源目的MAC、VLAN等。
混合ACL:包括以上ACL匹配字段的组合。
这些ACL匹配字段几乎涵盖了数据报文头所有的常用字段,但是对于报文头中某些字段之间的精确组合却不能做到,但是在实际应用中我们经常遇到。例如,目的MAC的最后一个字节与源MAC的第一字节的组合匹配等,这种匹配虽然可以使用二层ACL进行配置,但是对于报文头某些字段组合却无能为力(例如目的MAC的第二字节和IP数据包中分片的字段FLAG+偏移量offset,如IP地址和数据开始的第一个字节的组合,各种用户需要的组合都能实现),现在的ACL都不能和数据有组合。
发明内容
本发明所要解决的技术问题是提供一种可以对一些不能使用或者不宜使用固定ACL的特定字段通过用户自定义ACL的方式来处理的ACL配置实现方法。
本发明所述的ACL配置实现方法,应用在路由交换设备上,包括以下步骡:
A、用户自定义ACL规则并下发;
B、路由交换设备决定是否重新配置模板;
C、路由交换设备根据模板中生效的ACL写驱动。
在几个端口使用不同模板的情况下,路由交换设备重新配置模板。在这种情况下,通常都需要重新配置模板。
在几个端口共同使用一个模板的情况下,路由交换设备比较用户自定义ACL规则与模板中已配置的规则,如果本组资源的模板中定义字段已经包含下发ACL中使用的字段,则不重新配置模板;如果不包含下发ACL中使用的字段,则需重新配置模板。这是针对几个端口共同使用一个模板的情况,决定是否重新配置模板的一种方法。
在一个端口、一个模板的情况下,路由交换设备比较用户自定义ACL规则与模板中已配置的规则,如果本组资源的模板中定义字段已经包含下发ACL中使用的字段,则不重新配置模板;如果不包含下发ACL中使用的字段,则需重新配置模板。这是针对一个端口、一个模板的情况,决定是否重新配置模板的一种方法。
首先全部清除已经生效的自定义ACL;
然后根据本次下发的ACL和以前已经下发过的ACL重新设置自定义ACL模板;
模板设置完成以后,将本次ACL绑定生效。这是重新配置模板的具体方法。
模板设置完成以后,除将本次ACL绑定生效以外,还需将原先已经删除掉的ACL按照新的模板进行重新绑定生效。这样可以设模板中生效的ACL定义字段更丰富。
所述的步骤A中用户自定义的ACL规则下发包括以下步骤:
查ACL表,按顺序提取其中生效的RULE,产生RULE表;
按输入接口参数,提取要增加此ACL的物理接口列表;
将产生的RULE表和物理接口列表传递给驱动接口函数。这是自定义的ACL规则下发的具体方法。
所述的步骤A中所述定义的内容包括数据报文头开始将要偏移的字节数、匹配字节的长度、匹配字节的内容、数据报文中存在的VLAN个数。规定VLAN的个数对于现在的芯片更容易实现。
本发明由于用户可以通过自定义ACL规则对于那些使用业界通用ACL形式不能或者不容易匹配到的字段进行ACL设置。所以丰富了ACL定义的内容,可以更好地实现数据报文的过滤。
附图说明
图1是实施例中的ACL配置实现方法流程图。
图2是用户自定义的ACL规则下发流程图。
图3是多个端口公用一个模板结构示意图。
图4是每个端口公用一个模板结构示意图。
图5是VLAN个数为0时数据报文结构示意图。
图6是VLAN个数为1时数据报文结构示意图。
图7是VLAN个数为2时数据报文结构示意图。
具体实施方式
参考图1
实施例中所述的ACL配置实现方法,应用在路由交换设备上,包括以下步骤:
1、用户自定义ACL规则并下发;
所述的步骤A中所述定义的内容包括数据报文头开始将要偏移的字节数、匹配字节的长度、匹配字节的内容、数据报文中存在几个VLAN值。
参考图2,用户自定义的ACL规则下发包括以下步骤:
1.1、查ACL表,按顺序提取其中生效的RULE,产生RULE表;
1.2、按输入接口参数,提取要增加此ACL的物理接口列表;
1.3、将产生的RULE表和物理接口列表传递给驱动接口函数。
2、参考图3、图4路由交换设备判断是否几个端口使用不同模板,如果是转到步骤4;如果不是转到步骤3;
3、路由交换设备比较用户自定义ACL规则与模板中已配置的规则,如果本组资源的模板中定义字段已经包含下发ACL中使用的字段,则转到步骤5;如果不包含转到步骤4;
4、路由交换设备重新配置模板;
4.1、首先全部清除已经生效的自定义ACL;
4.2、然后根据本次下发的ACL和以前已经下发过的ACL重新设置自定义ACL模板;
4.3、模板设置完成以后,除将本次ACL绑定生效以外,还需将原先已经删除掉的ACL按照新的模板进行重新绑定生效。
5、路由交换设备根据根据模板中生效的ACL写驱动,转到步骤6;
6、结束。
下面举例说明自定义ACL数据过滤流程:
自定义ACL的配置可以为tag(vlan的个数)offset(从数据报文二层头开始的偏移量) rule(需要匹配的字段的规则)mask(匹配的字段的规则的掩码)后面可以有几个offset rule mask.
参考图5,当tag=0时
配了自定义ACL后,
1:从配置的自定义ACL中得到tag值,
2:如果tag为0,即该数据包没有vlan标记,这时从二层头源mac的地方开始偏移配置的自定义ACL offset个字节,找到要匹配的数据的位置,
3:从该位置配置配置的规则。如果该规则后面没有再配置offest,如果全部匹配了,则该数据报文符合该条规则。否则认为该数据报文不满足该规则的条件。完成过滤。
4:如果配置了多个offset rule mask,则继续执行1,2,3的步骤。
例如:
配置的自定义ACL为
tag 0 offest1 18 0x1234 0xffff offest2 22 0x222a 0xffff offest326 0xbbba 0xffff
过滤数据报文为这样:
1:知道tag为0,即在对报文定位偏移量不需要去除vlan所占的长度
2:从该数据包源MAC的位置开始偏移到18个字节的地方。
3:从该地方开始对报文中的字段值是否符合配置的规则0x12340xffff。该后面还有需要匹配的规则。
4:从该数据包源MAC的位置开始偏移到22个字节的地方。
5:从该地方开始对报文中的字段值是否符合配置的规则0x222a0xffff,该后面还有需要匹配的规则。
6:从该数据包源MAC的位置开始偏移到26个字节的地方。
7:从该地方开始对报文中的字段值是否符合配置的规则0xbbba0xffff。匹配完成,完成对该数据包的过滤。
参考图6,当tag=1时
配了自定义ACL后,
1:从配置的自定义ACL中得到tag值,
2:如果tag为1,即该数据包有vlan标记,一个vlan标记为4个字节。这时找到需要匹配的
数据报文的起始位置,仍然从二层头源mac的地方开始,如果配置的偏移量大于14,则在
定位偏移量的时候要加上4个字节,即相当于在定位该偏移量的时候不算vlan的长度了。
找到该位置后,继续下面的操作。
3:从该位置配置配置的规则。如果该规则后面没有再配置offest,如果全部匹配了,则该数据报文符合该条规则。否则认为该数据报文不满足该规则的条件。完成过滤。
4:如果配置了多个offset rule mask.,则继续执行1,2,3的步骤。
例如:
配置的自定义ACL为
tag 1 offest1 38 0x1234 0xffff offest2 50 0x222a 0xffff offest362 0xbbba 0xffff
过滤数据报文为这样:
1:知道tag为1,即在对报文定位偏移量需要去除vlan所占的长度
2:因为该tag值为1,在定位该数据包的偏移量时,配置的offest为38,则定位该数据包的偏移量是38+4=22,即从该数据包头偏移到42的位置。
3:从该地方开始对报文中的字段值是否符合配置的规则0x12340xffff。该后面还有需要匹配的规则。
4:因为该tag值为1,在定位该数据包的偏移量时,配置的offest为50,则定位该数据包的偏移量是50+4=26,即从该数据包头偏移到54的位置。
5:从该地方开始对报文中的字段值是否符合配置的规则0x222a0xffff,该后面还有需要匹配的规则。
6:因为该tag值为1,在定位该数据包的偏移量时,配置的offest为62,则定位该数据包的偏移量是62+4=30,即从该数据包头偏移到66的位置。
7:从该地方开始对报文中的字段值是否符合配置的规则0xbbba0xffff。匹配完成,完成对该数据包的过滤。
参考图7,当tag=2时
配了自定义ACL后,
1:从配置的自定义ACL中得到tag值,
2:如果tag为2,即该数据包有2个vlan标记,一个vlan标记为4个字节。这时找到需要匹配的
数据报文的起始位置,仍然从二层头源mac的地方开始,如果配置的偏移量大于14,则在
定位偏移量的时候要加上8个字节,即相当于在定位该偏移量的时候不算vlan的长度了。
找到该位置后,继续下面的操作。
3:从该位置配置配置的规则。如果该规则后面没有再配置offest,如果全部匹配了,则该数据报文符合该条规则。否则认为该数据报文不满足该规则的条件。完成过滤。
4:如果配置了多个offset rule mask.,则继续执行1,2,3的步骤。
例如:
配置的自定义ACL为
tag 2 offest1 30 0x1234 0xffff offest2 42 0x222a 0xffff offest350 0xbbba 0xffff
过滤数据报文为这样:
1:知道tag为2,即在对报文定位偏移量需要去除vlan所占的长度。
2:因为该tag值为2,在定位该数据包的偏移量时,配置的offest为30,则定位该数据包的偏移量是30+8=38,即从该数据包头偏移到38的位置。
3:从该地方开始对报文中的字段值是否符合配置的规则0x12340xffff。该后面还有需要匹配的规则。
4:因为该tag值为2,在定位该数据包的偏移量时,配置的offest为42,则定位该数据包的偏移量是42+8=50,即从该数据包头偏移到50的位置。
5:从该地方开始对报文中的字以上内容是结合具体的优选实施方式对本发明所作的进一步详细说明,不能认定本发明的具体实施只局限于这些说明。对于本发明所属技术领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干简单推演或替换,都应当视为属于本发明的保护范围。
段值是否符合配置的规则0x222a 0xffff,该后面还有需要匹配的规则。
6:因为该tag值为2,在定位该数据包的偏移量时,配置的offest为50,则定位该数据包的偏移量是50+8=30,即从该数据包头偏移到58的位置。
7:从该地方开始对报文中的字段值是否符合配置的规则0xbbba0xffff。匹配完成,完成对该数据包的过滤。
以上内容是结合具体的优选实施方式对本发明所作的进一步详细说明,不能认定本发明的具体实施只局限于这些说明。对于本发明所属技术领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干简单推演或替换,都应当视为属于本发明的保护范围。
Claims (7)
1.ACL配置实现方法,应用在路由交换设备上,包括以下步骤:
A、用户自定义ACL规则并下发;
B、路由交换设备决定是否重新配置模板;
C、路由交换设备根据模板中生效的ACL写驱动;
所述的用户自定义ACL规则包括数据报文头开始将要偏移的字节数、匹配字节的长度、匹配字节的内容、数据报文中存在的VLAN个数。
2.根据权利要求1所述的ACL配置实现方法,其特征在于,所述的步骤B包括以下步骤:
在几个端口使用不同模板的情况下,路由交换设备重新配置模板。
3.根据权利要求1所述的ACL配置实现方法,其特征在于,所述的步骤B包括以下步骤:
在几个端口共同使用一个模板的情况下,路由交换设备比较用户自定义ACL规则与模板中已配置的规则,如果所述模板中已配置的规则中定义字段已经包含下发的所述用户自定义ACL规则中使用的字段,则不重新配置模板;如果不包含下发的所述用户自定义ACL规则中使用的字段,则需重新配置模板。
4.根据权利要求1所述的ACL配置实现方法,其特征在于,所述的步骤B包括以下步骤:
在一个端口、一个模板的情况下,路由交换设备比较用户自定义ACL规则与模板中已配置的规则,如果所述模板中已配置的规则中定义字段已经包含下发的所述用户自定义ACL规则中使用的字段,则不重新配置模板;如果不包含下发的所述用户自定义ACL规则中使用的字段,则需重新配置模板。
5.根据权利要求1或2或3或4所述的ACL配置实现方法,其特征在于,所述的重新配置模板包括以下步骤:
首先全部清除已经生效的用户自定义ACL规则;
然后根据本次下发的用户自定义ACL规则和以前已经下发过的用户自定义ACL规则重新设置自定义ACL模板;
模板设置完成以后,将所述重新设置自定义ACL模板上的所有ACL规则绑定生效。
6.根据权利要求5所述的ACL配置实现方法,其特征在于,模板设置完成以后,除将所述重新设置自定义ACL模板上的所有ACL规则绑定生效以外,还需将已经清除的所述已经生效的用户自定义ACL规则按照新的模板进行重新绑定生效。
7.根据权利要求1所述的ACL配置实现方法,其特征在于,所述的步骤A中用户自定义的ACL规则下发包括以下步骤:
查由所述用户自定义ACL规则组成的ACL表,按顺序提取其中生效的由所述自定义的ACL规则组成的RULE,产生RULE表;
按输入接口参数,提取要增加所述用户自定义ACL规则的物理接口列表;
将产生的RULE表和物理接口列表传递给驱动接口函数。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2007101236863A CN101399747B (zh) | 2007-09-27 | 2007-09-27 | Acl配置实现方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2007101236863A CN101399747B (zh) | 2007-09-27 | 2007-09-27 | Acl配置实现方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101399747A CN101399747A (zh) | 2009-04-01 |
CN101399747B true CN101399747B (zh) | 2011-03-16 |
Family
ID=40518016
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2007101236863A Active CN101399747B (zh) | 2007-09-27 | 2007-09-27 | Acl配置实现方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101399747B (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101895467A (zh) * | 2010-07-08 | 2010-11-24 | 中兴通讯股份有限公司 | 报文过滤方法和装置 |
CN102143074B (zh) * | 2011-03-25 | 2015-09-16 | 中兴通讯股份有限公司 | 网络负荷的分担方法、系统及网络处理器 |
CN102546398B (zh) * | 2011-12-16 | 2015-02-25 | 华为技术有限公司 | 一种报文匹配方法及装置 |
CN103701639B (zh) * | 2013-12-17 | 2018-09-28 | 上海斐讯数据通信技术有限公司 | 一种acl配置方法及系统 |
CN113132241B (zh) * | 2021-05-07 | 2022-05-24 | 杭州迪普信息技术有限公司 | Acl模板动态配置方法及装置 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6581060B1 (en) * | 2000-06-21 | 2003-06-17 | International Business Machines Corporation | System and method for RDBMS to protect records in accordance with non-RDBMS access control rules |
CN1725736A (zh) * | 2005-06-30 | 2006-01-25 | 杭州华为三康技术有限公司 | 配置访问控制列表的方法及其应用 |
CN1863142A (zh) * | 2005-08-19 | 2006-11-15 | 华为技术有限公司 | 给数据流提供不同的服务质量策略的方法 |
-
2007
- 2007-09-27 CN CN2007101236863A patent/CN101399747B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6581060B1 (en) * | 2000-06-21 | 2003-06-17 | International Business Machines Corporation | System and method for RDBMS to protect records in accordance with non-RDBMS access control rules |
CN1725736A (zh) * | 2005-06-30 | 2006-01-25 | 杭州华为三康技术有限公司 | 配置访问控制列表的方法及其应用 |
CN1863142A (zh) * | 2005-08-19 | 2006-11-15 | 华为技术有限公司 | 给数据流提供不同的服务质量策略的方法 |
Also Published As
Publication number | Publication date |
---|---|
CN101399747A (zh) | 2009-04-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101399747B (zh) | Acl配置实现方法 | |
CN100550815C (zh) | 用于传递数据分组的网络节点单元和方法 | |
CN1606294B (zh) | 改进的用于路由器的访问控制列表机制 | |
CN101459576B (zh) | 一种ip acl归并优化处理的实现方法 | |
US9118576B2 (en) | Network device with a programmable core | |
JP5221685B2 (ja) | 通信ネットワークの直列データバスを介して当該ネットワークの加入者に到着したメッセージをフィルタリングするための方法及びフィルタ構成 | |
US20110064081A1 (en) | Network protocol header alignment | |
CN106453138A (zh) | 一种报文处理方法和装置 | |
CN107612843A (zh) | 一种防止云平台ip和mac伪造的方法 | |
WO2012152186A1 (zh) | 多端口以太网接口装置及其vpn业务接入的方法 | |
CN105847179B (zh) | 一种dpi系统中数据并发上报的方法及装置 | |
CN107147543A (zh) | 一种面向PC客户端的服务器的socket通信方法 | |
CN105359472A (zh) | 一种用于OpenFlow网络的数据处理方法和装置 | |
CN103716181A (zh) | 一种在网关设备路由模式下lan_wan虚拟通道的实现方法 | |
US9313141B2 (en) | Transmit scaling using multiple queues | |
RU2602333C2 (ru) | Сетевая система, способ обработки пакетов и носитель записи | |
CN103037071A (zh) | 一种手机上通过软件与用户身份识别卡交换数据的方法 | |
CN101964759B (zh) | 支持多用户的高速报文分流方法 | |
CN104125147A (zh) | 实现下一跳的配置数据分离的方法 | |
CN108965093A (zh) | 一种vlan分配方法及装置 | |
CN104639452B (zh) | 数据的处理方法及装置 | |
JP4729389B2 (ja) | パターン照合装置、パターン照合方法、パターン照合プログラム及び記録媒体 | |
CN106973314B (zh) | 用于网络交互的指令识别方法及系统 | |
CN105630633B (zh) | 一种恢复手机音频文件的方法 | |
CN105610739B (zh) | 一种采用deltaos实现龙芯交换机操作系统的方法 |
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 | ||
EE01 | Entry into force of recordation of patent licensing contract | ||
EE01 | Entry into force of recordation of patent licensing contract |
Application publication date: 20090401 Assignee: SHENZHEN ZTE MICROELECTRONICS TECHNOLOGY CO., LTD. Assignor: ZTE Corporation Contract record no.: 2017440020015 Denomination of invention: ACL configuration implementation method Granted publication date: 20110316 License type: Common License Record date: 20170310 |