我想在Linux上模拟重新排序UDP数据包的数据包,以衡量我的应用程序的性能和容错能力。 有一种简单的方法可以做到这一点吗?
答案 0 :(得分:4)
查看WANEM
WANem因此允许应用程序 开发团队设置一个 透明的应用程序网关 可用于模拟WAN 网络延迟等特征, 数据包丢失,数据包损坏, 断开连接,数据包重新排序, 抖动等
答案 1 :(得分:3)
您可以使用Linux内核中内置的“netem”功能。它随大多数现代发行版一起提供。 netem是一个交通控制学科模块,故意延迟,丢弃和重新排序数据包,并且具有高度可配置性。
这仅适用于发送数据包(因为队列仅限于出站),因此您可能希望在两个测试机器之间放置一个带有netem的路由器主机,并在两个接口上运行netem(如果您愿意,可以使用不同的参数)。
实现此目的的最简单方法是在VM中运行netem以在两个VM网络之间进行路由。我发现这很方便。
答案 2 :(得分:2)