ARP如何在虚拟机的情况下工作?

网络工程 MAC地址 arp 虚拟机
2021-07-16 02:42:06

就我的理解而言,MAC 地址用于识别 LAN 中的计算机节点,因为 Internet 通信是通过 IPv4 地址进行的。当请求从 Internet 发送到网关时,数据包具有目标 IP 地址。现在查找缓存的 ARP 表以查看相应的 MAC 地址。如果不是,则发送ARP广播请求以获取相应的MAC地址。

但是如果在我的 CentOS 上运行虚拟机(Windows XP),它们将具有相同的 MAC 地址但不同的 IPV4 地址。那么如何将数据包传送到正确的主机呢?

2个回答

我假设您使用“桥接模式”进行网络连接(您的内部虚拟适配器桥接到主机的物理适配器)。

在任何情况下(除非您明确手动将它们设置为相同的地址,这会导致许多其他问题),您的来宾 (WinXP) 计算机将具有与您的主机 (CentOS) 不同的 MAC 地址。由于桥接模式,您的主机充当以太网交换机,并将数据包转发给来宾。

因此,当 ARP 广播到来时,您的主机会获取数据包并将其转发到您的访客机器。当主机的数据包到来时,它们由主机的网络堆栈处理。当您的客人的数据包到来时,主机将它们转发给您的客人,然后根据需要进行处理。

把它想象成一个邮箱。MAC 标识特定框。清空盒子的人然后查看名称(即 IP)并将每件物品交给正确的人,这可能意味着将多个人的物品放入另一个盒子中。