网络通信 频道

IP QoS的流量管理


  一、 为什么需要流量管理

  用户的各种业务在经过网络时,会受到各种因素的影响,如节点延迟、可变延迟以及丢包率等。IP QoS的宗旨就是解决这些问题,使网络通过控制这些参数来保证业务在网络中的性能。那么,对于那些高于尽力而为的业务,究竟保持什么样的水平才是比较合适的?可以说这里没有统一的规定,不同的业务对网络的要求不一样,不同的业务级别对指标的要求也不一样。因此,需要一个可以在用户和运营商之间达成一种默契的桥梁,用户的业务可以定量地以节点延迟、可变延迟等指标来描述;而对于运营商,可以根据协议中所商定的这些量化指标,保证用户业务在运营网络中的性能。这个协议就是业务等级协议(SLA)。

  业务等级协议实质上就是要分清用户与运营商之间的责、权、利。对于一般用户而言,SLA可以是非常简化的标准协议,以方便使用;而对于商业用户来说,SLA可以是为其专门定制的多方位协议。当然,如果一般用户愿意为细化的服务而额外支付费用,那么也可以为他们定制专门的协议。

  一般地说,SLA定义了端到端的业务规程,它包括以下几个方面的内容:

  可用性——有保证的正常运行时间。 提供的业务——提供业务级别的规程。

  服务保证——对每种级别,提供包括吞吐量、丢包率、延迟、延迟偏差以及对超额预定的处理等方面的保证。

  责任——违反合同条款的后果。

  定价——为每项具体的业务级别定制的价格。

  业务等级协议的核心是运营商可以给最终用户提供的业务水平或级别。不同业务级别的业务可获得不同级别的质量保证。因此,SLA的一个重要内容就是将业务映射到不同的业务等级上。例如,我们就可以将现在所遇到的业务大体分为三级,如下表所示。



  有了这些量化的指标,运营商就可以根据这些指标来实现对业务的保证,以达到业务等级协议的要求。当然,如何实现这些指标的要求,使业务能够在保证性能的情况下通过网络,必须满足两个最基本的条件:

  首先,良好的网络设计是达到SLA的前提之一。

  其次,在实际网络中有一个很好的流量管理机制。流量管理是保证实现SLA的关键。

  二、 流量管理的过程

  IP QoS的流量管理从一个业务数据包进入网络到退出网络,可以分为几个过程,即业务的分类、业务的监管、业务的调节以及业务的过滤。

  1.业务的分类

  对进入DiffServ域的业务进行分类,以便在网络中得到相应的适当处理。业务必须由客户预先标记或在运营商网络一端与客户最临近的路由器上进行标记。

  数据包进入某一域时,可以有多种方法对它进行分类,但并不是所有方法对于每一种业务都是必需的。我们可以根据SLA规定的一些策略给每个数据包加上DS字段标记,从而对数据包进行分类。

  例如,客户网络到运营商的路由器之间的连接是以太网而不是广域网接口(ATM、FR等)时,客户可使用以太网的802.1p优先权方案在自己的局域网内部对业务进行分类;在进入运营商网络边缘时,再根据SLA中的规定将优先权映射到该数据包的DS字段中。

  当然,运营商的边缘路由器还可以根据其他多种手段对客户业务进行分类,如IP数据包头的ToS (业务类型)字段、ATM QoS等。

  2.业务的监管

  业务监管(Traffic policing)是为了监督用户是否根据SLA中所赋予的权利来使用运营商网络,一方面是保证运营商自己的利益不受侵害,另一方面也从间接上保证了其他用户在网络中的权利。

  业务的监管可以采用一个较为简单的方法——令牌漏桶 (Token Bucket)算法,当然也可以采用其他类似的机制来监控每一个级别的输入业务量。如下图所示,每一种业务都有相应数量的令牌(Token),令牌按照SLA所规定的速率发出。如果用户的业务到达的速度快于令牌发出的速度,则说明用户没有遵守SLA,因此就需要对用户超出SLA的这些业务数据有一个策略。例如,可以将它们加上标记,在网络不拥塞的情况下允许它们通过网络,而在网络拥塞时首先将它们丢弃。当然,也可以在一开始就将这部分数据丢弃,完全取决于运营商和用户之间所达成的协议和策略。



  3.业务的调节

  实际上,业务的分类和业务的监管都发生在运营网络的边缘。而业务的调节阶段则是完全的运营网络行为。它的好坏直接决定了IP QoS能否实现的问题。

  一般来说,业务调节主要有两个手段,一个是预防拥塞的排队和调节机制,另一个就是遇到拥塞时的丢弃机制。

  去往输出接口的业务都被分类并插入到相应的输出队列中,每个队列都具有可设置的调节程序,这些程序可以利用加权公平排队(WFQ)、循环方式(RR:Round Robin)及严格优先权等算法实现;同样,每个队列也有多种可选择的丢弃算法,如随机早期检测(RED)或尾部丢弃(Tail-drop),均可通过业务级别进行配置。

  (1) 排队调节机制 严格的优先级调节:某一级别的业务只有在当队列中没有更高优先权业务时才被发送。这一方法实施起来较为简单;缺点是永远只传输一个级别(最高优先权的)的业务。 公平排队或循环方式:简单地从多个队列中进行循环,这有助于使不同队列公平地使用带宽,但缺点是大量的数据流不得不需要更多的带宽。 加权公平排队:对公平排队的一种改进。在这种方案中,我们给每个队列分配权限,该权限确定队列中的哪些数据包优先使用链路带宽。 基于级别的排队:可以分为几个队列,每个队列与不同的业务级别相对应(可能由PHB 定义),可以使用不同方法发送或调节队列。 分级的基于级别的排队(CBQ):业务被分成不同级别,每种级别又可细分成若干子级 (Sub-class)。这种分级形成一种树状结构,若一个子级使用的链路带宽超过它应得的份额,那么它将首先向姊妹子集(Sister sub-class)借用带宽,依此类推。在分级结构中这一树形结构可以用来区分各种业务类型。

  (2) 丢弃机制 尾部丢弃:只有分配的缓冲器空间被全部占用时才丢弃到达的数据包。这种方法易于实施,但众所周知,它会导致网络的崩溃,因为它可触发TCP全局同步。 随机早期探测:防止TCP全局同步的有效方法。该方法主要是在队列占用率(Queue occupancy)开始上升时(但又在真正发生拥塞之前)随机丢弃到达的数据包,从而始终保持一个较小的队列。但这只能在一定程度上通过降低TCP源拥塞的概率,缓解网络的拥塞。一旦当队列的平均尺寸增大时,那么到达的数据包被丢弃的概率仍会随着队列的增大而增高。 加权RED(WRED):是RED的一种变体,它可以更加合理地选择将被丢弃的数据包。

  4.业务的过滤

  业务过滤一般用于退出一个域的行为,一方面是出于安全性考虑而进行过滤,而另一方面也是防止低优先权业务阻塞接入链路而进行过滤。

  例如,过滤策略可从其他站点分出业务终接容量,使关键的高优先权业务可优先于低优先权业务被终接;同时,为防止非法业务进入专用域,也有必要使用安全过滤功能。过滤必须在接入链路的运营商一端进行,否则心怀恶意的用户有可能向网络上输送大量业务,使合法用户的业务得不到传输。过滤是在运营商一端的边缘路由器上进行的。

 

转载地址:http://www.voipchina.cn/technology/2004-03-20/36580.shtml

0
相关文章