概述
今天从论坛上看到一个要求实现网络通信当中,路由器实现QoS的调度算法--加权公平队列(WeightedFairQueuing)算法。
翻了翻以前的教科书,感觉理解起来还是比较容易的,于是,编程实现了一下。
算法介绍:
改进QoS的技术,一般从四个方面来改进,分别是:调度、通信量整形、许可证控制和资源预留。
调度方面,主要有三种,分别是:先进先出(first-in,first-out,FIFO)、优先权队列(priority queuing)和 加权公平队列(weighted fair queuing)。
FIFO会将数据分组放入队列(缓冲区)当中等待,直到节点(路由或交换器)处理它们为止。如果分组的到达速率超过处理速率,队列将被填满,新分组将被丢弃。
PQ将数据分组先分配到不同优先权的队列中,较高优先权的队列会优先处理,直到处理为空,再处理较低优先权的队列。到达的分组通过分类器将不同的分组分往不同优先权的队列。若高优先权队列始终有数据,低优先权的队列将得不到处理。
WFQ仍然会将数据分组分往不同的队列,但是,每个队列都有各自的权重,系统以轮换的方式来处理每个队列中的分组,并且所处理的分组数量等于相应队列的权重。
代码展示:
最后
以上就是自然金鱼为你收集整理的改进QoS的技术-调度算法:加权公平队列(WeightedFairQueueing)算法的全部内容,希望文章能够帮你解决改进QoS的技术-调度算法:加权公平队列(WeightedFairQueueing)算法所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复