当mac地址表被清除后交换机有什么反应?

问题描述 投票:0回答:2

如果我有两台PC(A和B)通过交换机连接,并且我从A ping到B。A将首先发送一个arp消息来学习B的mac地址,在此过程中交换机将学习两台PC的mac地址.

我想知道,在这之后,如果我只是清除交换机的 MAC 地址表,然后从 A ping 到 B,交换机将如何将 ping 转发到 B。

如果我错了请纠正我,但我假设:

  1. PC A 不会发送 arp,因为它已经知道 PC B 的 mac 地址
  2. 交换机无法发送 arp,因为它是 l2 设备,而 arp 本质上是 l3。
macos cisco arp switching cisco-ios
2个回答
1
投票

我认为过程如下: - 收到来自 PC-A 的 PING 数据包后,交换机会将第一条记录添加到 MAC 表(关于 PC-A MAC 地址)。 - 然后交换机将向所有端口发送 PING 数据包。 - 这些端口之一将是 PC-B 的端口。然后PC-B会向PC-A发送回复; - 交换机会将第二条记录添加到 MAC 表(PC-B 的 MAC)。


0
投票

这是一个老问题,但可能仍然与某些人相关,所以我发布了我的回复。我刚刚做了这个实验,这是我的发现。 PC-A 想要 ping PC-B,PC-A 首先会发出 ARP 请求。在交换机和PC-B之间进行wireshark捕获,可以看到这个请求。现在PC-C也想ping PC-B,它会发出ARP请求。交换机仍会将此 ARP 广播转发到 PC-B(和 PC-A),即使它本身现在具有 PC-B MAC 地址的条目。现在,我更进一步,清除了交换机上的动态 MAC 地址表条目。这意味着所有 PC 仍然具有彼此的 ARP 缓存条目,但交换机现在不知道任何人在哪里。现在,当您从 PC-A ping PC-B 时,我注意到有一个 ping 数据包到达了 PC-C。我对此进行了几次测试。因此,当交换机不知道目标第 2 层时,它似乎会将数据包从所有端口泛洪出去(这是交换机应该表现的方式)。但显然,它也会导致安全问题,现在第三方在另外两方之间拥有单个对话数据包。我想清除 mac 地址表会产生影响。希望这有帮助。

顺便说一句,这就是为什么我们使用 VLAN 来包含广播并在逻辑上将“类似”流量分段到自己的网络。

© www.soinside.com 2019 - 2024. All rights reserved.