一种基于路由器业务属性的HQOS实现方法、装置及设备与流程

文档序号:17158498发布日期:2019-03-20 00:19阅读:330来源:国知局
一种基于路由器业务属性的HQOS实现方法、装置及设备与流程

本发明涉及数据通讯领域,特别涉及一种基于路由器业务属性的层次化的服务质量(hierarchicalqualityofservice,hqos)实现方法、装置及设备。



背景技术:

在传统的网络互连协议(internetprotocol,ip)网络中,所有的报文都被无区别地同等对待,每个路由设备对所有的报文均采用先进先出(firstinputfirstoutput,fifo)的策略进行处理,尽最大的努力(best-effort)将报文送到目的地,但对报文传送的可靠性、传送延迟等性能不提供任何保证。hqos旨在针对各种应用的不同需求,提供不同的服务质量,如提供专用带宽、降低报文丢失率、减少报文传送时延及时延抖动等。

hqos业务关键要实现的是对报文进行分类,目前设备上常用的是基于报文内容的流分类,比如源ip地址(sip)、目的ip地址(dip)、源端口(port)、目的port、协议(protocol)类型、优先级(precedence)、差分服务代码点(differentiatedservicescodepoint,dscp)等,简单的说是匹配访问控制列表(accesscontrollist,acl),匹配后执行相应的动作,比如报文带宽限制、设置报文的优先级、流量整形等。上述分类方法能够满足于大部分的hqos应用场景。

但是对于用户想基于某类通用业务属性做hqos等特殊的场景很难实现,比如针对某个通用路由封装(genericroutingencapsulationgre)隧道或者某个负荷分担组进行流量整形。

此时,如果配置基于报文内容匹配相关字段的方式也能够实现,但是在报文匹配的过程中会消耗大量的acl规则和性能,而此种实现方案与用户的需求也可能不是完全等价的,比如,存在一种流量满足配置的acl规则,但是不满足用户指定的业务属性条件。

上面仅仅针对两种业务进行举例,实际上很多路由器相关业务都可能有类似于hqos的需求,即用户关心的是业务级别的hqos。常见的业务有sip路由、dip路由、组播组、ip隧道(gre和4in6、6in4隧道)、快速重路由(fast-reroute,frr)、l2业务(如l2vpn)、负荷分担(load-balance)、te隧道等情况。即用户仅仅关心某种业务的相关流量,此时可以针对此种业务做分类和执行动作,若基于常规的分类方法则会匹配到大量不关心的流量且消耗更多的性能。



技术实现要素:

本发明实施例提供的一种基于路由器业务属性的hqos实现方法、装置及设备,解决现有技术不能精确的针对业务做流量分类的问题。

根据本发明实施例提供的一种基于路由器业务属性的hqos实现方法,包括:

在路由器收发报文期间,构建基于业务属性的hqos键值;

根据所述基于业务属性的hqos键值,对所述报文进行调度。

优选地,在所述构建基于业务属性的hqos键值之前,还包括:

确定用于收发报文的接口是否已配置基于业务属性的hqos功能。

优选地,所述确定用于收发报文的接口是否已配置基于业务属性的hqos功能包括:

确定所述报文的业务类型;

根据所述业务类型,确定收发所述报文的接口是否已配置基于所述业务类型的业务属性的hqos功能。

优选地,所述构建基于业务属性的hqos键值包括:

从所述业务类型的业务获取用于唯一标识所述业务属性的值,作为基于业务属性的hqos键值。

优选地,所述根据所述基于业务属性的hqos键值,对所述报文进行调度包括:

将所述报文的属性值和所述基于业务属性的hqos键值进行匹配,若一致,则按照基于业务属性的hqos,进行报文调度。

优选地,在将所述报文的属性值和所述基于业务属性的hqos键值进行匹配之前,还包括:

若所述报文具有基于业务属性的hqos信息,则获取所述报文的属性值。

根据本发明实施例提供的存储介质,存储有基于路由器业务属性的hqos实现程序,所述基于路由器业务属性的hqos实现程序被处理器执行时实现上述的基于路由器业务属性的hqos实现方法的步骤。

根据本发明实施例提供的一种基于路由器业务属性的hqos实现装置,包括:

键值构建模块,用于在路由器收发报文期间,构建基于业务属性的层次化服务质量hqos键值;

报文调度模块,用于根据所述基于业务属性的hqos键值,对所述报文进行调度。

优选地,还包括:

配置判断模块,用于在构建基于业务属性的hqos键值之前,确定用于收发报文的接口是否已配置基于业务属性的hqos功能。

根据本发明实施例提供的一种基于路由器业务属性的hqos实现设备,包括:处理器,以及与所述处理器耦接的存储器;所述存储器上存储有可在所述处理器上运行的基于路由器业务属性的hqos实现程序,所述基于路由器业务属性的hqos实现程序被所述处理器执行时实现上述的基于路由器业务属性的hqos实现方法的步骤。

与常规的基于基本路由的hqos相比,本发明实施例提供的基于业务属性的hqos具有如下有益效果:

1、本发明实施例能够满足用户针对业务做区分,更加明确地指定流量分类的需求,消除了大量的用户不关心的冗余报文;

2、本发明实施例实现基于业务的hqos,作为基于报文字段分类hqos的补充,在某些场景更符合用户的需求;

3、本发明实施例实现流量基于业务分类,可以节省大量的acl规则匹配,节省软件和硬件资源;

4、相对于常规的基于报文字段分类的hqos,基于业务属性的hqos仅针对匹配的特殊业务进行质量保证,在很多场景减少了匹配大量其它报文的消耗,有效的提升了路由器在业务处理时叠加hqos业务的性能。

附图说明

图1是本发明实施例提供的基于路由器业务属性的hqos实现方法流程图;

图2是本发明实施例提供的基于路由器业务属性的hqos实现装置框图;

图3是入向/出向hqos流程图;

图4是基于业务的hqos详细实现流程图。

具体实施方式

以下结合附图对本发明的优选实施例进行详细说明,应当理解,以下所说明的优选实施例仅用于说明和解释本发明,并不用于限定本发明。

图1是本发明实施例提供的基于路由器业务属性的hqos实现方法流程图,如图1所示,步骤包括:

步骤101:在路由器收发报文期间,构建基于业务属性的hqos键值。

在步骤101之前,还可以包括:确定用于收发报文的接口是否已配置基于业务属性的hqos功能。具体地说,所述路由器确定所述报文的业务类型,所述路由器根据所述业务类型,确定收发所述报文的接口是否已配置基于所述业务类型的业务属性的hqos功能。例如所述报文是隧道业务的报文,则确定收发所述报文的接口是否已配置基于隧道业务的hqos功能,如果已配置基于隧道业务的hqos功能,则执行步骤101,否则执行正常的转发流程。

步骤101包括:所述路由器从所述业务类型的业务获取用于唯一标识所述业务属性的值,作为基于业务属性的hqos键值。例如,如果已配置基于隧道业务的hqos功能,则从隧道业务获取用于唯一标识所述业务属性的值作为hqos键值。

步骤102:根据所述基于业务属性的hqos键值,对所述报文进行调度。

所述路由器判断所述报文是否具有基于业务属性的hqos信息,若判断所述报文是否具有基于业务属性的hqos信息,则获取所述报文的属性值,并将所述报文的属性值和所述基于业务属性的hqos键值进行匹配,若一致,则按照基于业务属性的hqos,进行报文调度。例如所述报文具有基于隧道业务的hqos信息,如果所述hqos信息与隧道业务的hqos键值匹配,则进行基于隧道业务的hqos动作,然后转发该报文。

本实施例可以满足用户精确匹配业务,且提供高质量服务的需求。

本领域普通技术人员可以理解,实现上述实施例方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,所述的程序可以存储于计算机可读取存储介质中。进一步说,本发明还可以提供一种存储介质,存储有基于路由器业务属性的hqos实现程序,所述基于路由器业务属性的hqos实现程序被处理器执行时实现上述的基于路由器业务属性的hqos实现方法的步骤。其中,所述的存储介质可以包括rom/ram、磁碟、光盘、u盘。

图2是本发明实施例提供的基于路由器业务属性的hqos实现装置框图,如图2所示,包括:

键值构建模块202,用于在路由器收发报文期间,构建基于业务属性的hqos键值。

