HQoS配置学习

华为的HQoS(Hierarchical Quality of Service)是一种多级队列调度技术,用于区分不同用户和业务的流量,提供更精细的带宽管理。它包括FQ(Flow Queue)、SQ(Subscriber Queue)和GQ(Group Queue)三个层次,通过它们实现对用户流量的区分、限速和整体限速。FQ用于区分用户业务,SQ标识用户并限制带宽,GQ则对用户组进行整体限速。配置HQoS时,需要定义流队列、用户队列和用户组队列的调度策略,确保带宽分配合理,同时提供QoS保证。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

HQoS概述

与传统的QoS基于端口进行流量调度不同,HQoS在单个端口下能区分用户和不同用户的业务。

HQoS即层次化QoS(Hierarchical Quality of Service),是一种通过多级队列调度机制,解决Diffserv模型下多用户多业务带宽保证的技术。

传统的QoS采用一级调度,单个端口只能区分业务优先级,无法区分用户。只要属于同一优先级的流量,使用同一个端口队列,不同用户的流量彼此之间竞争同一个队列资源,无法对端口上单个用户的单个流量进行区分服务。

HQoS采用多级调度的方式,可以精细区分不同用户和不同业务的流量,提供区分的带宽管理。

以NE40E的调度结构为说明

在NE40E上,没有配置HQoS的情况下,只有类队列CQ(Class Queue)和Port调度器,其调度结构如图1:没有配置HQoS时的队列调度结构。

CQ队列的属性包括:

  • 队列优先级、队列权重
  • 队列整形速率PIR
  • 报文丢弃策略,尾丢弃(Tail-drop)或WRED

Port调度器可以是按优先级调度SP(Strict Priority),或按权重调度(WRR、WDRR、WFQ算法的其中一种)。其中WRR、WDRR、WFQ都是按权重调度,为方便,本文将按权重的调度统称为WFQ。

在配置HQoS的情况下,路由器另外划分缓存,用于缓存需要层次化调度的业务流队列,并对这些流队列先进行一轮多层次调度,再将HQoS流与非HQoS流统一入CQ队列,进行统一调度,如图2:HQoS流队列调度

 

  • 叶子节点:FQ(Flow Queue)队列

    用于暂存一个用户各个优先级中的一个优先级的数据流。每个用户的数据流都可以划分为1~8个优先级,即每个用户可以使用1~8个FQ。不同用户之间不能共享FQ。每个FQ可以配置shaping值来限制该队列的最大带宽。

    FQ队列与CQ队列具有相同属性:

    • 队列优先级、队列权重
    • 队列整形速率PIR
    • 报文丢弃策略,尾丢弃(Tail-drop)或WRED
  • 中间节点:SQ(Subscriber Queue)

    一个SQ代表一个用户(例如,一个VLAN,或一个LSP,或一个PVC),每个SQ可定义其CIR和PIR。

    每个SQ固定对应8种FQ业务优先级,这1~8个FQ共享该SQ的带宽。如果哪个FQ空闲,则其他FQ可以占用空闲出来的带宽,但是受限于FQ自己的PIR,最大不能超过FQ自己的PIR。

    SQ既是调度器,又是虚队列作为被调度对象。

    • 作为调度器:对多个FQ队列进行调度。FQ队列可以配置为PQ、WFQ和LPQ。优先级为EF、CS6和CS7的FQ队列默认采用SP调度算法;优先级为BE、AF1、AF2、AF3、AF4的流队列默认采用WFQ调度算法,调度权重为10:10:10:15:15。
    • 作为被调度对象的虚队列:被赋予了两个属性,CIR和PIR。通过流量测速(Metering),将输入流量分流成“<=CIR”与“>CIR”两部分;“<=CIR”的部分是指用户付费的部分,“>CIR”的那部分流量称为EIR,EIR=PIR-CIR。EIR是指突发量,允许用户流量突发至最大值PIR。
  • 根节点:GQ(Group Queue)

    为了简便处理,可以把多个用户定义为一个用户组GQ,类似于在配置BGP对等体时把多个具有共同特点的对等体配置为一个组。例如,可以把相同总带宽需求的用户归为一个GQ,或把所有金牌级用户归为一个GQ。

    一个GQ可以绑定多个SQ,但一个SQ最多只能绑定到一个GQ内。

    GQ作为调度器,对多个SQ队列进行调度。先采用DRR算法在SQ之间调度小于CIR的那部分流量,不同SQ之间采用DRR调度。如果有剩余带宽,再采用DRR算法调度超过CIR但小于PIR的那部分流量(即EIR)。CIR和EIR之间采用SP调度算法,优先保证CIR的带宽;超过PIR的流量会被丢弃。因此,如果GQ能获得PIR带宽,则GQ下每个SQ的CIR带宽都可以得到保证,且SQ最大可以获得PIR带宽。

    此外,GQ作为根节点,可以赋予最大带宽PIR属性,用于对多个用户的流量进行整体限速。该GQ下的所有用户都受限于这个最大带宽。GQ的PIR值只是用于整体限速,并不用来保证带宽,GQ的PIR值建议不小于GQ中所有SQ的CIR之和,否则单个用户(SQ)的流量无法得到保证。

为了帮助理解,下面举例说明FQ、SQ、GQ及其关系。

假设一栋楼有20个家庭,每个家庭购买的带宽是20M,则只需要为每个家庭创建一个SQ,设置CIR和PIR均为20M即可,满足了保证每个家庭20M带宽的要求,同时这里的PIR也是限定用户最大可使用的带宽为20M。但随着VoIP、IPTV业务的开通,加上已有的个人上网HSI业务,运营商实时推出了新的带宽套餐,带宽仍然为20M,其中包含了VoIP,IPTV等增值业务。这样,每个家庭可以使用VoIP电话,机顶盒看电视(IPTV),同时还使用电脑上网冲浪(HSI)。

