tln*_*g05 15 networking switch
前段时间我正在阅读有关网络硬件的内容,并看到了有关网络交换机如何工作的解释 - 基本上,它说交换机保留了一个内部数据库,其中包含连接到每个端口的 MAC 地址,并且当它收到数据包时,它会在其数据库中查找目标 MAC 并将数据包转发到正确的端口。
这让我想知道 - 如果您将交换机连接到交换机会发生什么,如下所示:
Computer A
|
Switch 1
|
Switch 2
|
Computer B
Run Code Online (Sandbox Code Playgroud)
我的家庭网络的一部分是这样设置的,所以很明显它仍然以某种方式工作。但是如果计算机 A 想要向计算机 B 发送数据包,那么交换机 1 怎么知道将数据包转发到交换机 2 呢?由于交换机 1 没有直接连接到计算机 B,如果交换机 2 不向交换机 1 提供该信息,那么它如何在其数据库中拥有计算机 B 的 MAC 地址?
mis*_*256 24
如果交换机 1 不知道帧(不是数据包!)打算去哪个端口,它将泛洪所有端口(除了帧源自的端口)。这些端口之一将连接到交换机 2,这意味着交换机 2 获取帧。
如果交换机 2 不知道该帧要去哪个端口,它将泛洪所有端口(除了该帧源自的端口)。这些端口之一将连接到计算机 B。
所以计算机 B 最终得到帧,同时所有其他设备忽略它。
现在您可以连接点。当计算机 B 做出响应时,交换机 2 将获知发往计算机 A 的帧将到达连接了交换机 1 的端口,而交换机 1 将获知以计算机 B 为目标的帧将到达与交换机 2 相连的端口。
小智 6
交换机上的物理端口算作 OSI 第 1 层。到达此特定端口的所有 MAC 地址代表网络设备(OSI 第 2 层)的物理地址。在每个活动端口上,可以有 0、1 或多个 MAC(或 CAM 或任何交换机供应商命名的)地址。事实上,在没有附加信息的情况下,交换机不知道连接的是什么类型的设备(管理员或一些专门设计的协议会说明更多)。
因此,将交换机连接到另一台交换机,一台交换机知道的所有 MAC 地址都可以复制到另一台交换机。如果它是一个虚拟交换机,则所有 MAC 地址都贡献给同一个未命名的 LAN。如果它更好,它可以配置多个虚拟 LAN (VLAN),并且每个 VLAN 都有自己的一组 MAC 地址。它们可以在多个 VLAN 中重复。
如果一台交换机通过多个接口接收到相同的物理地址,通常会被检测到并计为“MAC 漂移”。这意味着交换机无法确定具有特定 MAC 地址的数据包将通过哪个端口发送。
如果端口上的 MAC 地址在最近几分钟内没有出现,交换机通常会忘记它。这很好;否则交换机会收到太多信息,随着时间的推移这些信息可能会相互矛盾。
有时,由于网络错误或网络中的黑客攻击,某些设备会生成大量 MAC 公告。如果公布的 MAC 地址数量太多,交换机无法记住,它可以决定忘记最佳数据包传输。如果不确定,MAC 地址驻留在哪个端口上,数据包可以像广播一样传输到所有端口(名称为 arp-spoofing 的攻击成功)。
如果管理员意识到潜在的风险,就可以限制每个端口上可能出现的不同 MAC 地址的数量。如果知道通过一个端口一次只能连接一台计算机,则可以将其配置为“我们只能拥有一台 mac”(从计算机 A 到交换机 1 的草图上的端口类型)。如果它是未知的,或者另一个交换机连接到一个端口,可以合理地提高限制,甚至可以保持为无限制(在普通交换机上,无限制实际上是几千)。
希望能帮助到你。
| 归档时间: |
|
| 查看次数: |
4009 次 |
| 最近记录: |