报文调度模块203,用于根据所述基于业务属性的hqos键值,对所述报文进行调度。

所述装置可以设置在路由器上,其工作过程包括:键值构建模块202在路由器收发报文期间,构建基于业务属性的hqos键值,报文调度模块203将所述报文的属性值和所述基于业务属性的hqos键值进行匹配,若一致,则按照所述基于业务属性的hqos,进行报文调度。

所述装置还可以包括:

配置判断模块201,用于在构建基于业务属性的hqos键值之前,确定用于收发报文的接口是否已配置基于业务属性的hqos功能。

所述装置可以设置在路由器上,其工作过程包括:配置判断模块201确定所述报文的业务类型,并根据所述业务类型,确定收发所述报文的接口是否已配置基于所述业务类型的业务属性的hqos功能。若确定已配置基于所述业务类型的业务属性的hqos功能,则键值构建模块202从所述业务类型的业务获取用于唯一标识所述业务属性的值,作为基于业务属性的hqos键值。所述报文调度模块203判断所述报文是否具有基于业务属性的hqos信息,若判断所述报文是否具有基于业务属性的hqos信息,则获取所述报文的属性值,并将所述报文的属性值和所述基于业务属性的hqos键值进行匹配,若一致,则按照基于业务属性的hqos,进行报文调度。

本实施例提供一种基于路由器业务属性的hqos实现设备,包括:处理器,以及与所述处理器耦接的存储器;所述存储器上存储有可在所述处理器上运行的基于路由器业务属性的hqos实现程序,所述基于路由器业务属性的hqos实现程序被所述处理器执行时实现上述的基于路由器业务属性的hqos实现方法的步骤。

本发明实施例通过精确匹配业务,针对特定配置的业务属性执行hqos动作,从而能有效的满足一些场景下基于业务精确匹配的需求,忽略了大量的冗余流量的同时,提升了叠加hqos时的整体转发性能。

图3是入向/出向hqos流程图,从总体上描述了端口入向或出向,配置hqos后的处理流程。进入设备的报文,如果端口没有配置hqos则正常转发,如果配置了入向或出向hqos,首先判断是否配置了基于转发属性(即业务属性)的hqos,如果不是,则构建常规的hqos键值,如果是,则构建基于转发属性的hqos键值,上述两种情况,下面的处理流程基本一致,仅构造hqos的键值方式有所差别。hqos键值匹配检测,如果无法命中则依旧走正常转发流程,如果命中则执行配置的hqos动作,然后正常转发。入向hqos和出向hqos在实现上基本类似,本实施例只描述其中一个过程。

步骤301:进入设备的报文,主要是指从某个接口收到的报文或者需要从某个接口发送出去的报文。

步骤302:入口/出口配置hqos。

检测报文进出的端口是否配置了hqos,若端口配置了hqos,则端口属性表中会将hqos相关的标记位置1,同时将方向的标记位也置1。

步骤303:正常转发。

无论报文是否执行hqos动作,都会执行303的转发流程。

步骤304:配置基于业务属性的hqos。

判断端口配置的hqos类型,目前有两种,一种是基于业务属性的hqos,另外一种是基于基本路由的hqos。

步骤305:如果判断结果是配置基于业务属性的hqos,则构建基于业务属性的hqos键值。

基于每一种业务属性,构建对应的hqos键值,作为业务属性的唯一标识符,hqos键值用于后续的匹配。

步骤306:如果判断结果是配置基于基本路由的hqos,则构建常规hqos键值。

常规的hqos也会有一个唯一的键值,用于后续的匹配。

步骤307:hqos键值匹配。

进出端口的报文和端口生成的hqos键值进行比较,确定是否一致,如果一致执行308,如果不一致直接执行303。

步骤308:执行hqos动作。

若报文的属性值和hqos键值一致,则执行hqos动作。

步骤309:报文正常转发后结束流程。

图4是基于业务的hqos详细实现流程图,主要是对图3中304、305、306的进一步说明。对于配置了hqos的端口,当报文进、出端口时,转发模块首先会识别转发报文的业务类型,不同的业务走不同的处理流程。同一种业务类型的多个报文,需要进一步判断是否配置了基于业务属性的hqos,比如负载分担业务属性的报文a配置了hqos,同样是负载分担业务属性的报文b没有配置hqos,那么报文b就走正常的转发流程。本实施例对于类似于报文b,没有配置hqos业务的转发流程,在图4中没有画出。

