首页 文章

OpenvSwitch中的数据包计数器不准确

提问于
浏览
1

我尝试从主机A向B发送文件,并使用OpenvSwitch捕获数据包丢失 . 我将主机A和B分别连接到OpenvSwitch VM并连接两个OpenvSwitch VM . 拓扑看起来像这样:

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的文件,并比较了发送交换机上的出口流量和接收交换机上的入口流量的数据包计数 . 我发现接收交换机上的数据包数量比发送交换机上的数量大得多,表明收到的数据包比发送的数据包多!

我尝试匹配更具体的流程,例如从端口C上的IP A.A.A.A到B.B.B.B的TCP流并得到相同的结果 . 我的设置有什么问题吗?或者这是OpenvSwitch中的已知错误?有任何想法吗?

顺便说一下,有没有其他方法可以被动地捕获丢包率?意味着测量损耗率不会引入任何侵入式测试流程,而只需使用发送/接收端或交换机上的可用统计信息 .

提前致谢!

1 回答

  • 0

    我刚刚意识到这不是Open vSwitch的错 . 我测试了UDP流并且数据包计数是正确的 . 我还使用tcpdump来捕获交换机上的入站TCP数据包,并且接收端的交换机拥有的数据包比发送端的数据包多 . 结果与Open vSwitch的流量计数器捕获的结果一致 . 我想我一定错过了一些关于TCP的重要信息 .

相关问题