APP下载

服务质量(QoS)在IP视频监控中的应用

2011-11-26

铁路计算机应用 2011年12期
关键词:数据流队列路由器

白 衡

(陕西西延铁路有限责任公司 信息技术中心,西安 710054)

近年来,IP视频监控系统在各行各业得到广泛应用,从小区的安防监控到工厂的生产监控,从公安部门的平安城市到铁路部门的行车实时监控,采集数字视频信号并利用IP网络进行图像传送,远程集中监控已经成为视频监控系统的基本组网模式。但由于传统IP网络“尽力而为”的数据传送模式,数据传输中分组丢失、延时、抖动等网络传输质量问题比较普遍,传送时快时慢、时通时断(丢包),难以满足语音、视频这些实时性较强的业务的需求,影响实时视频监控的效果,严重时甚至导致整个系统无法使用。西延铁路公司行车安全实时视频监控系统在建设初期也碰到了同样的问题,通过在视频监控的内部IP承载网上实施服务质量(QoS)工程,解决了IP网络传输实时信息和分优先级传输数据的问题,收到了比较好的效果。

1 IP服务质量(QoS)技术

为解决IP网的服务质量(QoS)问题,比较常见和成熟的协议有资源预留协议(RSVP)和差别服务协议(Diffserv)。然而,无论单独采用这些机制中的哪一种,都不能完全解决分组丢失、延时、抖动等问题,在实际应用中,往往结合使用这两种手段,相互取长补短。

(1)资源预留协议(RSVP)工作原理

资源预留协议(RSVP)是基于IP协议的单向资源预留协议,为数据流经过的每个网络节点进行带宽预留,通过队列管理等技术实现。数据在传输过程中,发送端给接收端发送路径资源需求,接收端根据路径资源需求为该业务流请求带宽、时延等网络资源,如果资源足够,从发送端到接收端网络路径中的每个中间路由器都要为该业务流分配带宽和缓冲区等资源,并在传送过程中为该业务流维护数据流的类别、流量监管、排队调度等状态,直至传输完成。简而言之,用户通过RSVP协议向网络请求满足特殊服务质量要求的缓存和带宽,中间节点的网络设备利用RSVP信令在数据传输通路上建立起资源预留并维护该通路,从而实现相应的服务质量。

从资源预留协议(RSVP)的原理可以看出,数据流经过的每个路由器上都要运行RSVP协议,数据在传输前就提前预定了所有需要的网络资源,通过周期性的重传资源请求,随时可以对网络拓扑的变化做出反应,但由于需要进行端到端的资源预留,从发送到接收之间所有路由器都必须支持RSVP协议,而且每个路由器还要花费大量的资源来维护和更新业务状态,随着网内数据流的增加,各种状态控制信息的数量会占用大量的路由器存储空间和处理能力。

(2)差别服务协议(DiffServ)工作原理

差别服务协议(DiffServ)采用类似于平信、挂号信、特快专递不同等级的邮政服务的思想来处理数据流,发送端为发送的数据设置不同的优先级别,在边缘路由器,数据包被分类、标记,中途每个路由器根据优先级和相对应的网络服务级别进行不同质量的传输。

差别服务协议(DiffServ)的原理简单,层次清晰,只有在边界路由器上才需要复杂的分类、标记、管制和整形等操作,其他路由器只需根据分类标识做出转发、缓冲或丢弃等行为,网络节点提供服务的手段只限于队列调度和缓冲管理,实现起来比较容易,而且当有额外资源或者资源总量不足时,路径中的各个路由器可以按照事先定义好的规则对数据流按相应的按比例提升或者降低服务级别。

(3)资源预留协议(RSVP)和差别服务协议(DiffServ)的结合

