linux进入cbq文件夹,Linux流量控制(SFQ/TBFPRIO/CBQ/HTB原理介绍)

linux进入cbq文件夹,Linux流量控制(SFQ/TBFPRIO/CBQ/HTB原理介绍)Linux 流量控制控发不控收 所以只能对产生瓶颈网卡处的发包速率进行控制 而网络瓶颈分析亦为 Linux 网络流控的第一步 二种流控算法 Linux 流量控制控发不控收 所以只能对产生瓶颈网卡处的发包速率进行控制 而网络瓶颈分析亦为 Linux 网络流控的第一步 二种流控算法上分 无类算法用于树叶级无分支的队列 SFQTBFpFIFO 分类算法用于多分支的队列 PRIOHTBCBQ 调度在分类器的

Linux流量控制控发不控收,所以只能对产生瓶颈网卡处的发包速率进行控制..而网络瓶颈分析亦为Linux网络流控的第一步。二种流控算法

Linux流量控制控发不控收,所以只能对产生瓶颈网卡处的发包速率进行控制..而网络瓶颈分析亦为Linux网络流控的第一步。

二种流控算法上分:

无类算法 用于树叶级无分支的队列 SFQ TBF pFIFO

分类算法 用于多分支的队列 PRIO HTB CBQ

调度

在分类器的帮助下,一个队列规定可以裁定某些数据包可以排在其他数据包之前发送。这种处理叫做“调度”,比如此前提到的pfifo_fast就是这样的。调度也可以叫做“重排序”,但这样容易混乱。

整形

在一个数据包发送之前进行适当的延迟,以免超过事先规定好的最大速率,这种处理叫做“整形”。整形在出对处进行。习惯上,通过丢包来降速也经常被称为整形。

1 pfifo_fast

这个队列的特点就象它的名字——先进先出(FIFO),也就是说没有任何数据包被特殊对待。至少不是非常特殊。

这个队列有3个所谓的“频道”。FIFO规则应用于每一个频道。并且:如果在0频道有数据包等待发送,1频道的包就不会被处理,1频道和2频道之间的关系也是如此。

内核遵照数据包的TOS标记,把带有“最小延迟”标记的包放进0频道。

不要把这个无类的简单队列规定与分类的PRIO相混淆!虽然它们的行为有些类似,但对于无类的pfifo_fast而言,你不能使用tc命令向其中添加其它的队列规定。

pfifo_fast队列规定作为硬性的缺省设置,,你不能对它进行配置

2.队列控制的无类算法 SFQ

SFQ(Stochastic Fairness Queueing 随机公平队列)是公平队列算法家族中的一个简单实现.它的精确性不如其它的方法,但实现了高度的公平,需要的计算量亦很少。

SFQ算法主要针对一个TCP会话或者UDP流.流量被分成相当多数量的FIFO队列中,每个队列对应一个会话.数据按照简单轮转的方式发送, 每个会话都按顺序得到发送机会. 这种方式非常公平,保证了每一个会话都不会没其它会话所淹没.

SFQ之所以被称为”随机”,是因为它并不是真的为每一个会话创建一个队列,而是使用一个散列算法,把所有的会话映射到有限的几个队列中去. 因为使用了散列,所以可能多个会话分配在同一个队列里,从而需要共享发包的机会,也就是共享带宽.为了不让这种效应太明显,SFQ会频繁地改变散列算法, 以便把这种效应控制在几秒钟之内(时间由参数设定).

注:SFQ只会发生在数据发生拥堵,产生等待队列的网卡上..出口网卡若无等待队列,SFQ亦不起作用…

以下示例即在网卡上建立SFQ:

#tc qdisc add dev eth0 root handle 1: sfq

SFQ参数有perturb(重新调整算法间隔) quantum 基本上不需要手工调整:

perturb

多少秒后重新配置一次散列算法。如果取消设置,散列算法将永远不会重新配置(不建议这样做)。10秒应该是一个合适的值。

quantum

