为了账号安全,请及时绑定邮箱和手机立即绑定

在Linux上模拟延迟和丢弃的数据包

在Linux上模拟延迟和丢弃的数据包

慕姐8265434 2019-09-27 16:42:40
我想模拟数据包延迟和丢失的UDP,并TCP在Linux上衡量一个应用程序的性能。有没有简单的方法可以做到这一点?
查看完整描述

3 回答

?
梵蒂冈之花

TA贡献1900条经验 获得超5个赞

对于丢弃的数据包,我将只使用iptables和statistic模块。


iptables -A INPUT -m statistic --mode random --probability 0.01 -j DROP

上面将丢弃传入数据包的概率为1%。注意,任何高于约0.14的值和大多数tcp连接都很可能会完全停止。


查看man iptables并搜索“统计信息”以获取更多信息。


查看完整回答
反对 回复 2019-09-27
?
波斯汪

TA贡献1811条经验 获得超4个赞

为此目的,科学界中最常用的工具之一是DummyNet。一旦安装了ipfw内核模块,为了在两台机器之间引入50ms的传播延迟,只需运行以下命令:


./ipfw pipe 1 config delay 50ms

./ipfw add 1000 pipe 1 ip from $IP_MACHINE_1 to $IP_MACHINE_2

为了也引入50%的数据包丢失,您必须运行:


./ipfw pipe 1 config plr 0.5


查看完整回答
反对 回复 2019-09-27
  • 3 回答
  • 0 关注
  • 700 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信