Qos技术基础原理

Qos的诞生背景:

网络的普及和业务的多样化使得互联网流量激增,从而产生网络拥塞,增加转发时延,严重时还会产生丢包,导致业务质量下降甚至不可用。所以,要在网络上开展这些实时性业务,就必须解决网络拥塞问题。解决网络拥塞的最好的办法是增加网络的带宽,但从运营、维护的成本考虑,这是不现实的,最有效的解决方案就是应用一个“有保证”的策略对网络流量进行管理。

QoS技术就是在这种背景下发展起来的。QoS(Quality of Service)即服务质量,其目的是针对各种业务的不同需求,为其提供端到端的服务质量保证。QoS是有效利用网络资源的工具,它允许不同的流量不平等的竞争网络资源,语音、视频和重要的数据应用在网络设备中可以优先得到服务。QoS技术在当今的互联网中应用越来越多,其作用越来越重要。

各类业务对网络质量的要求:

在这里插入图片描述
带宽:
在这里插入图片描述
网络带宽是指在单位时间(一般指的是1秒钟)内能传输的数据量。如图所示,尽管传输途径上的最大的一段链路带宽是1Gbps,但是数据从一个用户传到另一个用户的最大传输速率只能是256kbps,因为传输的最大带宽是由传输路径上的最小链路带宽决定的。正是因为这样,带宽小的链路是影响传输速率的关键。

时延:
在这里插入图片描述

时延是指一个报文从一个网络的一端传送到另一端所需要的时间。单个网络设备的时延包括传输时延、串行化时延、处理时延、以及队列时延。

  1. 传输时延:一个数据位从发送方到达接收方所需要的时间。该时延取决于传输距离和传输介质,与带宽无关。
  2. 串行化时延:指发送节点在传输链路上开始发送报文的第一个比特至发完该报文的最后一个比特所需的时间。该时延取决于链路带宽以及报文大小。
  3. 处理时延:指路由器把报文从入接口放到出接口队列需要的时间。它的大小跟路由器的处理性能有关。
  4. 队列时延:指报文在队列中等待的时间。它的大小跟队列中报文的大小和数量、带宽以及队列机制有关。

抖动:
在这里插入图片描述
由于每个报文的端到端时延不一样,就会导致这些报文不能等间隔到达目的端,这种现象叫做抖动。一般来说,时延越小则时延抖动的范围越小。

某些业务类型(特别是语音和视频等实时业务)是极其不能容忍抖动的。报文到达时间的差异将在语音或视频中造成断续;另外,抖动也会影响一些网络协议的处理,有些协议是按固定的时间间隔发送交互性报文,抖动过大就会导致协议震荡,而实际上所有传输系统都有抖动,但只要抖动在规定容差之内就不会影响服务质量,另外,可利用缓存来克服过量的抖动,但这将会增加时延。

抖动的大小跟时延的大小直接相关,时延小则抖动的范围也小,时延大则可能抖动的范围也大。

丢包:
在这里插入图片描述

丢包率是指在网络传输过程中丢失报文占传输报文的百分比。丢包可用于衡量网络的可靠性。丢包(packet loss)可能在所有环节中发生,例如:

  1. 处理过程:路由器在收到报文的时候可能由于CPU繁忙,无法处理报文而导致丢包;
  2. 排队过程:在把报文调度到队列的时候可能由于队列被装满而导致丢包;
  3. 传输过程:报文在链路上传输的过程中,可能由于种种原因(如链路故障等)导致的丢包。

少量的丢包对业务的影响并不大,但大量的丢包就会严重影响到传输效率。

Qos服务模型:

Best-Effort服务模型
在这里插入图片描述
Best-Effort是最简单的QoS服务模型,用户可以在任何时候,发出任意数量的报文,而且不需要通知网络。提供Best-Effort服务时,网络尽最大的可能来发送报文,但对时延、丢包率等性能不提供任何保证。Best-Effort服务模型适用于对时延、丢包率等性能要求不高的业务,是现在Internet的缺省服务模型,它适用于绝大多数网络应用,如FTP、E-Mail等。(尽力而为)