资源预留协议(RSVP)可以为数据流提供良好带宽保证,而差别服务协议(DiffServ)则不需要控制信令,在发送数据前,不需要通知中途路由器,也不必为每个数据流维护状态,它只是对数据流简单加标记进行优先级分类。在实际应用中,Diffserv和RSVP经常结合使用,用户端主机使用RSVP对带宽、抖动门限等的进行请求,在入口路由器将RSVP的资源请求映射为服务分类,在中途路由器上采用DiffServ对数据包进行分类传输,直至终点,从而最终实现了从发起端到接收端全程的服务质量。

2 在IP网络中启用服务质量(QoS)

按照端到端的数据流过程,在IP网络中启用服务质量(QoS),首先在入口路由器进行数据的分类和标记,然后在中途路由器定义分类传输级别,进行数据流的管制、整形以及拥塞处理,实现数据流的有序传输。

2.1 数据的分类和标记

定义服务质量(QoS)的第一步,就是要识别出需要进行区分处理的数据流,以后就可以在其上应用不同的策略,通常在数据流的入口路由器启用分类定义,根据数据包中一个或多个字段识别分组的流量类型。在CISCO路由器里,使用class-map命令定义分类名称,使用match命令匹配类别。下例将数据流中的H.323、RTP等视频流分类为视频监控数据,并命名为shipin_jiankong_in类型数据。

match命令还可以根据IP地址、访问控制列表(ACL)、数据进入的接口等多种方式进行匹配,如将所有视频监控主服务器(源地址为192.168.255.10)发出的数据定义为视频控制数据,命名为control_data_in类型数据。

数据分类后,在数据包中写入一个字段,后续节点就可以根据这个标记决定如何处理该分组,在IP数据包中,利用TOS字段中的6位作为定义优先级,称为IP DSCP字段,常用的IP DSCP定义如表1。

表1 常用的IP DSCP定义

根据表1,在实际应用中使用policy-map和set命令将视频流和控制流的IP DSCP字段分别标记为AF41和AF31。

2.2 数据流量的管制和整形

在除入口路由器以外的其他路由器上,需要根据数据包的IP DSCP字段定义不同的传输级别和带宽分配规则,实施数据流的管制和整形。

流量的管制就是对数据流量进行实时性的检查,一旦发现超过预约的流量就降级传输或是强制性的丢弃。整形的目的是将数据流平滑地发送到某个网络接口,如果出现瞬间流量超过约定的速率,过量的流量将被缓存,一直到出现的流量再次低于预定的速率时再将缓存的数据发出。

在定义数据流量的管制和整形前,先根据IP DSCP字段对各种不同数据流命名。

通过policy-map和policy命令定义数据流量的管制和整形,具体需要多少带宽定义可以根据视频监控组网实际情况进行确定。比如在任何情况下都要满足同时传送5路384 kbit CIF级别画质的图像(带宽需求1.92 kbit);当网络资源比较丰富的情况下可以同时传送6路384 kbit CIF级别画质的图像(带宽需求2.3 Mbit);不要求同时传送6路以上的图像。则可以定义承诺流量cir为1.92 Mbit,整形缓冲区bc为20 kbit,对应的处理方式为传输(conform-action transmit);峰值流量pir为.2.3 Mbit,整形缓冲区be为25 kbit,对应的处理方式为将IP DSCP设为默认值0后传输(exceed-action set-dscp-transmit default),当这些额外流量到达下一个路由器时,由于IP DSCP为0,下一个路由器将按普遍数据“尽力而为”的处理方式进行传输,有富裕带宽时进行传输,没富裕带宽时进行缓存甚至丢弃;对于超过峰值流量的数据流则不论网络是否还有富裕带宽直接丢弃(violate-action drop)。

2.3 数据流的拥塞处理机制

数据在网络传输中,当多个数据流向一个方向汇聚,或是数据从高速链路向低速链路传输时,有可能出现拥塞的现象。当拥塞发生时,必须采取拥塞控制机制进行处理,必要时牺牲非关键业务,确保关键性的语音、视频和控制数据优先通过。

