tc tbf 关键参数说明

因为buffer和bucket都是一个固定大小的内存结构(除非重新设置),所以是有上限的。buffer的上限决定了能同时缓存最多多少的数据包,而bucket的上限决定了token最大的上限。

bucket太大,里边缓冲的token可能很多。突发的流量都能获得tocken而被发送出去。因此可能会导致瞬间流量过大,达不到限流的效果。


TBF 是一种流量整形技术,它使用 token bucket 的机制来控制网络流量。其中 buffer 的设计非常重要。

  1. 缓冲区大小:

    • 缓冲区大小决定了 TBF 能缓存多少数据包。
    • 缓冲区过小会导致数据包丢失,过大则会浪费系统资源。
    • 一般根据网络带宽和流量特点来合理设置缓冲区大小。
  2. 令牌生成速率:

    • 令牌生成速率决定了 TBF 允许的平均流量。
    • 令牌生成速率过高会导致突发流量过大,过低会限制正常流量。
    • 需要根据链路带宽和预期流量特点来设置合理的令牌生成速率。
  3. 桶的大小:

    • 桶的大小决定了 TBF 允许的最大突发流量。
    • 桶太小会限制突发流量,太大则会浪费系统资源。
    • 桶的大小一般设为令牌生成速率乘以预期的最大突发时间。
  4. 其他参数:

    • 最大延迟时间:控制数据包在缓冲区的最长等待时间。
    • 最小带宽保证:即使系统负载很高也要保证的最小带宽。

综上所述,TBF 的 buffer 设计需要根据具体应用场景和网络环境来权衡各项参数,以达到流量整形的最佳效果。需要测试和调整才能找到最佳配置。


其中,下边的桶和缓冲区一开始容易让人迷惑。 特此标明。


在 TBF(Token Bucket Filter)中,桶和缓冲区是两个不同但相关的概念:

  1. 桶(Token Bucket):

    • 桶表示令牌的容量,即系统能容纳的最大突发流量。
    • 桶中存放的是令牌,每个令牌代表一个数据包可以被传输。
    • 令牌以固定的速率持续地添加到桶中,这就限制了平均流量。
    • 当桶中有足够的令牌时,数据包才能被传输。
  2. 缓冲区(Buffer):

    • 缓冲区是用于临时存储待传输的数据包。
    • 数据包先进入缓冲区,等待有足够的令牌时再从缓冲区取出传输。
    • 缓冲区的大小决定了系统能缓存的最大数据量。
    • 如果缓冲区满了,后续的数据包将被丢弃。

两者的区别可以总结如下:

  • 桶控制系统的最大突发流量,缓冲区控制系统的最大容量。
  • 桶中存放的是令牌,缓冲区中存放的是数据包。
  • 桶决定了允许的最大流量峰值,缓冲区决定了允许的最大数据缓存量。

总之,桶和缓冲区在 TBF 中起着不同但相互补充的作用,共同完成流量整形的功能。合理设计两者的参数是实现有效流量控制的关键。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值