我正在尝试去理解一些事情。
通用部分:
我是这个领域的新手,我看过一个物理网络的视频,视频中说网桥连接两个网络,并知道某个主机是在 A 侧还是 B 侧。但是:
它如何与虚拟机和/或容器一起工作?
为什么如果你设置 VirtualBox Windows 并将其设置为桥接模式,它会在本地网络上获得一个 IP,例如,桥接设备在哪里?如果我的 NIC 使用互联网,它如何充当桥接设备?
编辑:
为了更好地理解答案,我建议阅读:
我正在尝试去理解一些事情。
通用部分:
我是这个领域的新手,我看过一个物理网络的视频,视频中说网桥连接两个网络,并知道某个主机是在 A 侧还是 B 侧。但是:
它如何与虚拟机和/或容器一起工作?
为什么如果你设置 VirtualBox Windows 并将其设置为桥接模式,它会在本地网络上获得一个 IP,例如,桥接设备在哪里?如果我的 NIC 使用互联网,它如何充当桥接设备?
编辑:
为了更好地理解答案,我建议阅读:
后半部分您昨天已经在单独的帖子中发布了,所以我现在只回答前半部分:
具体来说,该术语用于以太网等“本地”网络 - 完全理解其用途可能需要记住旧式 CSMA/CD 以太网的工作原理。当所有主机都连接到同一同轴电缆时,所有主机都会从其他所有主机物理接收所有信息;网桥可用于将此类以太网一分为二。
在现代使用中,每个以太网交换机都是一个网桥,每个端口都是它自己的“一侧”,交换机会跟踪某个主机是在端口 1、端口 2 还是端口 3 上 - 但实际术语“网桥”通常指的是软件实现(例如 Linux 虚拟网桥接口)而不是交换机。
VirtualBox 内部。它具有完整的 MAC 桥接逻辑(即虚拟以太网交换机)的内部实现,该逻辑将每个 VM 视为一个单独的端口,将物理 NIC 视为另一个端口。这实际上并未在 GUI 的任何地方显示出来,但它存在于源代码中,并用于其多种网络模式。
(它还具有完整的内部 IP 路由器实现,用于其“NAT”模式。)
在任何一种情况下,NIC 都不会充当桥接设备。它更像是桥接器的端口。
但在 VirtualBox 的情况下,系统的其余部分并不知道正在进行的操作;VirtualBox 安装的额外“桥接驱动程序”将在主机操作系统评估所有以太网数据包之前获取所有以太网数据包的副本,这意味着主机操作系统仍然只查看指向其 MAC 的数据包并忽略其余数据包,就像以前一样。
(除此之外:网桥可以参与它所桥接的网络;它只需要在内部有一个额外的端口。例如,一个 8 端口管理型交换机实际上有 9 个端口:八个物理端口,第九个端口内部连接到其管理 CPU。)