拥塞处理的主要方法是使用队列技术,将所有要从一个接口发出的报文通过一定的规则导入到多个队列,按照各个队列的不同处理方式进行传输,常见的队列有先进先出队列(FIFO)、优先队列(PQ)、定制队列(CQ)、加权公平队列(WFQ)、基于类的队列(CBWFQ或CBQ)和低延迟优先队列(LLQ)。IP网络的默认服务模式—“尽力而为”的传输模式采用先进先出队列(FIFO)。优先队列(PQ)、定制队列(CQ)和加权公平队列(WFQ)3个队列类型属于早期基本队列,目前基本不再使用。基于类的队列(CBWFQ或CBQ)是基于类的一种队列调度机制,这里的类就是在前面数据分类中定义好的类,当接口出现拥塞时,根据类的优先级,拥塞处理算法选择丢弃较低优先级的数据,保留优先级较高的数据。低延迟优先队列(LLQ)在所有队列中具有最高优先级,在任何情况下,转发时间不超过200 ms。

在路由器中使用priority、bandwidth、randomdetect命令定义拥塞处理机制,priority命令表示将该类数据放入LLQ队列优先传输,并提供最低带宽保证。bandwidth命令针对CBWFQ/CBQ队列中的不同类别数据提供的最低带宽保证。randomdetect命令启用加权随机早期检测(Weighted RED, WRED)算法进行数据丢弃,random-detect dscp-based 表示根据数据包的IP DSCP值进行判断,当拥塞时丢弃IP DSCP值低的数据包。

通过以上对数据处理机制的介绍,可以看出:数据管制与整形限定数据流带宽上限并平滑数据输出,数据拥塞处理保证数据流带宽下限,当拥塞时根据数据队列不同调用相应的算法进行调度,两种机制相结合,就可以明确定义出各类数据流对带宽等资源的占用情况,保证数据有序传输。

2.4 在网络接口上启用QoS

当数据的分类与标示,管制与整形,拥塞处理等机制都定义完成后,就可以在路由器接口上启用这些规则,实现QoS。

首先,在入口路由器的接入端口上启用数据标记:

interface FastEthernet0/0

service-policy input input_mark

在中途路由器网络接口上启用管制与整形和拥塞处理机制:

在网络的各个路由器上都启用了IP QoS机制以后,进行网络传输质量测试,在视频监控的同时在网络上进行大量文件的下载,由于IP QoS的作用,视频流流畅,与网络轻载时的视频监控质量相当。当取消IP QoS设置后,在网络重载情况下,视频流明显出现马赛克、时断时续甚至无法播放等情形,说明IP QoS在分级传输、流量控制和拥塞处理等方面发挥了显著的作用。

3 结束语

随着TCP/IP网络的不断发展,IP承载一切(Everything Over IP)几乎成了数据通信的主流,但由于IP协议“尽力而为、众生平等”的设计理念,大量信息业务涌入IP网络后,如果要保证各种信息有序传输,必须要有IP QoS的保证。虽然现在主流的网络设备都已经支持基本的IP QoS机制,但由于各种原因,很多网络应用和IP网络都没有使用这些技术。通过本文的介绍可知,在IP网络中启用QoS并不复杂,只需要4个步骤:(1)对数据进行分类和标记;(2)定义数据管制与整形;(3)定义数据拥塞处理;(4)在网络接口上启用,并使用少数几个配置命令就可以开启。因此,对于需要在IP网络中传输语音、视频的用户来说,启用QoS是一种简单易行、保证数据传输质量的可靠方式。

[1]Tim Szigeti, Christina Hattingh.(美)端到端的QoS网络设计[M]. 北京:人民邮电出版社,2007.

猜你喜欢

数据流队列路由器
买千兆路由器看接口参数
维持生命
路由器每天都要关
路由器每天都要关
汽车维修数据流基础(上)
汽车维修数据流基础(下)
队列里的小秘密
基于多队列切换的SDN拥塞控制*
在队列里
丰田加速驶入自动驾驶队列