桥梁是如何工作的?

关于桥梁,我在这里很困惑。 我认为他们是允许从一个networking到另一个networking而不用路由的设备(而不是在第2层工作),但是如果是这样的话,我不明白2件事情:

1)VirtualBox如何使用网桥为主机提供来自同一局域网的IP – 2个networking(起点和终点)在哪里? 我们只是设置一个IP …

2)一个网卡如何充当一台机器来连接多台IP。 系统pipe理员正在工作,我正在将一台虚拟机和一台主机连接在一个独立的networking上(而不是普通的局域网),当我问及主机如果只有一个网卡时可以拥有多个IP,他告诉我可以想到3种方法:将NIC设置为混杂模式(这样内核就可以完成所有的工作),使用子接口(所以你最终得到了eth0:0,eth0:1以及更多),以及有NIC作为一个桥梁。 同样的问题在这里,我们想要的是在一台机器上设置一个IP,而不是将两个networking连接在一起。

这里的交易是什么? 桥梁的function是什么?

PS我觉得我也对接口有点困惑。 他们是网卡的软件代表吗? 如在,他们从内核抽象NIC,所以它认为他们作为一个网卡?

最常见的术语桥是指存储和转发以太网帧的设备。 桥上的物理端口将混杂在一起,这意味着每个接收到的帧将被接受和处理。 请阅读维基百科关于桥梁的文章,了解更多细节。 关于Bridging基础的 Ciscos文章也许是有用的。

  • 桥梁在OSI模型的第二层操作。 他们对TCP / IP一无所知,只知道二层协议(如以太网)。
  • 桥只看物理地址(又称MAC地址)。 他们并不知道有关IP地址的任何信息。
  • 桥接器了解主机连接到哪个桥接端口。 当一个网桥重新发送一个帧时,它只会把它从离目的地最近的端口发送出去。
  • 基本的以太网交换机实际上只是一个多端口的桥梁 。

大部分的困惑似乎都是围绕虚拟化软件如何作为服务于机器上虚拟机的桥梁而展开的。

在创build虚拟机时,会创build一个唯一的MAC地址,并将其分配给该虚拟机中的每个networking接口。 如果您查看虚拟机的configuration,您将看到生成的MAC地址,甚至可以修改它们。 如果您确实需要更改,请记住MAC地址在您的networking上是唯一的。

启动configuration了虚拟机绑定的物理networking接口的虚拟机将切换到混合模式。 虚拟networking产品将加载一个软件,执行与物理桥相同的function。 当接收到具有与特定VM的唯一MAC地址匹配的目的地MAC地址的传入帧时,帧将被转发给VM。


  1. 由虚拟化软件创build的MAC地址应该具有本地pipe理的地址位REF:IEEE MAC地址 。 如果你创build自己的地址,也请使用这个位来标识它们是本地的。