OVS Linux Bridge 的 IPFIX 流量不准确

OVS Linux Bridge 的 IPFIX 流量不准确

我正在努力理解我的 IPFIX 流数据。

解释一下:我有一个 Ubuntu(16.04.2 LTS Xenial Xerus)盒子,在盒子里,我有一个 Linux 桥:

root@Ubuntu1:~# ovs-vsctl show
527530c2-6f42-498f-92a6-67dc43d931bc
    Bridge "myBridge"
        Port "eth1"
            Interface "eth1"
                type: dpdkvhostuser
        Port "eth2"
            …etc…
    ovs_version: "2.9.3"
root@Ubuntu1:~#

好的:我已在此桥上启用 IPFIX 导出:

ovs-vsctl -- set bridge myBridge ipfix=@i -- --id=@i create IPFIX targets=\"10.0.0.10:4739\" obs_domain_id=1234 obs_point_id=5678 sampling=5

网桥已成功将流量导出到 10.0.0.10 收集器。从许多帖子(如这里) 我理解“octetDeltaCount”是给定流量中的原始字节数。我想验证这一点,所以我设置了两个虚拟机 A 和 B,并使用 iPerf3 通过我的 Linux 桥将测试流量从 A 发送到 B。我的结果令人沮丧:

                                    iPerf3           IPFIX's
                                    Transferred      octetDeltaCount                    
iPerf3 test                         (bytes)          reported           Delta
=========================================================================================
iperf3 -c 168.161.114.16 -n 1K      28,700           69,195             -40,495
iperf3 -c 168.161.114.16 -n 250K    303,700          637,345            -333,645
iperf3 -c 168.161.114.16 -n 500K    559,000          975,425            -416,425
iperf3 -c 168.161.114.16 -n 1M      1,060,000        962,286            97,714
iperf3 -c 168.161.114.16 -n 250M    216,700,000      1,016,687          215,683,313
iperf3 -c 168.161.114.16 -n 500M    500,100,000      1,143,102          498,956,899
iperf3 -c 168.161.114.16 -n 1G      1,000,000,000    1,348,778          998,651,222
iperf3 -c 168.161.114.16 -n 10G     10,000,000,000   3,721,548          9,996,278,452

(第二列的注释:当我指定 iPerf 发送“1K”流量时,iPerf 实际上发送了 28,700 字节。但没关系,我更关心 IPFIX 如何报告 iPerf 发送的内容。)

好吧,这里的坏消息应该很明显了。IPFIX 无法准确报告字节数,远远不够。我可以接受 1 MB 流量的结果,但其他结果则差得太远了。这里有些不对劲。

尤其是,当我发送超过 1Mbytes/flow 时,报告的“octetDeltaCount”变得非常不准确。看看那些增量!

如果您查看我用来启用 Linux 交换机 IPFIX 导出的 ovs-vsctl 命令,您会注意到我已将流采样设置为 N=5,这意味着交换机正在查看每五个数据包。我的收集器不知道这一点,它只是报告从交换机获取的原始数据。但显然,将“octetDeltaCount”列乘以五将抵消此问题。这里还有其他因素在起作用。

以前有人遇到过这样的问题吗?我很好奇,您是否做了我所做的事,但得到了准确的数字。如果是这样,那么也许我的 IPFIX 收集器不太好。或者 OVS 是否以对数刻度报告 IPFIX 数据或类似的东西?

任何信息或建议都将不胜感激。

相关内容