计算广播风暴期间的链路利用率

网络工程 转变 播送
2022-02-19 23:23:37

假设 3 个交换机以环形拓扑连接,形成一个环路。如果禁用 STP,则单个广播数据包将产生广播风暴。

如果我假设广播数据包大小为 100 字节,所有链接为每秒 100 兆字节,我如何量化/计算由于此数据包风暴而使用了多少带宽?为避免复杂化,我们假设没有其他流量。只有一个广播包进入和交换机。

编辑:我不需要在网络中测量它。我正在研究一个可以根据链路速度、传输延迟等估计它的方程

4个回答

这取决于几个因素。

如果只有一个环(例如,每个交换机都使用一条电缆连接到每个交换机正好连接到两个交换机)并且源连接到其中一个交换机,那么如果您进行广播风暴(目标 MAC FF:FF: FF:FF:FF:FF),如果你不断地从源头泛滥帧,那么它会在两个方向上利用所有链路来达到最大容量(它是全双工的)。

例如,如果您只发送一个帧并让它循环,则利用率将取决于交换机转发该帧的速度。然后,您需要总结整个循环中的转发、传播、序列化和其他延迟,并且通常会有一个(实际上是两个,每个方向一个)帧到达每个特定接口。然后根据帧大小,您只需计算利用率。

但请记住,利用率始终是时间的函数,没有即时利用率之类的东西。

所以要回答公式问题:在一个特定方向上每个单个链接的利用率 = (num_frames * frame_size / sum_of_all_delays_in_the_path) / capacity_of_the_link

听起来像一个家庭作业问题。想一想,答案应该很明显:无论传输单个帧所需的带宽是广播帧的两倍,都将永远在环上双向飞行。

使这种循环成为非常糟糕的事情™ 的原因在于,无论生成第一帧,都会生成更多帧——事实上,以太网网络上的每个设备都会生成广播帧。一帧甚至不会被注意到。几分钟后,可能有数百人在网络周围尖叫,一切都会注意到它。

它会增加,直到所有可用带宽都用完,但您无法测量它,因为 CPU 太高,您无法执行任何操作。

让广播风暴运行 5 分钟以上。断开广播设备。立即登录交换机并检查接口统计信息,应显示最后 5 分钟的值。(可能最好通过脚本对每个设备完成,以使其更快、更可靠。)使用这些数据“向后走”并得出一个计算。

请注意,这很可能因交换机型号、操作系统版本、操作系统功能等而异。如果您尝试所有您感兴趣的型号/版本/功能,您可能会得出一个通用的“经验法则”计算.

您可能想查看供应商的白皮书,他们可能对此有一些信息。