我正在一个学校项目中尝试模拟Buffer Bloating的网络现象.这本质上是延迟,这是由于廉价的内存价格导致路由器中的缓冲区在时间上越来越大的结果.
现在,要开始这个项目,我已经对linux“ tc”命令及其使用方法进行了一些研究,但是我没有看到如何根据自己的需要设置正确的配置.情况如下;我有3台电脑. PC1连接到PC2,PC2连接到PC3.在这种配置中,PC2充当使用大缓冲区的路由器.流量通过PC2从PC1发送到PC3.现在,我的意图是限制PC2可用于将传入数据从PC1发送到PC3的带宽.
我正计划通过在PC2上设置一个较大的缓冲区,并延迟从缓冲区中提取数据包来模拟较慢的链接来做到这一点.这将导致较大的缓冲区填满并引入延迟.
现在,我想向这个社区询问有关如何使用“ tc”命令或其他适合该工作的工具进行配置的想法.或者,如果您对如何模拟缓冲区膨胀有其他想法,也欢迎这些想法.
谢谢你的耐心.
解决方法:
我认为有两种方法可以模拟膨胀,它取决于您使用的内核和/或iproute版本. TBF和NETEM允许设置速率和队列大小.
tc qdisc add dev eth0 root tbf rate Xmbit limit Y burst 1500
要么
tc qdisc add dev eth0 root netem Xmbit limit Y
X是带宽,Y是队列大小.第一个应该可以在任何2.6内核中使用,并且可以在2.4的较新版本中使用.后者需要新版本的Linux内核和Iproute工具.
问候,
地亚哥
标签:buffer-overflow,linux,trafficshaping
来源: https://codeday.me/bug/20191201/2081985.html