linux fq队列,QOS各种队列详解(FIFO,FQ,CBWFQ,PQ).doc

QOS各种队列详解(FIFO,FQ,CBWFQ,PQ)

QOS各种队列详解(FIFO,FQ,CBWFQ,PQ)

对于拥塞管理,一般采用队列技术,使用一个队列算法对流量进行分类,之后用某种优先级别算法将这些流量发送出去。每种队列算法都是用以解决特定的网络流量问题,并对带宽资源的分配、延迟、抖动等有着十分重要的影响。

这里介绍几种常用的队列调度机制。

1. FIFO(先入先出队列,First In First Out Queuing)

图9 先入先出队列示意图

如上图所示,FIFO按照时间到达的先后决定分组的转发次序。用户的业务流在某个设备能够获得的资源取决于分组的到达时机及当时的负载情况。Best-Effort报文转发方式采用的就是FIFO的排队策略。

如果设备的每个端口只有一个基于FIFO的输入或输出队列,那么恶性的应用可能会占用所有的网络资源,严重影响关键业务数据的传送。

每个队列内部报文的发送(次序)关系缺省是FIFO。

2. PQ(优先队列,Priority Queuing)

图10 优先队列示意图

PQ队列是针对关键业务应用设计的。关键业务有一个重要的特点,即在拥塞发生时要求优先获得服务以减小响应的延迟。PQ可以根据网络协议(比如IP,IPX)、数据流入接口、报文长短、源地址/目的地址等灵活地指定优先次序。优先队列将报文分成4类,分别为高优先队列(top)、中优先队列(middle)、正常优先队列(normal)和低优先队列(bottom),它们的优先级依次降低。缺省情况下,数据流进入normal队列。

在队列调度时,PQ严格按照优先级从高到低的次序,优先发送较高优先级队列中的分组,当较高优先级队列为空时,再发送较低优先级队列中的

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Linux消息队列是一种进程间通信(IPC)方式之一。它是一个简单的消息传递机制,用于在进程之间传递数据。消息队列是一种先进先出(FIFO)的数据结构,它允许一个进程向队列中添加消息,另一个进程从队列中读取消息。 Linux消息队列由三部分组成: 1. 消息队列标识符:它是一个整数,用于标识消息队列。 2. 消息结构体:它包含要传递的数据和数据的长度。 3. 操作函数:用于创建、读取、写入和删除消息队列Linux消息队列的操作函数主要有以下几个: 1. msgget():创建或打开一个消息队列。 2. msgsnd():向消息队列中添加消息。 3. msgrcv():从消息队列中读取消息。 4. msgctl():控制和删除消息队列。 使用Linux消息队列的步骤如下: 1. 使用msgget()函数创建或打开一个消息队列,并获取消息队列标识符。 2. 使用msgsnd()函数向消息队列中添加消息。 3. 使用msgrcv()函数从消息队列中读取消息。 4. 使用msgctl()函数控制和删除消息队列Linux消息队列的优点是可以实现进程之间的异步通信,不需要像管道和FIFO一样进行同步。同时,消息队列可以缓存消息,当一个进程没有准备好读取消息时,消息不会被丢失。但是,Linux消息队列的缺点是如果发送者发送的消息大小超过了消息队列的大小,消息将被截断。此外,消息队列的使用会占用一定的系统资源。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值