使用 DPDK 测试 Open vSwitch、Linux bridge 和 Open vSwitch

使用 DPDK 测试 Open vSwitch、Linux bridge 和 Open vSwitch

我有一个简单的问题 - 如何在那种环境中测试数据流?我的连接如下:

拓扑: 在此处输入图片描述

我想测试从服务器 1 通过服务器 3(虚拟交换机)到服务器 2 的数据流。所有这些服务器都是物理的。

我想在不同的环境中测试这一点,比如 OvS、带有 DPDK 的 OvS 和 Linux 桥,我想看看它们之间的区别 - 但哪个流量生成器最好?我只知道一个 - iperf。

我已经看到了 OvS 和 OvS 与 DPDK 之间的一些 Mpps 比较 - 但我只看到了最终结果,还没有看到测试的样子。

答案1

你好,谢谢你的绘图,这很有帮助。

我需要澄清一下 - 这是错误还是实际上服务器 2 中只有一个设备,因为两侧都称为“eth2”?我还没有看到使用 DPDK 桥接 VLAN,因为那是在更高级别。目前,我假设您的服务器 2 有两个支持 DPDK 的网络设备(实际上是三个,剩下一个用于控制)。

然后,您将在服务器 2 上将两个网络设备专用于 DPDK,并将它们添加到 openvswitch。请参阅服务器指南举几个例子。有一个更新待定,以整合 Yakkety 中提供的 OVS/DPDK 版本如何实现这一点。OVS 将自然地桥接这两个端口之间的流量,而无需进一步配置。

警告:确保这两个端口不属于同一物理网络。否则会重新反射所有流量并自我放大 - 最终导致整个网络段被破坏,这是一次自制的 DOS 攻击。

设置完成后,您可以从服务器 1 <-> 服务器 3 运行任何类型的流量。Iperf 适用于简单的流式工作负载。其他常见的简单测试是 netperf 和 uperf。可以在链接的测试示例中找到所有这三个测试的配置这里

对于在 Ubuntu 上进行的一些简化测试,只需在一台具有两个 DPDK 功能端口的机器上进行即可,请随意查看简单的 dpdk 测试。我打算有一天用虚拟机建立类似于你画的东西,然后修改其中的流程规则,并检查它们的数量和复杂性的影响,但还没有时间。

最后,如果你想要更大的规模,你可以考虑使用服务器 1(如果有足够的接口可用)和基于 DPDK 的流量生成器,例如蒙根或者特雷克斯

答案2

感谢您的答复。

是的,我的错误,这是新的拓扑:

新拓扑: 新的

在 server3 中,我有一块 NIC(带有 eth1 和 eth2 端口),然后我从 server1 连接到该 NIC 上的 eth2,并从 server2 连接到同一 NIC 上的 eth1。

我在 server3 上只有一张网络接口卡 (NIC)。我找到了一些比较示例,例如 Open vSwitch 与 Linux bridge 以及 Open vSwitch with DPDK,下面是一些结果示例:

结果

我想实现这样的目标,但我不知道应该使用哪个流量生成器。

相关内容