一个流至少要传输多少字节后才切换到下一个队列。却省设置为一个最大包的长度(MTU的大小)。不要设置这个数值低于MTU!

handle 1: 规定算法编号.

#tc qdisc sh dev eth0 显示算法

#tc qdisc del dev eth0 root 删除 注:默认eht0支持TOS

SFQ队列一般用在树叶级,配合其它流量整形算法一并使用。

logo.gif

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/214498.html原文链接:https://javaforall.net

(0)
上一篇 2026年3月18日 下午4:07
下一篇 2026年3月18日 下午4:07


相关推荐

  • 混合开发hybrid原理_混合开发是什么意思

    混合开发hybrid原理_混合开发是什么意思(一)开发移动三种模式(1)NativeApp:(原生APP)写App的同学,比如ios,安卓等(2)HybridApp:(混合开发),h5页面嵌入App中(3)WebApp:用手机浏览器打开h5页面(二)优缺点:(1)NativeApp:基本可以操作任何手机系统,比如(视频、扫码、获取通讯录、打电话)等(2)HybridApp:混合开发,如果想要h5操作手机系统,需要app同学配合前端,给前端提供相应的操作api前端也可以自己做混合开发,需要借助.

    2026年2月12日
    5
  • HTML、CSS、JavaScript学习总结

    HTML、CSS、JavaScript学习总结学习总结HTML网站开发的主要原则是:– 用标签元素HTML描述网页的内容结构;– 用CSS描述网页的排版布局;– 用JavaScript描述网页的事件处理,即鼠标或键盘在网页元素上的动作后的程序HTML(Hyper Text Mark-up Language 超文本标记语言)的缩写,是最基础的网页语言 。 Html是通过标签来定义的语言,代码都是由标签所组成 。Htm

    2022年5月16日
    40
  • java定时任务实现的几种方式注解(JAVA定时任务)

    摘要:在开发测试工具的应用后台,经常听到同事说要做个定时任务把做日志处理,或者数据清理,包括做些复杂的业务计算逻辑,在选择定时任务的时候,怎么能够快速实现,并且选择一种更适合自己的方式呢?我这里把定时任务的实现收集整理了一些方法,希望可以帮到刚开始做定时任务的同学,写得不对的地方请指正。一在开发测试工具的应用后台,经常听到同事说要做个定时任务把做日志处理,或者数据清理,…

    2022年4月14日
    780
  • 非满秩矩阵也能求逆矩阵吗_广义逆矩阵的性质

    非满秩矩阵也能求逆矩阵吗_广义逆矩阵的性质今天遇到一个很奇怪的问题:一个方阵,逆矩阵存在,但不是满秩。问题来源  在实际应用的时候,发现返回值都是0,于是跟踪到这里,发现了这个问题:JtJ不是满秩,因此JtJN保持初始化的零值。matJtJN=zeros(N,N);matResult=zeros(N,1);if(N==rank(JtJ)){JtJN=inv(JtJ);}for…

    2025年7月26日
    5
  • macpycharm2021激活码【在线注册码/序列号/破解码】

    macpycharm2021激活码【在线注册码/序列号/破解码】,https://javaforall.net/100143.html。详细ieda激活码不妨到全栈程序员必看教程网一起来了解一下吧!

    2022年3月18日
    119
  • 详解数据存储芯片AT24C02的应用及编程

    详解数据存储芯片AT24C02的应用及编程一 芯片简介 AT24C02 是一个 2K 位串行 CMOSE2PROM 内部含有 256 个 8 位字节 采用先进 CMOS 技术实质上减少了器件的功耗 AT24C02 有一个 8 字节页写缓冲器 该器件通过 IIC 总线接口进行操作 有一个专门的写保护功能 二 芯片参数 1 特点工作电压 1 8V 5 5V 低功耗 CMOS 技术 工作电流 1mA 待机电流 1uA 应用在内部结构 128×8 1K 256×8 2K

    2026年3月20日
    2

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号