广播风暴是互联网服务提供商(ISP)面临的一大难题,尤其在发展中国家,如孟加拉国,由于大量网络由交换机而非路由器组成,广播风暴更为常见。最佳实践建议将网络的交换部分尽可能保持最小化。然而,当需要非常高的吞吐量时,路由器与交换机之间的成本差异变得显著。在 NovoCom Limited 的托管交换网络中,我们运行快速生成树协议(RSTP)以减轻广播风暴的影响。然而,我们发现当我们必须连接到客户或合作伙伴的交换机而不是路由器时,这并不一定有帮助。当发生广播风暴时,我们的一个或多个交换机的 CPU 利用率几乎达到 100%,管理 IP 不可达,客户面临高达 100% 的数据包丢失。当 CPU 利用率达到 100% 时,无法检查日志和接口流量以隔离导致故障的流量。我们必须手动或物理关闭客户和合作伙伴,以确定需要断开哪个网络才能恢复正常。这个过程非常耗时且令人沮丧;尤其是在我们已经采用了环路预防机制的情况下,我们的网络仍然受到影响。有趣的是,我们发现我们地区的几个服务提供商网络几乎在同一时间面临完全相同的问题。图 1 展示了我们早期预测的情况。图 1 - 孟加拉国的全国性 ISP 可以有多个区域 ISP 作为“客户”。这些客户 ISP 与其他“上游”ISP 对等连接,通常通过交换机。这可能导致交换机环路,从而引发广播风暴。但即使网络以这种方式物理连接,环路也不应该发生。在我们的网络中,我们遵循严格的策略,只允许在对等连接接口中特定的 VLAN,并且特定的 VLAN 永远不会重复(对于任何其他对等或服务)。这意味着图 1 中接口 A 允许的 VLAN 在接口 Z 中不存在,因此广播域完全分离。为什么我们受到影响?为了理解这个问题,我使用在孟加拉国广泛使用的 BDCOM 交换机进行了一些非常简单的测试。我使用了 BDCOM™ S5612 软件,版本 2.2.0C Build 42666。以下是一些发现。当故意创建环路时,BDCOM 交换机在运行 STP 的情况下可以很好地检测和防止环路。我使用一个由四个交换机组成的环形结构来为特定 VLAN 创建环路;仅在其中一个交换机上运行 STP 仍然通过阻塞某些接口来防止环路。但问题出现在以下场景中:图 2 - 交换机 A 和 B 之间的环路可能导致影响交换机 Z 的广播风暴。
广播风暴的普遍性
广播风暴在发展中国家尤为普遍,因为这些国家的网络中交换机使用比例较高。尽管最佳实践建议减少交换部分,但在高吞吐量需求下,交换机与路由器之间的成本差异显著。这种情况下,即使采用了环路预防机制,如 RSTP,广播风暴仍然可能发生。
NovoCom Limited 的经验
在 NovoCom Limited 的托管交换网络中,运行 RSTP 以减轻广播风暴的影响。然而,当连接到客户或合作伙伴的交换机时,这种方法并不总是有效。广播风暴会导致交换机 CPU 利用率几乎达到 100%,管理 IP 不可达,客户面临高达 100% 的数据包丢失。这种情况下,必须手动或物理关闭客户和合作伙伴,以确定需要断开哪个网络才能恢复正常。
BDCOM 交换机的测试结果
在测试中,BDCOM 交换机在运行 STP 的情况下可以很好地检测和防止环路。但当环路场景类似于图 2 所示时,问题就出现了。这种情况下,即使只有一个交换机运行 STP,也无法防止环路,从而导致广播风暴。
结尾:对于运维和网络工程师来说,了解广播风暴的成因和影响至关重要。通过分析 NovoCom Limited 的案例和BDCOM 交换机的测试结果,我们可以更好地理解广播风暴的复杂性,并采取措施防止其发生。这对于确保网络稳定性和可靠性具有重要意义。
原文: APNIC Blog(2019-05-28)|编译自 APNIC Blog,事实以原文为准。
来源:APNIC Blog