设置:假设我有 3 个虚拟机。虚拟机 1 虚拟机 2 和虚拟机 3。VM2 有两个接口,比如 eth1 和 eth3。eth1 物理连接到 VM1,eth3 连接到 VM3。我使用带有 eth1 和 eth3 的 brctl 在 VM2 上创建了一个网桥。
VM1 ping VM3 时,需要VM3 的MAC 地址。它将向 VM2 发送 ARP 请求。据此,桥接决定必须仅基于目标 MAC 地址(将是路播 ff:ff:ff:ff:ff:ff...)。现在应该怎么办。为什么它在前向链上?
设置:假设我有 3 个虚拟机。虚拟机 1 虚拟机 2 和虚拟机 3。VM2 有两个接口,比如 eth1 和 eth3。eth1 物理连接到 VM1,eth3 连接到 VM3。我使用带有 eth1 和 eth3 的 brctl 在 VM2 上创建了一个网桥。
VM1 ping VM3 时,需要VM3 的MAC 地址。它将向 VM2 发送 ARP 请求。据此,桥接决定必须仅基于目标 MAC 地址(将是路播 ff:ff:ff:ff:ff:ff...)。现在应该怎么办。为什么它在前向链上?
ARP 请求使用广播,因此 VM2 通过其接口转发它。
广播总是通过网桥转发。仅当目的地位于另一侧(或目的地所在的端口,对于多端口网桥)时,才会转发单播。
欢迎来到网络工程。桥接转发广播,因此 VM2 会将广播转发给 VM3。