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流可以完全被限制,优先满足其它业务。