在学习华为的流策略,遇到了流量策略的问题,啪啦了一堆资料。华为很多设置已经实现了基于复杂流类的流量策略。多种复杂流分类方法和丰富的流动作,将这些流分类方法和对应可实施的流动作关联,形成流策略,并将流策略与接口绑定,可实现丰富的QoS流量策略。
配图而已
名次解释:
traffic classifier 流分类又叫分类器,用if-match语句设定流分类的匹配规则。
traffic behavior 流行为又叫行为器,定义针对该类流量可实施的流动作。
traffic-policy 流策略,可以用来在应用全局,也可以用来在接口应用流策略。将流分类Classifier和流动作Behavior关联,成为一个Classifier & Behavior对。
注意:不管是在全局模式下还是在接口模式下使用流量策略,首先要保证该策略已建立。
流策略
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模板中可以配置一个或多个流动作。
下图为一个完整的流程。看懂这个流程,基本也就理解华为的流式匹配机制。
使用实例
可以配置在全局模式,也可以应用在接口模式。
在应用该配置之前,需要保证流量策略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 |
接口支持:
请使用华为官方文档查询最新支持的接口模式:
目前,产品支持在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