交换机有什么作用?

网络工程 转变 虚拟的
2022-02-04 23:10:36

我正在考虑需要模拟以太网交换机的东西。

我们有一条专有总线将一个中央单元与几个“从属单元”连接起来,我也想在这条总线上移动以太网数据包,作为辅助有效负载。

我考虑过这个设置,但我从来没有做过类似的事情,所以我的想法可能完全错误......

我会在中央和从属单元的芯片中添加一个 PHY 和连接器。

当连接到从属单元的设备发送数据包时,从属单元会将其放在总线上,将其发送到中央单元,中央单元捕获 MAC 并将其与我们的本地总线地址一起存储在一个表中,然后将其发送出去通过中央单元的PHY进入世界。

当一个数据包进入中央单元并与查找表中的一个条目匹配时,它被放在总线上并作为有效负载到达该单元,然后将其发送到单元 PHY。使用广播 MAC 地址,它将被广播到总线上的所有单元。

那么除了转发数据包之外,中央单元是否必须做其他工作,比如以某种方式通知其网络伙伴期望不同 MAC 的数据包?

是否有任何文献(在线或离线)可以提供更多见解?我试着用谷歌搜索了一下(我已经看到了可以使用一生的开关的广告),但要么它不存在,要么我问了错误的问题。

与其在中央单元中查找 MAC 并将其发送到专用单元,不如将任何传入数据包作为本地广播放在我们的总线上,并让从属单元进行 MAC 匹配?

3个回答

基本上,以太网交换机执行以下操作。

1. 使用帧的源 MAC 地址更新它的 MAC 地址表。
2. 在它的MAC 地址表中查找该帧的目的MAC 地址。
3a。如果表中有匹配项并且出口端口与入口端口不同,则转发帧。
3b。如果表中有匹配项并且出站端口与入站端口相同,则丢弃该帧。
3c。如果表中没有匹配项,则将帧泛洪到每个端口,但接收到的端口除外。

如果您忽略该列表中的步骤 1 到 3b,而只执行步骤 3c,您将拥有与以太网 HUB 功能相似的东西。

基本交换机不会相互通知任何事情,它们各自独立构建每个 MAC 地址所在方向的表。一些更高级的交换机确实会相互通信,例如生成树协议,但您现在可以忽略它。

您不能做的是将帧以传入的方式发回。根据您的网络安排,这意味着您需要记录帧进入的节点,以便您可以在退出时过滤掉回声。

简而言之,以太网交换机根据其目标 MAC 地址转发帧。为此,它学习源地址和相关端口。它还会丢弃 FCS 失败的损坏帧。对于这个基本功能,交换机不会自行交换信息,它们只是转发帧。每个人都独立完成自己的工作。

托管交换机通常可以做得更多——它们具有多种附加功能(生成树、VLAN、ACL、L3 交换/路由……)。

与其在中央单元中查找 MAC 并将其发送到专用单元,不如将任何传入数据包作为本地广播放在我们的总线上,并让从属单元进行 MAC 匹配?

您所描述的在功能上等同于以太网集线器