手册下载
H3C S12500X-AF系列交换机 ACL技术专题-6W100-整本手册.pdf (326.75 KB)
H3C S12500X-AF系列交换机
ACL技术专题
Copyright © 2019 新华三技术有限公司 版权所有,保留一切权利。
非经本公司书面许可,任何单位和个人不得擅自摘抄、复制本文档内容的部分或全部,并不得以任何形式传播。
除新华三技术有限公司的商标外,本手册中出现的其它公司的商标、产品标识及商品名称,由各自权利人拥有。
本文档中的信息可能变动,恕不另行通知。
在现网中,用户往往并未配置非常多的ACL规则,但设备依然会报QoS和ACL资源不足。这是怎么回事呢?其实是因为规则资源仅是QoS和ACL资源中的一方面,实际上最主要的限制来自于其他硬件资源,我们将在下文中做详细介绍。
本文档主要对ACL在设备内部的实现过程进行详细介绍。用户在了解了ACL的内部实现后,可以根据现网情况合理部署ACL,提高QoS和ACL资源的使用率。
在这之前,我们需要先对ACL和MQC有一个简单了解。
ACL(Access Control List,访问控制列表)是一系列用于识别报文流的规则的集合。这里的规则是指描述报文匹配条件的判断语句,匹配条件可以是报文的源地址、目的地址、端口号等。设备依据ACL规则识别出特定报文,并根据配置的策略对其进行后续处理。
由于ACL本身只起到对报文的识别作用,所以需要配合其他模块使用,由引用ACL的模块决定对已识别报文的具体处理方式。常见可引用ACL的模块有报文过滤、MQC和策略路由等。
根据ACL规则内容的不同,可以将ACL分为如表1中所示的四种类型。
表1 ACL的分类
ACL类型 |
编号范围 |
适用的IP版本 |
规则内容 |
基本ACL |
2000~2999 |
IPv4 |
报文的源IPv4地址 |
IPv6 |
报文的源IPv6地址 |
||
高级ACL |
3000~3999 |
IPv4 |
报文的源IPv4地址、目的IPv4地址、报文优先级、IPv4承载的协议类型及特性等三、四层信息 |
IPv6 |
报文的源IPv6地址、目的IPv6地址、报文优先级、IPv6承载的协议类型及特性等三、四层信息 |
||
二层ACL |
4000~4999 |
IPv4和IPv6 |
报文的源MAC地址、目的MAC地址、802.1p优先级、链路层协议类型等二层信息 |
用户自定义ACL |
5000~5999 |
IPv4和IPv6 |
以报文头为基准,指定从报文的第几个字节开始与掩码进行“与”操作,并将提取出的字符串与用户定义的字符串进行比较,从而找出相匹配的报文 |
当一个ACL中包含多条规则时,报文会按照一定的顺序与这些规则进行匹配,一旦匹配上某条规则便结束匹配过程。ACL规则的匹配顺序分为如下两种:
· 配置顺序:按照规则编号由小到大进行匹配。
· 自动排序:按照“深度优先”原则由深到浅进行匹配。各类型ACL的“深度优先”排序法则如表2所示。
表2 各类型ACL的“深度优先”排序法则
ACL类型 |
“深度优先”排序法则 |
IPv4基本ACL |
(1) 先判断规则的匹配条件中是否包含VPN实例,包含者优先 (2) 如果VPN实例的包含情况相同,再比较源IPv4地址范围,较小者优先 (3) 如果源IPv4地址范围也相同,再比较配置的先后次序,先配置者优先 |
IPv4高级ACL |
(1) 先判断规则的匹配条件中是否包含VPN实例,包含者优先 (2) 如果VPN实例的包含情况相同,再比较协议范围,指定有IPv4承载的协议类型者优先 (3) 如果协议范围也相同,再比较源IPv4地址范围,较小者优先 (4) 如果源IPv4地址范围也相同,再比较目的IPv4地址范围,较小者优先 (5) 如果目的IPv4地址范围也相同,再比较四层端口(即TCP/UDP端口)号的覆盖范围,较小者优先 (6) 如果四层端口号的覆盖范围无法比较,再比较配置的先后次序,先配置者优先 |
IPv6基本ACL |
(1) 先判断规则的匹配条件中是否包含VPN实例,包含者优先 (2) 如果VPN实例的包含情况相同,再比较源IPv6地址范围,较小者优先 (3) 如果源IPv6地址范围也相同,再比较配置的先后次序,先配置者优先 |
IPv6高级ACL |
(1) 先判断规则的匹配条件中是否包含VPN实例,包含者优先 (2) 如果VPN实例的包含情况相同,再比较协议范围,指定有IPv6承载的协议类型者优先 (3) 如果协议范围相同,再比较源IPv6地址范围,较小者优先 (4) 如果源IPv6地址范围也相同,再比较目的IPv6地址范围,较小者优先 (5) 如果目的IPv6地址范围也相同,再比较四层端口(即TCP/UDP端口)号的覆盖范围,较小者优先 (6) 如果四层端口号的覆盖范围无法比较,再比较配置的先后次序,先配置者优先 |
二层ACL |
(1) 先比较源MAC地址范围,较小者优先 (2) 如果源MAC地址范围相同,再比较目的MAC地址范围,较小者优先 (3) 如果目的MAC地址范围也相同,再比较配置的先后次序,先配置者优先 |
对于IPv4、IPv6和MAC地址范围大小的比较,遵循如下原则:
· 比较IPv4地址范围的大小,就是比较IPv4地址通配符掩码中“0”位的多少:“0”位越多,范围越小。通配符掩码(又称反向掩码)以点分十进制表示,并以二进制的“0”表示“匹配”,“1”表示“不关心”,这与子网掩码恰好相反,譬如子网掩码255.255.255.0对应的通配符掩码就是0.0.0.255。此外,通配符掩码中的“0”或“1”可以是不连续的,这样可以更加灵活地进行匹配,譬如0.255.0.255就是一个合法的通配符掩码。
· 比较IPv6地址范围的大小,就是比较IPv6地址前缀的长短:前缀越长,范围越小。
· 比较MAC地址范围的大小,就是比较MAC地址掩码中“1”位的多少:“1”位越多,范围越小。
用户自定义类型ACL规则的匹配顺序仅支持配置顺序。
ACL配置主要包括创建ACL和rule规则两部分:
(1) 创建ACL,可以指定ACL的类型、编号和名称等信息;
(2) 在该ACL视图下创建rule规则,可以指定rule规则的编号和内容。
图1 ACL配置流程
例如下列在设备上配置的ACL,编号为3001,其中的rule即ACL规则,包含规则的编号和具体内容。
#
acl number 3001
rule 5 permit ip source 10.0.0.1 0
rule 10 deny ip destination 20.0.0.1 0
rule 15 deny igmp
rule 20 deny udp destination-port eq tftp
rule 25 permit tcp source-port eq bgp
#
为了能最大发挥ACL的作用,H3C S12500X-AF系列交换机支持在MQC中引用ACL,利用ACL的报文识别功能,实现丰富的MQC。
MQC(Modular QoS Configuration,模块化QoS配置)又叫做QoS策略,它通过定义不同类别的流量要采取的动作,然后应用到不同的目标位置(例如接口)来实现对业务流量的控制。
MQC主要由如下三部分组成:
· classifier:流分类,定义识别报文的规则。
· behavior:流行为,定义对报文采取的动作。
· policy:策略,将流分类与流行为进行关联。
MQC配置流程如下图所示。
图2 Classifier配置流程
图3 Behavior配置流程
图4 Policy配置流程
下面我们通过举例详细说明MQC配置。
#
acl number 3001
rule 5 permit ip source 10.0.0.1 0
#
traffic classifier c1 operator and
if-match acl 3001
#
traffic behavior b1
car cir 10240 cbs 640000 ebs 0 green pass red discard yellow pass
#
qos policy p1
classifier c1 behavior b1
#
在名称为c1的流分类中引用了编号为3001的ACL,实现识别报文的目的。
在名称为b1的流行为中配置了流量监管动作。
在名称为p1的QoS策略中,将流分类c1与流行为b1关联,形成策略。
则该MQC实现的功能是:对源IP地址为10.0.0.1的报文实施流量监管。
最后将MQC应用在目标位置。例如将上面名称为p1的MQC应用在接口HundredGigE5/0/1入方向上,即该MQC仅对本接口收到的报文生效,如下所示。
#
interface HundredGigE5/0/1
qos apply policy p1 inbound
#
我们在第一章中已经简单介绍了ACL和MQC的基本概念,以及如何配置ACL和MQC。但是配置好的ACL规则是如何存储在设备中的?报文又是如何查找和命中这些ACL规则呢?通过接下来对ACL技术实现的深入介绍,我们可以找到答案。
在设备上,ACL规则是存储在TCAM中的。在介绍TCAM前,我们可以先了解一下什么是RAM和CAM,这样更有助于对TCAM的理解。
在TCAM和CAM出现之前,用来存储ACL规则的是RAM(Random Access Memory,随机访问存储器)。在RAM中,规则的查找方式为依次查找,直至查到某条匹配规则或全部查完为止,如下图所示。
图5 RAM中规则的查找方式
由于RAM的查找方式为依次查找,所以RAM中存储的规则数量会直接影响查找速度,数量越多,查找速度就越慢。为了提升查找速度,就出现了CAM(Content Addressable Memory,内容寻址存储器)。
首先,CAM是基于内容查找的,输入一个值,如果CAM中存在该值,则输出该值在CAM中的地址;其次,CAM的查找方式是一次性全部查找,可以有效解决RAM的查找速度问题,如下图所示。
图6 CAM中规则的查找方式
TCAM(Ternary Content Addressable Memory,三态内容寻址存储器)是CAM的升级版,它采用掩码方式对内容进行查找与匹配。
在RAM或CAM中,每比特数据只有“0”或“1”两种状态,而在TCAM中,每比特数据还有第三种状态“don`t care”,这就是TCAM中的“三态”,它是由掩码实现的。
· 当掩码为1时,表示对该数据进行精确匹配。
· 当掩码为0时,表示对该数据进行模糊匹配,即无论该位的数据是0还是1,都可以匹配上。
在下图中我们使用“X”表示掩码为0的对应位数据。
图7 TCAM中规则的查找方式
在上图的举例中,1011为查找KEY,用来查找TCAM中存储的规则:entry 0 = { 1010 },entry 1 = { 10XX },entry 2 = { X011 },entry 3 = { 1100 },entry 4 = { 0001 },可以匹配的规则为entry 1和entry 2。当有多个entry被同时命中时,TCAM采取最低索引原则,即命中的entry 1生效。
通过上面的介绍,我们了解到TCAM有如下优点:
· 基于内容查找,如果在TCAM中查到该值,则输出其地址。
· 一次性全部查找,查找速度非常快,且不受规则数量的影响。
用户在配置好ACL或MQC并下发后,设备会将相应的规则存储在TCAM中,如下图所示。
图8 TCAM中的规则存储
ACL规则或MQC的流分类规则在下发后会存储在TCAM中,而流行为动作则会存储在SRAM中。
上文中我们提到TCAM的一个特点就是最低索引原则,即如果有多条entry同时被命中,最终会选取索引最小的entry并执行其对应的动作。
然而在实际的业务使用场景中,当需要配置多个ACL业务时,如果将所有规则均下发到TCAM中,那么由于TCAM的最低索引原则,每次就只有一个业务可以生效,无法满足多个业务同时生效的需求。
例如在接口HundredGigE5/0/1的入方向应用名为p2的MQC,对特定目的MAC地址的报文进行流量监管。
#
traffic classifier c2 operator and
if-match destination-mac 6805-CA61-6987
#
traffic behavior b2
car cir 10240 cbs 640000 ebs 0 green pass red discard yellow pass
#
qos policy p2
classifier c2 behavior b2
#
#
interface HundredGigE5/0/1
qos apply policy p2 inbound
#
同时又在VLAN 100的入方向应用名为p3的MQC,对802.1p优先级为5的报文进行统计。
#
traffic classifier c3 operator and
if-match service-dot1p 5
#
traffic behavior b3
accounting packet
#
qos policy p3
classifier c3 behavior b3
#
#
qos vlan-policy p3 vlan 100 inbound
#
此时,如果一个目的MAC地址为6805-CA61-6987、所属VLAN为100、802.1p优先级为5的报文从接口HundredGigE5/0/1进入,需要同时命中上述两个MQC。
为了支持这样的业务场景,实际上TCAM会被划分成多个小的逻辑单元,我们称其为slice,如下图所示。
图9 Slice
在每个slice中都可以命中1条规则,一个报文可以同时并行查找多个slice,这样就可以满足同时命中多个业务的需求了。
当有多个slice同时被命中时,如果执行的动作不冲突,则所有动作都会生效,如果执行的动作之间有冲突,则优先级高的动作生效。
在进行TCAM规则查找前,必须先构建出查找KEY,因为它是整个查找流程的首要步骤。例如2.1 TCAM中的“1011”即为查找KEY。
KEY实际上是由CE(Copy Engine)根据报文各层头中相关字段等信息构建出来的。CE是转发芯片内置的一种硬件资源,用于提取报文信息。
假设我们配置的ACL规则的内容是匹配目的MAC地址、源MAC地址、目的IP地址和源IP地址,那么转发芯片就会使用CE从报文头中提取出对应的字段,构建查找KEY,如下图所示。
需要注意的是,提取不同字段需要使用不同规格的CE资源,转发芯片中有CE-16bit和CE-32bit两种规格的CE资源。当需要提取字段的宽度较宽时,可能需要多个CE组合在一起完成提取。
例如图10所示,MAC地址的宽度为48bits,所以CE1、CE2均由1个CE-16bit和1个CE-32bit组成;而IP地址的宽度为32bits,所以CE3、CE4均由1个CE-32bit组成。
不同ACL业务中的匹配内容不同,需要的CE资源不同,对应生成的查找KEY也不同。所以,CE和KEY的硬件规格最终决定了用户可配置ACL规则中匹配项的丰富程度。
上面我们已经介绍了ACL查找流程中各环节涉及的概念和详细处理机制,接下来我们整体阐述一下ACL的查找实现。
(1) 下发ACL规则到TCAM中。
a. TCAM根据规则的内容,选择合适的分组,并将规则存储在entry中;如果分组无法满足需求,则进行slice拼接。
b. TCAM根据分组模式,申请相应规格的CE和KEY资源。
(2) 当报文进入设备时,转发芯片对其各层头进行解析。
(3) CE提取报文头字段,构建查找KEY。
(4) TCAM使用KEY发起查找。
(5) TCAM得到命中entry的index。
(6) TCAM根据index查找其对应的存储在SRAM中的动作。
(7) TCAM将动作返回给转发芯片,芯片对报文执行动作。
图11 ACL查找流程
如何更有效利用设备所提供的TCAM资源呢?H3C S12500X-AF系列交换机主要提供了如下两种方法。
· 提高设备现有TCAM资源的利用率。
通过share-mode或vlan-interface range两种配置方式实现。设备自动通过算法节约QoS和ACL资源,简单的配置方式,无需投入过多的工作量,也是本文重点介绍的节省QoS和ACL资源的方法,详细的功能介绍及使用方法请参见4 典型应用。
· 扩容,通过单板携带的外扩TCAM增加整机的TCAM资源总量。
使用hardware-resource tcam命令配置TCAM的运行模式,将单板上外扩的TCAM资源分配给指定表项以扩大该表项规模。
配置TCAM的运行模式需要硬件支持。具体支持本功能的单板类型及其使用方法,本文不做详细介绍,请参见《H3C S12500X-AF系列交换机基础配置》中的“设备管理”。
在策略路由、报文过滤和MQC这三个特性中,在同一单板的多个接口上应用同一个策略路由、报文过滤或MQC时,对于策略路由和报文过滤,可以通过share-mode或vlan-interface range两种配置方式节省设备的TCAM资源;而对于MQC,则可以通过share-mode配置方式节省设备的TCAM资源。
对于share-mode配置方式,在不同位置应用同一个配置时,设备将共享一份TCAM资源,即仅占用一份TCAM资源。
对于vlan-interface range配置方式,在VLAN ID连续的位置上应用时,设备将通过最长掩码的方式对多个VLAN进行配置下发,以达到节省TCAM资源的目的。
例如,在VLAN ID为7、8、9、10、11、12、13的vlan-interface上通过vlan-interface range配置方式应用,设备实际仅需对[ 7 ]、[ 8, 9, 10, 11 ]和[ 12, 13 ]下发配置,最终仅占用三份TCAM资源,节省四份TCAM资源。具体计算方法请参见下表。
VLAN ID 十进制 |
VLAN ID 二进制 |
掩码 |
实际下发位置 VLAN ID/MASK |
7 |
0111 |
1111 |
0111/1111 |
8 |
1000 |
1100 |
10XX/1100 |
9 |
1001 |
1100 |
|
10 |
1010 |
1100 |
|
11 |
1011 |
1100 |
|
12 |
1100 |
1110 |
110X/1110 |
13 |
1101 |
1110 |
具体配置方法请参见4.3 策略路由、4.4 报文过滤和4.5 MQC中的配置举例。
例如,创建编号为3001的IPv4高级ACL,使用share-mode模式将其分别应用在多个接口上实现报文过滤时,即算作下面限制中所述的1组ACL。
使用share-mode配置方式时,有如下使用限制:
· 对于F、H系列单板:
¡ 在二层或三层以太网接口上应用时,共支持4组ACL;
¡ 在VLAN接口或VSI接口上应用时,共支持3组ACL。
· 对于T系列单版,在接口上应用时共支持7组ACL。
· 当设备上配置的ACL规则数量较多时,在首个接口上应用或最后一个接口上删除share-mode方式的配置,可能会消耗较多时间。
使用share-mode或vlan-interface range两种配置方式时,请勿在引用的ACL中配置含有counting的规则,否则将无法达到节省资源的目的。
使用共享模式(即share-mode方式)在不同接口上应用同一个策略路由时,可以节省QoS和ACL资源。
· 方法一:普通模式
# 创建VLAN的过程略。
# 创建编号为2001的基本ACL,并制定如下规则:匹配源IP地址为10.0.0.1的报文。
<Sysname> system-view
[Sysname] acl basic 2001
[Sysname-acl-ipv4-basic-2001] rule permit source 10.0.0.1 0
[Sysname-acl-ipv4-basic-2001] quit
# 创建名为a的策略路由,其节点序列号为5,匹配模式为permit,并引用ACL 2001,设置报文转发的下一跳为1.1.2.2。
[Sysname] policy-based-route a permit node 5
[Sysname-pbr-a-5] if-match acl 2001
[Sysname-pbr-a-5] apply next-hop 1.1.2.2
[Sysname-pbr-a-5] quit
# 分别在VLAN接口8、9、10和11上以普通模式应用名为a的策略路由。
[Sysname] interface Vlan-interface 8
[Sysname-Vlan-interface8] ip policy-based-route a
[Sysname-Vlan-interface8] quit
[Sysname] interface Vlan-interface 9
[Sysname-Vlan-interface9] ip policy-based-route a
[Sysname-Vlan-interface9] quit
[Sysname] interface Vlan-interface 10
[Sysname-Vlan-interface10] ip policy-based-route a
[Sysname-Vlan-interface10] quit
[Sysname] interface Vlan-interface 11
[Sysname-Vlan-interface11] ip policy-based-route a
[Sysname-Vlan-interface11] quit
# 查看QoS和ACL资源占用情况。
[Sysname] display qos-acl resource
Interfaces: HGE2/0/1 to HGE2/0/2, XGE2/0/3 to XGE2/0/50 (slot 2)
---------------------------------------------------------------------
Type Total Reserved Configured Remaining Usage
---------------------------------------------------------------------
VFP ACL 37632 0 0 37632 0%
IFP ACL 50176 8194 4 41978 16%
IFP Meter 30720 81 0 30639 0%
IFP Counter 8175 88 0 8087 1%
EFP ACL 18816 0 0 18816 0%
EFP Counter 4094 0 0 4094 0%
· 方法二:共享模式
# VLAN、ACL和策略路由的配置与方法一相同,过程略。
# 分别在VLAN接口8、9、10和11上以共享模式应用名为a的策略路由。
<Sysname> system-view
[Sysname] interface Vlan-interface 8
[Sysname-Vlan-interface8] ip policy-based-route a share-mode
[Sysname-Vlan-interface8] quit
[Sysname] interface Vlan-interface 9
[Sysname-Vlan-interface9] ip policy-based-route a share-mode
[Sysname-Vlan-interface9] quit
[Sysname] interface Vlan-interface 10
[Sysname-Vlan-interface10] ip policy-based-route a share-mode
[Sysname-Vlan-interface10] quit
[Sysname] interface Vlan-interface 11
[Sysname-Vlan-interface11] ip policy-based-route a share-mode
[Sysname-Vlan-interface11] quit
# 查看QoS和ACL资源占用情况。
[Sysname] display qos-acl resource
Interfaces: HGE2/0/1 to HGE2/0/2, XGE2/0/3 to XGE2/0/50 (slot 2)
---------------------------------------------------------------------
Type Total Reserved Configured Remaining Usage
---------------------------------------------------------------------
VFP ACL 37632 0 0 37632 0%
IFP ACL 50176 8194 1 41978 16%
IFP Meter 30720 81 0 30639 0%
IFP Counter 8175 88 0 8087 1%
EFP ACL 18816 0 0 18816 0%
EFP Counter 4094 0 0 4094 0%
在方法一中,IFP ACL资源占用4条entry,即在每个VLAN接口上应用PBR时均占用一份QoS和ACL资源(1条entry);而在方法二中,IFP ACL资源占用1条entry,即在多个VLAN接口上应用同一个PBR时,仅占用一份QoS和ACL资源。
综上所述,通过普通模式应用策略路由时,同一个策略路由每在一个VLAN接口上应用,就会占用一份资源,而通过share-mode模式应用,多个VLAN接口将共用一份资源,节省了QoS和ACL资源。
通过ip policy-based-route apply命令在指定范围的多个VLAN接口上应用策略路由,可以节省QoS和ACL资源。
· 方法一:分别在多个接口下应用同一策略路由。
# VLAN、ACL和策略路由的配置与4.3.1 SHARE-MODE方式中的方法一相同,过程略。
# 分别在VLAN接口8、9、10和11的接口视图下,以普通模式应用名为a的策略路由。
<Sysname> system-view
[Sysname] interface Vlan-interface 8
[Sysname-Vlan-interface8] ip policy-based-route a
[Sysname-Vlan-interface8] quit
[Sysname] interface Vlan-interface 9
[Sysname-Vlan-interface9] ip policy-based-route a
[Sysname-Vlan-interface9] quit
[Sysname] interface Vlan-interface 10
[Sysname-Vlan-interface10] ip policy-based-route a
[Sysname-Vlan-interface10] quit
[Sysname] interface Vlan-interface 11
[Sysname-Vlan-interface11] ip policy-based-route a
[Sysname-Vlan-interface11] quit
# 查看QoS和ACL资源占用情况。
[Sysname] display qos-acl resource
Interfaces: HGE2/0/1 to HGE2/0/2, XGE2/0/3 to XGE2/0/50 (slot 2)
---------------------------------------------------------------------
Type Total Reserved Configured Remaining Usage
---------------------------------------------------------------------
VFP ACL 37888 0 0 37888 0%
IFP ACL 50176 8192 4 41978 16%
IFP Meter 30720 40 0 30680 0%
IFP Counter 8175 48 0 8127 0%
EFP ACL 18944 0 0 18944 0%
EFP Counter 4094 0 0 4094 0%
· 方法二:vlan-interface range方式
# VLAN、ACL和策略路由的配置与方法一相同,过程略。
# 系统视图下,同时在VLAN接口8、9、10和11上应用名为a的策略路由。
<Sysname> system-view
[Sysname] ip policy-based-route a apply vlan-interface 8 9 10 11
# 查看QoS和ACL资源占用情况。
[Sysname] display qos-acl resource
Interfaces: HGE2/0/1 to HGE2/0/2, XGE2/0/3 to XGE2/0/50 (slot 2)
---------------------------------------------------------------------
Type Total Reserved Configured Remaining Usage
---------------------------------------------------------------------
VFP ACL 37888 0 0 37888 0%
IFP ACL 50176 8192 1 41980 16%
IFP Meter 30720 40 0 30680 0%
IFP Counter 8175 48 0 8127 0%
EFP ACL 18944 0 0 18944 0%
EFP Counter 4094 0 0 4094 0%
在方法一中,IFP ACL资源占用4条entry;而在方法二中,IFP ACL资源占用1条entry。
综上所述,在多个VLAN接口上应用同一策略路由时,使用vlan-interface range方式更节省QoS和ACL资源。
使用共享模式(即share-mode模式)在不同接口上引用同一个ACL进行报文过滤时,可以节省QoS和ACL资源。
· 方法一:普通模式
# 创建VLAN的过程略。
# 创建编号为2002的基本ACL,并制定如下规则:匹配源IP地址为10.0.0.1、192.168.1.1和200.0.0.2的报文。
<Sysname> system-view
[Sysname] acl basic 2001
[Sysname-acl-ipv4-basic-2001] rule permit source 10.0.0.1 0
[Sysname-acl-ipv4-basic-2001] rule permit source 192.168.1.1 0
[Sysname-acl-ipv4-basic-2001] rule permit source 200.0.0.2 0
[Sysname-acl-ipv4-basic-2001] rule deny
[Sysname-acl-ipv4-basic-2001] quit
# 分别在VLAN接口8、9、10和11入方向上以普通模式应用编号为2001的基本ACL进行报文过滤。
[Sysname] interface Vlan-interface 8
[Sysname-Vlan-interface8] packet-filter 2001 inbound
[Sysname-Vlan-interface8] quit
[Sysname] interface Vlan-interface 9
[Sysname-Vlan-interface9] packet-filter 2001 inbound
[Sysname-Vlan-interface9] quit
[Sysname] interface Vlan-interface 10
[Sysname-Vlan-interface10] packet-filter 2001 inbound
[Sysname-Vlan-interface10] quit
[Sysname] interface Vlan-interface 11
[Sysname-Vlan-interface11] packet-filter 2001 inbound
[Sysname-Vlan-interface11] quit
# 查看QoS和ACL资源占用情况。
[Sysname] display qos-acl resource
Interfaces: HGE2/0/1 to HGE2/0/2, XGE2/0/3 to XGE2/0/50 (slot 2)
---------------------------------------------------------------------
Type Total Reserved Configured Remaining Usage
---------------------------------------------------------------------
VFP ACL 37632 0 0 37632 0%
IFP ACL 50176 8194 16 41978 16%
IFP Meter 30720 81 0 30639 0%
IFP Counter 8175 88 0 8087 1%
EFP ACL 18816 0 0 18816 0%
EFP Counter 4094 0 0 4094 0%
· 方法二:共享模式
# VLAN和ACL的配置与方法一相同,过程略。
# 分别在VLAN接口8、9、10和11入方向上以共享模式应用编号为2001的基本ACL进行报文过滤。
<Sysname> system-view
[Sysname] interface Vlan-interface 8
[Sysname-Vlan-interface8] packet-filter 2001 inbound share-mode
[Sysname-Vlan-interface8] quit
[Sysname] interface Vlan-interface 9
[Sysname-Vlan-interface9] packet-filter 2001 inbound share-mode
[Sysname-Vlan-interface9] quit
[Sysname] interface Vlan-interface 10
[Sysname-Vlan-interface10] packet-filter 2001 inbound share-mode
[Sysname-Vlan-interface10] quit
[Sysname] interface Vlan-interface 11
[Sysname-Vlan-interface11] packet-filter 2001 inbound share-mode
[Sysname-Vlan-interface11] quit
# 查看QoS和ACL资源占用情况。
[Sysname] display qos-acl resource
Interfaces: HGE2/0/1 to HGE2/0/2, XGE2/0/3 to XGE2/0/50 (slot 2)
---------------------------------------------------------------------
Type Total Reserved Configured Remaining Usage
---------------------------------------------------------------------
VFP ACL 37632 0 0 37632 0%
IFP ACL 50176 8194 4 41978 16%
IFP Meter 30720 81 0 30639 0%
IFP Counter 8175 88 0 8087 1%
EFP ACL 18816 0 0 18816 0%
EFP Counter 4094 0 0 4094 0%
在方法一中,IFP ACL资源占用16条entry,即在每个VLAN接口上应用同一个ACL进行报文过滤时均占用一份QoS和ACL资源(4条entry);而在方法二中,IFP ACL资源占用4条entry,即在多个VLAN接口上应用同一个ACL进行报文过滤时,仅占用一份QoS和ACL资源。
通过普通模式应用ACL进行报文过滤时,同一个ACL每在一个VLAN接口上应用,都会占用一份资源,而如果通过share-mode模式应用,则多个VLAN接口共用一份资源,节省了QoS和ACL资源。
通过packet-filter vlan-interface命令可以在指定范围的多个VLAN接口上应用同一个ACL进行报文过滤,可以节省QoS和ACL资源。
· 方法一:分别在多个接口下应用同一ACL进行报文过滤。
# VLAN和ACL的配置与4.4.1 SHARE-MODE方式中的方法一相同,过程略。
# 分别在VLAN接口8、9、10和11入方向上以普通模式应用编号为2001的基本ACL进行报文过滤。
<Sysname> system-view
[Sysname] interface Vlan-interface 8
[Sysname-Vlan-interface8] packet-filter 2001 inbound
[Sysname-Vlan-interface8] quit
[Sysname] interface Vlan-interface 9
[Sysname-Vlan-interface9] packet-filter 2001 inbound
[Sysname-Vlan-interface9] quit
[Sysname] interface Vlan-interface 10
[Sysname-Vlan-interface10] packet-filter 2001 inbound
[Sysname-Vlan-interface10] quit
[Sysname] interface Vlan-interface 11
[Sysname-Vlan-interface11] packet-filter 2001 inbound
[Sysname-Vlan-interface11] quit
# 查看QoS和ACL资源占用情况。
[Sysname] display qos-acl resource
Interfaces: HGE2/0/1 to HGE2/0/2, XGE2/0/3 to XGE2/0/50 (slot 2)
---------------------------------------------------------------------
Type Total Reserved Configured Remaining Usage
---------------------------------------------------------------------
VFP ACL 37632 0 0 37632 0%
IFP ACL 50176 8194 16 41978 16%
IFP Meter 30720 81 0 30639 0%
IFP Counter 8175 88 0 8087 1%
EFP ACL 18816 0 0 18816 0%
EFP Counter 4094 0 0 4094 0%
· 方法二:vlan-interface range方式
# VLAN和ACL的配置与方法一相同,过程略。
# 系统视图下,同时在VLAN接口8、9、10和11上应用编号为2001的基本ACL进行报文过滤。
<Sysname> system-view
[Sysname] packet-filter 2001 vlan-interface 8 to 11 inbound
# 查看QoS和ACL资源占用情况。
[Sysname] display qos-acl resource
Interfaces: HGE2/0/1 to HGE2/0/2, XGE2/0/3 to XGE2/0/50 (slot 2)
---------------------------------------------------------------------
Type Total Reserved Configured Remaining Usage
---------------------------------------------------------------------
VFP ACL 37888 0 0 37888 0%
IFP ACL 50176 8192 4 41976 16%
IFP Meter 30720 40 0 30680 0%
IFP Counter 8175 48 0 8127 0%
EFP ACL 18944 0 0 18944 0%
EFP Counter 4094 0 0 4094 0%
在方法一中,IFP ACL资源占用16条entry;而在方法二中,IFP ACL资源占用4条entry。
综上所述,在多个VLAN接口上应用同一ACL进行报文过滤时,使用vlan-interface range方式更节省QoS和ACL资源。
使用共享模式(即share-mode模式)在多个接口上应用同一个MQC时,可以节省QoS和ACL资源。
· 方法一:普通模式。
# 定义名为c的流分类,匹配外层VLAN ID为2的报文。
<Sysname> system-view
[Sysname] traffic classifier c
[Sysname-classifier-c] if-match service-vlan-id 2
[Sysname-classifier-c] quit
# 定义名为b的流行为,动作为镜像到接口HundredGigE2/0/1。
[Sysname] traffic behavior b
[Sysname-behavior-b] mirror-to interface hundredgige 2/0/1
[Sysname-behavior-b] quit
# 定义名为p的QoS策略,为类c指定流行为b。
[Sysname] qos policy p
[Sysname-qospolicy-p] classifier c behavior b
[Sysname-qospolicy-p] quit
# 在接口Ten-GigabitEthernet2/0/3入方向上以普通模式应用名为p的QoS策略。
[Sysname] interface ten-gigabitethernet 2/0/3
[Sysname-Ten-GigabitEthernet2/0/3] qos apply policy p inbound
[Sysname-Ten-GigabitEthernet2/0/3] quit
# 在接口Ten-GigabitEthernet2/0/4入方向上以普通模式应用名为p的QoS策略。
[Sysname] interface ten-gigabitethernet 2/0/4
[Sysname-Ten-GigabitEthernet2/0/4] qos apply policy p inbound
[Sysname-Ten-GigabitEthernet2/0/4] quit
# 查看QoS和ACL资源占用情况。
[Sysname] display qos-acl resource
Interfaces: HGE2/0/1 to HGE2/0/2, XGE2/0/3 to XGE2/0/50 (slot 2)
---------------------------------------------------------------------
Type Total Reserved Configured Remaining Usage
---------------------------------------------------------------------
VFP ACL 41984 0 0 41984 0%
IFP ACL 50176 8192 4 41984 16%
IFP Meter 30720 40 0 30680 0%
IFP Counter 8175 48 0 8127 0%
EFP ACL 20992 0 0 20992 0%
EFP Counter 4094 0 0 4094 0%
· 方法二:共享模式。
# MQC的配置与方法一相同,过程略。
# 在接口Ten-GigabitEthernet2/0/3入方向上以共享模式应用名为p的QoS策略。
[Sysname] interface ten-gigabitethernet 2/0/3
[Sysname-Ten-GigabitEthernet2/0/3] qos apply policy p inbound share-mode
[Sysname-Ten-GigabitEthernet2/0/3] quit
# 在接口Ten-GigabitEthernet2/0/4入方向上以共享模式应用名为p的QoS策略。
[Sysname] interface ten-gigabitethernet 2/0/4
[Sysname-Ten-GigabitEthernet2/0/4] qos apply policy p inbound share-mode
[Sysname-Ten-GigabitEthernet2/0/4] quit
# 查看QoS和ACL资源占用情况。
[Sysname] display qos-acl resource
Interfaces: HGE2/0/1 to HGE2/0/2, XGE2/0/3 to XGE2/0/50 (slot 2)
---------------------------------------------------------------------
Type Total Reserved Configured Remaining Usage
---------------------------------------------------------------------
VFP ACL 41984 0 0 41984 0%
IFP ACL 50176 8192 2 41984 16%
IFP Meter 30720 40 0 30680 0%
IFP Counter 8175 48 0 8127 0%
EFP ACL 20992 0 0 20992 0%
EFP Counter 4094 0 0 4094 0%
在方法一中,IFP ACL资源占用4条entry,即在每个接口上应用MQC时均占用一份QoS和ACL资源(2条entry);而在方法二中,IFP ACL资源占用2条entry,即在多个接口上应用同一个MQC时,仅占用一份QoS和ACL资源。
假设一个MQC中的流分类规则共计需要100条entry,那么通过普通模式应用在100个接口时,就会占用100*100=10000条entry,而通过share-mode模式应用在100个接口时,则只会占用100条entry。
综上所述,通过普通模式应用MQC时,同一个MQC每在一个接口上应用,就会占用一份资源,而通过share-mode模式应用,多个接口将共用一份资源,节省了QoS和ACL资源。
《H3C S12500X-AF系列交换机ACL和QoS》中的“ACL”
《H3C S12500X-AF系列交换机ACL和QoS》中的“QoS”
《H3C S12500X-AF系列交换机三层技术-IP路由》中的“策略路由”
《H3C S12500X-AF系列交换机基础配置》中的“设备管理”
《H3C S12500X-AF系列交换机二层技术-以太网交换》中的“VLAN”