我需要测量Linux网桥的性能(https://wiki.archlinux.org/title/Network_bridge) 在特定机器上 ( machine A
)。我最初的设置想法如下:
+-------------+
| machine A |
+-------------+
| eth0 | eth1 |
+-------------+
^ ^
+--------------+ | | +--------------+
| machine B |<----------------+ +-------------->| machine C |
+--------------+ +--------------+
充当machine A
交换机(桥接eth0
和),我会使用 iperf 之类的工具测量和eth1
之间的链路。问题是,我没有合适的机器来扮演和的角色。有人建议改用以下设置,使用作为两者的替代品(因为它有足够多的物理接口):machine B
machine C
machine B
machine C
machine A
+---------------------------+
| machine A |
+---------------------------+
| eth0 | eth1 | eth2 | eth3 |
+---------------------------+
^ ^ ^ ^
| | | |
+------+ +------+
这次桥接eth1
和eth2
,然后测量和之间的性能eth0
。eth3
对我来说,这乍一看有点傻,但我不能肯定地说它不会起作用。我担心的是,会machine A
发现eth0
和之间的流量eth3
可以在内部路由,绕过桥接和物理链路。
我是对的还是错的?这个设置会起作用吗?
答案1
可以,但您需要将这三个实例放在不同的网络命名空间或不同的 VRF 中,这样它们就不会找出“更短”的路径。您还可以通过观察桥物理端口上的计数器(以及查看 NIC LED — 它们通常在通过流量时闪烁)来检查是否真正采取了更短的路径。