Assume 3 switches connected in a ring topology forming a loop. If STP is disabled, a single broadcast packet is going to create a broadcast storm.

If i assume a broadcast packet size to be 100bytes and all the links to be 100Mbytes per sec, how can i quantify/calculate how much of the bandwidth is being utilized because of this packet storm? To avoid complications lets assume there are no other traffic. Just a single broadcast packet that got in and the switches.

edit:i do not necessaryily need to measure it in the network. I was looking at an equation that can estimate it based on the link speed, transmission delay etc

It depends on several factors.

IF there is only a single ring (eg. each switch is connected to exactly two switches using exactly one cable to each switch) and the source is connected to one of the switches then if you do a broadcast storm (destination MAC FF:FF:FF:FF:FF:FF) and if you would constantly be flooding frames from the source then it would utilize all of the links to the full capacity in both directions (it's full duplex).

If you would for example only send one frame and let it circulate, the utilization would depend on how quickly a switch can forward that frame. Then you'd need to sum up the forwarding, propagation, serialization and other delays in the entire loop and that often would that one (actually two, one in each direction) frame arrive on each particular interface. Then based on the frame size you would simply calculate the utilization.

But remember, utilization is always a function of time, there is no such thing as instant utilization.

So to answer the formula question: utilization of each single link in one particular direction = (num_frames * frame_size / sum_of_all_delays_in_the_path) / capacity_of_the_link

Sounds like a homework question. Just think about it for a minute and the answer should be obvious: whatever bandwidth it takes to transmit that single frame, twice as the broadcast frame will be flying around the ring in both directions forever.

What makes these sorts of loop a Very Bad Thing™ is that whatever generated the first frame is going to generate more -- in fact, every device on an ethernet network generates broadcast frames. One frame won't even be noticed. After a few minutes when there are potentially hundreds screaming around the network, everything is going to notice it.

It's going to increase until all the bandwidth available is used, but you wouldn't be able to measure it because the CPU would be way too high for you to do anything.

• i do not necessaryily need to measure it in the network. I was looking at an equation that can estimate it based on the link speed, transmission delay etc. Sep 25 '14 at 15:13

Let the broadcast storm run for over 5 minutes. Disconnect the broadcasting device. IMMEDIATELY log into switch and check interface stats, should show last 5-minutes values. (Probably best done via script, to each device, to make it both quicker and more reliable.) Use this data to "walk backwards" and derive a calculation.

Note this is quite likely to vary by switch model, OS version, OS features, etc. You may be able to come up with a general "rule of thumb" calculation if you try all the models/versions/features you're interested in.

You may want to look at your vendor's whitepapers, they could have some info on this.

• If your broadcast storm is running for 5 minutes you're going to have a fun time getting a response from the switch. Oct 26 '14 at 4:27
• That's why you disconnect the first broadcaster, but yes, time frame may require adjustment. Process may also require persistence and patience. Good observation! Oct 26 '14 at 5:49