VMware ARP / Macnetworking

我对VMware的networking工作非常感兴趣。 我浏览了VMware网站并阅读了他们的数据表,这给了我一些基本的知识。 我现在有一些问题。

假设我们有一台运行VMwarepipe理程序的物理服务器。 物理服务器正在运行虚拟机。 物理盒子有一个物理网卡。 网卡连接到交换机,桌面客户端也是如此。

现在,这是我第一个问题所在。 虚拟机有一个IP地址:192.168.1.1。 networking上的桌面客户端如何与此VM进行通信? 所以,客户端ping 192.168.1.1。 ping数据包发送到交换机。 交换机检查其MAC地址表,发现192.168.1.1与物理网卡的MAC地址相关联。 正确?

然后我假设ping数据包被发送到服务器的物理网卡,hypervisor将数据包路由到使用192.168.1.1的虚拟机。

请你能给我一个关于虚拟机networking的工作原理吗?

如果您正在讨论ESX或ESXi,您的虚拟机将通过物理服务器中的虚拟交换机联网。 所以如果你的虚拟机有一个192.168.1.2的IP地址,并且虚拟机本身是192.168.1.1,你从客户端ping到192.168.1.2会到达交换机,然后从那里到服务器,然后路由它(不可见的)到192.168.1.2。 就您的客户端所知,虚拟系统与虚拟机服务器一样真实。

您的交换机就像多个系统通过一个端口馈电一样,就像您将另一个交换机连接到交换机一样。

这听起来像是你假设IP地址和物理网卡之间有1:1映射。 当然不是这种情况。 即使在虚拟化环境之外,通常给一个给定的物理网卡分配一个IP地址,并响应来自多个IP地址的stream量。 在VMware中,这也不例外。 服务器上的物理网卡知道哪个IP地址驻留在该物理主机上,networking将为这些IP地址设置ARP,并按照惯常的方式响应stream量。