此需求的HQoS配置方法是:

  • 配置3个FQ,对应3种业务(VoIP、IPTV、HSI);
  • 配置20个SQ,分别对应20个家庭用户。每个SQ配置CIR和PIR,CIR保证带宽,PIR限定最大带宽。
  • 配置1个GQ对应一栋楼,将20个用户的带宽汇总,将20个用户视为“用户组”,整合20个用户的总带宽作为GQ的PIR,让这20个用户实现带宽共享。20个用户相对独立,但是总带宽又受到GQ的限制。

分层模型为:

  • FQ用于对用户的各种业务进行细分,控制用户的业务类型和带宽在各个业务之间的分配;
  • SQ用于区分用户,对每个用户的带宽进行限速;
  • GQ用于区分用户组,对20个SQ的流量进行整体限速。

FQ的作用是保证各类业务的带宽分配关系;SQ的作用是将每一个用户单独标识出来;而GQ的作用是使得各个用户之间的CIR能够得到保证,同时又达到带宽共享的目的。

超过CIR部分的带宽是不保证的,这是合理的,因为超过CIR部分的带宽实际上是用户并未付费的部分,是属于额外的。而重要的是,必须保证CIR,因为CIR的带宽是客户购买的。按照图8-2的SQ调度可以看到,用户的CIR总是可以保证的,因为用户的CIR是被单独标识出来优先被调度的,因此不会被其它用户超过CIR部分的流量抢占。

NE40E上,HQoS可实现上、下行方向的调度,且上、下行的调度结构不同。

HQoS基本概念

HQoS需要用到的基本概念包括:流队列、用户队列、用户组队列、类队列、低优先级队列。

流队列FQ(Flow Queue)

HQoS可以针对每个用户的业务流进行队列调度。通过配置峰值带宽(PIR),HQoS可以对每个用户进行带宽限制。每个用户都可以细分为8个流队列,8个流队列可以配置PQ、WFQ和LPQ队列调度;每个流队列可以配置WRED丢弃机制;可以配置流量整形的速率。

用户队列SQ(Subscriber Queue)

SQ为虚拟队列。所谓虚拟队列,是指队列不存在实际的缓存单元,不暂存数据,数据进入和离开队列没有延迟,仅作为层次化调度中的其中一级队列参与输出调度。

每个SQ固定对应8种FQ业务优先级,可配置1~8个FQ。空闲FQ不能被其它SQ利用,即这1~8个FQ共享该SQ的带宽。实际应用中,一个SQ对应一个用户(VLAN、VPN等),一个用户可使用1~8个FQ。每个SQ可定义其CIR和PIR。

用户组队列GQ(Group Queue)

HQoS可以将多个SQ绑定到一个GQ实现第三级队列调度。

GQ用来对多个用户的流量进行整体限速。设置的shaping值建议不要小于GQ中所有SQ的CIR之和,否则单个用户(SQ)的流量就无法得到保证。

GQ也是虚拟队列。每个SQ最多只能绑定到一个GQ内,也可以不绑定GQ,跨过第三级队列调度。

GQ可以实现流量整形,配置整形速率。

类队列CQ(Class Queue)

HQoS调度时,流队列报文经过用户队列调度后,要同普通报文同时进入端口中的CQ。流队列报文入CQ时,可以有两种优先级映射方式Uniform和Pipe。

  • Uniform模型:SQ中8个等级的FQ,同端口的CQ,有系统固定的映射关系。

  • Pipe模型:SQ中8个等级的FQ,同端口的CQ的映射关系,可以由用户自行配置指定。但Pipe模型不会改变报文中自身携带的优先级。

低优先级队列LPQ(Low Priority Queue)

LPQ是在以太网接口上实现的队列调度机制。

在以太网接口的HQoS中共有三种队列调度方式:PQ,WFQ,LPQ。

调度的时候,优先调度PQ队列的报文,其次是WFQ,最后是LPQ。在PQ和WFQ队列调度结束后,如果还有剩余带宽,这些剩余带宽就可以分配给LPQ。

LPQ内部的队列调度方式与PQ一样。不同在于拥塞时PQ可以抢占WFQ得带宽,而LPQ不可以抢占WFQ的带宽。

实际应用中,可以将BE流用LPQ进行调度。这样,在网络负载较重时,BE流可以完全被限制,优先满足其它业务。

配置基于模板的HQoS示例

根据不同的子接口接入不同业务的流量,以基于模板的场景为例,介绍如何配置HQoS示例。

组网需求

用户通过DSLAM接入路由器,路由器为骨干网的接入设备。如图8-9所示。

用户的三个业务映射到DSLAM的3个PVC中,在路由器上同一用户的流量分别通过GE1/0/0.1、GE1/0/0.2和GE1/0/0.3三个子接口上接入,不同的子接口接入不同业务的流量。流量进入路由器时带有两层tag,内层tag表示用户,外层tag表示业务。要对用户的流量进行统一调度,保证带宽为100M,其中EF流量带宽为30M、AF1流量带宽为10M。用户所属用户组的总带宽为500M。在接入路由器下行接口EF类型的报文流量不能超过120M。同时,业务类型PC、VOIP和IPTV分别标记外层VLAN tag为1、2、3;内层VLAN tag均为1~100。

 说明:

本例中Subinterface1.1,Subinterface2.1,Subinterface3.1,interface2分别代表GE1/0/0.1,GE1/0/0.2,GE1/0/0.3,GE2/0/0。

图3 配置基于模板的HQoS组网图

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值