以太网干扰

以太网干扰

我刚刚在家里的网络上遇到了一次奇怪的经历。我们的以太网断了;无法 ping 相邻的主机。我检查了交换机;所有灯都亮着并且闪烁,尽管它们同步闪烁,这有点令人担忧。然后我注意到我的 Linux 机器崩溃了(对鼠标和键盘没有反应)。我按下了重置按钮,那一刻网络就畅通了。

这仅具有学术意义,但我的雇主恰好从事一家非常重视服务连续性的企业。关键数据通过双独立以太网 LAN 发送。我们的可靠性模型假设唯一可能导致整个 LAN 瘫痪的因素是交换机故障。因此,单个故障主机可能导致整个 LAN 瘫痪的想法……令人担忧。

思科论坛上的这条消息说这是不可能的,所以不要担心。

这份关于美国海关中断的报告听起来很相似:故障的以太网卡导致他们的网络瘫痪。那是一个单一网络,听起来像是硬件故障,因此它不会使我们的双网络瘫痪。但我想知道:设备驱动程序错误是否会使卡陷入阻塞网络的状态?如果是这样,那么如果它驱动两个绑定通道,它可能会以相同的方式阻塞两个通道。

有谁知道更多有关以太网的潜在故障模式吗?

编辑

我想了解的是:单个节点在软件中(例如在设备驱动程序中)能做什么,从而导致整个网络瘫痪。假设它不是恶意软件,那么特定交换机的模糊错误可能不是问题。向单个特定主机发送帧不会造成这种情况。发送大量广播帧(目标 FF:FF:FF:FF:FF:FF)会产生这种影响吗?jabber 怎么样?这还是个问题吗?

答案1

以下列出可能导致您所看到的行为的一些因素:

  1. 一个开关循环。

  2. 恶意软件。

  3. NIC 损坏或有缺陷。

  4. 存在缺陷/行为异常的 NIC 驱动程序。

  5. 广播风暴(通常与交换机环路有关)。

为了解决您的编辑:广播风暴或交换机泛洪(这是两个不同的东西)可能会导致此问题。请注意,这里有两个广播地址:FF-FF-FF-FF-FF-FF(255.255.255.255),即第 2 层广播地址,以及第 3 层子网广播地址(例如,192.168.1.255 是 192.168.1.0/24 子网的第 3 层子网广播地址)。第 2 层或第 3 层的广播风暴都可能导致此问题。

答案2

交换机在其固件中运行代码。有时该代码有缺陷,意外输入可能会导致交换机崩溃。因此,行为不当的主机可能会导致交换机崩溃。这不太可能,但确实会发生。

几年前(可能是 2003 年?)我有非托管的 Netgear 交换机,每周会宕机 2-4 次,就像它们正在经历广播风暴一样 - 就像您上面的描述一样。重新启动堆栈是唯一的解决办法。Netgear 支持人员表示,他们在这些交换机上运行 IP 和 IPX 时存在已知问题,而且由于它们是非托管的,因此没有什么可排除故障的。它们已经 EoL 并且没有进一步的固件升级,因此他们用保修期内的较新的托管交换机替换了它们。

至于“请列出以太网的所有潜在故障模式”——不,这是一个愚蠢的要求。不过,为了你自己的教育,请阅读有关生成树循环的内容,这是一种常见的用户引发的故障模式。

答案3

由于 Linux 机器似乎有两个 LAN 接口:您能否排除它没有暂时桥接这两个接口,从而创建桥接环路?

仅使用两台交换机并不能实现高可用性。交换机上应该有指示广播风暴的指示器和适当的监控软件。为此,请配置具有更高优先级的管理 VLAN,这样它就不会被广播风暴中断。或者,通过物理上独立的网络链路或带外运行管理功能。

对您的编辑的补充:切换网络,唯一能够使所有端口瘫痪的就是广播风暴或严重拥塞。超大帧(jabber)、碎片或类似异常会被交换机丢弃。来自入口端口的广播风暴会用该端口的带宽淹没网络 - 100M 端口不会对 1G 网络造成太大损害,但 1G 端口很容易淹没所有 100M 出口端口。同样,通过上行链路发送超出其处理能力的数据将丢弃该方向的大多数其他流量。

广播风暴通常是由桥接环路引起的。生成树是解决此问题的好办法,还允许您向网络添加冗余链路。其他风暴可以通过边缘端口上的广播限制来处理。

拥塞是一个更棘手的问题。硬件方法是确保所有上行/下载端口都比任何边缘端口快。在具有 10GE 上行链路的千兆交换机上,您需要至少 10 个边缘端口才能使上行链路饱和。另一种方法是限制边缘端口带宽,这样它们就不会过度馈送上行链路。

相关内容