Hacker News new | ask | show | jobs
by RijilV 3533 days ago
Le sigh, multicast. A great example where software engineering crosses over to the physical realms.

When a router receives a packet destined for a multicast group and that router has multiple destinations for that pocket, it must store that packet in memory until the last interface associated with that group can be written to. On networks which aren't heavily used that's not problem. Once you start utiziling your network however, the routers will be busy storing packets and their sensible-for-simple-cases buffers will become overwhelmed and you've got a multicast storm on your hands.

Great on paper, even works in test setups. Call me when you're running your kit to the limits, and I'll let you know you have a multicast problem.

2 comments

Why is it worse than sending a separate packet to each of the participants? If we're using multicast router can send packets to all participants in any order (when links become available) while storing one copy of it. If we're sending separate packets, either router has to store multiple copies of it in memory or it sends the packet to different participants in a constrained order.
Wasn't the multicast storm issue related to the fact that most hardware implementations have limited-size Bloom filters that are used to manage subscriptions, and once they're full, they deliver every packet to everybody? Or is that an additional issue?