为什么某些网络交换机停止工作,而其他的却正常?

为什么某些网络交换机停止工作,而其他的却正常?

我相信我们中的许多人都习惯(或经历过)重新启动(或电源循环)电缆调制解调器、 DSL 调制解调器、路由器或集线器/交换机的日常操作(或至少偶尔需要)。

不过,我决定在这里发帖,以回应我最近遇到的一个普遍存在的问题。我们在几栋大楼里有多个网络机柜。

他们中的大多数都拥有可管理的高质量交换机——千兆位、建筑物之间以及有时是机柜之间的光纤。

周末我们遇到了某种电力故障。不过故障只影响了一栋建筑,而不是所有地点。

此后,出现了许多网络问题。打印机出现问题、连接中断等等。所有大楼都出现了问题。

看起来所有“高质量”托管网络设备都很好。但是,在某些区域,我们有一些消费级(非托管)交换机。例如,一个大型办公室只有一个网络接口,但需要多个连接。我们现在已经逐步解决所有这些交换机的问题(由于用户打电话反映问题)并对其进行电源循环。这解决了用户的问题。交换机通常看起来正常。其中一些所有的灯都亮着(但不应该亮)。

那么为什么所有这些交换机都会开始出现故障呢?电源故障导致交换机输出某种伪造的路由数据?

答案1

我要引用奥卡姆剃刀原理。虽然我认为这是可能的某些特定的畸形数据包可能会导致您的低成本交换机陷入您所描述的故障模式,我认为这是不太可能的原因。您所描述的有问题的交换机(小型、非托管交换机)不太可能具有生成树实现,更不用说支持第 3 层交换和动态路由协议了。这种类型的交换机应该对其交换的帧的实际内容“视而不见”,除了使用源和目标 MAC 地址来做出交换决策之外。

这让我相信,你所面临的权力问题比你意识到的更为严重。

从电源问题假设来看,我认为您在使用低成本交换机时遇到问题,因为它们可能是低质量交换机。我知道这听起来很老套,但这是我整个职业生涯中对网络设备的经验(极少数例外)。您通常能得到您所支付的东西(尽管某些东西的定价可能不正确,但市场很快就会解决这个问题)。

成本较高的交换机通常会配备更好的电源,当暴露于“故障”的市电时,该电源更有可能在容差范围内运行。我怀疑当市电超出规格时,低成本交换机中的电源可能开始输出不良电力。此时,交换机“大脑”的某些部分最终陷入“这绝不应该发生”的境地,因为一个或多个电源轨偏离容差太远。

以太网交换机通常不是单个 ASIC 运行整个系统,而是通常由一组 ASIC 系统组成,这些 ASIC 系统执行不同的工作,彼此连接。如果不了解所讨论的交换机的架构,很难说清楚。多年前,我曾使用过一种交换机模型,它使用单个 ASIC 运行一组 4 个端口。某些类型的故障会导致交换机上的 4 个端口组“失灵”,而交换机的其余部分则保持正常运行。根据我的经验,交换机的部分故障并不异常。

例如,在发生故障的情况下,交换机中负责保持灯亮的部分仍能正常运行。物理接口硬件 (PHY) 可能仍能正常运行(因为您可能看到连接远端的“灯”熄灭了)。但是,其他某些东西无法正常工作,最终导致您无法连接。在我有幸“幸运”地发现交换机“正在”发生此类故障的情况下,我将笔记本电脑插入“问题”端口,并观察到(使用 Wireshark)一个完全“黑暗”的网络,没有任何广播数据包或通常与典型“工作网络”相关的其他“噪音”。传输到这些端口的数据包从未出现在网络的其他地方 - 它们只是落入了“黑洞”。我敢打赌,在您的处境中您会看到类似的东西。

答案2

几年前,思科 1900 系列交换机就因这个原因而臭名昭著。

这些交换机内部使用 2 个电源:5 伏用于 CPU/背板,12 伏用于 CAM 内存。在短暂的电源峰值时,5 伏保持足够稳定,使交换机继续运行,但 12 伏下降到足以损坏 CAM 内存表。不幸的是,交换机 CPU 无法检测到内存损坏,这导致 L2 交换和 ARP 出现各种混乱。

这就是我们在每个配线柜中安装小型 UPS 的原因。这比手动重置每个开关便宜得多。(还要处理恼怒的用户。)

Cisco 在后续型号中修复了这个问题。我听说老款 HP 交换机也存在同样的问题。

我确信有很多硬件,尤其是消费/小型办公设备领域,都存在类似的问题。优质电源仍然是设备中较昂贵的组件之一,因此当 PHB 认为产品利润太低时,它通常是第一个被降级的项目。

答案3

可能是某些 CRC / Jabber / STP / 广播错误,管理型交换机可以“处理”。消费级交换机无法处理数据,因此崩溃。

这可能与此无关,某个厚脸皮的用户找到了一种使您的网络崩溃的方法!

答案4

您在非托管交换机上看到的大多数网络问题都与 arp 表有关。在网络的这个层面上,实际上没有太多其他问题。并且使用 arpping 从网络上的各个位置进行测试应该相对容易。如果它与 arp 有关,您会发现网络中某些区域 arp ping 无法解决。

现在,如果您在网络的受管理部分使用 STP,那么可能会出现将本应开启的链路关闭的情况。但您应该能够从受管理交换机中找出原因。您的非受管理交换机不支持 STP,因此它们不会参与。

相关内容