Tcpreplay 参数和 CPU 用法

Tcpreplay parameter and CPU usage

我已经使用 Scapy 创建了一个 UDP 文件,我正在使用 tcpreplay 发送数据包。我遇到了两个奇怪的问题:

  1. 发送的数据包数量与 (--pps) 参数不一致。不确定答案是否是 (http://tcpreplay.appneta.com/wiki/faq.html#why-doesnt-tcpreplay-send-traffic-as-fast-as-i-told-it-to)
  2. 当我发送较少的数据包时,即 --pps=10,当我发送更多的数据包时,CPU 负载更高,即 --pps=200。我期待相反的方式。

顺便说一句,我使用的是 tcpreplay 版本 3.4.4

问题 1。许多 --pps 问题已在 latest Tcpreplay version

中修复

问题 2。CPU 使用率在最新版本中有所提高,但您仍然可以看到 100% CPU 的报告。实际上,当使用 -t--mbps=0 选项时,CPU 利用率被高估了。在这些情况下,只要 TX 缓冲区已满,Tcpreplay 就会让出发送线程。这会导致 Tcpreplay 成为 CPU 的调度程序。结果是报告的 100% CPU,但是 CPU 上的其他进程仍然响应。