IntServ服务模型
在这里插入图片描述
IntServ模型是指用户在发送报文前,需要通过信令(Signaling)向网络描述自己的流量参数,申请特定的QoS服务。网络根据流量参数,预留资源以承诺满足该请求。在收到确认信息,确定网络已经为这个应用程序的报文预留了资源后,用户才开始发送报文。用户发送的报文应该控制在流量参数描述的范围内。网络节点需要为每个流维护一个状态,并基于这个状态执行相应的QoS动作,来满足对用户的承诺。

IntServ模型使用了RSVP(Resource Reservation Protocol)协议作为信令,在一条已知路径的网络拓扑上预留带宽、优先级等资源,路径沿途的各网元必须为每个要求服务质量保证的数据流预留想要的资源,通过RSVP信息的预留,各网元可以判断是否有足够的资源可以使用。只有所有的网元都给RSVP提供了足够的资源,“路径”方可建立。(保证每个能发送的流量都有资源,不会丢弃,但是效率低)

DiffServ服务模型
在这里插入图片描述
DiffServ模型的基本原理是将网络中的流量分成多个类,每个类享受不同的处理,尤其是网络出现拥塞时不同的类会享受不同级别的处理,从而得到不同的丢包率、时延以及时延抖动。同一类的业务在网络中会被聚合起来统一发送,保证相同的时延、抖动、丢包率等QoS指标。

Diffserv模型中,业务流的分类和汇聚工作在网络边缘由边界节点完成。边界节点可以通过多种条件(比如报文的源地址和目的地址、ToS域中的优先级、协议类型等)灵活地对报文进行分类,对不同的报文设置不同的标记字段,而其他节点只需要简单地识别报文中的这些标记,即可进行资源分配和流量控制。

与Intserv模型相比,DiffServ模型不需要信令。在DiffServ模型中,应用程序发出报文前,不需要预先向网络提出资源申请,而是通过设置报文的QoS参数信息,来告知网络节点它的QoS需求。网络不需要为每个流维护状态,而是根据每个报文流指定的QoS参数信息来提供差分服务,即对报文的服务等级划分,有差别地进行流量控制和转发,提供端到端的QoS保证。DiffServ模型充分考虑了IP网络本身灵活性、可扩展性强的特点,将复杂的服务质量保证通过报文自身携带的信息转换为单跳行为,从而大大减少了信令的工作,是当前网络中的主流服务模型。(区别于前两种模型,对于不同的流量按照配置区分处理,此模型也是运用最广的模型)

三种服务类型的对比
在这里插入图片描述

基于DiffServ模型的QoS组成:

我们学习QoS都是基于DiffServ服务模型的,基于Diffserv模型的QoS业务主要分为以下几大类:

• 报文分类和标记
要实现差分服务,需要首先将数据包分为不同的类别或者设置为不同的优先级。报文分类即把数据包分为不同的类别,可以通过MQC配置中的流分类实现;报文标记即为数据包设置不同的优先级,可以通过优先级映射和重标记优先级实现。

• 流量监管、流量整形和接口限速
流量监管和流量整形可以将业务流量限制在特定的带宽内,当业务流量超过额定带宽时,超过的流量将被丢弃或缓存。其中,将超过的流量丢弃的技术称为流量监管,将超过的流量缓存的技术称为流量整形。接口限速分为基于接口的流量监管和基于接口的流量整形。

• 拥塞管理和拥塞避免
拥塞管理在网络发生拥塞时,将报文放入队列中缓存,并采取某种调度算法安排报文的转发次序。而拥塞避免可以监督网络资源的使用情况,当发现拥塞有加剧的趋势时采取主动丢弃报文的策略,通过调整流量来解除网络的过载。
其中,报文分类和标记是实现差分服务的前提和基础;流量监管、流量整形、接口限速、拥塞管理和拥塞避免从不同方面对网络流量及其分配的资源实施控制,是提供差分服务的具体体现。

