考虑一个标准的GigEnetworking交换机。 为了进行交换,可能需要将networking上存在的所有东西的MAC地址映射到其交换机的端口号。
交换机通过查看每个传入数据包的源MAC地址来学习MAC端口映射。 所以,交换机可以逐渐build立mac表。
当需要转发数据包时,它会查看目标MAC地址,并根据mac表将其转发到适当的端口。 如果没有find任何条目,它将把数据包发送到所有端口(发送端口除外)。
为了仅保留mac表中的有效条目,交换机在特定超时后刷新未使用的条目。
当networking拓扑发生变化时,交换机在收到新的报文时可以学习到新的mac地址。 它会覆盖这个mac地址的旧映射。
欲了解更多信息,请看这个链接 。
它被称为MAC地址表,它包含port , MAC address和timestamp 。 如果更改拓扑结构,因为您将断开某些电缆,那么所有包含所涉及端口的条目将从MAC地址表中被丢弃。 在从设备接收到每个第一个数据包之后学习新的条目。 如果设备没有直接连接,有些条目会保留在错误的端口上,但是通常由于广播而很快就会学到。 如果没有来自设备的stream量,则它必须通过超时直到其input被丢弃。 超时通常是120秒。
采取这种情况:
host_a – 端口1 host_b – 端口2
当host_a想要发送一个数据包给host_b的时候,会碰到交换机,它将logginghost_a的mac地址,因为host_b没有发送任何东西,所有的端口都会广播这个帧,host_b会注意到发送给他并响应在港口b。
此时交换机知道host_a在端口1上有mac1,而host_b在端口2上有mac2。任何进一步的通信都将通过这个端口而不是广播来完成。
我所说的适用于非pipe理型交换机,也可以适用于pipe理型交换机,但事情变得更加复杂。 例如cisco可以configuration什么mac到达什么端口,他们运行专有协议作为ISL或打开dot1q http://en.wikipedia.org/wiki/IEEE_802.1Q 链接文本