网络通畅密码:QoS如何提供差异化服务?

开发 前端
数据、语音、视频业务的报文,分类进入不同的队列,这些队列使用PQ算法分为高、中、低优先级队列。报文出队列时,会根据优先级的高低顺序进行调度,优先级最高的语音报文会被优先发送,其次是数据报文,最后是视频报文。​

一、网络质量指标

想知道运营商如何保障网络服务质量,首先要明确评价网络质量好坏有哪些指标。主要有以下几个指标:

01带宽

网络带宽是指在单位时间(一般是1秒钟)内能传输的数据量。我们平时说的家庭宽带100M实际是100Mbit/s,就是说这个线路1秒钟可以传输100Mbit的数据量。通常情况下,带宽越大,数据通行能力就越强,网络服务质量就越好。这就好比高速公路,车道越多,车辆通行能力就越强,发生堵车的概率就越低。对于网络用户而言,都希望带宽越大越好,但是,网络运营和维护成本也就越高。

02时延

时延是指一个报文或分组从网络的发送端到接收端所需要的延迟时间,一般由传输延迟及处理延迟组成。

以语音传输为例,时延是指从说话者开始说话到对方听到所说内容的时间。一般人们察觉不到小于100毫秒的延迟。当延迟在100~300毫秒之间时,说话者可以察觉到对方回复的轻微停顿,这种停顿可能会使通话双方都感觉到不舒服。超过300毫秒,延迟就会比较明显,用户开始互相等待对方的回复。当通话的一方不能及时接收到期望的回复时,说话者可能会重复所说的话,这样会与远端延迟的回复碰撞,导致重复。

图片图片

03抖动

抖动是时延的变化,是指同一业务流中不同分组所呈现的时延不同。抖动会对语音、视频等实时业务造成影响,分组到达时间的差异将在语音或视频中造成断续。简单来说,就是按照顺序发的数据报文,没有按照理想的顺序送达到目的地, 需要在目的地重新排列顺序。利用缓存技术可以克服抖动, 但是会带来队列延迟, 因此对于实时性要求高的业务,抖动影响很大。

下面我们举个例子来看下时延的影响。

员工A向员工B发送一句语音“我留,他不留“。假设每个字是一个分组,发送端将语音分割为6个分组,以均匀的时间间隔顺序发出。由于IP网络的复杂性,每个分组时延可能不同,导致在接收端收到分组时各分组之间的时间间隔与发送时的时间间隔不一致。加上说话者的语气等因素,员工B可能会将接收到的语音理解成“我留他?不留!”,从而造成语义上的误解。

图片图片

04丢包率

丢包率是指在网络传输过程中丢失报文的数量占传输报文总数的百分比。

“高带宽、低时延、低抖动、低丢包率”的“一高三底”网络就是我们的“梦中情网”了,但是,从运营、维护的成本考虑,一味增加网络带宽是不现实的。那么,能否在有限的带宽资源条件下,保证网络质量呢?QoS出现了。

二、什么是QoS

QoS即服务质量,旨在针对各种应用的不同需求,提供不同的服务质量,如提供专用带宽、降低报文丢包率、减少报文传送时延及时延抖动等。

QoS技术本身不会增加网络带宽,而是在有限的带宽资源下,如何平衡地为各种业务分配带宽,针对各种业务的不同需求,为其提供端到端的服务质量保证。简单来说,就是把流量分三六九等, 对于不同的流量区别对待, 重要的流量优先服务,不重要的流量延迟转发甚至丢弃。

三、QoS服务模型

QoS为提供一定的服务保障而提出了两种类型的服务:综合服务(Integrated Service)和差分服务(DiffServ)。

  • 综合服务在发送报文前需要通过信令向网络申请特定的资源,网络需要为每个流维护一份QoS记录,这影响了业务的扩展,因此综合服务在实际应用中并不广泛。
  • 差分服务不需要信令,即应用程序在发出报文前不需要通知路由设备。网络不需要为每个流维护状态,仅根据每个报文指定的QoS来提供特定的服务,应用广泛。

下面我就一起看看QoS差分模型是如何实现差异化服务的吧!

四、实现原理

差分服务通常使用多种QoS技术来实现,包括流分类、流量监管、流量整形、拥塞管理、拥塞避免等。QoS技术为业务流提供差分服务,即对各种应用的不同需求提供不同的服务质量,保证重要的数据应用得到优先服务。

在设备上,先要对接收到的流量报文进行分类,分类后对不同类别的报文采取相应的行为动作,如对进入设备的报文进行流量监管、对从设备发出去的报文进行流量整形、对产生拥塞的队列进行拥塞管理、对拥塞加剧时的队列采取拥塞避免等。

