![在网络接口上设置大缓冲区/队列来模拟缓冲区膨胀](https://linux22.com/image/688907/%E5%9C%A8%E7%BD%91%E7%BB%9C%E6%8E%A5%E5%8F%A3%E4%B8%8A%E8%AE%BE%E7%BD%AE%E5%A4%A7%E7%BC%93%E5%86%B2%E5%8C%BA%2F%E9%98%9F%E5%88%97%E6%9D%A5%E6%A8%A1%E6%8B%9F%E7%BC%93%E5%86%B2%E5%8C%BA%E8%86%A8%E8%83%80.png)
我想在特定接口上模拟较大的缓冲区延迟。我有一个简单的哑铃拓扑,如下所示:
PC1 eth0 <-----------------------> eth0 PC2
如果我从 PC2 ping PC1,延迟大约为 1ms,那就很好了,但是当我开始下载时,延迟会增加到一个特定值(根据 RTT 和 BDP 计算)。tc netem
在这种情况下,简单的方法(延迟)不起作用,因为这不像缓冲延迟(更像是传播延迟)
谢谢您的帮助!
答案1
使用 tc 和一个简单的 fifo 队列,您可以用来tc qdisc add dev eth0 parent X:Y handle Z: pfifo limit 10000
设置一个长度为 10000 个数据包的 fifo 队列。