什么是流策略?
流策略是一种网络流量管理机制,能够将具有相同特征的报文划分为一类,并为这一类报文提供相同的服务。通过配置流策略,用户可以定义报文分类规则匹配需要单独处理的流量,然后将匹配的流量进行相应处理,以减少网络拥塞带来的损失。
为什么需要流策略?
在日常生活中,交通规则对车辆进行分类,并对每一类的车辆指定了其需要遵守的行为,来缓解交通堵塞,提升车流通过效率。如属于“右拐”的车辆必须“靠右侧行驶”,属于“执勤类”的车辆“优先快速通过”,就是典型的交通规则。流策略属于QoS(Quality of Service)技术中的“模块化QoS命令行(MQC)”,流策略作为一种网络流量管理机制,实际上可以看作是网络流量的“交通规则”。流策略能够在不增加网络带宽的情况下,维持流量通过秩序,有效缓解网络拥塞问题,为实时网络业务保驾护航。
交通规则进行车流分类与车辆行为规范
流策略的实现方式也同交通规则类似,先用流分类功能对流量进行分类,再用流行为功能对每类流量定制需要遵守的行为。比如可以根据业务重要程度对流量进行分类,“重要程度高”的流量“最先通过”,“重要程度低”的流量“最后通过”,从而使网络中的流量通过效率最大化。
流策略进行流量分类与流量行为定义
如何实现流策略?
实现流策略,需要依次配置以下步骤:
- 配置流分类:对流量进行有效管理的前提是识别出这类流量。通过定义一组流量匹配规则,筛选出想要进行管理的流量,这个过程就是“流分类”。
- 配置流行为:为流量提供不同的服务,该服务就通过“流行为”来定义,例如给某类重要流量提供“VIP优先通过服务”,翻译成流行为就是——重标记该类报文的优先级,赋予最高优先级。
- 配置流策略:将指定的流分类和指定的流行为绑定,形成完整的策略。
- 应用流策略:按照需要在相应的视图下应用流策略。
如何实现流策略
流分类
- 流分类的名称,用于与流行为进行绑定。可以使用命令traffic classifier创建一个流分类模块。
- 流分类的分类规则。可以使用命令if-match创建一个流分类规则。设备支持众多的流分类匹配规则,可以分为链路层规则(二层规则)、网络层规则(三层规则)、ACL规则等其他规则。常用的报文分类规则有如下几种:
表1-1 常用报文分类规则
分类规则
匹配规则
链路层规则(二层规则)
MAC地址、VLAN ID、802.1p优先级
网络层规则(三层规则)
DSCP优先级、IP优先级
ACL规则
ACL
在一个流分类下可以定义多条匹配规则,多条匹配规则之间有And和Or两种逻辑关系:
- Or 逻辑:报文只要匹配该流分类下的任何一条规则就属于该类。
- And 逻辑:当流分类中有ACL规则时,报文必须匹配其中一条ACL规则以及所有非ACL规则才属于该类;当流分类中没有ACL规则时,则报文必须匹配所有非ACL规则才属于该类。
例如,当想创建一个识别VLAN ID为120的报文的流分类规则时,可以通过以下命令来完成配置:
step1 traffic classifier c1 //创建一个名为c1的流分类 step2 if-match vlan-id 120 //在c1流分类下,创建识别VLAN ID为120的报文的规则
流行为
创建流行为,需要确定如下两点:
- 流行为的名称,用于与流分类进行绑定。可以使用命令traffic behavior创建一个流行为模块。
- 流行为中的动作。通过流分类对报文进行分类的目的是对不同类型的报文提供不同的服务,而不同的服务需要通过流行为来定义的,在一个流行为中可以定义一个或多个动作。常用的流行为动作包括以下几种:
表1-2 常用流行为动作
流行为动作
动作含义
报文过滤
通过流分类,决定报文是被直接丢弃还是可以继续转发处理。
报文重标记
将符合流分类的报文重新设置优先级,可以将对时延要求高、对服务质量要求高的报文重标记较高的优先级,使这类报文在后续转发中享受较高的调度权重或转发速度。
报文重定向/策略路由
将符合流分类的报文流重新指定路径或方向,转发到指定的位置进行处理。
流量统计
将符合流分类的报文进行报文数和字节数的统计,有助于进行相关的故障诊断与排查。
流量监管
将业务流量限制在特定的带宽,当业务流量超过额定带宽时,超过的流量将被丢弃。
step1 traffic behavior b1 //创建一个名为b1的流行为 step2 car cir 4096 //在b1流行为下,设置流量监管规则 step3 statistics enable //在b1流行为下,设置开启流量统计功能
流策略
前面配置的流分类、流行为是孤立的,必须将两者联系在一起才有意义,而流策略就是把两者绑定起来,对分类后的报文执行对应流行为中定义的动作。一个流策略可以绑定多个流分类和流行为。
流策略绑定多个流分类和流行为
step1 traffic policy p1 //创建一个名为p1的流策略 step2 classifier c1 behavior b1 //绑定流分类c1和流行为b1
应用流策略
配置完成流策略后,判断需要通过流策略控制的业务流量是通过物理接口、VLAN、VLANIF接口,还是全局或单板,从而选择在对应的视图上应用流策略。
step1 vlan 10 //进入VLAN10的视图 step2 traffic-policy p1 inbound //在VLAN10的入方向应用流策略
流策略的典型应用
如图所示,网络中存在语音、视频和数据这三种不同的业务,当大量的业务流量进入网络侧时,可能会因为带宽不足产生拥塞,需要对不同的业务提供不同的带宽,优先保证语音业务报文的转发,其次是视频业务,最后是数据业务。语音业务对应的VLAN ID为120,视频业务对应的VLAN ID为110,数据业务对应的VLAN ID为100。通过流策略实现流量监管和报文重标记,为语音报文提供最大带宽和最高优先级,视频报文次之,数据报文带宽最小且优先级最低,保证语音报文优先通过,并让Device1上行接口连接的设备Device2能够按照报文的不同优先级分别进行处理,保证各种业务的服务质量。
使用流策略对不同业务流量进行处理
可以采用如下思路配置流策略:
- 在Device1上配置基于VLAN ID进行流分类的匹配规则,区分语音、视频和数据报文。
- 在Device1上配置流行为,对不同业务流进行流量监管以及重标记优先级。
- 使用流策略绑定已配置的流行为和流分类,并应用在Device1的入方向。
step1 配置流分类 traffic classifier c1 //创建一个名为c1的流分类 if-match vlan-id 120 //在c1流分类下,创建识别VLAN ID为120的报文的规则,识别语音流量 traffic classifier c2 //创建一个名为c2的流分类 if-match vlan-id 110 //在c2流分类下,创建识别VLAN ID为110的报文的规则,识别视频流量 traffic classifier c3 //创建一个名为c3的流分类 if-match vlan-id 100 //在c3流分类下,创建识别VLAN ID为100的报文的规则,识别数据流量 step2 配置流行为 traffic behavior b1 //创建一个名为b1的流行为 car cir 3000 //提供最高带宽 remark 8021p 6 //设置最高优先级 traffic behavior b2 //创建一个名为b2的流行为 car cir 2000 //提供中等带宽 remark 8021p 4 //设置中等优先级 traffic behavior b3 //创建一个名为b3的流行为 car cir 1000 //提供最低带宽 remark 8021p 2 //设置最低优先级 step3 配置流策略 traffic policy p1 //创建一个名为p1的流策略 classifier c1 behavior b1 //绑定流分类c1和流行为b1 classifier c2 behavior b2 //绑定流分类c2和流行为b2 classifier c3 behavior b3 //绑定流分类c3和流行为b3 step4 应用流策略 traffic-policy p1 inbound //在Device1的入接口应用流策略
- 作者: 邹纯
- 最近更新: 2024-02-26
- 浏览次数: 19071
- 平均得分: