传统网络没有经过特殊的配置话,所有设备对于数据流量转发全部都是全力转发,数据来多少接口尽全力的转发,这样会有一个问题,因为所有数据转发优先级都是相同的,一旦出现了拥塞的情况,那么所有的数据流量都会存在丢包的情况,按照传统的解决办法,就是对线路进行带宽扩展,这就会涉及到费用的增加,老板肯定不想因为一时的堵塞去花钱升级线路,那么在线路扩展的情况下,我们可以使用 Qos 来解决,Qos 可以对数据进行标记然后根据你设置的规则优先级进行转发,这个规则可以是优先转发,可以是限制这个流量最大可以使用多少带宽。但 Qos 是一种机制,他需要配合其他工具一起使用才可实现流量优化。
QOS 模型
在现有的网络中部署 Qos,共有三种模型:
- 第一种模型:Best-effort 尽力转发模型,也就是没有制定任何优先策略,默认交换机转发全都是这种模型,无法保障各类业务的服务质量。
- 第二种模型: IntServ 集成模型,是一种基于‘流’的 Qos 解决方案,使用资源预留协议 RSVP 沿数据转发路径为业务流申请并预留资源,保障业务流在进入网络的时候有足够的资源可用。该模型是需要在途径每一跳设备上配置,且中间设备都需要支持 RSVP 协议,对于使用场景较为严格,难以在大规模网络中部署。
- 第三种模型:DiffServ 差分服务模型,该模型在网络的边界上为各类报文上色(打标记),在网络的核心根据颜色(即标记)在每一跳设备上分配不同的资源,这种模型是基于类的,需要对每个类单独定义策略,分配资源。该模型部署需要在网络中每一跳中部署 Qos ,所以对于部署工程师的要求较高。
工作特点
三种模型中,差分服务使用的最为广泛,这里也主要围绕差分服务来讲。IntServ 集成服务由于对于设备要求较高,使用率较低。 差分服务通过在网络边界定义策略来对进入网络的业务分类,并做相对应的标记,特定场景下,还要对进来的报文做过滤或限速,网络核心则根据分类的结果定义相应的 Qos 。 优点有:
- 扩展性好,不需要像 RSVP 一样在中间设备上维护资源状态或流的信息;
- 性能优越;
- 互操作性强;
- 灵活性高。 缺点:
- 无法像集成模型对于 End-to-End 的流量进行资源保留;
- 对于部署的工程师要求较高,需要熟练的使用 Qos 。
QOS 工具
基于 DiffServ 模型的 Qos 业务主要分为以下几大类
- 报文分类和标记 要实现差分服务,需要首先将数据包进行标记,把不同的数据流量进行区分,可以通过 MQC 配置来实现;报文标记是为数据包设置不同的优先级,可以通过优先级映射和重标记优先级来实现。
- 流量监管、流量整形和接口限速 流量监管和流量整形可以将业务流量限制在特定的带宽内,当业务流量超过设置的带宽,超过的流量将会被丢弃或者缓存。其中,将超过的流量进行丢弃的叫流量监管,将超过流量进行缓存的叫流量整形。
- 拥塞管理和拥塞避免 拥塞管理在网络发生拥塞时,将报文放入队列缓存,并采取某种调度算法安排报文转发次序。而拥塞避免可以监督网络资源的使用情况,当发现拥塞有加剧的趋势时会采取主动丢弃报文的策略,通过调整流量来解除网络的拥塞。 其中对报文的分类和标记是实现差分服务的前提和基础。 流量监管、流量整形、接口限速、拥塞管理、拥塞避免是从不同方面对网络流量进行的差分服务。
QOS 实现原理
目前对于 Qos 的配置推荐使用 MQC 模块化的 Qos 的接口命令配置实现。 MQC 的配置过程:
-
配置流分类,按照一定规则对报文进行分类,这是提供差分服务的基础。 配置对应的规则去区分数据流量,这里通常都是通过 ACL 条目来匹配想抓取的流量。
-
配置流行为,指定按照流分类的报文去执行流量控制或者资源分配的动作。 对于抓取到的数据流量,指定这个数据流量的动作值,可以是过滤、限速、打标记、分配接口带宽等。
-
配置流策略,将指定的流分类和指定的流行为进行绑定,形成完整的策略。 流策略需要和流行为进行绑定,一个流策略可以绑定多个流行为,并需要定义好对流经接口的数据进出方向。
-
应用流策略,将流策略应用到接口或子接口上。 一定要和设备接口进行关联,且一个设备接口的出方向和者入方向都只能应用一个流策略。