HQoS原理描述
HQoS基于队列实现层次化调度,目前设备支持流队列(Flow Queue)和用户队列(Subscriber Queue)。队列以树状结构汇聚,流队列为叶子节点,用户队列为根节点。报文做层次化调度时,首先进入叶子节点,经过调度后,从根结点发送出去,同时可以进行下一步操作比如端口队列调度等。同时设备还支持从流队列到端口队列的映射功能,实现对不同用户的同一种业务的流量调度。如图10-1所示。
有线无线用户认证授权场景下,在AC上进行HQoS时,设备会另外划分队列缓存,用于缓存需要层次化调度的业务流队列,并对这些流队列先进行一轮多层次化调度。目前设备支持流队列FQ(Flow Queue)、用户队列SQ(Subscriber Queue)和AP队列GQ(Subscriber Group Queue)。整个流程如图10-2所示。
流队列
HQoS以DiffServ解决方案为基础,报文根据映射后的内部优先级进入对应的流队列,从而实现对业务的区分。每个用户都有8个流队列,分别对应8个业务优先级(BE、AF1、AF2、AF3、AF4、EF 、CS6、CS7),8个流队列可以配置PQ(优先级队列)或WFQ(加权公平队列)调度;每个流队列支持WRED(加权随机早期检测)以及流量整形,保证高优先级的业务能够得到优先调度和更高的带宽。
用户队列
用户队列主要用来区分不同的用户。
如图10-1所示,这里的用户通常是指一个VLAN(虚拟局域网)、VPN(虚拟私人网络)等,用户的划分主要通过ACL进行。每个用户有一个用户队列,它由8个流队列聚合而来。用户队列可以配置流量整形,限制每个用户的总带宽。
如图10-2所示,每个经过RADIUS授权HQoS属性的用户上线时都会被分配一个SQ,而其他用户会被分配到同一个SQ,即相应AP队列的默认SQ。VIP用户的SQ之间为WDRR调度,普通用户的SQ之间为WDRR调度,而VIP用户的SQ与普通用户的SQ之间为PQ调度。因此,当发生网络拥塞时,VIP用户的业务流量绝对优先。这里的“绝对优先”是指,即使是VIP用户的最低优先级报文,也会比普通用户的最高优先级报文优先得到调度。
端口队列
端口队列与流队列类似,8个端口队列对应8种业务类型。8个队列可以配置PQ或WDRR队列调度;每个队列支持配置WRED以及流量整形。具体配置可以参考配置拥塞管理、配置拥塞避免(WRED丢弃模板模式)和配置流量整形。设备支持配置流队列到端口队列的映射,队列映射是流队列的8个优先级队列(BE、AF1、AF2、AF3、AF4、EF、CS6、CS7)在入8个端口队列(BE、AF1、AF2、AF3、AF4、EF、CS6、CS7)时的一个入队列映射功能,通过建立流队列->端口队列的映射,可以灵活的控制流队列某一服务等级队列中的业务流量进入端口队列的某一服务等级队列。
AP队列
每台AP对应一个GQ,即同一个AP下的所有用户就被归为一个GQ。一个GQ可以绑定多个SQ,但是一个SQ只能绑定到一个GQ内。AP队列之间为WDRR调度。
目标端口
目标端口即设备的物理接口,数据最终通过目标端口转发出去,设备支持在完成上面的队列调度后还可以为每个目标端口配置流量整形。具体配置可以参考配置出方向的接口限速。