我尝试将文件从主机 A 发送到 B,并使用 OpenvSwitch 捕获数据包丢失。我将主机 A 和 B 分别连接到一个 OpenvSwitch 虚拟机并连接两个 OpenvSwitch 虚拟机。拓扑如下所示:
A -- OVS_A -- OVS_B -- B
在每个 OpenvSwitch VM 上,我使用以下命令添加了两个非常简单的流程:
ovs-ofctl add-flow br0 in_port=1,actions=output:2
ovs-ofctl add-flow br0 in_port=2,actions=output:1
然后我在 A 和 B 之间发送了一个 10GB 的文件,并比较了发送交换机上的出口流和接收交换机上的入口流的数据包计数。我发现接收交换机上的数据包计数远大于发送交换机上的计数,表明接收的数据包比发送的数据包多!
我尝试匹配更具体的流,例如从 IP AAAA 到端口 C 上的 BBBB 的 TCP 流并得到相同的结果。我的设置有什么问题吗?或者这是 OpenvSwitch 中的一个已知错误?有任何想法吗?
顺便说一句,还有其他方法可以被动捕获丢包率吗?这意味着在不引入任何侵入性测试流程的情况下测量丢失率,而只需使用发送/接收端或交换机上可用的统计数据。
提前致谢!