交换机应该只向该系统发送流量,如果它是用于该系统的。我们的似乎没有:如果我运行“tcpdump not host myhostname”,我可以看到许多显然是非广播(ssh、nfs)的数据包在其他主机之间传输。我怎样才能防止这种情况?我认为这可能会导致性能不佳(我们大量使用 NFS;如果它来自所有交换机端口,那就不好了)。
这种行为通常表明交换机在其桥接表(也称为 CAM 表或 MAC 地址表)中没有针对帧的目标 MAC 的条目。思科将其称为单播泛洪。
你能提供更多关于你的拓扑的细节吗?所有的“意外”流量是发往同一台主机还是多台主机?您的任何主机是否使用绑定/组合 NIC?入站流量可能被发送到一个 MAC 地址,但来自主机的出站流量来自另一个 NIC。
编辑:由于虚假流量仅限于某些 MAC,这可能是一个不错的起点。您能否查询交换机的桥接表(在 Cisco 设备上显示 mac-address-table)并查找是否存在违规目标 MAC 地址的条目?另外,您能否确认交换机桥接表的超时值是多少?
我之前见过这种行为的一种情况是在 ARP 超时值设置为高于 MAC 地址表超时值的子网上。通常,当 ARP 条目老化时,会发送 ARP 探测。交换机会记录对探测的响应,并将主机的源 MAC 存储在其桥接表中。当这些计时器倒转时,桥接条目会在 ARP 条目之前老化。这意味着子网上的路由器/主机知道哪个 MAC 地址拥有给定的 IP,但交换机不知道 MAC 连接到哪个端口。在这种情况下,交换机会将流量泛洪到该 VLAN 中的所有端口。
您可能看不到我要描述的内容,但您有可能是。我已经在几个低端和中端的 Netgear 和 Linksys 交换机上看到了你所说的症状。我看到发生这种“疯狂”行为的交换机已经使用了一段时间,工作正常,但开始将帧从所有端口溢出。我通常接到的电话是“网络很慢”,随后的带宽监控通常会定位一个“发疯”的交换机,通常它的活动灯常亮,抽出大量“虚假”流量(有时是编造的)合法流量,其他时候看似随机垃圾)。
我喜欢 Zypher 关于检查 CPU 利用率的建议,但我也会考虑分解“堆栈”(在这些特定交换机上,我不知道“堆栈”是否作为单个逻辑单元运行)并测试每个交换机分别。
在过去的几年中,使用无名以太网交换机、Linksys 和 Netgear 交换机,这个问题似乎变得更糟了。我不知道在我见过的问题开关中是否有一些共同的硅存在问题。(我们建议我们的客户购买 Dell PowerConnect 交换机,但他们的交换机还没有出现此类问题。)
通常,除非您的 MAC 地址表过载(通常大约 8,000 多个 MAC 地址,但请检查品牌/型号详细信息),否则交换机不应故障恢复到“集线器”模式。您可以使用以下命令检查给定 Cisco 交换机上的 MAC 地址数量:
交换机根据 vlan 标签(如果您正在使用它们)和 mac 地址做出所有决定。如果您遇到洪水,那么您需要查看为什么交换机没有构建准确的 mac-address-table。
但是,如果你得到我所说的“vlan bleed”,你就会得到这种行为。如果您有两个背靠背连接的交换机端口,但在不同的 VLAN 上,您可能会看到此行为。
具有多个网卡的设备也可以将 vlan 桥接在一起。Microsoft 具有桥接网卡的“功能”,因此您的无线和硬连线网络将被桥接。
查看您的 mac 表以查找具有多个地址且不是到另一台交换机的上行链路的端口。您还可以通过交换机的 MAC 表跟踪应该单播的设备之一的 MAC 地址。
在 Cisco 交换机上,这些命令可能会有所帮助:
我要检查的第一件事是你的交换机上的负载。如果您在如此高的负载下运行它,以至于它无法正确切换数据包(在大多数交换机上,这开始发生在 80-90% cpu 负载区域附近),它将无法有效地恢复为集线器,以及丢包的可能性。
尽管其他响应听起来更像您所描述的,但请确保您插入的端口未设置为镜像端口。
这种行为通常表明交换机在其桥接表(也称为 CAM 表或 MAC 地址表)中没有针对帧的目标 MAC 的条目。思科将其称为单播泛洪。
你能提供更多关于你的拓扑的细节吗?所有的“意外”流量是发往同一台主机还是多台主机?您的任何主机是否使用绑定/组合 NIC?入站流量可能被发送到一个 MAC 地址,但来自主机的出站流量来自另一个 NIC。
编辑:由于虚假流量仅限于某些 MAC,这可能是一个不错的起点。您能否查询交换机的桥接表(在 Cisco 设备上显示 mac-address-table)并查找是否存在违规目标 MAC 地址的条目?另外,您能否确认交换机桥接表的超时值是多少?
我之前见过这种行为的一种情况是在 ARP 超时值设置为高于 MAC 地址表超时值的子网上。通常,当 ARP 条目老化时,会发送 ARP 探测。交换机会记录对探测的响应,并将主机的源 MAC 存储在其桥接表中。当这些计时器倒转时,桥接条目会在 ARP 条目之前老化。这意味着子网上的路由器/主机知道哪个 MAC 地址拥有给定的 IP,但交换机不知道 MAC 连接到哪个端口。在这种情况下,交换机会将流量泛洪到该 VLAN 中的所有端口。
假设交换机发送定向流量,但并非总是如此。
每个交换机都维护一个 ARP 表,就像网络上的每个主机一样。
一个简单的攻击——
如果您必须在交换 LAN 中嗅探不属于您的数据包。您所做的是生成大量虚假的 arp 请求,并使交换机中的 ARP 表过载。一旦 ARP 表过载,交换机就会以默认的 HUB 模式运行。
CPU 过度使用可能会导致性能不佳,但我几乎可以肯定地认为,不会像这样的数据包风暴。