我这学期在大学学习网络基础知识。期中考试时我出了一道题,很不幸,我答错了。一小时后我就要期末考试了,但我仍然不知道那道题的正确答案是什么。不过,我的问题如下:
一个由多台 PC、交换机和一个路由器组成的网络。PC 1 的 MAC 地址为 X。PC 1 通常向 PC 5 发送数据包,这些数据包通过交换机 Z。长时间检查交换机 Z 的 MAC 地址表后发现,PC 5 的 MAC 地址从未出现在表中。交换机出了什么问题?如果是,请说明交换机出了什么问题,否则,请解释为什么会出现这种情况。
以下是我的错误答案:
可能是因为PC5刚刚接入网络,所以在MAC地址表中找不到MAC地址,所以需要向网络发送广播,获取PC5的MAC地址。
答案1
普通的 L2 交换机永远不会主动询问网络上的 PC 的 MAC 地址。因此,交换机知道是否被动接收来自 PC 的流量的唯一方法就是这样做。如果 PC5 从不发送任何内容(问题中没有提到 PC5 曾经发送过),那么交换机的 MAC 表就永远不会知道 PC5 的 MAC 是什么。
此外,表条目会随着时间的推移而老化。PC5 可能在一段时间前就出现在表中,但由于不活动而老化。最近或很久以前连接与此无关。
答案2
当数据发送到交换机时,MAC 会被存储。PC1 向交换机发送消息,然后交换机会获知 PC1 的 MAC,但由于交换机不知道 PC5 的 MAC,因此它会向所有端口发送广播,只有 PC5 会对此进行回复,因此现在将 PC5 的 MAC 添加到交换机。
因此,开关没有问题。