流水不争先,争的是滔滔不绝

QOS简介

未分类 liqi 41℃


QoS(Quality of Service,服务质量)指一个网络能够利用各种基础技术,为指定的网络通信提供更好的服务能力, 是网络的一种安全机制, 是用来解决网络延迟和阻塞等问题的一种技术。在正常情况下,如果网络只用于特定的无时间限制的应用系统,并不需要QoS,比如Web应用,或E-mail设置等。但是对关键应用和多媒体应用就十分必要。当网络过载或拥塞时,QoS 能确保重要业务量不受延迟或丢弃,同时保证网络的高效运行。在RFC 3644上有对QoS的说明。
基本信息
• 中文名
服务质量
• 外文名
Quality of Service
• 简称
QoS
• 属性
为指定的网络通信提供服务能力

定义
功能简介
而当网络发生拥塞的时候,所有的数据流都有可能被丢弃;为满足用户对不同应用不同服务质量的要求,就需要网络能根据用户的要求分配和调度资源,对不同的数据流提供不同的服务质量:对实时性强且重要的数据报文优先处理;对于实时性不强的普通数据报文,提供较低的处理优先级,网络拥塞时甚至丢弃。QoS应运而生。支持QoS功能的设备,能够提供传输品质服务;针对某种类别的数据流,可以为它赋予某个级别的传输优先级,来标识它的相对重要性,并使用设备所提供的各种优先级转发策略、拥塞避免等机制为这些数据流提供特殊的传输服务。配置了QoS的网络环境,增加了网络性能的可预知性,并能够有效地分配网络带宽,更加合理地利用网络资源。
下面从QoS服务模型出发,对目前使用最多、最成熟的一些QoS技术逐一进行描述。在特定的环境下合理地使用这些技术,可以有效地提高服务质量。
服务模型
通常QoS提供以下三种服务模型:
l Best-Effort service(尽力而为服务模型)
l Integrated service(综合服务模型,简称Int-Serv)
l Differentiated service(区分服务模型,简称Diff-Serv)

  1. Best-Effort服务模型是一个单一的服务模型,也是最简单的服务模型。对Best-Effort服务模型,网络尽最大的可能性来发送报文。但对延时、可靠性等性能不提供任何保证。
    Best-Effort服务模型是网络的缺省服务模型,通过FIFO(first in first out 先入先出)队列来实现。它适用于绝大多数网络应用,如FTP、E-Mail等。
  2. Int-Serv服务模型Int-Serv是一个综合服务模型,它可以满足多种QoS需求。该模型使用资源预留协议(RSVP),RSVP运行在从源端到目的端的每个设备上,可以监视每个流,以防止其消耗资源过多。这种体系能够明确区分并保证每一个业务流的服务质量,为网络提供最细粒度化的服务质量区分。
    但是,Inter-Serv模型对设备的要求很高,当网络中的数据流数量很大时,设备的存储和处理能力会遇到很大的压力。Inter-Serv模型可扩展性很差,难以在Internet核心网络实施。
  3. Diff-Serv服务模型Diff-Serv是一个多服务模型,它可以满足不同的QoS需求。与Int-Serv不同,它不需要通知网络为每个业务预留资源。区分服务实现简单,扩展性较好。
    相关介绍
    产生背景
    在因特网创建初期,没有意识到QoS应用的需要。因此,整个因特网运作如一个”竭尽全力”的系统。每段信息都有4个”服务类别”位和3个”优先级”位,但是他们完全没有派上用场。依发送和接收者看来,数据包从起点到终点的传输过程中会发生许多事情,并产生如下有问题的结果:
    •丢失数据包- 当数据包到达一个缓冲器(buffer)已满的路由器时,则代表此次的发送失败,路由器会依网络的状况决定要丢弃、不丢弃一部份或者是所有的数据包,而且这不可能在预先就知道,接收端的应用程序在这时必须请求重新传送,而这同时可能造成总体传输严重的延迟。
    •延迟- 或许需要很长时间才能将数据包传送到终点,因为它会被漫长的队列迟滞,或需要运用间接路由以避免阻塞;也许能找到快速、直接的路由。总之,延迟非常难以预料。
    •传输顺序出错- 当一群相关的数据包被路由经过因特网时,不同的数据包可能选择不同的路由器,这会导致每个数据包有不同的延迟时间。最后数据包到达目的地的顺序会和数据包从发送端发送出去的顺序不一致,这个问题必须要有特殊额外的协议负责刷新失序的数据包。
    •出错- 有些时候,数据包在被运送的途中会发生跑错路径、被合并甚至是毁坏的情况,这时接收端必须要能侦测出这些情况,并将它们统统判别为已遗失的数据包,再请求发送端再送一份同样的数据包。
    释义
    1.国际电信联盟(ITU)在x.902标准即”信息技术开放式处理参考模型”中定义服务质量(QoS)为:定义在一个或多个对象的集体行为上的一套质量需求的集合。吞吐量、传输延迟和错误率等一些服务质量参数描述了数据传输的速度和可靠性等。
    2.在ATM中定义服务质量(QoS)为”关于ATM性能参数集合的术语,这些参数描述了在一个给定虚拟连接上数据流量的特征”。服务质量参数大多应用在较低层次的协议层上,这些参数并不直接被应用程序所观察和感觉到。这些参数包括信元丢失率、信元错误率、信元错误插入率、信元延迟变化、信元传输延迟和平均信元传输延迟。根据服务质量参数定义了五种服务级别,级别0指的是”尽最大努力”服务方式,在这种服务级别中没有特定的流量参数和绝对的服务质量保证。
    3.IETF在研究ATM时就已经开始考虑服务质量的问题。即有陈述:”随着在网络上实时服务的逐步增加,在共享网络上要求提供确定的传输服务。这些确定的传输服务要求应用程序和网络基础设施有能力请求、设置和强化数据的传输。总的来说,这些服务指的是带宽预留和服务质量”。在”基于ATM的IP”中这样描述: “实时应用程序所使用的服务质量参数被假设在数据传输之前的资源预留协议中设置,或者以某种形式携带在数据之中”。”目前的工作正在重点研究服务质量参数怎样被表达出来和怎样做出本地的决定”。
    处理流程
    分类
    Classifying即分类,其过程是根据信任策略或者根据分析每个报文的内容来确定将这些报文归类到以CoS值来表示的各个数据流中,因此分类动作的核心任务是确定输入报文的CoS值。分类发生在端口接收输入报文阶段,当某个端口关联了一个表示QoS策略的Policy-map后,分类就在该端口上生效,它对所有从该端口输入的报文起作用。
  4. 协议
    有些协议非常”健谈”,只要它们存在就会导致业务延迟,因此根据协议对数据包进行识别和优先级处理可以降 QoS低延迟。应用可以通过它们的EtherType进行识别。譬如,AppleTalk协议采用0x809B,IPX使用0x8137。根据协议进行优先级处理是控制或阻止少数较老设备所使用的”健谈”协议的一种强有力方法。
    (2) TCP和UDP端口号码
    许多应用都采用一些TCP或UDP端口进行通信,如HTTP采用TCP端口80。通过检查IP数据包的端口号码,智能网络可以确定数据包是由哪类应用产生的,这种方法也称为第四层交换,因为TCP和UDP都位于OSI模型的第四层。
    (3) 源IP地址
    许多应用都是通过其源IP地址进行识别的。由于服务器有时是专门针对单一应用而配置的,如电子邮件服务器,所以分析数据包的源IP地址可以识别该数据包是由什么应用产生的。当识别交换机与应用服务器不直接相连,而且许多不同服务器的数据流都到达该交换机时,这种方法就非常有用。
    (4) 物理端口号码
    与源IP地址类似,物理端口号码可以指示哪个服务器正在发送数据。这种方法取决于交换机物理端口和应用服务器的映射关系。虽然这是最简单的分类形式,但是它依赖于直接与该交换机连接的服务器。
    策略
    Policing 即策略,发生在数据流分类完成后,用于约束被分类的数据流所占用的传输带宽。Policing动作检查被归类的数据流中的每一个报文,如果该报文超出了作用于该数据流的Police所允许的限制带宽,那么该报文将会被做特殊处理,它或者要被丢弃,或者要被赋予另外的DSCP 值。
    在QoS 处理流程中,Policing 动作是可选的。如果没有Policing 动作,那么被分类的数据流中的报文的DSCP 值将不会作任何修改,报文也不会在送往Marking 动作之前被丢弃。
    标识
    Marking即标识,经过Classifying 和Policing 动作处理之后,为了确保被分类报文对应DSCP的值能够传递给网络上的下一跳设备,需要通过Marking 动作将为报文写入QoS 信息,可以使用QoS ACLs 改变报文的QoS信息,也可以使用Trust 方式直接保留报文中QoS 信息,例如,选择Trust DSCP 从而保留IP 报文头的DSCP 信息。
    队列
    Queueing即队列,负责将数据流中报文送往端口的某个输出队列中,送往端口的不同输出队列的报文将获得不同等级和性质的传输服务策略。
    每一个端口上都拥有8 个输出队列,通过设备上配置的DSCP-to-CoS Map 和Cos-to-Queue Map 两张映射表来将报文的DSCP 值转化成输出队列号,以便确定报文应该被送往的输出队列。
    调度
    Scheduling即调度,为QoS 流程的最后一个环节。当报文被送到端口的不同输出队列上之后,设备将采用WRR 或者其它算法发送8 个队列中的报文。
    可以通过设置WRR算法的权重值来配置各个输出队列在输出报文的时候所占用的每循环发送报文个数,从而影响传输带宽。或通过设置DRR算法的权重值来配置各个输出队列在输出报文的时候所占用的每循环发送报文字节数,从而影响传输带宽。
    相关技术
    链路层QoS技术主要针对ATM(Asynchronous Transfer Mode,异步传输模式)、帧中继、令牌环等链路层协议支持QoS。作为一种面向连接的技术,ATM提供对QoS最强有力的支持,而且可以基于每个连接提供特定的QoS保证。帧中继网络确保连接的CIR(Committed Information Rate,承诺信息速率)最小,即在网络拥塞时,传输速度不能小于这个值。令牌环和更新的IEEE802.1p标准具有区分服务的机制。
    折叠 链路效率机制
    链路效率机制,用于改善链路的性能,间接提高网络的QoS,如降低链路发包的时延(针对特定业务)、调整有效带宽。链路效率机制有很多种,下面介绍两种比较典型的链路效率机制及其基本原理。
  5. 链路分片与交叉(Link Fragment & Interleave,LFI)
    对于低速链路,即使为语音等实时业务报文配置了高优先级队列(如RTP优先队列或LLQ),也不能够保证其时延与抖动,原因在于接口在发送其他数据报文的瞬间,语音业务报文只能等待,而对于低速接口发送较大的数据报文要花费相当的时间。采用LFI以后,数据报文(非RTP实时队列和LLQ中的报文)在发送前被分片、逐一发送,而此时如果有语音报文到达则被优先发送,从而保证了语音等实时业务的时延与抖动。LFI主要用于低速链路。
    链路效率机制的工作原理图如图11 所示:
    链路效率
    如上图所示,应用LFI技术,在大报文出队的时候,可以将其分为定制长度的小片报文,这就使RTP优先队列或LLQ中的报文不必等到大片报文发完后再得到调度,它等候的时间只是其中小片报文的发送时间,这样就很大程度的降低了低速链路因为发送大片报文造成的时延。
  6. RTP报文头压缩(RTP Header Compression,cRTP)
    cRTP主要在低速链路上使用,可将40字节的IP/UDP/RTP头压缩到2~4个字节(不使用校验和可到2字节),提高链路的利用率。cRTP主要得益于同一会话的语音分组头和语音分组头之间的差别往往是不变的,因此只需传递增量。
    RTP协议用于在IP网络上承载语音、视频等实时多媒体业务。RTP报文包括数据部分和头部分,RTP的数据部分相对小,而RTP的报头部分较大。12字节的RTP头,加上20字节的IP头和8字节的UDP头,就是40字节的IP/UDP/RTP头。而RTP典型的负载是20字节到160字节。为了避免不必要的带宽消耗,可以使用cRTP特性对报文头进行压缩。cRTP可以将IP/UDP/RTP头从40字节压缩到2~5字节,对于40字节的负载,头压缩到5字节,压缩比为(40+40)/(40+5),约为1.78,可见效果是相当可观的,可以有效的减少链路,尤其是低速链路带宽的消耗。
    rtp
    ATMQoS
    ATM是一种大小固定的信元交换和多路复用技术,它是面向连接的,任何用户数据在两个或更多ATM连接设备之间传输之前,都必须建立虚电路(VC,Virtual Circuit)。ATM有两种主要的连接方式(或VC):永久虚电路(PVC,Permanent Virtual Circuit)和交换虚电路(SVC,Switched Virtual Circuit)。PVC通常是静态的,需要手工或外部配置来建立;而SVC是动态,根据需要创建。它们的创建需要在ATM端点和ATM交换机之间运行信令协议。
    ATM通过使ATM端系统显示流量合同来提供QoS保证,流量合同描述了希望的通信流指标。流描述符包括QoS参数,例如峰值信元速率(PCR,Peak Cell Rate)、持续信元速率(SCR,Sustained Cell Rate)以及突发量。
    ATM端系统负责确保传输的流量符合QoS合同。ATM端系统通过缓冲数据来对流量进行整形,并按约定的QoS参数传输通信。ATM交换机控制每个用户的通信指标,并将其与QoS合同进行比较。对于超过了QoS合同的通信,交换机可以设置不顺从通信的CLP位。在网络拥塞时,CLP位被设置的信元被丢弃的可能性更大。
版权声明:部分文章、图片等内容为用户发布或互联网整理而来,仅供学习参考。如有侵犯您的版权,请联系我们,将立刻删除。
点击这里给我发消息