华为路由器设备接口、流策略、流动作、流分类、ACL之间的关系

  知识点

在学习华为的流策略,遇到了流量策略的问题,啪啦了一堆资料。华为很多设置已经实现了基于复杂流类的流量策略。多种复杂流分类方法和丰富的流动作,将这些流分类方法和对应可实施的流动作关联,形成流策略,并将流策略与接口绑定,可实现丰富的QoS流量策略。

配图而已

华为路由器设备接口、流策略、流动作、流分类、ACL之间的关系

名次解释:

traffic classifier 流分类又叫分类器,用if-match语句设定流分类的匹配规则。

traffic behavior 流行为又叫行为器,定义针对该类流量可实施的流动作。

traffic-policy 流策略,可以用来在应用全局,也可以用来在接口应用流策略。将流分类Classifier和流动作Behavior关联,成为一个Classifier & Behavior对。

华为路由器设备接口、流策略、流动作、流分类、ACL之间的关系

注意:不管是在全局模式下还是在接口模式下使用流量策略,首先要保证该策略已建立。

流策略

traffic policy huawei_ACCESS

share-mode

statistics enable

classifier huawei_ACCESS behavior huawei_ACCESS

解释:一个流分类只能与一个流行为相关联。而一个流行为视图下可以配置多个动作,但必须保证这些动作不冲突,具体的行为器内容,请参考具体的说明。

一个Policy模板中可以配置一个或多个Classifier & Behavior对。不同的Policy模板可以应用相同的Classifier & Behavior对。

分类器

traffic classifier huawei_ACCESS operator or

if-match acl 3400

一个Classifier模板中可以配置一条或多条if-match语句,if-match语句中可以引用ACL规则。不同的Classifier模板可以应用相同的ACL规则。一个ACL规则可以配置一个或多个Rule语句。

行为器

traffic behavior huawei_ACCESS

traffic behavior lcl

一个Behavior模板中可以配置一个或多个流动作。

下图为一个完整的流程。看懂这个流程,基本也就理解华为的流式匹配机制。

华为路由器设备接口、流策略、流动作、流分类、ACL之间的关系

使用实例

可以配置在全局模式,也可以应用在接口模式。

在应用该配置之前,需要保证流量策略traffic-policy已经建立。

# 配置在全局应用流策略abc。

1
2
<HUAWEI> system-view
[HUAWEI] traffic-policy abc inbound

命令格式

traffic-policy policy-name { inbound | outbound }

undo traffic-policy { inbound | outbound }

# 将流量策略policy1应用到接口GigabitEthernet 1/0/0的出方向上。不同的接口可以应用相同的Policy模板。

1
2
3
<HUAWEI> system-view
[HUAWEI] interface gigabitethernet1/0/0
[HUAWEI-GigabitEthernet1/0/0] traffic-policy policy1 outbound

# 将流量策略policy2应用到接口Ringif 0的入方向上。

1
2
3
<HUAWEI> system-view
[HUAWEI] interface ring-if 0
[HUAWEI-ring-if0] traffic-policy policy2 inbound

# 在接口GE1/0/0上配置policy1,指定为all-layer形式。

1
2
3
<HUAWEI> system-view
[HUAWEI] interface gigabitethernet 1/0/0
[HUAWEI-GigabitEthernet1/0/0] traffic-policy policy1 inbound all-layer

华为路由器设备接口、流策略、流动作、流分类、ACL之间的关系

接口支持:

请使用华为官方文档查询最新支持的接口模式:

目前,产品支持在GE主接口/子接口、、POS接口、Eth-trunk主接口/子接口、Ethernet主接口/子接口、QinQ子接口(包括QinQ终结子接口、dot1q终结子接口和QinQ stacking子接口)、GRE Tunnel接口、MTunnel接口、IP-trunk接口、Ringif接口、ATM接口及子接口、VE接口、CPOS接口、E3/T3接口、CE1/CT1接口、Global-VE子接口上根据报文的三层、四层及其他信息进行复杂流分类;支持在GE子接口/二层接口、Ethernet子接口/二层接口、和Eth-trunk子接口/二层接口上根据二层信息进行复杂流分类。

总结,其实也很好理解,ACL规则下的permit用于匹配流,流动作里的permit或deny才是真正的对包文的允许与禁止动作。

也可参考华为手里的一句话:

基于硬件的应用:ACL 被下发到硬件,例如配置QoS 功能时引用ACL,对报文进

行流分类。需要注意的是,当ACL 被QoS 功能引用时,如果ACL 规则中定义的

动作为deny,则匹配此ACL 的报文就被丢弃。如果ACL 规则中定义的动作为

permit,则S5700 对匹配此ACL 的报文采取的动作由QoS 中流行为定义的动作决

定。

也可以直接通过traffic-filter方式调用ACL 前提是ACL左后要加上deny any 因为华为默认是permit

https://support.huawei.com/hedex/hdx.do?docid=EDOC1100126532&id=ZH-CN_CLIREF_0176369626&lang=zh