层次化QOSHQOS.docx

上传人:b****4 文档编号:3768528 上传时间:2022-11-25 格式:DOCX 页数:28 大小:687.70KB
下载 相关 举报
层次化QOSHQOS.docx_第1页
第1页 / 共28页
层次化QOSHQOS.docx_第2页
第2页 / 共28页
层次化QOSHQOS.docx_第3页
第3页 / 共28页
层次化QOSHQOS.docx_第4页
第4页 / 共28页
层次化QOSHQOS.docx_第5页
第5页 / 共28页
点击查看更多>>
下载资源
资源描述

层次化QOSHQOS.docx

《层次化QOSHQOS.docx》由会员分享,可在线阅读,更多相关《层次化QOSHQOS.docx(28页珍藏版)》请在冰豆网上搜索。

层次化QOSHQOS.docx

层次化QOSHQOS

HQoS

HQoS

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

传统的QoS采用一级调度,单个端口只能区分业务优先级,无法区分用户。

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

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

基本调度模型

调度模型分为两部分:

∙调度器:

对多个队列进行调度。

调度器执行某种调度算法,决定各个队列之间报文发送的先后顺序。

调度算法包括按优先级调度SP(StrictPriority),或按权重调度(DRR、WRR、DWRR、WFQ算法的其中一种)。

调度算法详细介绍请参见“队列及拥塞管理”。

调度器就一个动作:

选择队列。

队列被调度器选中时,队列最前面的报文被发送。

∙被调度对象:

即队列。

报文根据一定的映射关系进入不同的队列。

队列被赋予3种属性:

1)根据调度算法,队列被赋予优先级或权重。

2)队列整形速率PIR。

3)报文丢弃策略,包括尾丢弃(Tail-drop)或WRED。

队列有两个动作:

1)入队:

当系统收到报文时,根据报文丢弃策略决定是否丢弃报文。

如果报文未被丢弃,则报文入队尾。

2)出队:

队列被调度器选中时,队列最前面的报文出队。

出队时,先执行队列整形,之后报文被发送。

HQoS层次化调度模型

为了实现分层调度,HQoS采用树状结构的层次化调度模型,如图1。

树状结构有三种节点:

∙叶子节点:

处于最底层,表示一个队列。

叶子节点是被调度对象,而且只能被调度。

∙中间节点:

处于中间层,既是调度器又是被调度对象。

当作为被调度对象时,一个中间节点可以看成一个虚队列。

所谓虚队列,是指仅作为调度结构中的一个层次,不是实际占用缓存的队列。

∙根节点:

处于最高层,表示最高级别的调度器。

根节点只是调度器,不是调度对象。

根节点通常被赋予PIR属性,用于限制输出总带宽。

图1层次化调度模型

调度器可以对多个队列进行调度,也可以对多个调度器进行调度。

其中,调度器可以看成父节点,被调度的队列/调度器看成子节点。

父节点是多个子节点的流量汇聚点。

每个节点可以指定分类规则和控制参数,对流量进行一次分类和控制。

不同层次的节点,其分类规则可以面向不同的分类需求(如用户、业务类型等),并且在不同的节点上可以对流量做不同的控制动作,从而实现了对流量进行多层次、多用户、多业务的管理。

HQoS的层次划分

HQoS层次化调度中,可以只有一层中间节点,实现三层调度结构;也可以有多层中间节点,实现多层调度结构。

甚至可以将两个或多个层次化调度模型叠加,通过制定映射规则,将一个调度模型输出的报文映射到另一个调度模型的叶子节点,如图2,从而实现更加灵活的调度需求。

图2灵活的调度层次划分

不同厂家、不同芯片,实现的调度层次不同。

华为路由器的调度结构

在华为路由器上,没有配置HQoS的情况下,只有类队列CQ(ClassQueue)和Port调度器,其调度结构如图3。

图3没有配置HQoS时的队列调度结构

CQ队列的属性包括:

∙队列优先级、队列权重

∙队列整形速率PIR

∙报文丢弃策略,尾丢弃(Tail-drop)或WRED

Port调度器可以是按优先级调度SP(StrictPriority),或按权重调度(WRR、DWRR、WFQ算法的其中一种)。

说明:

WRR、DWRR、WFQ都是按权重调度,为方便,本文将按权重的调度统称为WFQ。

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

图4HQoS流队列调度

∙叶子节点:

FQ(FlowQueue)队列

用于暂存一个用户各个优先级中的一个优先级的数据流。

每个用户的数据流都可以划分为1~8个优先级,即每个用户可以使用1~8个FQ。

不同用户之间不能共享FQ。

每个FQ可以配置shaping值来限制该队列的最大带宽。

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

▪队列优先级、队列权重

▪队列整形速率PIR

▪报文丢弃策略,尾丢弃(Tail-drop)或WRED

∙中间节点:

SQ(SubscriberQueue)

一个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(GroupQueue)

为了简便处理,可以把多个用户定义为一个用户组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)的流量无法得到保证。

说明:

对GQ的PIR的补充说明:

当设备支持SQ动态调整带宽特性时,

▪如果所有SQ的CIR之和超过GQ带宽,按CIR:

CIR的比例分配带宽。

如果所有SQ的PIR之和超过GQ带宽时,先满足各SQ的CIR带宽,再按EIR:

EIR的比例分配剩余带宽(EIR=PIR-CIR)。

▪如果所有SQ的CIR之和超过GQ带宽,按CIR:

CIR的比例分配带宽。

例如,SQ1的CIR=100Mbps,SQ2的CIR=50Mbps,而GQ带宽只有100Mbps,则最终SQ1和SQ2按照100M:

50M的比例输出。

▪如果所有SQ的PIR之和超过GQ带宽,先满足各SQ的CIR带宽,再按EIR:

EIR的比例分配剩余带宽。

例如,SQ1的CIR=100Mbps,PIR=150Mbps;SQ2的CIR=0Mbps,PIR=100Mbps;GQ带宽是200Mbps。

首先,SQ1获得100M的CIR,剩余100M带宽按SQ1、SQ2的EIR比例分配。

SQ1的EIR=50M;SQ2的EIR=100M,两者会近似按照1:

2的比例分剩余的100M。

最终,SQ1获得133Mbps,SQ2获得66Mbps。

为了帮助理解,下面举例说明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用于区分用户组,对5个SQ的流量进行整体限速。

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

超过CIR部分的带宽是不保证的,这是合理的,因为超过CIR部分的带宽实际上是用户并未付费的部分,是属于额外的。

而重要的是,必须保证CIR,因为CIR的带宽是客户购买的。

按照图4的SQ调度可以看到,用户的CIR总是可以保证的,因为用户的CIR是被单独标识出来优先被调度的,因此不会被其它用户超过CIR部分的流量抢占。

华为路由器上,HQoS可实现上、下行方向的调度,且上、下行的调度结构不同。

HQoS上行队列调度

图5HQoS上行调度结构

HQoS的上行队列调度,HQoS流经过FQ->SQ->GQ的调度之后,与非HQoS流会合,统一进行如下两层调度:

∙目的板TB(TargetBlade)调度

TB调度也称为VOQ(VirtualOutputQueue)调度。

TB调度的作用可以借用比喻来理解:

如下图为一个十字路口,A路口来了3辆车(汽车、铲车和卡车),分别去往B、C、D。

如果此时B路口堵车,则汽车不能动,由于它排在前面,后面的铲车和卡车也不能动,尽管C、D路口是畅通的。

如果在A路口针对目的地B、C、D路口分别设立三条车道,则上面的问题就可以解决了。

同理,对于路由器的交换网板,上面的A、B、C、D路口相当于不同的单板。

如果每块单板都为去往的不同目的单板的报文分配队列,这种队列称为VOQ,可以预防因某块目的单板拥塞而影响去往其他目的单板的报文。

VOQ是设备自动划分的,用户无法更改VOQ队列属性和调度器属性。

说明:

组播报文上行还没有复制,还不确定去往哪个目的单板,所以组播报文单独一个VOQ队列。

对于单播,有多少个目的单板,就有多少个单播VOQ队列。

VOQ调度中,先在单播VOQ队列之间进行DRR调度,再在单播和组播两者之间进行DRR调度。

∙类队列CQ(ClassQueue)调度

对于上行调度,有4个CQ队列,分别叫做COS0(对应CS7、CS6和EF)、COS1(对应AF4和AF3)、COS2(对应AF2和AF1)和COS3(对应BE)。

COS0为PQ队列,优先调度COS0队列,再在COS1~COS3队列之间进行WFQ调度,WFQ权值为1:

2:

4。

用户无法更改上行CQ队列属性和调度器属性。

对于非HQoS的流量,则直接进入4个上行CQ队列,不经过FQ队列。

对于HQoS的流量,则经过FQ队列和CQ队列。

上行调度过程如下:

1.报文入队:

报文首先入FQ队列。

报文入FQ队列时,系统检查队列状态,确定是否进行尾丢弃或WRED丢弃,如果报文未被丢弃,则入FQ队尾。

2.请求调度:

报文入FQ队列后,向SQ调度器报告队列状态变化并请求调度。

SQ调度器再向其上一级GQ调度器报告队列状态变化并请求调度;请求调度的过程是FQ-->SQ-->GQ。

3.逐级调度:

GQ调度器收到请求后开始向下选择SQ,被选中的SQ则选择FQ,调度过程是GQ-->SQ-->FQ。

4.报文出队:

FQ被选中后,FQ队列最前面的报文出队,进入VOQ队尾。

VOQ向CQ调度器报告队列状态变化并请求调度。

CQ收到请求向下选择VOQ,被选中的VOQ队列最前面的报文出对,送入交换网板。

因此整体调度过程是(FQ-->SQ-->GQ)+(VOQ-->CQ)。

表1HQoS上行各级调度汇总

队列/调度器

队列属性

调度器属性

FQ队列

∙队列优先级、队列权重,可配置

∙队列整形速率PIR,可配置,缺省情况,不设置PIR

∙报文丢弃策略,缺省为尾丢弃,可配置为WRED

-

SQ

∙CIR,可配置

∙PIR,可配置

∙可配置

∙可采用PQ或WFQ对FQ进行调度。

缺省情况下,EF、CS6和CS7采用PQ,AF2、AF3和AF4采用WFQ,BE和AF1采用LPQ

GQ

∙PIR,可配置。

只是用于整体限速,并不用来保证带宽

∙不可配置

∙先在SQ之间调度CIR流量,不同SQ之间采用DRR调度。

如果有剩余带宽,再调度EIR流量,SQ之间也是采用DRR。

CIR和EIR之间采用SP调度算法,优先保证CIR的带宽;超过PIR的流量会被丢弃

VOQ

∙不可配置

∙不可配置

∙先在单播VOQ队列之间进行DRR调度,再在单播和组播两者之间进行DRR调度

CQ

∙不可配置

∙不可配置

∙COS0为PQ队列,优先调度COS0队列,再在COS1~COS3队列之间进行WFQ调度,WFQ权值为1:

2:

4

HQoS下行队列调度

在华为路由器上,有些单板的物理接口卡(PIC,PhysicalInterfaceCard)可能嵌了一个TM(TrafficManager)芯片,称为eTM(egressTrafficManager)子卡。

有些单板的物理接口卡没有eTM子卡。

如果PIC卡嵌了eTM,下行调度在eTM上进行;如果PIC卡未嵌eTM,则下行调度在下行TM上进行,这两种方式的调度过程有差异。

说明:

V600R002及之后版本才支持eTM子卡。

嵌有eTM子卡的单板包括LPUF-40/BSUF-40、LPUF-21/BSUF-21、BSUA,对应的eTM子卡详细信息如下:

产品

母板

eTM子卡

BOM编码

订购名称

NE40E、NE80E、CX600

LPUF-40

20端口1000Base-X-SFP灵活插卡E(P40-E)

03030LYU

CR5D0EEGFE70

2端口10GBaseLAN/WAN-XFP灵活插卡E(P40-E)

03030MGC

CR5D0L2XXE70

LPUF-21

