业务流进⼊DiffServ域时,可以有多种⽅法对它进⾏分类,例如根据报⽂所携带的QoS优先级位,识别出不同优先级特征的流量,或根据源地址、⽬的地址、MAC地址、IP协议或应⽤程序的端⼝号等信息对流进⾏分类。也可以根据业务等级协议SLA规定的⼀些策略给每个数据包加上标记,从⽽对数据包进⾏分类。因此,实现流分类的技术被分成“简单流分类(Behavior Aggregate Classifier)”与“复杂流分类(Multi-Field Classifier)”。将流分类⽅法和对应可实施的流动作关联,形成流策略,并将流策略与接⼝绑定,可实现丰富的QoS策略,这就是基于复杂流分类的QoS策略(通常被称为“基于类的QoS”)基于复杂流分类的QoS策略是对QoS策略配置的抽象,是“模板化”的QoS配置⽅式。“模板化”的最⼤优点是可以节省配置,⽀持批量修改。“模板”分为三部分:
流分类(Classifier)模板:定义流量类型。⽤if-match语句设定流分类的匹配规则。流动作(Behavior)模板:定义针对该类流量可实施的流动作。
流策略(Policy)模板:将流分类Classifier和流动作Behavior关联,成为⼀个Classifier & Behavior对。当Policy模板设置完毕之后,需要将Policy模板应⽤到接⼝上。
1.流分类
流分类是对进⼊DiffServ域的业务进⾏分类,以便在⽹络中得到相应的适当处理。流分类主要⽬的是让其他处理此报⽂的应⽤系统或设备知道该报⽂的类别,并根据这种类别对报⽂进⾏⼀些事先约定了的处理。
配置流分类可以将符合⼀定规则的报⽂分为⼀类,区分出⽤户流量,是实现差分服务的前提和基础。流分类各规则之间属于并列关系,只要匹配规则不冲突,都可以在同⼀流 分类中配置。⽤户使⽤时,可以根据需要进⾏配置。如果流分类有多个匹配规则,则这些规则之间有And 和 Or 两种逻辑关系:
Or 逻辑:数据包只要匹配该流分类下的任何⼀条 if-match ⼦句定义的规则就属于该 类。
And 逻辑:当流分类中有ACL规则时,数据包必须匹配其中⼀条ACL规则以及所 有⾮ACL规则才属于该类;当流分类中没有ACL规则时,则报⽂必须匹配所有⾮ ACL规则才属于该类。
当前华为交换机设备可以选择⼀条或多条如下规则进⾏匹配以实现流分类,缺省的逻辑 关系为 Or。
2.流动作
进⾏流分类是为了有区别地提供服务,它必须与某种流量控制或资源分配动作关联起来才有意义。流量控制或资源分配动作被称为流动作。在NE40E上,⽬前针对流分类可实施的流动作包括以下⼏类(这些流动作可以组合使⽤):
接⼝、流策略、流动作、流分类、ACL之间的关系如下图。
1)不同的接⼝可以应⽤相同的Policy模板。
2)⼀个Policy模板中可以配置⼀个或多个Classifier & Behavior对。不同的Policy模板可以应⽤相同的Classifier & Behavior对。
3)⼀个Classifier模板中可以配置⼀条或多条if-match语句,if-match语句中可以引⽤ACL规则。不同的Classifier模板可以应⽤相同的ACL规则。⼀个ACL规则可以配置⼀个或多个Rule语句。
4)⼀个Behavior模板中可以配置⼀个或多个流动作。
3.流策略
流策略的执⾏过程
如上图,当收到⼀个报⽂,要做复杂流分类处理时,会按照policy模板中Classifier的配置顺序进⾏匹配。如果命中,则停⽌匹配;如果不命中,则匹配后⾯的Classifier;如果是最后⼀个Classifier,且还不命中,则报⽂⾛正常的转发处理,类似于没有应⽤流分类策略。
由于Classifier中配置的是⼀个或多个if-match语句,按照if-match语句配置顺序进⾏匹配;如果if-match语句指定的是ACL或UCL,需要在ACL或UCL的多个Rule语句中进⾏匹配:⾸先查找⽤户是否配置了该ACL或UCL(因为流分类允许引⽤不存在的ACL和UCL),命中的第⼀条则停⽌匹配,不再继续查找后续的规则。
当Rule中的动作为Deny时,如果behavior是镜像或采样,即使对于丢弃的报⽂,也会执⾏behavior。ACL中可以指定permit或deny动作,它与ACL所在Classifier所对应的Behavior中的动作的关系是:
ACL为deny,则不关⼼Behavior,报⽂最终动作是deny;ACL为permit,则执⾏Behavior,报⽂最终动作是Behavior。
重点内容
复杂流分类是指采⽤复杂的规则,如由报⽂的源 MAC、⽬的 MAC、内外层 Tag、源 IP 地址、源端⼝号、⽬的 IP 地址、⽬的端⼝号等对报⽂进⾏精细的分类。复杂流分类主要部署在⽹络的边缘节点;
复杂流分类根据规则匹配的⽅式实现流分类,多个规则之间有And和Or(缺省逻辑)两种逻辑关系;
相关知识点
ACL,是Access Control List的简称,中⽂名称叫“访问控制列表”,它由⼀系列规则(即描述报⽂匹配条件的判断语句)组成。这些条件,可以是报⽂的源地址、⽬的地址、端⼝号等。这样解释ACL,⼤家是不是觉得太抽象了!打个⽐⽅,ACL其实是⼀种报⽂过滤器,ACL规则就是过滤器的滤芯。安装什么样的滤芯(即根据报⽂特征配置相应的ACL规则),ACL就能过滤出什么样的报⽂了。 基于过滤出的报⽂,我们能够做到阻塞攻击报⽂、为不同类报⽂流提供差分服务、对Telnet登录/FTP⽂件下载进⾏控制等等,从⽽提⾼⽹络环境的安全性和⽹络传输的可靠性。
因篇幅问题不能全部显示,请点此查看更多更全内容