考虑一个标准的GigE网络交换机。为了进行交换,它可能需要维护网络上存在的所有东西的MAC地址映射到其(交换机的)端口号。
发布于 2010-12-21 15:37:52
交换机通过查看每个传入数据包的源mac地址来学习mac端口映射。因此,交换机可以逐步构建mac表。
当需要转发数据包时,它会查看目标mac地址,并根据mac表将其转发到适当的端口。如果没有找到任何条目,它将将数据包发送到所有端口(发送端口除外)。
为了只保留mac表中的有效条目,开关会在特定超时之后刷新未使用的条目。
当网络拓扑发生变化时,交换机可以在接收新数据包时了解mac地址的新位置。它将覆盖此mac地址的旧映射。
有关更多信息,请访问此链接。
发布于 2010-12-21 15:37:25
它被称为MAC地址表,它包含port、MAC address和timestamp。如果您更改了拓扑,因为您将断开某些电缆,那么所有包含相关端口的条目都将从MAC地址表中被丢弃。新条目是在每个第一包从设备接收到之后被学习的。如果设备没有直接连接,一些条目将保留在错误的端口,但通常,由于广播,它将很快被了解。如果没有来自设备的通信量,则必须通过超时,直到其条目被丢弃。超时时间通常为120秒。
发布于 2010-12-21 15:39:45
在这种情况下:
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。任何进一步的通信都将通过这个端口来完成,而不是广播。
我所说的适用于非托管交换机,也可以应用于托管交换机,但事情变得更加复杂。例如,cisco可以配置mac到哪个端口,它们运行专有协议,如ISL或open dot1q http://en.wikipedia.org/wiki/IEEE_802.1Q链接文本。
https://serverfault.com/questions/214881
复制相似问题