服务质量

服务质量(英语:Quality of Service,缩写QoS)是一个术语,在分组交换网络领域中指网络满足给定业务合约的机率;或在许多情况下,非正式地指分组在网路中两点间通过的机率。QoS是一种控制机制,它提供了针对不同用户或者不同数据流采用相应不同的优先级,或者是根据应用程序的要求,保证数据流的性能达到一定的水准。QoS的保证对于容量有限的网路来说是十分重要的,特别是对于串流多媒体应用,例如VoIPIPTV等,因为这些应用常常需要固定的传输率,对延迟也比较敏感。当网络面临带宽拥塞或需要设定流量优先级时(例如,让某个 VLAN 的流量优先于另一个 VLAN),服务质量 (QoS) 能优化网络资源分配,缓解间歇性流量问题。[1]

电话业务领域中,服务品质是指线路噪音和声音,适当的音量水平等指标的衡量,并且不能与服务等级相混淆。

问题的提出

因特网创建初期并没有意识到QoS应用需要,因此整个因特网运作如一个“竭尽全力”的系统。每段信息都有4个“服务类别”位和3个“优先级”位,但是他们完全没有派上用场。依发送和接收者看来,数据包从起点到终点的传输过程中会发生许多事情,并产生如下有问题的结果:

  • 丢失数据包 - 当数据包到达一个缓冲区已满的路由器时,则代表此次的发送失败,路由器会依网路的状况决定要丢弃一部份不丢弃或者是丢弃所有的数据包,而且这不可能在预先就知道,接收端的应用程式在这时必须请求重新传送,而这同时可能造成总体传输严重的延迟。
  • 延迟 - 或许需要很长时间才能将数据包传送到终点,因为它会被漫长的队列迟滞,或需要运用间接路由以避免阻塞;也许能找到快速、直接的路由。总之,延迟非常难以预料。
  • 传输顺序出错 - 当一群相关的数据包被路由经过因特网时,不同的数据包可能选择不同的路由器,这会导致每个数据包有不同的延迟时间。最后数据包到达目的地的顺序会和数据包从发送端发送出去的顺序不一致,这个问题必须要有特殊额外的协议负责重新整理失序的数据包。

需要QoS的应用

流量约定SLAService Level Agreement,服务等级协议)给数据流设定优先级,以此在网络/协议层面上,根据相互商定的尺度,设定有保障的性能、通过量、延迟等界限。一些特定形式的网络数据流需要定义服务质量,例如:

这些类型的服务被称为非弹性,意思是它们需要固定的带宽才能运作--如果得到多余的带宽,它们也无法使用;如果得到较少的带宽,则根本无法工作。相形之下,弹性应用可以从多余的带宽中受益。

保持QoS

实质上有两种方式提供QoS保证。第一种,就是简单地提供大量的资源,用丰富、安全的余量设备应付预期中的“高峰”需求。这样既好又简单,然而有人认为这种方式代价昂贵,而且不能应对高峰需求超越预期的情形,部署额外的资源也很耗费时间。

第二种是要求用户预约带宽,并且仅在能够提供可靠服务的前提下接受预约。自然,可以为预约服务向用户收费。常用的实现方法有两类。

某些技术的QoS难题

以下的特性也许只会被用在end ports,但不会在服务器,中枢或是其它的端口上,这就缓和了许多并发流的冲突。

参见

外部链接

参考文献