以太网:网络拓扑

以太网:网络拓扑

考虑一个标准的 GigE 网络交换机。为了进行交换,大概需要维护网络上所有设备的 MAC 地址与其(交换机)端口号的映射。

  • 它是如何维护这样的地图的?
  • 涉及的协议是什么?
  • 如果我改变网络某一部分的拓扑结构,整个网络会收到通知吗?还是会“懒洋洋地”发现一些东西(即在第一次需要时)?

答案1

交换机通过查看每个传入数据包的源 mac 地址来学习 MAC 端口映射。因此,交换机可以逐步构建 mac 表。

当需要转发数据包时,它会查找目标 mac 地址,并根据 mac 表将其转发到适当的端口。如果没有找到任何条目,它会将数据包发送到所有端口(发送端口除外)。

为了仅保留 mac 表中的有效条目,交换机会在特定超时后刷新未使用的条目。

当网络拓扑发生变化时,交换机在收到新的数据包时,可以学习到该mac地址的新位置,并覆盖该mac地址的旧映射。

欲了解更多信息,请查看此链接

答案2

它被称为 MAC 地址表,其中包含portMAC addresstimestamp。如果您更改拓扑,因为您将断开一些电缆,那么包含相关端口的所有条目都将从 MAC 地址表中丢弃。在从设备接收到每个第一个数据包后,将学习新条目。如果设备未直接连接,则某些条目将保留在错误的端口上,但通常由于广播,它将很快被学习。如果没有来自设备的流量,则它必须经过超时,直到其条目被丢弃。超时通常为 120 秒。

答案3

采取这种场景:

host_a - 端口 1 host_b - 端口 2

当 host_a 想要发送一个数据包到 host_b 时,就会触发交换机,记录 host_a 的 mac 地址,而因为 host_b 还没有发送任何内容,所以会在所有端口上广播这个帧——host_b 会注意到发送给他的是这个数据包,并在端口 b 上做出响应。

此时交换机知道 host_a 在端口 1 上有 mac1,而 host_b 在端口 2 上有 mac2。任何进一步的通信都将通过这些端口进行,而不是广播。

  • 如何维护地图是特定于供应商的,但它归结为 mac 及其相关端口的列表。
  • 在最简单的模型中,实际上没有协议,只是一切都发生在 OSI 第 2 层
  • 如果您更改拓扑,交换机将删除旧条目并使用新条目进行更新(因为 host_1 mac1 位于端口 10 而不是 1 上)。

我所说的适用于非管理型交换机,也可以适用于管理型交换机,但事情变得更加复杂。例如,思科可以配置哪个 mac 接入哪个端口,它们运行专有协议作为 ISL 或开放 dot1q http://en.wikipedia.org/wiki/IEEE_802.1Q链接文本

相关内容