步骤401:开始。

步骤402:报文转发处理。

判断进出端口的报文配置的是基本路由业务,还是其它业务。

步骤403:判断结果是基本路由业务。

报文为常规的基于路由属性的转发报文,比如源ip、目的ip等,没有配置其它业务。

步骤404:配置基本路由业务属性的hqos。

判断是否是配置了基本路由业务属性的hqos,如果是,则执行步骤405,如果不是,则进行基本转发,判断为不是的流程,图4中已省略。

步骤405:从基本路由业务获得route_attr_id作为hqos匹配键值。

从基本路由业务获取一个唯一可以标识的值routerattributeid作为匹配的关键字。

步骤406:判断结果是隧道业务。

配置了隧道业务的转发报文。

步骤407:配置隧道业务属性的hqos。

判断是否配置基于隧道业务属性的hqos,如果是,则执行步骤408,如果不是,则进行基本转发,判断为不是的流程,图4中已省略。

步骤408:从隧道业务获取tunnel_attr_id作为hqos匹配键值。

获取一个唯一可以标识的属性值tunnelattributeid,作为hqos的匹配值。

步骤409:判断结果是frr。

配置了fastre-route快速重路由的转发报文。

步骤410:配置frr业务属性的hqos。

判断是否配置了基于frr业务属性的hqos。如果是则执行步骤411,如果不是,则进行基本转发,判断为不是的流程,图4中已省略。

步骤411:从frr业务获取frr_attr_id作为hqos匹配键值。

获取一个唯一可以标识的属性值frrattributeid,作为hqos的匹配值。

步骤412:判断结果是负载分担业务。

配置了负载分担业务的转发报文。

步骤413:配置负载分担业务属性的hqos。

判断是否配置了基于负载分担业务属性的hqos,如果是则执行步骤414,如果不是,则进行基本转发,判断为不是的流程,图4中已省略。

步骤414:从负载分担业务获取loadbal_attr_id作为hqos匹配键值。

获取一个唯一可以标识的属性值loadbalanceattributeid,作为hqos的匹配键值。

步骤415:判断结果是l2业务。

配置了l2业务的转发报文,主要指的是l2vpn。

步骤416:配置基于mac属性的hqos。

判断是否配置了基于mac属性的hqos,如果是,则执行步骤417,如果不是,则进行基本转发,判断为不是的流程,图4中已省略。

步骤417:从l2业务获取mac_attr_id作为hqos匹配键值。

获取一个唯一可以标识的属性值macattributeid,作为hqos的匹配键值。

步骤418:判断结果是其它业务。

除了以上业务以外的其它业务,后期逐步加入进来,比如l3vpn,组播组等。

步骤419:配置其它业务属性的hqos。

依旧判断是否配置了其它业务属性的hqos,如果是,则执行步骤420,如果不是,则进行基本转发,判断为不是的流程,图4中已省略。

步骤420:从其它业务获取other_attr_id作为hqos匹配键值。

获取一个唯一可以标识的属性值otherattributeid,作为hqos的匹配键值。

步骤421:执行hqos动作然后转发。

对于属性值attributeid匹配中的报文,执行相应的动作,然后走转发流程。

步骤422:结束。

本实施例提供的方法是一种更高效、更简洁的基于业务的路由器hqos方法,且提供了以下的功能:

1、支持双向(入向和出向)的基于业务的hqos实现;

2、支持配置多种业务类型的hqos,并识别不同业务类型的id,作为流量分类的关键值。

综上所述,本发明的实施例具有以下技术效果:

本发明实施例对不同类型的路由器业务进行分类,从业务获取属性值作为hqos匹配的键值,并进行基于不同路由器业务的hqos匹配流程,能够达到精确匹配且节省路由器的软件和硬件资源的目的,提升路由器业务处理性能。

尽管上文对本发明进行了详细说明,但是本发明不限于此,本技术领域技术人员可以根据本发明的原理进行各种修改。因此,凡按照本发明原理所作的修改,都应当理解为落入本发明的保护范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1