图片图片

01流分类

流分类能够将网络业务流分割成多个服务类别,分类后则可以对不同的业务类别应用不同的QoS处理策略,如报文标记/重标记、流量监管、流量整形、拥塞管理等,这些处理策略又被称为流行为。

常用的报文分类依据包括报文优先级字段(如802.1q、MPLS exp、IPP、DSCP等)、ACL、协议类型、应用程序端口号等。

02流量监管

流量监管可以及时地检查流量违约情况,并在违约出现的时候立即采取规定的动作。流量监管能够确定流量在接口上是否超过了约定的速率,对于超过约定速率的流量进行重标记或丢弃。常用的流量监管工具是CAR(Committed Access Rate,约定访问速率)。

03流量整形

流量整形的目的是使流量不超过指定的速率,如果流量临时超过了指定的速率,那么超过指定速率的流量会被缓存并延迟发送。常用的流量整形工具是GTS(Generic Traffic Shaping,通用流量整形)。

04拥塞管理

拥塞管理是一种调度工具,决定了网络发生拥塞时的不同业务流的调度策略。拥塞管理使用队列缓存技术,将流量报文根据分类策略导入到多个队列中,按照设定的调度算法和队列优先级调度队列中的缓存报文出队,保证网络资源能够被合理应用。

在所有QoS技术中,拥塞管理对应用程序服务质量的影响最为显著。常用的队列缓存技术包括PQ(Priority Queuing,优先排队)、WFQ(Weighted Fair Queuing,加权公平排队)、CBWFQ(Class Based Weighted Fair Queuing,基于类的加权公平队列)等。

05拥塞避免

拥塞避免是拥塞管理的补充,用于监督网络资源的使用情况,当发现拥塞有加速的趋势时采取主动丢弃报文的策略来对流量进行调整。常用的拥塞避免机制包括RED(Random Early Detection,随机早期检测)、WRED(Weighted Random Early Detection,加权随机早期检测)等。

简单来讲,就是QoS通过四大组件来保障差异化服务质量。报文分类是基础,是有区别地实施服务的前提,流量监管和整形主要用于预防拥塞,而拥塞管理和拥塞避免用来解决拥塞。

图片图片

五、举个例子

举个例子,假如有数据、语音和视频三类业务,我们想让语音业务优先转发,通过QoS如何实现呢?

在QoS差分模型中,报文通常通过自身优先级和设备内部优先级的映射关系进入不同的队列,再根据调度算法(比如按优先级调度PQ、按权重调度WFQ/CBWFQ)决定各个队列之间报文发送的先后顺序。

数据、语音、视频业务的报文,分类进入不同的队列,这些队列使用PQ算法分为高、中、低优先级队列。报文出队列时,会根据优先级的高低顺序进行调度,优先级最高的语音报文会被优先发送,其次是数据报文,最后是视频报文。

结语

讲到这里,我们已经对QoS有了整体的了解。QoS就像是网络交警,一手抓限流,控制业务流量速度;一手抓调度,指挥哪些业务流量先行。QoS在保障网络质量上可谓是功不可没,但它仍具有一定局限性。

传统QoS只能区分业务优先级,不能区分用户。只要属于同一优先级的流量,就使用同一个端口队列,不同用户的流量竞争同一个队列资源。因此无法对端口上多个用户的多种业务流量进行区分服务。

那么问题来了,有没有一种技术可以实现这种区分服务呢?答案是肯定的,我们下期为大家揭晓。

责任编辑:武晓燕 来源: 中兴文档
相关推荐

2010-05-12 20:40:53

ITO运维管理摩卡软件

2020-06-02 21:03:57

物联网产品物联网IOT

2011-11-30 10:19:17

iPad游戏体验移动设计

2012-10-08 16:18:56

论坛

2011-09-22 09:19:46

F5Latisys私有云

2012-11-28 09:17:50

魅族

2011-08-18 09:59:19

微软云计算

2009-04-29 17:34:07

LinuxNEC服务器

2013-04-10 09:47:34

云服务连锁超市Vi-Cloud巍云平台

2011-03-16 19:17:57

汉柏差异化

2011-03-17 12:53:06

2017-11-02 09:40:28

人工智能GPU云主机UCloud

2018-04-03 12:53:21

GPU云主机AI

2012-05-04 09:59:31

云服务

2019-09-11 11:25:49

数据隐私技术人工智能

2013-12-26 15:17:36

2014-07-29 10:17:31

锐捷网络锐捷智分

2012-03-29 13:32:03

戴尔第12代服务器

2015-09-24 12:23:52

华为/行业云

2013-11-04 16:22:48

云安全Gartner
点赞
收藏

51CTO技术栈公众号