专利名称:一种质量服务的优先级模拟队列控制方法及装置的制作方法
技术领域:
本发明涉及通信技术领域,具体地讲是一种质量服务的优先级模拟队列 控制方法及装置。
背景技术:
随着IP网络上新应用的不断出现,对IP网络的质量服务也提出了新的要求。例如VoIP (Voice over IP, IP语音, 一种在网络上传播语音的技术,可 用于网络电话,网络会议等)等实时业务就对报文的传输延迟提出了较高要 求,如果报文传送延时太长,语音会延迟过长,对话不能正常进行,这是用 户所不能接受的。相对而言,E-Mail和FTP业务对时间延迟并不敏感,即使有 时速度降低,也不会对使用造成太多影响。为了支持具有不同服务需求的语 音、视频以及数据等业务,要求网络能够区分出不同的业务,进而为之提供 相应的服务。QoS (Quality of Service,质量服务)技术的出现便致力于解 决这个问题。PQ (Priority Queuing,优先队列),是QoS技术中用于网络拥塞管理的 技术。PQ将业务区分为高,中,普通,低四个级别的优先级。PQ首先对高优 先的业务进行处理,处理完后才进行中优先级的业务处理,以此类推。业务 之间具有严格的优先级,高的级别永远优先于低的级别做发送处理。例如, 上述的VoIP, E-Mail和FTP,用户可设置VoIP为高优先级,E-Mail为中优先级, FTP为普通优先级,其他业务为低优先级。如果网络拥塞时,VoIP将获得绝对 优先处理,保证该业务的正常进行,然后才是E-Mail处理和FTP的处理,只有 以上三种业务处理完后,才进行其他业务的处理。通常实现PQ是使用真实队列(队列是一种先进先出的有序结构)算法。该算法有四个队列高优先队列,中优先级队列,普通优先级队列,低优先 级队列。业务报文在经过标识优先级后(标识方法是通过匹配报文的源IP地 址,目的IP地址,源端口,目的端口,协议号,区分服务码点(DSCP: Differentiated Service Code Points)等。例如指定从100. 1. 1. 1 ,发往 200. 1. 1. 1的IP报文,源端口在100-200之间,目的端口号在300-400之间,DSCP 值为10的报文为中优先级报文),按报文的优先级类别送入相应的队列。PQ 的四个队列优先级依次降低。在报文出队的时候,PQ首先让高优先队列中的 报文出队并发送,直到高优先队列中的报文发送完,然后发送中优先队列中 的报文,同样,直到发送完,然后是正常优先队列和低优先队列。中国发明专利公告号CN100355244C,公开了一种宽带无线城域网中提供 分级服务的带宽分配方法,该方案提供了一种按照不同优先级分配带宽的方 案,使用四个先进先出队列实现无线城域网的QoS (质量服务)控制。中国发明专利公开号CN1980185A,公开了一种适于流业务调度的装置及 方法,其提供了一种在四个优先级队列的前提下,根据信道条件估算优先级 因子,利用因子和确定报文的优先级,从而合理分配系统资源。但是路由器工作时,报文量巨大(每秒几万到几十万个报文),使用真 实队列每次出队时都需要依次轮询至少四个队列,找到有报文需要发送的队 列,因此效率降低,增加了系统开销,降低了运行速度。以弓I入方式将上述技术内容合并于本申请。发明内容本发明的目的在于提供一种质量服务的优先级模拟队列控制方法,用于 解决现有技术中多个优先级对列的轮询造成处理延迟的问题。本发明的另一目的在于提供一种质量服务的优先级模拟队列控制装置, 用于解决现有技术中路由器不能快速响应的问题。为了实现上述目的,本发明实施例提供一种质量服务的优先级模拟队列控制方法,包括,步骤l,标识接收到的报文的优先级;步骤2,根据所述报文的优先级判断所述报文是否能够进入唯一的先入先 出优先级模拟队列,如果能够进入则将所述报文排列到所述优先级模拟队列 最后,否则丢弃所述报文。根据本发明所述的一种质量服务的优先级模拟队列控制方法的一个进一 步的方面,所述步骤2具体包括,预先设定报文允许通过优先级,将所述报 文的优先级与所述报文允许通过优先级相比较,如果所述报文的优先级大于 或者等于所述报文允许通过优先级则所述报文排列到所述优先级模拟队列最 后,否则丢弃所述报文。根据本发明所述的一种质量服务的优先级模拟队列控制方法的再一个进 一步的方面,还包括步骤3,计算当前优先级模拟队列的长度,并根据所述队 列长度调整所述报文允许通过优先级。根据本发明所述的一种质量服务的优先级模拟队列控制方法的另一个进 一步的方面,所述步骤2中还包括一出队步骤,将所述优先级模拟队列中的 报文依次出队;所述步骤3调整所述报文允许通过优先级包括,每次出队都 记录所述优先级模拟队列的长度,在本次出队后,当所述优先级模拟队列为 拥塞时,则用当前所述优先级模拟队列的长度减去上次出队时所述优先级模 拟队列的长度,如果差值的绝对值大于或者等于预先设定的报文增量门限, 报文允许通过优先级被提高一级;当所述优先级模拟队列为不拥塞时,则用 当前所述优先级模拟队列的长度减去上次出队时所述优先级模拟队列的长 度,如果所述差值的绝对值大于或者等于所述预先设定的增量门限,则报文 允许通过优先级被降低一级。根据本发明所述的一种质量服务的优先级模拟队列控制方法的另一个进 一步的方面,所述优先级模拟队列为拥塞是指,当前所述优先级模拟队列的 长度大于或者等于增高通过优先级门限;所述优先级模拟队列不为拥塞是指,本次所述优先级模拟队列的长度小于降低通过优先级门限。根据本发明所述的一种质量服务的优先级模拟队列控制方法的另一个进一步的方面,所述步骤1中通过匹配以下报文信息中的至少一种来标识所述报文的优先级,并将所述优先级信息写入所述报文,所述报文信息包括报文的源IP地址信息、目的IP地址信息、源端口信息、目的端口信息、协议号信息、区分服务码点信息。根据本发明所述的一种质量服务的优先级模拟队列控制方法的另一个进一步的方面,所述标识报文优先级包括将所述优先级写入所述报文的附件信息中。根据本发明所述的一种质量服务的优先级模拟队列控制方法的另一个进一步的方面,所述步骤2之前还包括一个丢弃报文的步骤,计算当前优先级 模拟队列长度,如果当前优先级模拟队列中累积报文的长度大于预先设定的 报文丢弃门限,则直接丢弃所述报文。为了实现上述目的,本发明实施例还提供一种质量服务的优先级模拟队 列控制装置,其特征在于包括标签单元、比较单元、存储器;所述标签单元与所述比较单元相连接,所述标签单元用于标识接收到的 报文优先级,并传送给所述比较单元;所述存储器与比较单元相连接,所述存储器用于存储优先级模拟队列, 所述比较单元用于将所述报文的优先级与预先设定的报文允许通过优先级相 比较,将大于或者等于所述报文允许通过优先级的报文放入所述优先级模拟 队列。根据本发明所述的一种质量服务的优先级模拟队列控制装置的一个进一 步的方面,还包括反馈单元,所述反馈单元分别与所述存储器和比较单元相 连接,所述反馈单元用于计算所述存储器中优先级模拟队列的长度,并根据 所述优先级模拟队列长度调整所述比较单元的报文允许通过优先级。根据本发明所述的一种质量服务的优先级模拟队列控制装置的再一个进一步的方面,所述标签单元通过至少匹配所述报文的源IP地址信息、目的IP 地址信息、源端口信息、目的端口信息、协议号信息、区分服务码点信息中 的至少一种信息获得所述报文的优先级,并将所述优先级信息写入所述报文。 根据本发明所述的一种质量服务的优先级模拟队列控制装置的另一个进 一步的方面,还包括发送单元,所述发送单元与所述存储器相连接,所述发 送单元将所述存储器的优先级模拟队列中的报文依次出队,发送给所述报文 的接收方。本发明实施例的有益效果在于,避免了现有技术中多个队列的轮询,节 省了多个队列的处理时间,只使用一个队列,使队列的报文的发送时间得到 减少,并且节省系统开销。
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部 分,并不构成对本发明的限定。在附图中-图l是本发明方法流程图;图2是本发明方法数据流图;图3是本发明装置结构图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚明白,下面结合实施方式 和附图,对本发明做进一步详细说明。在此,本发明的示意性实施方式及其 说明用于解释本发明,但并不作为对本发明的限定。本发明实施例提供一种质量服务的优先级模拟队列控制方法及装置。以 下结合附图对本发明进行详细说明。如图1所示为本发明方法流程图,只设置一个优先级队列(PQ),包括 步骤IOI,在报文中标识优先级,通过匹配报文的源IP地址,目的IP地址,源端口,目的端口,协议号,DSCP等信息中的至少一种,将报文标识为高, 中,普通,低四个优先级。或者通过用户预先的设定,确定报文优先级。步骤102,判断报文能否入队,将报文的优先级与报文允许通过优先级比 较,只有报文的优先级高于或等于报文允许通过优先级,且当前队列中累积 报文的总字节数低于报文丢弃门限(该丢弃门限可以由用户按照实际需要预 先设定),才允许被入队。步骤103,调整报文允许通过优先级,当队列累积报文的总字节数,大于 或者等于增高通过优先级门限(该增高通过优先级门限可以由用户按照实际 需要预先设定)时,每次出队都会记录队列累积报文的字节数量。在本次出 队时,使用当前队列累积报文的字节数量减去上次出队时累积报文的字节数 量,如果差值的绝对值高于报文增量门限(该报文增量门限可以由用户按照 实际需要预先设定),报文允许通过优先级被提高一级。当队列中累积报文 的总字节数,低于降低通过优先级门限时(该降低通过优先级门限可以由用 户按照实际需要预先设定),每次出队都会记录队列累积报文的字节数量。 在本次出队时,使用当前队列累积报文的字节数量减去上次出队时累积报文 的字节数量,如果差值的绝对值高于报文增量门限,报文允许通过优先级被 降低一级。作为优选的实施例,上述判断是否高于增高通过优先级门限,还可以采 用判断当前队列累积报文的总字节数是否大于或者等于上次队列累积报文的 总字节数的方法,实现判断当前队列是否为拥塞。上述判断是否低于降低通 过优先级门限,还可以采用判断当前队列累积报文的总字节数是否小于上次 队列累积报文的总字节数的方法,实现判断当前队列是否为拥塞。如果当前 队列累积报文的总字节数是否大于或者等于上次队列累积报文的总字节数则 当前队列为拥塞,否则为不拥塞。步骤104,接收报文,将允许入队的报文入队到所述PQ模拟队列。 上述步骤103可以与步骤101或步骤102同时并行执行。作为实施例,图2为本发明方法数据流图,如图2的A所示,通过匹配 报文的源IP地址,目的IP地址,源端口,目的端口,协议号,DSCP等确定 报文的优先级,其中可以根据用户的需要,通过上述数据内容的一项或者几 项来确定优先级,例如只根据协议号来确定数据报文的优先级,或者根据源I P地址和源端口确定数据报文的优先级,在本例中具有4个优先级,依次为低 优先级、普通优先级、中优先级、高优先级,还可以根据用户需要设置任意 数量的优先级。作为优选的实施例,用户可以设定高优先级先匹配,如果不 匹配,再进行中优先级匹配,然后是普通优先级和低优先级;如果都不匹配, 那么报文标识为默认优先级,默认优先级可以由用户设定,并将匹配的优先 级信息写入报文的附件信息中。作为另一种优选的实施例,报文可以不匹配 任何信息,比如中优先级不匹配任何信息,那么只要是不匹配高优先级的 报文,都在报文的附件信息中确定优先级为中优先级。根据上述内容确定数 据报文的优先级后,将所述优先级信息写入到数据报文的附件信息中,作为 附加信息(通常大小为4字节),当数据报文出队时再删除所述附加信息。 如图2的3所示,与真实队列不同的是,真实队列标识优先级后,报文即刻 入队到相应队列。而模拟队列标识优先级后,报文并未入队,而是在报文中 打上标签,用于后续处理。为了对各种优先级报文的区别处理,设定报文允许通过优先级、报文 增量门限、增高通过优先级门限、降低通过优先级门限、报文丢弃门限。下面说明门限区别处理不同优先级的报文如图2的4所示,报文在入队前会将报文的优先级与报文允许通过优先 级比较,只有报文的优先级高于或等于报文允许通过优先级,且当前队列中 累积报文的总字节数低于报文丢弃门限,才允许被入队,如果高于报文丢弃 门限则将报文丢弃,不做入队处理。如图2的5所示,此处又是与真实队列的不同点真实队列入队的报文不一定可以被发送(比如高优先级队列一直有报文,那么其他三个队列一直无法被发送),而模拟队列入队的报文将按照先后顺序发送,不能发送的报文已经在入队前就被丢弃了。如图2的B、 C所示,PQ对报文优先级的处理是通过反馈机制,PQ模拟 队列累积报文字节数的变化反馈给报文允许通过优先级,报文允许通过优先 级的调整会影响报文通过的多少,进而影响PQ模拟队列累积报文字节数,PQ 模拟队列累积报文字节数的变化又再反馈到报文允许通过优先级。队列累积 报文字节数,各种门限和报文允许通过优先级的相互作用构成一套负反馈机 制,动态调整报文允许通过优先级到最佳的优先级(最佳的判断标准是,保 证高级别的报文一定比低级别报文优先通过,并且带宽被合理占用)。以下 描述调整的详细过程当接口发生拥塞时,PQ模拟队列中的报文会不断累积。当队列中累积报 文的总字节数,高于增高通过优先级门限时,每次出队都会记录队列累积报 文的字节数量。在下次出队时,使用当前队列累积报文的字节数量减去上次 出队时累积报文的字节数量,如果差值的绝对值大于或者等于报文增量门限, 报文允许通过优先级被提高一级,限制可以通过的报文优先级,减少可入队 的报文数量。当接口没有发生拥塞时,PQ模拟队列中的报文会不断减少。当队列中累 积报文的总字节数,低于降低通过优先级门限时,每次出队都会记录队列累 积报文的字节数量。在下次出队时,使用当前队列累积报文的字节数量减去 上次出队时累积报文的字节数量,如果差值的绝对值大于或者等于报文增量 门限,报文允许通过优先级被降低一级,放宽可以通过的报文优先级,将有 更多的报文可以入队。作为优选的每次出队都会记录队列累积报文的字节数量,使用当前队列 累积报文的字节数量减去上次出队时累积报文的字节数量,如果差值的绝对 值大于或者等于报文增量门限,则提高所述报文允许通过优先级,如果差值 的绝对值大于或者等于降低通过优先级门限,则降低所述报文允许通过优先 级。如图2的6所示,报文从PQ模拟队列中出队,报文按入队顺序发送,优 先级不再有作用。如图3所示为本发明一种质量服务的优先级模拟队列控制装置,包括标 签单元301,比较单元302,存储器303,反馈单元304,发送单元305。所述 标签单元301与所述比较单元302相连接,所述比较单元302与所述存储器3 03相连接,所述存储器303与所述反馈单元304相连接,所述反馈单元304 与所述比较单元302相连接,所述存储器303与所述发送单元305相连接。所述标签单元301根据匹配报文的源IP地址,目的IP地址,源端口, 目的端口,协议号,DSCP等信息的一种或者几种确定报文的优先级;作为优 选的实施例,可以高优先级先匹配,如果不匹配,再进行中优先级匹配,然 后是普通优先级和低优先级,如果都不匹配,那么报文标识为默认优先级, 默认优先级可以由用户设定;作为另一种优选的实施例,报文可以不匹配任 何信息,比如中优先级不匹配任何信息,那么只要是不匹配高优先级的报 文,都在报文的附件信息中确定优先级为中优先级。将优先级信息写入报文 的附件信息中。比较单元302用于将报文的优先级与报文允许通过优先级比较,只有报 文的优先级高于或等于报文允许通过优先级,且当前队列中累积报文的总字 节数低于报文丢弃门限,才允许被入队。存储器303用于存储所述比较单元输出的报文所构成的PQ模拟队列。 反馈单元304用于计算所述存储器303中的PQ模拟队列累积报文的总字 节数,当高于增高通过优先级门限时,每次出队都会记录队列累积报文的字 节数量。在本次出队时,使用当前队列累积报文的字节数量减去上次出队时 累积报文的字节数量,如果差值的绝对值高于报文增量门限,则驱动所述比 较单元302将报文允许通过优先级被提高一级。当队列中累积报文的总字节 数,低于降低通过优先级门限时,每次出队都会记录队列累积报文的字节数 量。在本次出队时,使用当前队列累积报文的字节数量减去上次出队时累积报文的字节数量,如果差值的绝对值高于报文增量门限,则驱动所述比较单元302将报文允许通过优先级被降低一级。发送单元305用于将所述PQ模拟队列中的报文根据队列中的顺序依次调 出队列,并发送出去。本发明的有益效果在于,只有一个队列,因此节省轮询各个队列的时间, 并且只要有报文就可以处理,不会出现空队列的情况。以上所述的具体实施方式
,对本发明的目的、技术方案和有益效果进行 了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施方式
而 己,并不用于限定本发明的保护范围,凡在本发明的精神和原则之内,所做 的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
权利要求
1. 一种质量服务的优先级模拟队列控制方法,其特征在于该方法包括,步骤1,标识接收到的报文的优先级;步骤2,根据所述报文的优先级判断所述报文是否能够进入唯一的先入先出优先级模拟队列,如果能够进入则将所述报文排列到所述优先级模拟队列最后,否则丢弃所述报文。
2. 根据权利要求1所述的一种质量服务的优先级模拟队列控制方法,其 特征在于,所述步骤2具体包括,预先设定报文允许通过优先级,将所述报 文的优先级与所述报文允许通过优先级相比较,如果所述报文的优先级大于 或者等于所述报文允许通过优先级则所述报文排列到所述优先级模拟队列最 后,否则丢弃所述报文。
3. 根据权利要求2所述的一种质量服务的优先级模拟队列控制方法,其 特征在于,还包括步骤3,计算当前优先级模拟队列的长度,并根据所述队列 长度调整所述报文允许通过优先级。
4. 根据权利要求3所述的一种质量服务的优先级模拟队列控制方法,其 特征在于,所述步骤2中还包括一出队步骤,将所述优先级模拟队列中的报 文依次出队;所述步骤3调整所述报文允许通过优先级包括,每次出队都记 录所述优先级模拟队列的长度,在本次出队后,当所述优先级模拟队列为拥 塞时,则用当前所述优先级模拟队列的长度减去上次出队时所述优先级模拟 队列的长度,如果差值的绝对值大于或者等于预先设定的报文增量门限,报 文允许通过优先级被提高一级;当所述优先级模拟队列为不拥塞时,则用当 前所述优先级模拟队列的长度减去上次出队时所述优先级模拟队列的长度, 如果所述差值的绝对值大于或者等于所述预先设定的增量门限,则报文允许 通过优先级被降低一级。
5. 根据权利要求4所述的一种质量服务的优先级模拟队列控制方法,其 特征在于,所述优先级模拟队列为拥塞是指,当前所述优先级模拟队列的长度大于或者等于预先设定的增高通过优先级门限;所述优先级模拟队列不为 拥塞是指,本次所述优先级模拟队列的长度小于预先设定的降低通过优先级 门限。
6. 根据权利要求1所述的一种质量服务的优先级模拟队列控制方法,其 特征在于,所述步骤1中通过匹配以下报文信息中的至少一种来标识所述报 文的优先级,并将所述优先级的信息写入所述报文,所述报文信息包括报文 的源IP地址信息、目的IP地址信息、源端口信息、目的端口信息、协议号 信息、区分服务码点信息。
7. 根据权利要求1所述的一种质量服务的优先级模拟队列控制方法,其 特征在于,所述标识接收到的报文的优先级包括将所述优先级的信息写入所 述报文的附件信息中。
8. 根据权利要求l所述的一种质量服务的优先级模拟队列控制方法,其 特征在于,所述步骤2之前还包括一个丢弃报文的步骤计算当前优先级模 拟队列长度,如果当前优先级模拟队列中累积报文的长度大于预先设定的报 文丢弃门限,则直接丢弃所述报文。
9. 一种质量服务的优先级模拟队列控制装置,其特征在于包括标签单元、 比较单元、存储器;所述标签单元与所述比较单元相连接,所述标签单元用于标识接收到的 报文优先级,并传送给所述比较单元;所述存储器与比较单元相连接,所述存储器用于存储优先级模拟队列, 所述比较单元用于将所述报文的优先级与预先设定的报文允许通过优先级相 比较,将大于或者等于所述报文允许通过优先级的报文放入所述优先级模拟 队列。
10. 根据权利要求9所述的一种质量服务的优先级模拟队列控制装置, 其特征在于,还包括反馈单元,所述反馈单元分别与所述存储器和比较单元 相连接,所述反馈单元用于计算所述存储器中优先级模拟队列的长度,并根据所述优先级模拟队列长度调整所述比较单元的报文允许通过优先级。
11.根据权利要求io所述的一种质量服务的优先级模拟队列控制装置,其特征在于,所述标签单元通过匹配所述报文的源IP地址信息、目的IP地 址信息、源端口信息、目的端口信息、协议号信息、区分服务码点信息中的 至少一种信息获得所述报文的优先级,并将所述优先级信息写入所述报文。
全文摘要
本发明提供一种质量服务的优先级模拟队列控制方法及装置。为了解决现有技术中使用多个队列进行入队、出队的控制产生很长的轮询时间浪费,提出了一种质量服务的优先级模拟队列控制方法,步骤1,标识接收到的报文的优先级;步骤2,根据所述报文的优先级判断所述报文是否能够进入唯一的先入先出优先级模拟队列,如果能够进入则将所述报文排列到所述优先级模拟队列最后,否则丢弃所述报文。本发明的有益效果在于,能够减少报文的发送时间,节省系统开销。
文档编号H04L29/02GK101272349SQ20081010594
公开日2008年9月24日 申请日期2008年5月6日 优先权日2008年5月6日
发明者张一弓 申请人:北京星网锐捷网络技术有限公司
转载请注明原文地址:https://www.famiwei.com/read-7749860.html