QoS,即Quality of Service,服务质量的意思。本文将大体介绍QoS的基本原理、衡量指标和网络服务各种指标等方面。
QoS概述
在传统的计算机网络中,网络设备对于数据包的处理方式都是相同的,平等的对待所有的数据流量。但是,随着计算机网络规模的扩大和网络服务多元化的扩充,部分网络服务对网络设备和数据包转发提出了更高的要求。为了满足这些特殊服务的数据流量转发,因此提出了QoS的概念。
所谓QoS,类似于银行中VIP用户一样,给所有的网络流量分类,并赋予这些不同类别的网络流量以不同的服务质量。对于部分优先级比较高的流量,网络设备会保证其转发,而对于部分优先级比较低的流量,网络设备则尽量给齐提供服务。
须知,对于计算机网路来说,在一段时间内其性能一般不会变化,因此,保证一部分网络流量的服务质量本质上是对其他类型的网络流量的损害。
QoS衡量指标
要学习QoS,首先先来看一下怎样衡量一个网络的服务质量,在一般情况下,我们说网络好不好,通常有以下四种指标:
带宽
所谓带宽,很好理解,就是接口转发数据包的效率,比如以太网口的带宽就是10M/S,意味着一秒钟可以转发10M大小的数据包,而吉比特以太网口的带宽就是1000M/S。上面介绍的都是一个设备端口上的带宽,但是在实际网络中,我们经常使用端到端带宽的概念。所谓端到端带宽,就是指网络通信的双发能够通信的最大带宽。端到端带宽遵循木桶原理,即端到端带宽是由两端设备路径上的最小带宽决定的。比如PC1要和PC2通信,他们之间要经过R1、R2路由器,如果PC1到R1的带宽为10M,R1到R2的带宽为100M,R2到PC2的带宽为64K,则我们说PC1到PC2的端到端带宽为64K。
时延
所谓时延,就是数据包传输的时间,对于单个网络设备来说,时延包括传输时延、处理时延和队列时延。所谓传输时延,是指数据包在物理链路上传输所花费的时间,因此传输时延和物理链路特性有关。所谓处理时延,是指数据包在从网络设备的某个接口进入后,在网络设备中处理所需要的时间。所谓队列时延,是指数据包在网络设备出接口的软件队列中排队所花费的时间。对于单个网络设备而言,如果一时间需要发送的数据包过多,超过了其发送的速度,就会在出机口上维护一个队列,将一时间无法发送的数据包放入队列,按照指定的调度程序将队列中的数据包发送出去,因此如果网络拥堵时,时延也将会变大。一般而言,时延与带宽息息相关,也与网络拥塞状态有关。时延也存在端到端时延的概念,所谓端到端时延,是指一个数据包从一个设备产生,最后到其接受者所用的时间。很显然,端到端时延是数据包经过的所有网络设备的时延总和。
抖动
抖动与时延有关,但是又略有区别。所谓抖动,就是网络设备在发送数据包流量时的不均衡特性。在一般的网络中,网络流量并不平稳,可能某段时间网络流量为10M/S,可能在另一段时间网络流量为100M/S,抖动就是衡量网络流量不均衡性的度量。
丢包
所谓丢包,就是网络设备对某些数据包不予转发,直接丢弃。在网络拥堵的时候,我们可能会发现,网络会出现丢包现象。一般而言,引起丢包的可能性有两点:一是网络设备自身的软件队列和硬件队列都已经被数据包填满,此时若还有数据包发送进来,则网络设备将不能处理多余的数据包,此时就会发生丢包现象。除此之外,还有一种情况就是网络设备预感到一会可能出现网络拥堵,为了保证部分高优先级的数据包传输,主动丢弃某些不重要的数据包
一般情况下网络服务对上述指标的敏感性
QoS的作用就是保证部分数据流量的服务质量,所保证的服务即使用上面四个参数衡量。而不同的服务对上述指标有不同的敏感性,下面给大家介绍不同的服务对网络服务的保障要求
交互式服务
交互式服务,诸如telnet、ssh等流量。对带宽要求比较低,对时延要求也比较高,对丢包要求也比较高,但是对抖动则没有太高的要求。
批处理服务
批处理服务,诸如FTP等,对带宽要求比较高,但是对时延要求比较高,丢包率尽量不要太高,对抖动则没有要求。
语音服务
对于语音服务,则对带宽要求不高,但是对时延要求非常苛刻,对丢包和抖动也有一定的要求
视频服务
对于视频服务,则对带宽要求比较高,对时延要求也比较高,但是不像语音服务一样苛刻,对丢包和抖动也有一定的要求。