基于分类的队列

基于分类的队列英语:Class-based queueing)是一种用于网络调度器的队列技术。它允许流量在被按类分组后均衡分享带宽。分类可以基于不同的参数,比如优先级,接口或者发起通讯的应用程序(端口) 。

CBQ 是一种由位于圣劳伦斯伯克利国家实验室网络研究组开发的算法。它可以作为传统基于路由的队列技术的替代品。现在CBQ是一种开放技术,属于公有领域。CBQ经常被公司部署于他们的WAN边界。

CBQ将用户流量分入不同的,由类组成的层级。这些类基于IP地址,协议和应用程序类型的不同组合进行划分。一个公司的会计部门,举例来说,可能不需要与工程部门相同的互联网访问权限。因为每个公司的组织结构均不同,并且有着不同的政策和商业需求,因此流量管理技术在分类流量的时候需要提供足够的灵活性和力度控制。

CBQ 允许网络管理者划分流量到多层级的树形结构中。举例来说,有一些公司可能先识别每个部门的总体需求,然后定义在这个部门中每一个或一组应用程序的需求。为了性能和架构需要,传统的基于路由的队列定义被限制在较少数量的分类中,且只能进行一维分类。

由于CBQ运作在网络层,它可以在任何数据链路层技术上提供和IP协议,如TCPUDP相同的效果。它也可以不受客户端或服务器端TCP/IP协议栈实现的不同的影响,因为它基于标准的TCP/IP流控制机制进行端到端流量控制。

CBQ的一个典型实现是在GPL协议下发布的Linux内核[1]

参考

编辑