1端口10GBaseLAN/WAN-XFP灵活插卡E(P20-E)

03030LVG

CR5M0L1XXE20

10端口1000Base-X-SFP灵活插卡E(P20-E)

03030LVF

CR5M0EAGFE20

ME60

BSUF-40

20端口1000Base-X-SFP灵活插卡E(BP40-E)

03030NFT

ME0D0EEGFE70

2端口10GBaseLAN/WAN-XFP灵活插卡E(BP40-E)

03030NFR

ME0D0L2XXE70

BSUF-21

1端口10GBaseLAN/WAN-XFP灵活插卡E(BP20-E)

03030HEE

ME0M0E1XXE20

10端口1000Base-X-SFP灵活插卡E(BP20-E)

03030LLF

ME0M0EAGFE20

6端口1000Base-X-SFP灵活插卡E(BP20-E)

03030MDM

ME0M0E6GFE20

BSUA(宽带业务处理板BSU)

8端口OC-3c/STM-1cATM-SFP宽带业务处理板

说明:

BSUA是集成板,其eTM子卡不是灵活插卡。

03030NGS

ME0DBSUA1020

∙下行TM调度

图6HQoS下行TM调度结构

下行TM调度,除了FQ->SQ->GQ调度,还包括CQ->Port的调度。

下行有8个CQ队列,分别为CS7、CS6、EF、AF4、AF3、AF2、AF1和BE,其队列参数及调度参数允许用户修改。

下行TM调度过程:

1.报文入队:

报文首先入FQ队列。

2.请求调度:

下行整体请求调度的过程是(FQ-->SQ-->GQ)+(CQ-->目的端口)。

3.逐级调度:

下行整体调度过程是(目的端口-->CQ)+(GQ-->SQ-->FQ)。

4.报文出队:

FQ被选中后,FQ队列最前面的报文出队,进入CQ队列。

CQ队列报文出队后送入目的端口。

对于非HQoS的报文,则直接进入8个下行CQ队列,不经过FQ队列。

表2HQoS下行TM各级调度汇总

队列/调度器

队列属性

调度器属性

FQ队列

▪队列优先级、队列权重,可配置

▪队列整形速率PIR,可配置,缺省情况,不设置PIR

▪报文丢弃策略,缺省为尾丢弃,可配置为WRED

-

SQ

▪CIR,可配置

▪PIR,可配置

▪可配置

▪可采用PQ或WFQ对FQ进行调度。

缺省情况下,EF、CS6和CS7采用PQ,AF2、AF3和AF4采用WFQ,BE和AF1采用LPQ

GQ

▪PIR,可配置。

只是用于整体限速,并不用来保证带宽

▪不可配置

▪先在SQ之间调度CIR流量,不同SQ之间采用DRR调度。

如果有剩余带宽,再调度EIR流量,SQ之间也是采用DRR。

CIR和EIR之间采用SP调度算法,优先保证CIR的带宽;超过PIR的流量会被丢弃

CQ队列

▪队列优先级、队列权重,可配置

▪队列整形速率PIR,可配置,缺省情况,不设置PIR

▪报文丢弃策略,缺省为尾丢弃,可配置为WRED

-

Port

▪PIR,可配置(端口限速)。

▪可配置

▪可采用PQ或WFQ对FQ进行调度。

缺省情况下,EF、CS6和CS7采用PQ,AF2、AF3和AF4采用WFQ,BE和AF1采用LPQ

∙下行eTM调度

图7HQoS下行eTM调度结构

与下行TM调度相比,下行eTM调度是一个五级调度结构,不是两个多级调度结构的叠加。

下行eTM调度只有FQ一种实体队列,没有CQ队列。

对FQ队列,除了FQ->SQ->GQ调度外,还进行父GQ调度,也称为虚端口VI(VirtualInterface)调度。

说明:

此处的虚端口只是调度器的名称,并不是通常说的“虚拟端口”。

具体应用时,虚端口可以对应子接口,也可以对应物理接口或其他。

不同应用,虚端口所指的对象不同。

下行TM调度和下行eTM调度的区别在于:

▪下行TM是两个调度结构的叠加,其五级调度可划分为(FQ->SQ->GQ)+(CQ->Port)两部分。

HQoS流量先经过(FQ->SQ->GQ),再与非HQoS流量在CQ队列会合,进行(CQ->Port)的调度。

▪下行eTM是一级实体队列的调度,其五级调度为FQ->SQ->GQ->VI->Port。

对于非HQoS流量的8个CQ队列,系统设置了一个默认的SQ队列。

该SQ队列直接参与最高级的Port调度。

表3HQoS下行eTM各级调度汇总

队列/调度器

队列属性

调度器属性

FQ队列

▪队列优先级、队列权重,可配置

▪队列整形速率PIR,可配置,缺省情况,不设置PIR

▪报文丢弃策略,缺省为尾丢弃,可配置为WRED

-

SQ

▪CIR,可配置

▪PIR,可配置

▪可配置

▪可采用PQ或WFQ对FQ进行调度。

缺省情况下,EF、CS6和CS7采用PQ,AF2、AF3和AF4采用WFQ,BE和AF1采用LPQ

GQ

▪PIR,可配置。

只是用于整体限速,并不用来保证带宽

▪不可配置

▪先在SQ之间调度CIR流量,不同SQ之间采用DRR调度。

如果有剩余带宽,再调度EIR流量,SQ之间也是采用DRR。

CIR和EIR之间采用SP调度算法,优先保证CIR的带宽;超过PIR的流量会被丢弃

父GQ/VI

▪PIR,可配置。

只是用于整体限速,并不用来保证带宽

▪不可配置

▪在不同GQ之间进行DRR调度

Port

▪PIR,可配置(端口限速)。

▪不可配置

▪在不同父GQ/VI之间进行DRR调度

∙下行TM调度和eTM调度的差异

表4下行TM调度和eTM调度的差异

差异项

下行TM调度

下行eTM调度

port-queue命令行

针对整个端口某个优先级的流量。

针对非流队列的某个优先级的流量。

GQ带宽共享

GQ带宽可以基于TM共享,只要GQ模板名字相同。

GQ带宽只能基于接口共享,即使GQ模板名字相同。

SQ带宽共享

同一GQ下的多个SQ跨物理口共享。

只能同一GQ下的多个SQ跨子接口共享,不能实现跨物理口共享。

Trunk和成员口

Trunk接口及其成员接口都可以配置port-queue,成员口的配置优先生效。

成员口的配置对该成员口的所有流量进行调度。

Trunk接口及其成员接口都可以配置port-queue,但port-queue只对所有成员口的非流队列生效,不对流队列生效。

∙下文以端口整形为例详细说明下行TM调度和eTM调度的差异。

假设某接口的主接口配置对port-queue的整形,子接口配置对flow-queue/user-queue整形:

∙flow-queueFQ

∙queueefshaping10M

∙interfacegigabitethernet1/0/0

∙port-queueefshaping100M

∙interfacegigabitethernet1/0/0.1

∙user-queuecir50mpir50mflow-queueFQ

∙interfacegigabitethernet1/0/0.2

∙//注:

gigabitethernet1/0/0.3不配置user-queue和qos-profile

▪对于下行TM调度,port-queue配置的shaping值即为物理接口的总带宽,包括HQoS和非HQoS流量。

以上配置表示:

▪从子接口GE1/0/0.1输出的EF流不超过10Mbps;

▪从物理接口GE1/0/0输出的EF不超过100Mbps,包括从主接口GE1/0/0、子接口GE1/0/0.1、GE1/0/0.2的EF流。

▪对于下行eTM调度,port-queue配置的shaping值仅为非HQoS流量的总带宽,即默认SQ的带宽。

上述配置表示:

▪从主端口GE1/0/0和子接口GE1/0/0.2输出的EF流为非HQoS流,一共不超过100Mbps;

▪从子接口GE1/0/0.1输出的EF流不超过10Mbps;

▪从物理端口GE1/0/0输出的EF最大可到110Mbps。

HQoS优先级映射

HQoS上、下行调度体系都有2种实体队列,上行有8个FQ队列和4

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 求职职场 > 简历

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1