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

我想模拟数据包延迟和丢失的UDP,并TCP在Linux上衡量一个应用程序的性能。有没有简单的方法可以做到这一点?



慕姐8265434
浏览 702回答 3
3回答

梵蒂冈之花

对于丢弃的数据包,我将只使用iptables和statistic模块。iptables -A INPUT -m statistic --mode random --probability 0.01 -j DROP上面将丢弃传入数据包的概率为1%。注意,任何高于约0.14的值和大多数tcp连接都很可能会完全停止。查看man iptables并搜索“统计信息”以获取更多信息。

波斯汪

为此目的,科学界中最常用的工具之一是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
打开App,查看更多内容
随时随地看视频慕课网APP