,于沛2,徐洪梅1,黄爱美11中国海洋大学信息学院,山东青岛(266071)2青岛科技大学,山东青岛(266042)摘要:在分析IP视频会议流特性的基础上,本着视频会议在IP网络中广泛应用的特点,以及在不改变当前网络现状的情况下,提出了一种更为简单易实现的QoS解决方案。该方案利用Linux系统中的带宽管理系统(TC),根据业务的重要程度,采用THB排队规则和u32/fw分类器对网络出口流量进行控制,监视网络性能,实现复杂的流量控制,使得关键的网络数据或应用能得到优先保证,进一步提高了网络服务质量,对视频会议在当前IP环境下的QoS保障具有一定的借鉴意义。关键词:QoS,视频会议,优先级,流量控制1序言近年来,随着网络环境的建设与改造,以及音视频编解码技术日益成熟,基于IP网络的视频会议系统也越来越为广大的消费者所接受,然而在现阶段,Internet的状况是比较复杂的:带宽参差不齐、时延大、不稳定;网络的流量并非在所有时刻都均匀分布,当网络发生拥塞时,设备会延迟数据包的发送或者直接将数据包丢弃来缓解拥塞。一些传统的应用例如FTP、HTTP和E-mail业务对延时和抖动并不敏感,但IP视频会议的召开不仅需要消耗大量的带宽,同时也对网络传输的延时、抖动和丢包率有着相当苛刻的要求。因此,如何提高实时性能,确保通信的QoS,是IP视频会议系统的关键要求,也是一个技术难点。IP网络产生之初,只是为传送简单的数据业务,采用的是面向无连接的服务,平等地对待任何业务,提供“尽最大努力交付”的服务,也就是说,网络并不保证向应用数据流提供所需的带宽,也不保证数据流的传送时延和丢失率等质量指标。这对需要特定QoS的业务应用显然是不适合的。为此,国际上主要标准组织IETF、Internet2、ETSI和ITU-T等正在为IPQoS制定标准,目前主要有IETF制定的综合服务Int-serv和区分服务Diff-serv模型、多协议标签交换、流量工程和基于约束的寻路,以及Internet2开发的带宽代理器BB模型等。尽管对IPQoS己经作了大量的研究与试验,成果很多,但目前支持QoS的IP网还未实用化,未出现一个成熟的体系架构、支持硬件以及相应的操作技术,很多问题还亟待解决。视频会议是一个网络服务平台,它的整体性能依靠视频终端和网络平台的综合保障[1],任何一方出现故障都会引起性能问题。本文是以视频会议特有的问题为背景,在分析视频会议流量特性的基础上,研究在当前网络环境下如何更好的为视频会议应用提供QoS支持。2IP视频会议数据流量特性分析目前,H.323己经成为IP网上主流的视频会议通信协议,基于H.323的IP视频会议系统的视频编解码一般采用H.263(H.263+/H.263++等),音频编码采用G.711/G.722/G.728等,适应在较低速率下IP网上的视频图像传输,提供n×64kb/s(n:1~30)的传输速率。因此,视频会议系统中的通信可视为是H.323实体之间音频流、视频流、数据流及控制信令的通信。-1-~256Bytes图1组成视频会议的两种类型帧曲线图视频会议流量的一个流由两种类型的帧组成,如图1所示[2],其中,“I”帧(Intra,帧内图像)是视频的全取样,是基本信息帧,采用帧内编码方式,即只利用了单帧图像内的空间相关性,而没有利用时间相关性,满足视频质量的最低要求。“P”及“B”帧通过运动矢量及预测算法进行量化,采用帧间编码方式,即同时利用了空间和时间上的相关性,是增强帧,使得图像质量更好。可分级视频编码就是基于这一思想,将视频信号的编码分成基本层和增强层,可以根据不同的网络带宽变化的信道条件以及不同的计算能力等条件,自适应地组合不同层次的视频码流,有选择地丢弃比特,调整信源码率,满足不同业务的QoS要求,具有较强的灵活性和适应性。例如,当网络状况恶化时,优先保留基本层,丢弃增强层,从而恢复基本的图像信息。可分级模式一般包括质量分级、空间分级、时间分级和频率分级4种基本分级机制以及它们的组合方式。基于视频流中不同帧的重要程度,文献[3]提出了一种采用在数据源与边界路由器两次标记的策略,在带宽受限的情况下能有效的提高流媒体的传输性能。由图1还可以看出,视频会议流有着1~1518Byte大小变化的分组,和变化范围比较大的可变传输速率,并且大分组的数量较多。一个典型的视频会议流中,大小在513~1024Byte的分组占该视频会议流的20%左右,大小在1025~1518Byted的分组可达37%。视频会议流的流量接近于链路的最大传输单元(MTU),且具有很强的突发性。视频会议流同时包含语音信息及图像信息。当图像码流出现延迟、抖动时,解码后的图像表现为误码、丢帧;当语音码流出现延迟、抖动时,解码后声音断续。当检测到网络带宽发生变化时,通常采用“话音优先”的策略自动的降低视频帧率以优先保证声音的传输,从而保证整个通讯可以继续进行。因此,视频会议流与普通数据流不同,对网络更敏感、实时性强,对丢包、抖动、时延有较高的要求。与流媒体等单向业务相比,视频流量是双向数据流,有着更多的交互性。3基于IP网络的视频会议QoS解决方案视频会议数据流的QoS参数主要包括延迟、延迟抖动、吞吐量、丢包率和带宽等。延迟:也称为时延(Latency),指两个参照点之间发送和接收数据包的时间间隔。可变延迟:也称为抖动(Jitter),指在同一条路径上发送的一组数据流中数据包之间的时间差异。吞吐量:网络中发送数据包的速率,可用平均速率或峰值速率表示。丢包率:在网络中传输数据包时丢弃数据包的最高比率。通过以上对其流量特性进行分析可知,多方面因素都可能导致视频流延迟,如传输距-2-离、网络节点的处理能力、网关设备的过滤能力以及路由器的调度能力等;而数据包丢失一般是由网络拥塞引起的。视频流对带宽要求很高,而网络提供的带宽是变化的,因此需要采用一定策略使视频流适应网络带宽的变化,在不同状况下保证视频流的实时QoS要求。本文中提出在网络入口处根据业务的重要程度,进行相应处理,设置不同的优先级,在网络出口处采用Linux操作系统中包含的带宽管理系统TC(流量控制,TrafficControl)对带宽进行整形,保证关键的网络业务能占有一定的带宽,从而相应提高服务质量。功能模块图如下:3.1分类标记首先,在用户网数据流进入公网Internet之前,根据业务的重要程度进行相应的处理,设置不同的优先级分类标记,保证关键的网络业务在出口处能占有一定的带宽,从而相应提高服务质量。当接收到数据包的时候,网络设备中的分类器将判定它属于哪一条数据流或者哪一类应用,只有这样才可以为不同类型的数据流或者应用提供不同的服务。根据IP包的包头提供的信息进行分类有两种:一种是读取IPv4头部的TOS字段或IPv6头部的流类型字段中的信息;另一种方式是读取IP头部与某个特殊的应用相关的信息,如源IP地址、源端口号、目的IP地址、目的端口号和协议类型等。数据流由源终端到目标终端的数据包组成,属于同一个流的数据包头部在包的分类中具有相同的部分。由于流的数目可能很大,基于流的QoS是不能扩展的,因此,在边界路由器处流的数目较少的地方,分类器根据IP头部字段的信息区分该数据流,并为数据包的IP优先级或者是区分服务码(DSCP)字段设上相应的值。此后在网络核心处,就可以根据IP数据包头中的IP优先级字段或区分服务码字段的数值对数据包应用单中继段行为。网络数据流分类标记可以采用Winsock2SPI编程技术,对本机发出的网络数据进行分类标记,在数据分组未进入网络前,根据用户需求,我们利用IPTOS字段来进行分类,对不同的数据流设置不同的优先级。IPTOS字段在IPv4设计的结构如图3(a)所示,该字段本是为QoS预留,但在实际网络应用中一直没有得到有效利用,考虑到与Diff-serv的兼容,带宽监测带宽分配及优先级处理带宽监测带宽分配及优先级处理图2功能模块图数据分组Internet输出分类标记01234567bit优先级DTRC保留(a)IPv4中的TOS字段01234567bitDSCPCU(b)Diff-serv中的TOS字段图3分类标记字段我们采用因特网的建议标准RFC[2474][4],如图3(b)所示,把以前的IPTOS字段称为DS字段,用DS字段的前六个比特区分服务码点DSCP(DifferentiatedServicesCodePoint)来区分不同的流量优先级。它标识了用于一个分组的特定PHB(PerHopBehavior),在用户网数据-3-之前,根据预先确定的规则对数据流进行分类,以便将多媒体通信数据流综合为有限的几种数据流等级,当这些有限的数据流到达对方网关后,自动表明自己的身份,然后归入相应的传输队列,从而实现对网络资源的有效配置。系统中,编写一个SPI动态链接库,可以根据用户的需要修改IP数据包包头的DSCP字段,在前台运行一个用户控制程序可以让用户选择发出的网络数据的优先级。一般可作如下区分设置:由此视频会议可获得最大比例的带宽,低丢失率、低延时的服务,其次为VoiceControl话音控制,最后为StreamingVideo(IP/TV)流媒体,但当网络发生拥挤时,StreamingVideo(IP/TV)流媒体数据包优先被丢弃。表1不同数据分组的优先级及DSCP设置通信量种类TrafficType优先级(PQ)DSCP设置话音实时传输协议VoiceReal-timeTransportProtocol5EF(10110)话音控制VoiceControl3AF31(011010)视频会议Videoconference4AF41(100010)StreamingVideo(IP/TV)1AF13(001110)Data数据包0-20-AF23(010110)3.2监视网络性能对网络性能的监视是提高网络服务质量的基础,只有在了解网络当前的流量分布和影响其性能的因素后,才能为下一步改进服务质量提供依据,如网络中有哪些应用,哪些应用占用的网络资源最多,网络中关键服务占用了多少带宽,能否满足用户的要求等,通过网络性能监视,就可以得知网络带宽使用情况,响应时间和可能存在的网络瓶颈所在位置。分析通过瓶颈的流量,判断每个协议与应用的重要性,然后为网络配置QoS保证。QoS允许网络管理员控制带宽(网络或指定链路容量的度)、延时(数据包跨越网络的延时)和抖动(给定延迟时间的变化)及通过给各种协议不同的优先权来使数据包的丢失最少。一方面,这些限制保证了网络上的关键应用不会被中断;另一方面,又为网络上的其他应用保留了足够的资源。实际应用中,监视网络性能有多种实现方法,可以采用Linux自带的mrtg、tcpdumx或者ethereal等。3.3优化的带宽分配及队列排队规则当网络无拥塞时,路由器一般采用的是FIFO先进先出策略。当网络发生拥塞时,路由器才建立相应的队列。在先进先出队FIFO中,如有大的FTP业务到达时,将会占满队列,导致后来到达的音视频数据分组丢失,这对视频会议的影响很大,因此需要在路由器或其它网络设备中,根据分组的标记或者某些准则(如根据发送数据的地址)对输入分组进行分类,然后对不同类型的通信量给予不同的优先级(如表1),采用基于分类标记的优先队列PQ,对流量进行整形[5],功能示意图如图4:-4-基于分类标记的优先级队列调度为保证关键的网络应用能有较好的性能,我们根据管理员设置的策略来分配网络带宽,根据用户设定的优先级,或者其它规则(如主机地址、协议类型、端口及协议中的某个字段等)来分配带宽。例如地址为10.0.0.1的主