以太网:networking拓扑

考虑一个标准的GigEnetworking交换机。 为了进行交换,可能需要将networking上存在的所有东西的MAC地址映射到其交换机的端口号。

  • 它如何维护这样的地图?
  • 涉及的协议是什么?
  • 如果我改变networking某一部分的拓扑结构,整个networking是否会得到通知,或者是否会“懒惰地”发现(即首先需要)?

交换机通过查看每个传入数据包的源MAC地址来学习MAC端口映射。 所以,交换机可以逐渐build立mac表。

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

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

当networking拓扑发生变化时,交换机在收到新的报文时可以学习到新的mac地址。 它会覆盖这个mac地址的旧映射。

欲了解更多信息,请看这个链接 。

它被称为MAC地址表,它包含portMAC addresstimestamp 。 如果更改拓扑结构,因为您将断开某些电缆,那么所有包含所涉及端口的条目将从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。任何进一步的通信都将通过这个端口而不是广播来完成。

  • 如何保持地图是供应商的具体情况,但它归结为一个mac及其相关端口的列表。
  • 在最简单的模型中,没有任何协议是真的,除了它发生在二级OSI
  • 如果更改拓扑,交换机将删除旧条目并使用新条目进行更新(因为host_1 mac1位于端口10而不是1)。

我所说的适用于非pipe理型交换机,也可以适用于pipe理型交换机,但事情变得更加复杂。 例如cisco可以configuration什么mac到达什么端口,他们运行专有协议作为ISL或打开dot1q http://en.wikipedia.org/wiki/IEEE_802.1Q 链接文本