各种QoS技术在网络设备上的处理顺序如下图所示:
在这里插入图片描述
第一个为交换机,第二个为路由器。

当前华为的多种QoS工具中。都是基于接口特定方向配置的,有些工具只能应用在接口的出方向。有些只能应用在接口的入方向上。图中只有监管既可以应用到接口的入方向,又可以应用到接口的出方向上(限速则在华为交换机和路由器上有所不同,交换机上的限速既可以应用在入方向,又可以应用在出方向,具体内容请参考后面章节)。

传统的Qos部署工具:

传统的QoS配置命令包括如下几种,它们的特点是配置QoS不使用MQC,直接把相关命令应用在接口上。以下列举了信任、队列、限速、整形及监管。华为设备相关命令:

 [Huawei] interface ethernet 2/0/0
 [Huawei- Ethernet2/0/0] trust dscp
 #基于端口信任DSCP
 [Huawei] interface ethernet 2/0/0
 [Huawei- Ethernet2/0/0] qos que-profile hello-world
 #调用Queue-profle队列管理
 [Huawei] interface ethernet 2/0/0
 [Huawei-Ethernet2/0/0] qos Ir pct 50 cbs 37500
 #首对接口外出流量做限速
 [Huawei] interface ethernet 2/0/0
 [Huawei-Ethernet2/0/0] qos gts cir 2000 cbs 375000
 #对接口外出流量整形管理
 [Huawei] interface ethernet 2/0/0
 [Huawei- Ethernet2/0/0] qos car inbound cir 2000
 #基于接口做监管,也可使用outbound关键词,对出方向流量做监管

MQC:

概念:
除上述QoS实现外,随着网络中各种业务的不断丰富,在网络规划时,要实现对不同业务流量(如不同业务或不同用户)的更细化的多种服务需求,这样使用传统的配置命令将会是一件非常复杂烦琐的事情,选择MQC的方式能够简化整个过程。

MQC结构图:
在这里插入图片描述

  1. 流分类:
    采用一定的规则识别符合某类特征的报文,从而把具有某类共同特征的报文划分为一类,它是有区别地进行服务的前提和基础。用户可以通过定义一系列的规则来对报文进行分类,同时也可以指定规则之间的关系:
    • and:报文只有匹配了类中的所有的规则,设备才认为报文属于此类。当流分类中有ACL规则时,报文必须匹配其中一条ACL规则以及所有非ACL规则才属于该类。当流分类中没有ACL规则时,则报文必须匹配所有非ACL规则才属于该类。
    • or:报文只要匹配了类中的一个规则,设备就认为报文属于此类。

  2. 流行为:
    用来定义针对某类报文所做的QoS动作。进行流分类是为了有区别地提供服务,它必须与某种流量控制或资源分配的流行为关联起来才有意义。

  3. 流策略:
    是将流分类和流行为绑定后形成的完整的策略。通过将流策略应用到接口、全局、单板或者VLAN,实现了针对不同业务的差分服务。

流策略配置命令(华为):

  1. 配置流分类
    • 执行命令traffic classifier classifier-name [ operator { and | or } ],创建一个流分类,进入流分类视图。
  2. 配置流行为
    • 执行命令traffic behavior behavior-name,创建一个流行为,进入流行为视图。
  3. 配置流策略
    • 执行命令traffic policy policy-name,创建流策略并进入流策略视图。
    • classifier behavior命令用来在流策略中为指定的流分类配置所需流行为,即绑定流分类和流行为。
    • 执行命令traffic-policy policy-name { inbound | outbound },在接口或子接口的入方向或出方向应用流策略。
    在这里插入图片描述

参考资料:华为HCIE培训文档、华为hedex文档、HCIE路由交换学习指南

  • 4
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

格洛米爱学习

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值