一、QoS简介
服务质量QoS(Quality of Service)用于评估服务方满足客户服务需求的能力。通过配置QoS,对企业的网络流量进行调控,管理并避免网络阻塞,减少报文的丢失率,同时也可以为企业用户提供专用带宽,或者为企业中不同的业务(语音、视频、数据等)提供差分服务。
广义上讲,服务质量涉及网络应用的方方面面,只要是对网络应用有利的措施,其实都是在提高服务质量。因此,从这个意义上来说,防火墙、策略路由、快速转发等也都是提高网络业务服务质量的措施之一。

服务质量相对网络业务而言,在保证某类业务服务质量的同时,可能就是在损害其它业务的服务质量。因为网络资源总是有限的,只要存在抢夺网络资源的情况,就会出现服务质量的要求。比如,网络总带宽为100Mbps,而BT下载占用了90Mbps,其他业务就只能占用剩下的10Mbps。而如果限制BT下载占用的最大带宽为50Mbps,也就提高了其他业务的服务质量,使其他业务能够占用最少50Mbps的带宽,但这是在损害BT业务的服务质量为前提的。

影响网络质量的因素:
1、网络带宽
网络带宽是指在单位时间(一般指的是1秒钟)内能传输的数据量。
2、网络时延
网络时延是指一个报文从一个网络的一端传送到另一端所需的时间。
一般在实时应用通信中,都比较关注通信质量,通信质量的好坏就取决于时延大小,如语音、视频等。
以语音传输为例,时延是指从说话者开始说话到对方听到所说内容的时间。如果时延过大,通常我们在打电话时,会感觉到对方声音不清楚,断断续续。

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

3、抖动
由于每个报文的端到端时延不一样,就会导致这些报文不能等间隔到达目的端,这种现象叫做抖动。一般来说,时延越小则时延抖动的范围越小。

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

4、丢包
丢包率是指在网络传输过程中,丢失报文占传输报文的百分比。丢包可用于衡量网络的可靠性。

丢包(packetloss)可能在所有环节中发生,例如:

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

少量的丢包对业务的影响并不大,例如,在语音传输中,丢失一个比特或一个报文的信息,通话双方往往注意不到;在视频广播期间,丢失一个比特或一个报文可能造成屏幕上瞬间的波形干扰,但视频很快就会恢复正常。即使使用传输控制协议(TCP)传送数据也能处理少量的丢包,但大量的丢包就会严重影响到传输效率。

二、QoS功能

1、分组分类器和标记器

2、通信速率管理

3、资源分配

4、拥塞避免和分组丢弃策略

5、QoS信令协议

6、交换

7、路由

三、QoS服务模型
1、尽力而为的服务模型(Best-Effort)
Best-Effort是一个单一的服务模型,也是最简单的服务模型。应用程序可以在任何时候,发出任意数量的报文,而且不需要事先获得批准,也不需要通知网络。
应用Best-Effort服务模型的网络尽最大的可能性来发送报文,但对时延、可靠性等性能不提供任何保证,但它适用于绝大多数网络应用,如FTP、E-Mail等。

注:在尽力而为的服务模型下,可通过增大网络带宽和升级网络设备来提高端到端通信质量

2、综合服务模型(Integrated Services):
RSVP协议工作过程:在应用程序发送报文前,需要向网络申请特定的带宽和所需的特定服务质量的请求,等收到确认信息后才发送报文。

3、区分服务模型(DiffServ):
DiffServ区分服务工作过程:首先将网络中的流量分成多个类,然后为每个类定义相应的处理行为,使其拥有不同的优先转发、丢包率、时延等。

三种服务模型的对比:

QOS个人学习笔记 qos详解_服务质量