一种基于流的服务质量处理的方法、设备及系统的制作方法

文档序号:7925717阅读:103来源:国知局

专利名称::一种基于流的服务质量处理的方法、设备及系统的制作方法
技术领域
:本发明涉及通信领域,特别是涉及一种基于流的QoS处理的方法、设备及系统。
背景技术
:RTP(Real-TimeTransportProtocol,实时传输协议)是针对Internet上多媒体数据流的一个传输协议,由IETF(InternetEngineeringTaskForce,因特网工程任务组)作为RFC1889发布。RTP被定义为在一对一或一对多的传输情况下工作,其目的是提供时间信息和实现流同步,主要提供负载类型标识、顺序编号、时间定位和传输监控等服务。RTP的典型应用建立在UDP(UserDatagramProtocol,用户数据报协议)上,但也可以在TCP(TransmissionControlProtocol,传输控制协议)或ATM(AsynchronousTransferMode,异步传输模式)等其它协议之上工作。RTP本身只保证实时数据的传输,并不能为按顺序传送数据包提供可靠的传送机制,也不提供流量控制或拥塞控制,它依靠RTCP提供这些服务。RTCP(Real-timeTransportControlProtocol,实时传输控制协议)负责管理传输质量,在当前应用进程之间交换控制信息。在RTP会话期间,各参与者周期性地传送RTCP包,包中含有已发送的数据包的数量、丢失的数据包的数量等统计资料,因此,服务器可以利用这些信息动态地改变传输速率,甚至改变有效载荷类型。RTP和RTCP配合使用,能以有效的反馈和最小的开销使传输效率最佳化,特别适合传送网上的实时数据。RTCP主要有4个功能(l)用反馈信息的方法来提供分配数据的传送质量,这种反馈可以用来进行流量的拥塞控制,也可以用来监视网络和用来诊断网络中的问题;(2)为RTP源提供一个永久性的CNAME(CanonicalName,规范性名字)的传送层标志,因为在发现冲突或者程序更新重启时SSRC(SynchronousSource,同步源标识)会变,需要一个运作痕迹,在一组相关的会话中接收方也要用CNAME来从一个指定的与会者得到相联系的数据流(如音频和视频);(3)根据与会者的数量来调整RTCP包的发送频率;(4)传送会话控制信息,如可在用户接口显示与会者的标识,这是可选功能。工作时,RTP协议从上层接收流媒体信息码流(如H.263),添加RTP首部装配成RTP数据包发送给下层,下层协议提供RTP和RTCP的分流。如在UDP中,RTP使用一个偶数号端口,则相应的RTCP使用其后的奇数号端口。RTP数据包没有长度限制,它的最大包长只受下层协议的限制。RTP首部具有固定报文格式,为12字节,发送者和接收者按照该报文格式进行音视频媒体流的编解码处理,但是RTP没有明确的协议特征值,其协议报文的确定由发送方和接收方根据信令协议(如H.323等)协商得到的端口号来判断。RTP首部的报文格式如下表所示<table>tableseeoriginaldocumentpage6</column></row><table>其中,各字段含义如下V:版本号,2比特,定义RTP的版本。当前版本是2(版本1用于RTP草案);P:填充指示,1比特,0表示无填充数据,l表示有填充数据;X(Extension):扩展指示,1比特,0表示无扩展头,1表示有扩展头;CC(CSRCCount):CSRC记数,4比特;指示固定头部后部的CSRC标识的个数;M(Marker):标志位,1比特,标志位表示在分组流中有帧边界;PT(playloadtype):负载类型,7比特,该字段表明RTP负载类型(如G.711音频编码数据);Sequencenumber(SN):序列号,16比特;表示该分组的发送顺序,其初值为随机数,每发送一个RTP分组,序号加1,它可以被接收方用来检查包丢失及重组包的顺序;Timestamp:时间戳,32比特。标示RTP数据分组第一个字节的取样时刻,用于重新建立原始音频或视频的时序,还可以帮助接收方确定数据到达时间的一致性或变化,其初始值为一随机值,根据净荷的不同,以不同的速率递增;SSRC(SynchronousSource):同步源标识,32比特,用来标识RTP包的数据源,在一个会话中惟一,帮助接收方利用发送方生成的唯一的数值来区分多个同时的数据流;CSRC(ContributingSource):分信源标识,32比特,CSRC标识由混合器插入,其值就是组成复合信号的各个分信号的SSRC标识,用于标识各个分信号的信源,RTP分组头部最多可以包含15个CSRC标识,其数目由CC字段指明。QoS(QualityofService,服务质量)是指网络通信过程中,允许用户业务在丢包率、延迟、抖动和带宽等方面获得的可预期的服务水平。运营商在开展流媒体QoS业务的时候,一般按照一定的收敛比进行业务扩展。同时为了保证差异服务,一般会对用户的等级进行区分,高优先级用户得到的服务质量较好,低优先级用户在网络空闲的时候,可以得到相应的服务质量,但是在网络拥塞的情况下,由于其报文会被优先丢弃,所以得到的服务质量较差。但是,当负载带宽超过整体带宽且用户优先级相同时,会导致所有的流丢包,这样所有的用户看到的信息都会出现相应的延迟,马塞克等现象。基于此,出现了对用户媒体流进行识别,从而实现基于流的QoS处理,以便在网络拥塞时只对特定流量进行丢弃的技术,主要有两种一种是通过路由器监听媒体流控制协议识别特定的数据流来实现基于流的QoS处理;另一种是通过网络中的网关设备(如SessionBorderController,边界会话控制器)监听媒体流控制协议(如H.323协议等)来获取流的五元组信息(源IP地址、目的IP地址、源端口号、目的端口号、协议号),然后网关设备通过联动协议向路由器下发基于五元组信息的控制策略,从而实现基于流的QoS处理。在实现本发明过程中,发明人发现现有技术中至少存在如下问题通过路由器来实现基于流的QoS处理的方法需要路由器支持复杂的信令协议,工作量大,处理流程复杂,影响效率(路由器不是协议网关,其CPU的主要工作应该用于路由协议的维护);通过网关设备来实现基于流的QoS处理需要部署多种类型的设备,路由器与网关设备支持联动协议进行配合设置,网络比较复杂,对设备要求也较高。
发明内容本发明实施例提供一种基于流的QoS处理的方法、设备及系统,能够基于流进行QoS处理,实现在拥塞情况下,只丢弃特定用户的数据流,而其它用户的数据流则不受影响。本发明实施例一方面,提供一种基于流的服务质量处理的方法,包括根据控制平面下发的实时传输协议RTP数据流特征,复制符合所述RTP数据流特征的RTP报文上送控制平面;在控制平面学习上送的所述RTP报文,识别并监控根据所述RTP报文确定的RTP数据流之后,根据控制平面下发的监控到的所述RTP数据流的QoS控制策略,对所述RTP数据流进行QoS处理。本发明实施例另一方面,还提供了另一种基于流的服务质量处理的方法,包括向转发平面下发RTP数据流特征;学习转发平面上送的符合所述RTP数据流特征的RTP报文,识别并监控根据所述RTP报文确定的RTP数据流;向转发平面下发所述RTP数据流的QoS控制策略,用于转发平面对所述RTP数据流进行QoS处理。为解决上述技术问题,本发明实施例再一方面,还提供了一种基于流的服务质量处理的设备,包括转发模块和控制模块;所述转发模块用于根据所述控制模块下发的实时传输协议RTP数据流特征,复制符合所述RTP数据流特征的RTP报文上送控制模块;并在所述控制模块学习上送的所述RTP报文,识别并监控根据所述RTP报文确定的RTP数据流之后,用于根据所述控制模块下发的监控到的所述RTP数据流的QoS控制策略,对所述RTP数据流进行QoS处理。本发明实施例再一方面,还提供了一种基于流的服务质量处理的系统,包括转发设备,所述转发设备与控制设备通信;所述转发设备用于根据所述控制设备下发的实时传输协议RTP数据流特征,复制符合所述RTP数据流特征的RTP报文上送控制设备;并在所述控制设备学习上送的所述RTP报文,识别并监控根据所述RTP报文确定的RTP数据流之后,用于根据所述控制设备下发的监控到的所述RTP数据流的QoS控制策略,对所述RTP数据流进行QoS处理。由以上技术方案可以看出,由于本发明实施例提供的方法、设备及系统利用RTP数据流进行QoS处理,实现了在网络拥塞情况下,只丢弃特定用户的数据流,而其它用户的数据流则不受影响,并且这种方法、设备及系统不需要复杂的信令协议,也不需要在网络中部署多种类型的设备。图1为本发明提供的基于流的QoS处理方法的实施例的流程图2为本发明提供的基于流的QoS处理方法的实施例中控制平面识别并监控RTP数据流的流程图3为本发明实施例提供的基于流的QoS处理设备的示意图4为本发明实施例提供的基于流的QoS处理系统的示意图。具体实施例方式本发明实施例提供一种基于流的QoS处理的方法、设备及系统,这种方法、设备及系统不需要复杂的信令协议,也不需要在网络中部署多种类型的设备,能够基于流进行QoS处理,实现在网络拥塞情况下,只丢弃特定用户的数据流,而其它用户的数据流则不受影响。图l为本发明提供的基于流的QoS处理的方法实施例的流程图。该方法包括101:控制平面向转发平面下发RTP数据流特征;控制平面下发的RTP数据流特征是用于转发平面识别其转发的数据流是否为RTP数据流,这些RTP数据流特征可以通过特征模板的方式来下发。特征模板包括以下三种(每次只能下发一种模板)(1)模板1:下发RTP数据流的前N个字节,其中,建议将N设置为<=128,以便于处理,并且下发的匹配内容包括但不限于UDP协议类型值+RTP首部中的版本号,或,TCP协议类型值+RTP首部中的版本号。对于按照这种模板下发的RTP数据流特征,转发平面可以根据其接收的数据流是否匹配下发的具体值(全部或部分字段)来识别RTP数据流。这种匹配可以设置成全部匹配或部分匹配,全部匹配时与下发的所有字节都要匹配,部分匹配时仅需匹配一部分字节,不需进行匹配的字节则用内部定义的特殊值(如0)表示;(2)模板2:下发某一范围的端口号,这个范围通常可以设置成1638432767的偶数端口。这是因为RTP在UDP、TCP上应用时,其目的端口是16384~32767之间的某一偶数端口。对于按照这种模板下发的RTP数据流特征,当转发平面发现接收的数据流的目的端口是上述范围内的端口时,即可以将这些数据流认定为RTP数据流;(3)模板3:下发ACL(AccessControlList,访问控制列表)表项到转发平面,ACL包括RTP数据流的五元组信息(也可以包括报文的二层头信息)。对于按照这种模板下发的RTP数据流特征,由转发平面对接收的数据流进行ACL查表匹配,匹配的数据流即认定为RTP数据流。这里,控制平面下发RTP数据流^^征时将模板号和具体内容下发到转发平面。102:转发平面复制符合RTP数据流特征的RTP报文上送控制平面,原RTP报文正常转发;当转发平面接收到数据流时,根据101中下发的数据流特征进行匹配,符合条件的报文即被认定为RTP报文,可以在该RTP报文上增加镜像标志,转发平面复制带有镜像标志的RTP报文上送控制平面,原RTP报文正常转发,即按照通常的流程转发。对于上送的RTP报文,不必要将RTP报文全部上送,仅上送包括RTP首部的报文即可(比如,可以为128字节固定长度的报文)。另外,由于大量上送报文会对控制平面造成较大冲击,因此需要在转发平面上送RTP报文的时候进行CAR(CommittedAccessRate,承诺访问速率)控制,即配置允许的上送带宽大小,超过该带宽的报文将被丢弃。103:控制平面学习上送的RTP报文,识别并监控RTP数据流。控制平面根据RTP协议对转发平面上送的RTP报文进行分析,获取其中的RTP首部中所包含的各字段信息,建立学习表项,并根据这些信息判断所上送的报文中哪些是属于同一条RTP数据流的。判断方法可以根据RTP协议格式特征实现,例如,同时符合以下五个条件的,即可认定为这些报文属于同一条RTP数据流(1)RTP版本号V为定值2;(2)RTP报文负荷类型PT值不变(915bit);(3)RTP报文的每包SN值后包比前包递增为1;(4)RTP报文的Timestamp值为递增;(5)RTP报文的SSRC值为定值。具体而言,控制平面学习上送的RTP报文,包括表项建立、表项更新、表项确认、表项老化。其中表项建立控制平面在得到RTP报文首部的各字段信息后,检査版本号V是否为2,如果不是,则认为是不合法的RTP报文,丢弃不处理;如果版本号是2,则以PT值和SSRC值的组合作为查找索引査找学习表项(这里,事实上指的就是在控制平面中己建立的RTP数据流表项),如果表项不存在,则新建一个表项,并将SN值和Timestamp值保存到该表项中,在表项中还应保存RTP报文的五元组信息,同时在该表项中还应设置老化时间戳和表项更新次数,该老化时间戳设置为当前时间(即该表项的建立时间),该更新次数设置为l;表项更新在前述的表项建立过程中,当以PT值和SSRC值的组合作为查找索引查找学习表项时,如果査找到了学习表项,则检査上送的RTP报文中的SN值和Timestamp值是否大于表项中的相应值,以及五元组信息是否与表项中的五元组信息相同,如果检査结果是肯定的,则更新表项中的SN值和Timestamp值,并将更新次数加1,同时更新老化时间戳为当前时间(即检查上送的RTP数据流时的时间);如果否,则认为该查找到的学习表项不合法,将其删除;表项确认当表项更新的次数达到判断阈值后(该阈值可以配置确定,比如5次),即认为该表项对应的数据流为一条确定的RTP数据流;表项老化表项老化用于防止长时间没有收到后续报文的表项一直占用控制平面内存而不能删除。老化过程通过一个老化定时器来实现,该老化定时器是一个周期性定时器,可以设置为在激活流QoS处理功能时启动。老化定时器到期时,则对所有的学习表项进行遍历,检查表项是否需要被老化,即在遍历到第一表项时,将老化时间戳与当前时间(即遍历到该表项时的时间)比较,如果它们的时间间隔超过配置的老化时间阈值,则认为该表项需要老化,删除该表项;否则遍历下一表项,重复上述过程直至遍历完所有的学习表项。需要说明的是,这里,当老化定时器第一次到期时,可以只处理一定数量(比如500个)的表项,当老化定时器第二次到期时再继续处理同样数量的表项,如此周而复始。控制平面识别并监控RTP数据流的过程如图2所示,包括201:控制平面获取学习到的RTP数据流的信息;控制平面对上送的RTP报文进行学习,经过表项确认后,即识别出了一条确定的RTP数据流,然后控制平面即可获取该条确定的RTP数据流的五元组信息以及其它信息(如ToS(TypeofService,服务类型)、出接口、入接口等)。202:控制平面确定与该条RTP数据流关联的RTCP报文的特征值;根据201中获取的RTP数据流的信息,就可以事实上确定与其关联的RTCP报文的特征值(主要是目的端口号)。比如在UDP、TCP中,RTP数据流的目的端口是偶数号端口,该端口号加l就是与其关联的RTCP报文的目的端口号。203:控制平面向转发平面下发该RTCP报文的特征值;控制平面向转发平面下发该RTCP报文的特征值,包括RTCP报文的目的端口号。204:转发平面捕获该RTCP报文,复制该报文并上送控制平面;205:控制平面分析上送的RTCP报文,获取RTP数据流监控信息;104:控制平面向转发平面下发监控到的RTP数据流的QoS控制策略;经过103后,控制平面即可对识别到的RTP数据流进行监控。这时,为了实现对监控到的RTP数据流的QoS处理,需要将他们的QoS策略下发到转发平面。这里,在下发QoS策略前,应首先确定RTP数据流的QoS控制策略,确定监控到的RTP数据流的QoS控制策略的方式有以下两种(1)控制平面将监控到的RTP数据流输出给用户,由用户通过配置确定该条RTP数据流的QoS控制策略(如是否直接丢弃,或修改优先级大小,修改带宽大小等);(2)控制平面自动确定QoS控制策略,包括先建立的RTP数据流具有较高的优先级,带宽优先保证,后建立的流在拥塞时最先丢弃;基于用户(VLAN、接口、VPN)重新设置优先级,并由转发平面根据优先级进行调度,在网络拥塞时,高优先级用户的带宽得到保证,而优先级较低的用户流量首先被丢弃,其中用户的优先级修改方式可通过预先配置实现,缺省情况下,先建立RTP数据流的用户具有较高优先级。对于控制平面自动确定QoS控制策略的情形,可以通过用户配置阈值对需要下发QoS控制策略的表项进行控制,如将占一定比例(如10%)或数量(如30条)的流直接丢弃,或进行降优先级处理(当进行降级处理时,如果出现高优先级的流老化,需要将一条或多条降级的流恢复其原有优先级,以充分利用网络带宽。)QoS的控制策略确定后,控制平面将其下发到转发平面即可。105:转发平面根据RTP数据流的QoS控制策略进行QoS处理。转发平面得到RTP数据流的QoS控制策略后,对RTP数据流进行转发时,按照正常的QoS处理流程进行处理即可。即将RTP数据流与转发平面中的ACL表项进行匹配,然后把命中的流量按照ACL表项中指示的控制策略进行处理,包括直接丢弃、重新标记该流的优先级并根据新的优先级进行调度、按照表项中指定的带宽大小进行速率限制,经过QoS处理的流量可以在设备接口带宽允许的情况实现高优先级数据优先转发,以及按照要求保证带宽等。如图3所示,本发明实施例还提供了一种基于流的QoS处理的设备,包括转发模块和控制模块;所述转发模块用于根据所述控制模块下发的实时传输协议RTP数据流特征,复制符合所述RTP数据流特征的RTP报文上送控制模块;并在所述控制模块学习上送的所述RTP报文,识别并监控根据所述RTP报文确定的RTP数据流之后,用于根据所述控制模块下发的监控到的所述RTP数据流的QoS控制策略,对所述RTP数据流进行QoS处理。如图4所示,本发明实施例还提供了一种基于流的QoS处理的系统,包括转发设备,所述转发设备与控制设备通信;所述转发设备用于根据所述控制设备下发的实时传输协议RTP数据流特征,复制符合所述RTP数据流特征的RTP报文上送控制设备;并在所述控制设备学习上送的所述RTP报文,识别并监控根据所述RTP报文确定的RTP数据流之后,用于根据所述控制设备下发的监控到的所述RTP数据流的QoS控制策略,对所述RTP数据流进行QoS处理。至于本发明实施例提供的一种基于流的QoS处理的设备及系统的具体实施方式,参照本发明的方法实施例,这里不再详述。本领域普通技术人员可以理解实现上述实施例方法中的全部或部分步骤是可以通过程序来指令相关的转发平面完成,所述的程序可以存储于计算机可读存储介质中,所述存储介质可以是ROM/RAM,磁盘或光盘等。以上对本发明所提供的提供一种基于流的QoS处理的方法、设备及系统进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。权利要求1、一种基于流的服务质量QoS处理的方法,其特征在于,包括根据控制平面下发的实时传输协议RTP数据流特征,复制符合所述RTP数据流特征的RTP报文上送控制平面;在控制平面学习上送的所述RTP报文,识别并监控根据所述RTP报文确定的RTP数据流之后,根据控制平面下发的监控到的所述RTP数据流的QoS控制策略,对所述RTP数据流进行QoS处理。2、根据权利要求1所述的方法,其特征在于,所述复制符合所述RTP数据流特征的RTP报文上送控制平面,具体包括在符合所述RTP数据流特征的RTP报文上增加镜像标志;复制带有所述镜像标志的RTP报文上送控制平面。3、根据权利要求2所述的方法,其特征在于,所述RTP报文是包括RTP首部的固定长度的报文。4、根据权利要求3所述的方法,其特征在于,所述上送控制平面的行为进行承诺访问速率CAR控制。5、一种基于流的服务质量QoS处理的方法,其特征在于,包括向转发平面下发RTP数据流特征;学习转发平面上送的符合所述RTP数据流特征的RTP报文,识别并监控根据所述RTP报文确定的RTP数据流;向转发平面下发所述RTP数据流的QoS控制策略,用于转发平面对所述RTP数据流进行QoS处理。6、根据权利要求5所述的方法,其特征在于,所述RTP数据流特征通过特征模板下发,所述特征模板包括以下三种(1)RTP数据流的多个字节,所述多个字节包括UDP协议类型值与RTP首部中的版本号,或TCP协议类型值与RTP首部中的版本号;(2)UDP或TCP的端口号,所述端口号用于确定RTP数据流;(3)ACL表项,所述ACL表项用于确定RTP数据流;所述下发指的是下发所述三种特征模板中的一种。7、根据权利要求6所述的方法,其特征在于,所述识别并监控根据所述RTP报文确定的RTP数据流,具体包括获取学习到的所述RTP数据流的信息;确定与所述RTP数据流关联的实时传输控制协议RTCP报文的特征值;向转发平面下发所述RTCP报文的特征值;在转发平面根据所述RTCP报文的特征值获取所述RTCP报文,并复制所述RTCP报文上送控制平面后,分析上送的所述RTCP报文,获取所述RTP数据流的监控信息。8、根据权利要求7所述的方法,其特征在于,所述QoS控制策略由用户通过配置确定或者由控制平面确定。9、一种基于流的服务质量QoS处理的设备,其特征在于,包括转发模块和控制模块;所述转发模块用于根据所述控制模块下发的实时传输协议RTP数据流特征,复制符合所述RTP数据流特征的RTP报文上送控制模块;并在所述控制模块学习上送的所述RTP报文,识别并监控根据所述RTP报文确定的RTP数据流之后,用于根据所述控制模块下发的监控到的所述RTP数据流的QoS控制策略,对所述RTP数据流进行QoS处理。10、一种基于流的服务质量QoS处理的系统,其特征在于,包括转发设备,所述转发设备与控制设备通信;所述转发设备用于根据所述控制设备下发的实时传输协议RTP数据流特征,复制符合所述RTP数据流特征的RTP报文上送控制设备;并在所述控制设备学习上送的所述RTP报文,识别并监控根据所述RTP报文确定的RTP数据流之后,用于根据所述控制设备下发的监控到的所述RTP数据流的QoS控制策略,对所述RTP数据流进行QoS处理。全文摘要本发明实施例提供了一种基于流的服务质量处理的方法、设备及系统。本发明实施例提供的基于流的服务质量处理的方法包括根据控制平面下发的实时传输协议RTP数据流特征,复制符合所述RTP数据流特征的RTP报文上送控制平面;在控制平面学习上送的所述RTP报文,识别并监控根据所述RTP报文确定的RTP数据流之后,根据控制平面下发的监控到的所述RTP数据流的QoS控制策略,对所述RTP数据流进行QoS处理。通过应用本发明,能够实现在网络拥塞情况下,只丢弃特定用户的数据流,而其它用户的数据流则不受影响,并且不需要复杂的信令协议和在网络中部署多种类型的设备。文档编号H04L29/06GK101364999SQ20081021627公开日2009年2月11日申请日期2008年9月18日优先权日2008年9月18日发明者滕新东申请人:华为技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1