为什么wireshark 在我的普通接入交换机端口上捕获外国/不相关的流量?

网络工程 思科
2021-07-27 02:03:25

在公司主交换机(Cisco 3750)上,我在交换机端口(交换机端口模式访问,交换机端口访问 vlan 30)上连接了一台简单的 Windows XP 物理 PC。3750 上不存在监视器会话。此外,PC 在单个 NIC 上具有单个 IP 地址。但是,当我在 WinXP PC 上启动 Wireshark 混杂捕获时,会出现几个外部对话,LAN-to-LAN 或 WAN-to-LAN(即 src IP 和 dst IP 与 PC 的 IP 地址不匹配)。此流量不是广播(既不是 L2 广播也不是 L3 广播)。交换机的配置是简单的第 3 层和第 2 层配置。没什么特别的(因杂乱原因省略)

我检查了交换机的 MAC 和 ARP 表,一切似乎正常:PC 的交换机端口仅显示 1 个 MAC 地址,其他外部 MAC 和 IP 地址解析为它们的正常端口(使用“show ip arp”和“show mac-addr”等.)

发起整个捕获的想法是因为我们想要解决频繁的应用程序延迟(根据其他捕获,许多 TCP 重传可能是罪魁祸首)。

有任何想法吗?

======================

在 IOS 研究之后编辑,我的 IOS 版本 (12.2(25)SEB4) 很有可能存在关于 CAM 表等的严重错误。我将在下周升级并重新访问更新。

1个回答

【很抱歉来晚了,找别的时候遇到了这个】当你说“出现几个外国对话”时,你是说两个方向的多个包,还是只是偶尔的包?

如果是完整的对话,那么您的交换机肯定有问题。

如果是偶尔的数据包,那么我会责怪生成树的变化。回想一下,交换机默认会记住 MAC 地址 300 秒。因此,如果您的交换机在 300 秒内没有看到来自特定设备的帧,并且帧被发送到该 MAC 地址,它们将被转发到所有其他端口,包括您的 WinXP/Wireshark 监视器。这将一直持续到 MAC 地址的所有者发送了一个帧。

对于运行现代操作系统的设备,设备在 300 秒内不发送帧的可能性非常小,尽管其他更被动的设备可能会在这段时间内保持沉默。

回到生成树。如果生成树拓扑发生变化(例如设备连接/断开到交换机端口),则向根桥发送拓扑变化通知事件。然后,根桥在下一个 FWD_DELAY 周期(15 秒)内设置所有 BPDU 上的 TCN 位。当网桥看到设置了 TCN 位的 BPDU 时,它们会将 MAC 地址表的老化计时器减少到 FWD_DELAY(15 秒)。[这是您应该始终输入全局配置命令spanning-tree portfast default 的原因之一- 每当激活/取消激活交换机端口时停止创建 TCN]

因此,如果生成树发生更改,您更有可能偶尔看到数据包发送到除您自己之外的 MAC 地址。

您没有特别说明您看到的任何数据包是否来自另一个子网(如果您的设计正确,则为另一个 VLAN)。但是,如果您看到来自另一个子网/VLAN 的数据包,那么我建议您仔细查看交换机间布线,并检查所有这些链路本地 vlan配置和中继端口状态。如果有任何“子网/VLAN”泄漏,那么它可能会创建多个拓扑更改,这反过来可能会使老化计时器保持在 15 秒,从而导致更多意外帧到达您的 Wireshark 捕获。