CN109889453B - 一种HQoS实现方法及装置 - Google Patents
一种HQoS实现方法及装置 Download PDFInfo
- Publication number
- CN109889453B CN109889453B CN201910101424.XA CN201910101424A CN109889453B CN 109889453 B CN109889453 B CN 109889453B CN 201910101424 A CN201910101424 A CN 201910101424A CN 109889453 B CN109889453 B CN 109889453B
- Authority
- CN
- China
- Prior art keywords
- fec
- local
- qos
- scheduling
- target
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明提供一种HQoS实现方法及装置,该方法包括:当接收到三层报文时,根据所述三层报文查询三层转发表项,以确定与所述三层报文匹配的第一转发等价类FEC索引;当确定所述第一FEC索引属于目标FEC资源池时,根据所述三层报文的源IP地址查询匹配的目标服务质量本地标识QoS‑Local‑ID,并根据所述第一FEC索引以及所述目标QoS‑Local‑ID,确定与所述三层报文匹配的第二FEC索引;根据所述第二FEC索引确定与所述三层报文匹配的第一队列标识,并根据所述第一队列标识查询所述三层报文的出端口上应用的调度策略;根据所述调度策略中与所述第一队列标识匹配的分级调度方式对所述三层报文进行分级调度。应用本发明实施例可以在交换设备上实现基于QoS‑Local‑ID的HQoS,扩展基于QoS‑Local‑ID的HQoS的应用场景。
Description
技术领域
本发明涉及网络通信技术领域,尤其涉及一种HQoS实现方法及装置。
背景技术
HQoS(Hierarchical Quality of Service,分层服务质量)采用分层调度的方式,细化业务流量分类,针对不同的用户和业务来提供服务质量保证。
如图1所示,HQoS采用树状分层调度模型。该模型中,最底层为叶子节点,中间层为分支节点,最顶层为根节点。在接口接收到报文后,HQoS自下而上对报文进行调度。每个叶子节点分别对应一个***预定义FC(Forwarding Class,转发类),***预定义FC即为一个调度队列,例如图中的BE(Best Effort,尽力而为的业务)、AF(Assured,对传输质量有保证的业务)和NC(Network Control,最高优先级的业务)。接口收到报文后,根据报文的用户优先级的值查找优先级映射表,将报文放入对应的预定义FC中。每个分支节点分别对应一个FG(Forwarding Group,转发组),一个转发组嵌套多个转发组或预定义转发类。在转发组的嵌套中,进行嵌套的转发组被称为父分支节点,被嵌套的转发组称为子分支节点。根节点为SP(Scheduler Policy,调度策略),调度策略嵌套多个转发组。调度策略SP应用到接口后,可以根据嵌套关系,对接口的流量进行由叶子节点到根节点的分层调度。
QoS-Local-ID(服务质量本地标识)组网是一种较为常见的城域网组网方式,主要特点是以不同的QoS-Local-ID来标识不同的业务类型。基于QoS-Local-ID的HQoS实现方案中,需要根据报文的出端口进行ACL(Access Control List,访问控制列表)匹配的方式确定报文的分级调度方式。
然而实践发现,目前主流的交换芯片对于三层报文的转发流程中,FWD阶段查找路由表/ARP(Address Resolution Protocol,地址解析协议)表得到FEC(ForwardingEquivalence Class,转发等价类)索引,在FEC阶段得到报文的出端口和封装信息,ACL(在交换芯片的处理流程中可以称为PMF(Programmable Mapping and Filtering,可编程映射与滤波))阶段处于FWD阶段与FEC阶段之间,在ACL阶段仅能得到FEC索引,而无法确定出端口信息,从而无法实现基于QoS-Local-ID的HQoS。
发明内容
本发明提供一种HQoS实现方法及装置,以解决现有HQoS实现方案中无法在交换机上实现基于QoS-Local-ID的HQoS实现的问题。
根据本发明实施例的第一方面,提供一种HQoS实现方法,包括:
当接收到三层报文时,根据所述三层报文查询三层转发表项,以确定与所述三层报文匹配的第一转发等价类FEC索引;
当确定所述第一FEC索引属于目标FEC资源池时,根据所述三层报文的源IP地址查询匹配的目标服务质量本地标识QoS-Local-ID,并根据所述第一FEC索引以及所述目标QoS-Local-ID,确定与所述三层报文匹配的第二FEC索引;
根据所述第二FEC索引确定与所述三层报文匹配的第一队列标识,并根据所述第一队列标识查询所述三层报文的出端口上应用的调度策略;
根据所述调度策略中与所述第一队列标识匹配的分级调度方式对所述三层报文进行分级调度。
根据本发明实施例的第二方面,提供一种HQoS实现装置,包括:
接收单元,用于接收报文;
查询单元,用于当所述接收单元接收到三层报文时,根据所述三层报文查询三层转发表项,以确定与所述三层报文匹配的第一转发等价类FEC索引;
所述查询单元,还用于当确定所述第一FEC索引属于目标FEC资源池时,根据所述三层报文的源IP地址查询匹配的目标服务质量本地标识QoS-Local-ID;
确定单元,用于根据所述第一FEC索引以及所述目标QoS-Local-ID,确定与所述三层报文匹配的第二FEC索引;
所述确定单元,还用于根据所述第二FEC索引确定与所述三层报文匹配的第一队列标识;
所述查询单元,还用于根据所述第一队列标识查询所述三层报文的出端口上应用的调度策略;
调度单元,用于根据所述调度策略中与所述第一队列标识匹配的分级调度方式对所述三层报文进行分级调度
应用本发明公开的技术方案,对于交换设备上应用了基于QoS-Local-ID的HQoS策略的接口,通过在创建下一跳出端口为该接口的FEC表项时,从目标FEC资源池中为该策略中配置的每一个QoS-Local-ID分配一个FEC表项,并在该FEC表项记录该QoS-Local-ID对应的队列标识,进而,当接收到三层报文时,且确定该三层报文匹配的第一FEC索引属于目标FEC资源池时,根据该第一FEC索引以及该三层报文的源IP地址匹配的Qos-Local-ID确定该三层报文实际匹配的第二FEC索引,并根据该第二FEC索引确定该三层报文匹配的第一队列标识,根据该第一队列标识在该三层报文的出端口上应用的调度策略查询匹配的分级调度方式,进而,根据该分级调度方式对该三层报文进行分级调度,在交换设备上实现了基于QoS-Local-ID的HQoS,扩展了基于QoS-Local-ID的HQoS的应用场景。
附图说明
图1是一种树状分层调度模型的示意图;
图2是本发明实施例提供的一种HQoS实现方法的流程示意图;
图3是本发明实施例提供的一种应用场景的示意图;
图4是本发明实施例提供的一种HQoS实现装置的结构示意图;
图5是本发明实施例提供的另一种HQoS实现装置的结构示意图。
具体实施方式
为了使本技术领域的人员更好地理解本发明实施例中的技术方案,并使本发明实施例的上述目的、特征和优点能够更加明显易懂,下面结合附图对本发明实施例中技术方案作进一步详细的说明。
请参见图2,为本发明实施例提供的一种HQoS实现方法的流程示意图,其中,该HQoS实现方法可以应用于交换设备,如交换机或其他使用交换芯片的设备(如使用交换芯片的路由器),如图2所示,该HQoS实现方法可以包括以下步骤:
需要说明的是,在本发明实施例中,所提及的交换芯片是指三层报文的入方向处理流程与FWD(转发)阶段-PMF阶段-FEC阶段的处理流程一致的交换芯片,本发明实施例后续不再复述。
为了便于描述和理解,以下以步骤201~203的执行主体为交换机为例进行说明。
步骤201、当接收到三层报文时,根据三层把稳查询三层转发表项,以确定与该三层报文匹配的第一FEC索引。
本发明实施例中,当交换机接收到三层报文时,可以根据该三层报文查询三层转发表项(路由表/ARP表),以确定与该三层报文匹配的下一跳信息,并将该下一跳信息中记录的FEC索引确定为与该三层报文匹配的FEC索引(本文中称为第一FEC索引)。
步骤202、当确定第一FEC索引属于目标FEC资源池时,根据该三层报文的源IP地址查询匹配的目标QoS-Local-ID,并根据第一FEC索引以及目标QoS-Local-ID,确定与该三层报文匹配的第二FEC索引。
本发明实施例中,为了在交换机上实现基于QoS-Local-ID的HQoS,对于交换机上应用了基于QoS-Local-ID的HQoS策略的任一接口,在创建该下一跳出端口为该接口的FEC表项时,可以分别为该策略中配置的每一个QoS-Local-ID创建一个FEC表项,并在该FEC表项记录该QoS-Local-ID对应的队列标识(QueID)。
考虑到现有FEC表项创建方案中,在分配FEC资源时,先选择资源池(Bank),然后在资源池中做进一步分配,且一般每次只分配一条FEC表项,因此,为了实现为同一接口分配多个FEC表项,可以配置一个特殊的资源池(本文中称为目标FEC资源池),当从目标FEC资源池中分配FEC表项时,可以一次分配多个FEC表项。
相应地,在本发明实施例中,当交换机确定了接收到的三层报文匹配的第一FEC索引时,可以确定该第一FEC索引是否属于目标FEC资源池(即是否目标FEC资源池中的FEC表项的FEC索引)。
当交换机确定第一FEC索引属于目标FEC资源池时,交换机可以确定该三层报文的出端口配置了基于QoS-Local-ID的HQoS策略,该三层报文的出端口创建有多条FEC表项,此时,交换机需要进一步根据接收到的三层报文的源IP地址查询匹配的QoS-Local-ID(本文中称为目标QoS-Local-ID),并根据第一FEC索引以及目标QoS-Local-ID,确定三层报文实际匹配的FEC索引(本文中称为第二FEC索引)。
需要说明的是,在本发明实施例中,当交换机确定第一FEC索引不属于目标FEC资源池,即该三层报文的出端口未配置基于QoS-Local-ID的HQoS策略时,可以按照现有处理流程进行处理,其具体实现在此不做赘述。
步骤203、根据第二FEC索引确定与三层报文匹配的第一队列标识,并根据第一队列标识查询三层报文的出端口应用的调度策略。
本发明实施例中,交换机确定了接收到的三层报文匹配的第二FEC索引后,可以根据该第二FEC索引查询对应的FEC表项,并将该FEC表项中记录的队列标识确定为与该三层报文匹配的队列标识(本文中称为第一队列标识),并根据该第一队列标识查询三层报文的出端口应用的调度策略(基于QoS-Local-ID的HQoS策略),以确定该调度策略中与第一队列标识匹配的分级调度方式。
步骤204、根据该调度策略中与第一队列标识匹配的分级调度方式对三层报文进行分级调度。
本发明实施例中,交换机确定了与第一队列标识匹配的分级调度方式时,可以根据该分级调度方式对接收到的三层报文进行分级调度,从而,实现了HQoS。
在本发明其中一个实施例中,上述分级调度方式可以包括用户组调度方式、用户调度方式以及业务调度方式;
相应地,上述根据调度策略中与第一队列标识匹配的分级调度方式对三层报文进行分级调度,可以包括:
依次根据用户组调度方式、用户调度方式以及业务调度方式对三层报文进行调度。
在该实施例中,以“用户组”-“用户”-“业务”三级调度结构为例。
其中,一个QoS-Local-ID对应一个用户,多个QoS-Local-ID对应一个用户组,对于同一个用户的报文,不同优先级对应不同业务,即“QoS-Local-ID+优先级”对应业务。
相应地,分级调度方式可以包括用户组调度方式、用户调度方式以及业务调度方式。
当交换机确定了与接收到的三层报文匹配的第一队列标识,可以根据该第一队列标识查询该三层报文的出端口上应用的调度策略。
具体地,交换机可以根据该第一队列标识确定该报文所属的用户组(本文中称为目标用户组),并从该出端口上应用的目标调度策略中查询该目标用户组对应的用户组调度方式,并利用该用户组调度方式对该三层报文进行调度。
其中,对于每一个应用基于QoS-Local-ID的HQoS策略的接口,可以部署一个分级调度器,根据调度策略嵌套的转发组,将队列标识挂在对应的分级调度器上,从而实现HQoS。
进一步地,交换机还可以根据该第一队列标识确定该三层报文对应的用户调度方式,并根据该用户调度方式对该三层报文进行调度。
最终,交换机还可以根据该第一队列标识以及该三层报文中的优先级信息,确定该三层报文对应的业务调度方式,并根据该业务调用方式对该三层报文进行调度。
即交换机可以依次根据用户组调度方式、用户调度方式以及业务调度方式对该三层报文进行调度,实现对三层报文的分级调度。
可见,在图2所示方法流程中,对于交换设备上应用了基于QoS-Local-ID的HQoS策略的接口,通过在创建下一跳出端口为该接口的FEC表项时,从目标FEC资源池中为该策略中配置的每一个QoS-Local-ID分配一个FEC表项,并在该FEC表项记录该QoS-Local-ID对应的队列标识,进而,当接收到三层报文时,且确定该三层报文匹配的第一FEC索引属于目标FEC资源池时,根据该第一FEC索引以及该三层报文的源IP地址匹配的Qos-Local-ID确定该三层报文实际匹配的第二FEC索引,并根据该第二FEC索引确定该三层报文匹配的第一队列标识,根据该第一队列标识在该三层报文的出端口上应用的调度策略查询匹配的分级调度方式,进而,根据该分级调度方式对该三层报文进行分级调度,在交换设备上实现了基于QoS-Local-ID的HQoS。
进一步地,在本发明其中一个实施例中,基于上述FEC表项分配方式,为了实现根据第一FEC索引以及目标QoS-Local-ID确定三层报文实际匹配的第二FEC索引,FEC表项分配方式可以如下:
当创建下一跳出端口为配置有基于QoS-Local-ID的HQoS策略的接口(本文中称为目标接口)的FEC表项时,从目标FEC资源池中为该目标接口分配连续预设数量的FEC表项,在连续预设数量的FEC表项的各FEC表项中记录对应的队列标识,并将连续预设数量的FEC表项中第一个FEC表项的FEC索引记录到该目标接口对应的下一跳信息中。
在该实施例中,对于交换机上配置有基于QoS-Local-ID的HQoS策略的接口,当创建下一跳出端口为该接口的FEC表项时,可以从目标FEC资源池中分配连续预设数量的FEC表项。
其中,该预设数量可以根据该接口配置的QoS-Local-ID的数量确定。
在该实施例中,对于所分配的连续预设数量的FEC表项,可以分别在各FEC表项中记录对应的队列标识,并将该连续预设数量的FEC表项中第一个FEC表项的FEC索引记录到该目标接口对应的下一跳信息中。
相应地,当交换机接收到三层报文,且查询到该三层报文匹配的下一跳信息时,交换机可以从该下一跳信息中获取该三层报文的出端口对应的连续预设数量的FEC表项中第一个FEC表项的FEC索引(即上述第一FEC索引),并根据该第一FEC索引以及该三层报文的源IP地址匹配的QoS-Local-ID确定该三层报文实际匹配的FEC索引(即上述第二FEC索引),进而,将该第二FEC索引对应的FEC表项中记录的队列标识确定为与该三层报文匹配的队列标识。
在一个示例中,上述预设数量可以等于目标接口配置的QoS-Local-ID的数量+1。
相应地,上述根据第一FEC索引以及目标QoS-Local-ID,确定与三层报文匹配的第二FEC索引,可以包括:
确定与目标QoS-Local-ID对应的目标数值;其中,同一出端口配置的不同QoS-Local-ID对应的数值不同,且均为小于等于该出端口对应的QoS-Local-ID的数量的正整数;
将第一FEC索引与目标数值二者之和确定为第二FEC索引。
在该示例中,为了实现基于QoS-Local-ID的HQoS调度与普通QoS调度的统一,对于配置了QoS-Local-ID的HQoS策略的接口(即上述目标接口),在创建下一跳出端口为该目标接口的FEC表项时,可以分别为该目标接口配置的每一个QoS-Local-ID分配一个FEC表项,并为该目标接口采用普通QoS调度方式调度的用户分片一个FEC表项,即上述预设数量等于该目标接口配置的QoS-Local-ID的数量+1。
在该示例中,由于上述连续预设数量的FEC表项的索引是连续的,因此,可以将该连续预设数量的FEC表项中第一个FEC表项作为采用普通QoS调度方式的用户的FEC表项,其余FEC表项分别与该目标接口上配置的各QoS-Local-ID建立关联。
具体地,可以分别将各QoS-Local-ID映射为一个具体数值,同一出端口配置的不同QoS-Local-ID对应的数值不同,且均为小于等于该出端口对应的QoS-Local-ID的数量的正整数,并分别将各QoS-Local-ID映射的数值与该连续预设数量的FEC表项中第一个FEC表项的FEC索引二者之和,确定为各QoS-Local-ID对应的FEC表项的索引。
举例来说,假设配置的QoS-Local-ID包括QoS-Local-ID1、QoS-Local-ID2和QoS-Local-ID3(即QoS-Local-ID的数量为3),则可以将QoS-Local-ID1映射为1,QoS-Local-ID2映射为2,QoS-Local-ID3映射为3,进而,可以确定QoS-Local-ID1~QoS-Local-ID3对应的FEC索引分别为I+1~I+3;其中,I为该连续预设数量(在该示例中为4)的FEC表项中第一个FEC表项的FEC索引。
其中,FEC表项中可以记录关联的QoS-Local-ID对应的队列标识,上述QoS-Local-ID到FEC索引的关联可以通过ACL方式实现。
相应地,在该示例中,当交换机根据接收到的三层报文查询三层转发表项确定了第一FEC索引,并确定了该三层报文匹配的目标QoS-Local-ID之后,可以根据该目标QoS-Local-ID映射的数值(本文中称为目标数值),将第一FEC索引与目标数值之和确定为第二FEC索引,进而,将第二FEC索引对应的FEC表项中记录的队列标识确定为该三层报文匹配的队列标识。
进一步地,在该示例中,当交换机未查询到与三层报文的源IP地址匹配的QoS-Local-ID,即该三层报文为未采用基于QoS-Local-ID的HQoS调度方式的用户的报文时,可以根据第一FEC索引确定与三层报文匹配的队列标识(本文中称为第二队列标识),并根据该第二队列标识查询三层报文的出端口上应用的调度策略,并根据该调度策略中与第二队列标识匹配的调度方式(普通QoS调度方式)对该三层报文进行调度。
应该认识到,上述为配置有基于QoS-Local-ID的HQoS策略的接口分配FEC表项,并建立QoS-Local-ID与FEC表项的关联关系的实现方式仅仅属于本发明实施例的一种具体示例,而并不是对本发明保护范围的限定,即在本发明实施例中,也可以采用其他方式为配置有基于QoS-Local-ID的HQoS策略的接口分配FEC表项,并建立QoS-Local-ID与FEC表项的关联关系,例如,对于配置有基于QoS-Local-ID的HQoS策略的接口,可以根据该接口配置的QoS-Local-ID的数量,分配该数据+1的FEC表项,且这些FEC表项不连续,并将这些FEC表项中FEC索引最大的FEC表项的索引记录在对应下一跳信息中,通过ACL方式记录各QoS-Local-ID与关联的FEC表项的FEC索引的对应关系,其中,FEC索引最大的FEC表项作为该接口上未采用HQoS策略的用户对应的FEC表项,其具体实现在此不做赘述。
为了使本领域技术人员更好地理解本发明实施例提供的技术方案,下面结合具体实例对本发明实施例提供的技术方案进行说明。
为便于理解和描述,对待下发的调度策略,下文中按其转发组的嵌套关系,分为“用户组”、“用户”和“业务”三级调度层次为例进行说明,即“业务”为叶子节点,“用户”为子分支节点,“用户组”为父分支节点。
其中,一个QoS-Local-ID对应一个用户,多个QoS-Local-ID对应一个用户组,对于同一个用户的报文,不同优先级对应不同业务,即“QoS-Local-ID+优先级”对应业务。
但应该认识到,在实际应用中,分级调度层次并不限三级,也可以是二级调度层次、四级调度层次(大于等于二级),本发明实施例后续不再复述。
请参见图3,在该实施例中,假设用户组1~3分别通过交换设备310的接口311~313接入(用户与交换设备310之间还可以存在其他交换设备,图3中未示出),交换设备310的接口311~313上均配置了基于QoS-Local-ID的HQoS策略,其中,接口311上配置了QoS-Local-ID101~QoS-Local-ID103,接口312上配置了QoS-Local-ID201~QoS-Local-ID205,接口313上配置了QoS-Local-ID301~QoS-Local-ID305,用户组1包括用户11~用户13,分别对应QoS-Local-ID101~QoS-Local-ID103,用户组2包括用户21~用户25,分别对应QoS-Local-ID201~QoS-Local-ID205,用户组3包括用户31~用户35,分别对应QoS-Local-ID301~QoS-Local-ID305。
在该实施例中,当交换设备310创建下一跳出端口为接口311的FEC表项时,由于接口311配置了基于QoS-Local-ID的HQoS策略,因此,交换设备310可以根据接口311配置的QoS-Local-ID的数量(3),从目标FEC资源池(假设为FEC资源池0,FEC资源池0包括FEC索引为1~100的FEC表项)分配4个FEC表项(假设为FEC索引分别为1~4),且将FEC索引1记录到接口311对应的下一跳信息中。
其中,FEC表项1(即FEC索引1对应的FEC表项,下同)为未采用基于QoS-Local-ID的HQoS策略的用户对应的FEC表项,该FEC表项中分配的队列标识为QueID11;FEC表项2为QoS-Local-ID101关联的FEC表项,该FEC表项中分配的队列标识为QueID12;FEC表项3为QoS-Local-ID102关联的FEC表项,该FEC表项中分配的队列标识为QueID13;FEC表项4为QoS-Local-ID103关联的FEC表项,该FEC表项中分配的队列标识为QueID14。
其中,交换设备310可以通过如表1所示的ACL表项实现接口311上配置的QoS-Local-ID到FEC索引的映射:
表1
在该实施例中,当交换设备310创建下一跳出端口为接口312的FEC表项时,由于接口312配置了基于QoS-Local-ID的HQoS策略,因此,交换设备310可以根据接口312配置的QoS-Local-ID的数量(5),从目标FEC资源池分配6个FEC表项(假设为FEC索引分别为11~16),且将FEC索引11记录到接口312对应的下一跳信息中。
其中,FEC表项11为未采用基于QoS-Local-ID的HQoS策略的用户对应的FEC表项,该FEC表项中分配的队列标识为QueID21;FEC表项12为QoS-Local-ID201关联的FEC表项,该FEC表项中分配的队列标识为QueID22;FEC表项13为QoS-Local-ID202关联的FEC表项,该FEC表项中分配的队列标识为QueID23;FEC表项14为QoS-Local-ID203关联的FEC表项,该FEC表项中分配的队列标识为QueID24;FEC表项15为QoS-Local-ID204关联的FEC表项,该FEC表项中分配的队列标识为QueID25;FEC表项16为QoS-Local-ID205关联的FEC表项,该FEC表项中分配的队列标识为QueID26。
其中,交换设备310可以通过ACL表项实现接口312上配置QoS-Local-ID到FEC索引的映射,其实现可以参见上述表1相关描述,该实施例在此不做赘述。
在该实施例中,当交换设备310创建下一跳出端口为接口313的FEC表项时,由于接口313配置了基于QoS-Local-ID的HQoS策略,因此,交换设备310可以根据接口313配置的QoS-Local-ID的数量(5),从目标FEC资源池分配6个FEC表项(假设为FEC索引分别为21~26),且将FEC索引21记录到接口313对应的下一跳信息中。
其中,FEC表项21为未采用基于QoS-Local-ID的HQoS策略的用户对应的FEC表项,该FEC表项中分配的队列标识为QueID31;FEC表项22为QoS-Local-ID301关联的FEC表项,该FEC表项中分配的队列标识为QueID32;FEC表项23为QoS-Local-ID302关联的FEC表项,该FEC表项中分配的队列标识为QueID33;FEC表项24为QoS-Local-ID303关联的FEC表项,该FEC表项中分配的队列标识为QueID34;FEC表项25为QoS-Local-ID304关联的FEC表项,该FEC表项中分配的队列标识为QueID35;FEC表项26为QoS-Local-ID305关联的FEC表项,该FEC表项中分配的队列标识为QueID36。
其中,交换设备310可以通过ACL表项实现接口313上配置QoS-Local-ID到FEC索引的映射,其实现可以参见上述表1相关描述,该实施例在此不做赘述。
基于上述配置,在该实施例中,交换设备310进行三层报文调度的实现流程如下:
实施例一
当交换设备310接收到三层报文,并根据该三层报文查询路由表/ARP表,得到的FEC索引为FEC索引1。
由于FEC索引1属于FEC资源池0,因此,交换设备310可以根据该三层报文的源IP地址查询匹配的QoS-Local-ID(假设为QoS-Local-ID102),进而,交换设备310可以根据FEC索引1以及QoS-Local-ID102,查询表1所示的ACL表项,将QoS-Local-ID102映射为2,进而,确定该三层报文匹配的FEC索引为FEC索引3(1+2=3)。
交换设备310根据FEC索引3查询对应的FEC表项,并将该FEC表项中记录的队列标识(QueID12)确定为该三层报文匹配的队列标识。
进而,交换设备310可以根据QueID12查询接口311上配置的基于QoS-Local-ID的HQoS策略,以得到与QueID12匹配的分级调度方式。
其中,交换设备310根据QueID12可以确定该三层报文的目的用户为用户12,所属用户组为用户组1。
此外,交换设备310可以根据该三层报文的优先级信息以及该QueID12确定该三层报文对应的业务(假设为业务a)。
进而,交换设备310可以依次使用接口311上应用的基于QoS-Local-ID的HQoS策略中包括的用户组1的调度方式、用户12的调度方式以及业务a的调度方式对该二层报文进行调度。
实施例二
当交换设备310接收到三层报文,并根据该三层报文查询路由表/ARP表,得到的FEC索引为FEC索引11。
由于FEC索引11属于FEC资源池0,因此,交换设备310可以根据该三层报文的源IP地址查询匹配的QoS-Local-ID(假设为QoS-Local-ID203),进而,交换设备310可以根据FEC索引11以及QoS-Local-ID203,查询对应的ACL表项,将QoS-Local-ID102映射为3,进而,确定该三层报文匹配的FEC索引为FEC索引14(11+3=14)。
交换设备310根据FEC索引14查询对应的FEC表项,并将该FEC表项中记录的队列标识(QueID24)确定为该三层报文匹配的队列标识。
进而,交换设备310可以根据QueID24查询接口312上配置的基于QoS-Local-ID的HQoS策略,以得到与QueID24匹配的分级调度方式。
其中,交换设备310根据QueID24可以确定该三层报文的目的用户为用户24,所属用户组为用户组2。
此外,交换设备310可以根据该三层报文的优先级信息以及该QueID24确定该三层报文对应的业务(假设为业务b)。
进而,交换设备310可以依次使用接口312上应用的基于QoS-Local-ID的HQoS策略中包括的用户组2的调度方式、用户24的调度方式以及业务b的调度方式对该三层报文进行调度。
实施例三
当交换设备310接收到三层报文,并根据该三层报文查询路由表/ARP表,得到的FEC索引为FEC索引21。
由于FEC索引21属于FEC资源池0,因此,交换设备310可以根据该三层报文的源IP地址查询匹配的QoS-Local-ID,假设未查询到匹配的QoS-Local-ID,则交换设备310可以确定该报文的目的用户未采用基于QoS-Local-ID的HQoS策略,此时,交换设备310可以根据FEC索引21查询对应的FEC表项,并将对应的FEC表项(即FEC表项21)中记录的队列标识(QueID31)确定为该三层报文匹配的队列标识。
此时,交换设备310根据QueID31在接口313上配置的基于QoS-Local-ID的HQoS策略中查询不到匹配的分级调度方式,因此,交换设备310可以采用普通QoS调度方式对该三层报文进行调度。
通过以上描述可以看出,在本发明实施例提供的技术方案中,对于交换设备上应用了基于QoS-Local-ID的HQoS策略的接口,通过在创建下一跳出端口为该接口的FEC表项时,从目标FEC资源池中为该策略中配置的每一个QoS-Local-ID分配一个FEC表项,并在该FEC表项记录该QoS-Local-ID对应的队列标识,进而,当接收到三层报文时,且确定该三层报文匹配的第一FEC索引属于目标FEC资源池时,根据该第一FEC索引以及该三层报文的源IP地址匹配的Qos-Local-ID确定该三层报文实际匹配的第二FEC索引,并根据该第二FEC索引确定该三层报文匹配的第一队列标识,根据该第一队列标识在该三层报文的出端口上应用的调度策略查询匹配的分级调度方式,进而,根据该分级调度方式对该三层报文进行分级调度,在交换设备上实现了基于QoS-Local-ID的HQoS,扩展了基于QoS-Local-ID的HQoS的应用场景。
请参见图4,为本发明实施例提供的一种HQoS实现装置的结构示意图,其中,该HQoS实现装置可以应用于上述方法实施例中的交换设备,如图4所示,该HQoS实现装置可以包括:
接收单元410,用于接收报文;
查询单元420,用于当接收单元410接收到三层报文时,根据该三层报文查询三层转发表项,以确定与该三层报文匹配的第一转发等价类FEC索引;
查询单元420,还用于当确定第一FEC索引属于目标FEC资源池时,根据该三层报文的源IP地址查询匹配的目标服务质量本地标识QoS-Local-ID;
确定单元430,用于根据第一FEC索引以及目标QoS-Local-ID,确定与该三层报文匹配的第二FEC索引;
确定单元430,还用于根据第二FEC索引确定与该三层报文匹配的第一队列标识;
查询单元420,还用于根据第一队列标识查询该三层报文的出端口上应用的调度策略;
调度单元440,用于根据调度策略中与第一队列标识匹配的分级调度方式对该三层报文进行分级调度。
请一并参见图5,为本发明实施例提供的另一种HQoS实现装置的结构示意图,如图5所示,在图4所示HQoS实现装置的基础上,图5所示HQoS实现装置还包括:
表项处理单元450,用于当创建下一跳出端口为配置有基于QoS-Local-ID的HQoS策略的目标接口的FEC表项时,从目标FEC资源池中为目标接口分配连续预设数量的FEC表项,在连续预设数量的FEC表项的各FEC表项中记录对应的队列标识,并将连续预设数量的FEC表项中第一个FEC表项的FEC索引记录到目标接口对应的下一跳信息中。
在可选实施例中,该预设数量等于目标接口配置的QoS-Local-ID的数量+1;
相应地,确定单元430,具体用于确定与目标QoS-Local-ID对应的目标数值;其中,同一出端口配置的不同QoS-Local-ID对应的数值不同,且均为小于等于该出端口对应的QoS-Local-ID的数量的正整数;将第一FEC索引与目标数值二者之和确定为第二FEC索引。
在可选实施例中确定单元430,还用于当查询单元420未查询到与该三层报文的源IP地址匹配的目标QoS-Local-ID时,根据第一FEC索引确定与该三层报文匹配的第二队列标识;
查询单元420,还用于根据第二队列标识查询该三层报文的出端口上应用的调度策略;
调度单元440,还用于根据调度策略中与第二队列标识匹配的调度方式对该三层报文进行调度。
在可选实施例中,分级调度方式包括用户组调度方式、用户调度方式以及业务调度方式;
调度单元440,具体用于依次根据用户组调度方式、用户调度方式以及业务调度方式对该三层报文进行调度。
上述装置中各个单元的功能和作用的实现过程具体详见上述方法中对应步骤的实现过程,在此不再赘述。
对于装置实施例而言,由于其基本对应于方法实施例,所以相关之处参见方法实施例的部分说明即可。以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本发明方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
由上述实施例可见,对于交换设备上应用了基于QoS-Local-ID的HQoS策略的接口,通过在创建下一跳出端口为该接口的FEC表项时,从目标FEC资源池中为该策略中配置的每一个QoS-Local-ID分配一个FEC表项,并在该FEC表项记录该QoS-Local-ID对应的队列标识,进而,当接收到三层报文时,且确定该三层报文匹配的第一FEC索引属于目标FEC资源池时,根据该第一FEC索引以及该三层报文的源IP地址匹配的Qos-Local-ID确定该三层报文实际匹配的第二FEC索引,并根据该第二FEC索引确定该三层报文匹配的第一队列标识,根据该第一队列标识在该三层报文的出端口上应用的调度策略查询匹配的分级调度方式,进而,根据该分级调度方式对该三层报文进行分级调度,在交换设备上实现了基于QoS-Local-ID的HQoS,扩展了基于QoS-Local-ID的HQoS的应用场景。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本发明的其它实施方案。本申请旨在涵盖本发明的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本发明的一般性原理并包括本发明未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本发明的真正范围和精神由下面的权利要求指出。
应当理解的是,本发明并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本发明的范围仅由所附的权利要求来限制。
Claims (10)
1.一种分层服务质量HQoS实现方法,其特征在于,包括:
当接收到三层报文时,根据所述三层报文查询三层转发表项,以确定与所述三层报文匹配的第一转发等价类FEC索引;
当确定所述第一FEC索引属于目标FEC资源池时,根据所述三层报文的源IP地址查询匹配的目标服务质量本地标识QoS-Local-ID,并根据所述第一FEC索引以及所述目标QoS-Local-ID,确定与所述三层报文匹配的第二FEC索引;
根据所述第二FEC索引确定与所述三层报文匹配的第一队列标识,并根据所述第一队列标识查询所述三层报文的出端口上应用的调度策略;
根据所述调度策略中与所述第一队列标识匹配的分级调度方式对所述三层报文进行分级调度。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
当创建下一跳出端口为配置有基于QoS-Local-ID的HQoS策略的目标接口的FEC表项时,从所述目标FEC资源池中为所述目标接口分配连续预设数量的FEC表项,在所述连续预设数量的FEC表项的各FEC表项中记录对应的队列标识,并将所述连续预设数量的FEC表项中第一个FEC表项的FEC索引记录到所述目标接口对应的下一跳信息中。
3.根据权利要求2所述的方法,其特征在于,所述预设数量等于所述目标接口配置的QoS-Local-ID的数量+1;
所述根据所述第一FEC索引以及所述目标QoS-Local-ID,确定与所述三层报文匹配的第二FEC索引,包括:
确定与所述目标QoS-Local-ID对应的目标数值;其中,同一出端口配置的不同QoS-Local-ID对应的数值不同,且均为小于等于该出端口对应的QoS-Local-ID的数量的正整数;
将所述第一FEC索引与所述目标数值二者之和确定为所述第二FEC索引。
4.根据权利要求3所述的方法,其特征在于,所述方法还包括:
当未查询到与所述三层报文的源IP地址匹配的目标QoS-Local-ID时,根据所述第一FEC索引确定与所述三层报文匹配的第二队列标识,并根据所述第二队列标识查询所述三层报文的出端口上应用的调度策略;
根据所述调度策略中与所述第二队列标识匹配的调度方式对所述三层报文进行调度。
5.根据权利要求1所述的方法,其特征在于,所述分级调度方式包括用户组调度方式、用户调度方式以及业务调度方式;
所述根据所述调度策略中与所述第一队列标识匹配的分级调度方式对所述三层报文进行分级调度,包括:
依次根据所述用户组调度方式、用户调度方式以及业务调度方式对所述三层报文进行调度。
6.一种分层服务质量HQoS实现装置,其特征在于,包括:
接收单元,用于接收报文;
查询单元,用于当所述接收单元接收到三层报文时,根据所述三层报文查询三层转发表项,以确定与所述三层报文匹配的第一转发等价类FEC索引;
所述查询单元,还用于当确定所述第一FEC索引属于目标FEC资源池时,根据所述三层报文的源IP地址查询匹配的目标服务质量本地标识QoS-Local-ID;
确定单元,用于根据所述第一FEC索引以及所述目标QoS-Local-ID,确定与所述三层报文匹配的第二FEC索引;
所述确定单元,还用于根据所述第二FEC索引确定与所述三层报文匹配的第一队列标识;
所述查询单元,还用于根据所述第一队列标识查询所述三层报文的出端口上应用的调度策略;
调度单元,用于根据所述调度策略中与所述第一队列标识匹配的分级调度方式对所述三层报文进行分级调度。
7.根据权利要求6所述的装置,其特征在于,所述装置还包括:
表项处理单元,用于当创建下一跳出端口为配置有基于QoS-Local-ID的HQoS策略的目标接口的FEC表项时,从所述目标FEC资源池中为所述目标接口分配连续预设数量的FEC表项,在所述连续预设数量的FEC表项的各FEC表项中记录对应的队列标识,并将所述连续预设数量的FEC表项中第一个FEC表项的FEC索引记录到所述目标接口对应的下一跳信息中。
8.根据权利要求7所述的装置,其特征在于,所述预设数量等于所述目标接口配置的QoS-Local-ID的数量+1;
所述确定单元,具体用于确定与所述目标QoS-Local-ID对应的目标数值;其中,同一出端口配置的不同QoS-Local-ID对应的数值不同,且均为小于等于该出端口对应的QoS-Local-ID的数量的正整数;将所述第一FEC索引与所述目标数值二者之和确定为所述第二FEC索引。
9.根据权利要求8所述的装置,其特征在于,
所述确定单元,还用于当所述查询单元未查询到与所述三层报文的源IP地址匹配的目标QoS-Local-ID时,根据所述第一FEC索引确定与所述三层报文匹配的第二队列标识;
所述查询单元,还用于根据所述第二队列标识查询所述三层报文的出端口上应用的调度策略;
所述调度单元,还用于根据所述调度策略中与所述第二队列标识匹配的调度方式对所述三层报文进行调度。
10.根据权利要求6所述的装置,其特征在于,所述分级调度方式包括用户组调度方式、用户调度方式以及业务调度方式;
所述调度单元,具体用于依次根据所述用户组调度方式、用户调度方式以及业务调度方式对所述三层报文进行调度。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910101424.XA CN109889453B (zh) | 2019-01-31 | 2019-01-31 | 一种HQoS实现方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910101424.XA CN109889453B (zh) | 2019-01-31 | 2019-01-31 | 一种HQoS实现方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109889453A CN109889453A (zh) | 2019-06-14 |
CN109889453B true CN109889453B (zh) | 2022-07-01 |
Family
ID=66927750
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910101424.XA Active CN109889453B (zh) | 2019-01-31 | 2019-01-31 | 一种HQoS实现方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109889453B (zh) |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
FI20020791A (fi) * | 2002-04-24 | 2003-10-25 | Nokia Corp | Menetelmä ja järjestelmä tietoyksikköjen lähettämiseksi |
CN1330139C (zh) * | 2003-07-31 | 2007-08-01 | 华为技术有限公司 | 多协议标签交换(mpls)支持多端口虚拟局域网(vlan)的方法 |
CN103220255B (zh) * | 2012-01-18 | 2017-07-21 | 南京中兴新软件有限责任公司 | 一种实现单播反向路径转发urpf检查的方法及装置 |
US9344357B2 (en) * | 2014-01-24 | 2016-05-17 | Cisco Technology, Inc. | Label-switched path aggregation |
US10530692B2 (en) * | 2015-09-04 | 2020-01-07 | Arista Networks, Inc. | Software FIB ARP FEC encoding |
CN106453138B (zh) * | 2016-11-25 | 2020-03-06 | 新华三技术有限公司 | 一种报文处理方法和装置 |
CN107547311B (zh) * | 2017-08-29 | 2020-04-17 | 新华三技术有限公司 | 一种流量统计方法及装置 |
-
2019
- 2019-01-31 CN CN201910101424.XA patent/CN109889453B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN109889453A (zh) | 2019-06-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20230308393A1 (en) | System and method for efficient network isolation and load balancing in a multi-tenant cluster environment | |
CN109768927B (zh) | 一种HQoS实现方法及装置 | |
US6980555B2 (en) | Policy change characterization method and apparatus | |
CN111796905B (zh) | 一种kubernetes容器云平台VLAN网络的实现方法及*** | |
EP2695334B1 (en) | Packet scheduling method and apparatus | |
CN104660507B (zh) | 数据流转发路由的控制方法及装置 | |
WO2015092660A1 (en) | Mapping virtual network elements to physical resources in a telco cloud environment | |
CA2299111A1 (en) | Adaptive routing system and method for qos packet networks | |
CN114090244B (zh) | 一种服务编排方法、装置、***及存储介质 | |
RU2643666C2 (ru) | Способ и устройство для управления авторизацией виртуальной очереди вывода, а также компьютерный носитель информации | |
Wang et al. | Presto: Towards efficient online virtual network embedding in virtualized cloud data centers | |
CN109831393B (zh) | 面向网络虚拟化的多粒度QoS控制方法 | |
CN105262703A (zh) | 一种基于双重优先级的路由带宽分配方法 | |
CN113452806B (zh) | 基于Kubernetes***的容器适配SDN网络管理方法和*** | |
CN111082955A (zh) | 一种网络切片的方法、计算机设备及存储介质 | |
Triki et al. | A green energy-aware hybrid virtual network embedding approach | |
CN107005479B (zh) | 软件定义网络sdn中数据转发的方法、设备和*** | |
CN111600849B (zh) | 一种报文处理方法、装置、设备及机器可读存储介质 | |
CN109889453B (zh) | 一种HQoS实现方法及装置 | |
CN115604229B (zh) | 一种基于IPv6特性构建柔性组网框架的方法及*** | |
Contreras et al. | Computing at the edge: But, what edge? | |
Yi et al. | Cost and security-aware resource allocation in optical data center networks | |
Li et al. | Multi-task hybrid scheduling scheme in fc-ae-1553 multi-level switching networks | |
CN109660461A (zh) | 一种HQoS实现方法及装置 | |
El-Mekkawi et al. | Network function virtualization aware offline embedding problem using squatting-kicking strategy for elastic optical networks |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |