WFQ-加权公平排队

WFQ是一个复杂的排队过程,可以保证相同优先级业务间公平,不同优先级业务间加权。队列的数目可预先配置,范围是(16-4096)。
WFQ,在保证公平(带宽、延迟)的基础上体现权值,权值大小依赖于JP报文头中携带的IP优先级(Precedence)。WFQ对报文按流进行分类(相同源IP地址,目的IP地址,源端口号,日的端口号,协议号,Precedence的报文属于同一个流),每一个流被分配到一个队列,该过程称为散列。
WFQ入队过程采用HASH算法来自动完成,尽量将不同的流分入不同的队列。 在出队的时候,与使用循环调度一样,WFQ调度器也以循环的方式为各个队列提供服务,与循环排队的不同之处在于,每个队列在任何时间间隔内可能收到不同数量的服务; WFQ按流的优先级(precedence)来分配每个流应占有出口的带宽。优先级的数值越小,所得的带宽越少。优先级的数值越大,所得的带宽越多。这样就保证了相同优先级业务之间的公平,体现了不同优先级业务之间的权值。

如:接口中当前有8个流,它们的优先级分别为O,2,2,3,4,5,6,7。则带宽的总配额将是:所有(流的优先级+1)的和。
即:1+3+3+4+5+6+7+8=37

每个流所占带宽比例为:(自己的优先级数+1),(所有(流的优先级+1)的和)。即,每个流可得的带宽分别为:
1/37,3/37,3/37,4/37,5/37,5/37,6/37,7/37,8/37。

由此可见,WFQ在保证公平的基础上对不同优先级的业务体现权值,而权值依赖于IP报文头中所携带的IP优先级。
  
WFQ优点:

  1. 配置简单(不用手工分类)
  2. 保证所有的流都有一定的带宽
  3. 丢弃野蛮流量
  4. 大多数平台上都支持
  5. 支持所有IOS版本

WFQ缺点:

  1. 每个子队列都继承了FIFO的缺点
  2. 多个不同的流可能会被分入同一个队列(流的数量超过了配置的队列数)
  3. 不支持手工分类
  4. 不能提供固定带宽保证
  5. 因为使用了复杂的分类和调度机制,对系统资源有一定的限制
  • 2
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值