交换机与路由器

网络工程 转变 层2
2021-07-28 14:41:54

嘿,我对网络有点陌生。原谅怀疑的基本性质。

交换机在接收到未知目的地的帧时,广播该帧以找到正确的目的地。同时路由器使用RIP、OSPF等路由协议来寻找正确的目的地。我的疑问是为什么交换机不能也使用某种类似于 RIP 但在级别 2 的协议来查找所有设备的 MAC 地址?我们可以避免占用大量带宽的单播泛洪,对吗?

3个回答

正如我在对 Ron Royston 的回答的评论中提到的,我假设您的意思是“为什么交换机不能也使用某种协议来填充它们的 mac 地址表”。如果这不是您的意思,那么请忽略此答案的其余部分。如果这就是你的意思,那么我认为这是一个很好的问题!

首先,如果你真的是说“为什么不能使用开关......”那么我认为答案是,理论上他们可以- 或者至少在我的头脑中我想不出他们可以的原因不是。您可以发明一个 L2 协议,该协议允许交换机查询连接到端口的设备以获取设备的 MAC 地址,或可通过该设备访问的 MAC 地址列表(以防它是另一台交换机)。这甚至可以消除对 STP 的需要。当然,这只是我最初的想法,真正的专家(我不认为自己是)可能已经对此进行了更多思考,并且可能已经找到了为什么这行不通的具体原因。

但是,如果您的问题(或下一个问题)是“为什么使用开关...”那么我可以想到几个原因:

  • 以太网在以太网交换机发明之前就已经存在。实施新协议意味着没有向后兼容性,换句话说,您必须升级网络所有设备上的固件或硬件才能实施此新协议。
  • 推出第一批交换机时,上市时间和竞争可能是重要的(业务驱动而非技术驱动)考虑因素。
  • 早期交换机的 CPU 能力可能不足以运行这样的协议,或者交换机需要更昂贵的 CPU。
  • KISS原则这样的新协议会比目前的 mac 学习方法复杂得多。
  • 正如 Ron Maupin 在他的回答中提到的那样,在网络主机中可能会频繁地连接/断开连接或漫游(考虑您的手机在四处走动时连接到不同的 wifi AP,因此 LAN 交换机将始终在不同的端口上看到其 mac 地址),所以这可能会产生大量的开销(就协议使用的带宽而言,以及交换机上处理更改的 CPU 负载)。
  • 正如 Ron Maupin 在他的回答中还提到的,单播泛洪发生的(远)比您想象的要少。很少有网络连接的设备不会(或很少)在网络上传输帧,并且一旦设备传输单个帧,交换机就会学习其 MAC 地址。我想补充一点,许多(大多数?)操作系统将发送免费 ARP数据包,导致交换机在链接出现时立即学习 MAC。此外,在不太可能(但可能)的情况下,设备不传输任何帧,托管交换机通常为您提供在 mac-address-table 中配置静态条目的可能性(例如使用 mac-address-table static .. .在 Cisco Catalyst 交换机上。

单播泛洪发生的次数比您想象的要少。交换机只需要来自主机的单个帧即可获知主机连接的端口。

交换机的问题在于它们是相当简单、透明的设备,并且一直在进行更改。主机在打开或关闭时一直来来去去。有时主机可能连接到不同的端口。路由协议在相当稳定的环境中工作得最好,而交换机不存在这种情况。

IP 寻址旨在由管理员设计/配置,允许进行路由汇总,从而促进高效路由。IP 地址并不意味着是通用唯一标识符 (UUID),而 MAC 地址则是。