I found the multicast registery here.
https://www.iana.org/assignments/multicast-addresses/multicast-addresses.xhtml
I already knew that addresses between 224.0.0.1 and 239.255.255.255 are reserved by multicast.
Obviously multicast could be immensely useful if used by the general public, it would obsolete much of facebook, youtube, nearly all CDNs (content delivery networks), would kill cloudflare and company’s business model and just re-arrange the internet with far reaching social implication.
So, why hasn’t all these multicast addresses been converted in usable private IPv4 unicast address space ?
Multicast wouldn’t really replace any of the sites you mention because people want and are used to on-demand curated content.
It’s also not as practical as you make it sound to implement it for the entire internet. You claim that this would be efficient because you only have to send the packets out once regardless of the number of subscribers. But how would the packets be routed to your subscribers? Does every networking device on the internet hold a list of all subscriptions to correctly route the packets? Or would you blindly flood the entire internet with these packets?
people want and are used to on-demand curated content.
If we had had a multicast backbone, this would already be a solved problem, the curation would be crowdsourceds, publish would be auto-curated through cryptographic verified consensus reputation, nodes emitting a history of opinions about other nodes, anonymous but with a reputation history and we’d have the abuse part out of the game already, instead we got Zuck’s faceless Jannies wiping our collective butts !
It’s also not as practical as you make it sound to implement it for the entire internet.
This is the for-profit network operator’s consensus view, which their profits are in part made from selling the solution to the disabling of multicast back to us. I don’t believe it is meaningfully a technical problem if there had been the will, it would already have been done.
Does every networking device on the internet hold a list of all subscriptions
The routers do (not every), yes, the MBGP table will be megabytes long and extremely dynamic, this is impossible to solve in 1980, a crushing challenge in 1990, feasible but not economically expendient in in 2000, and globally trivial but opposed to financial interest in 2010 and “contempt of business model” in 2020.
As far as the router, it’s a challenge on par with keeping DNS running with 2000s hardware.
Or would you blindly flood the entire internet with these packets?
No, that’s broadcast
globally trivial
Please share your trivial solution then.
We organize multicast nationally and globally like we do RF band plans. Some addresses are reserved to stream advertising that anyone can pickup with the global, national, regional, metropolitan, city, town, street levels.
Eligible host subscribe, or advertise their “subscription” to a particular address (and port, we’ve got 65536 ports and most communications between two hosts use just one)
The subscription are broadcast within their scope, pooled into distributed tables copied in bulk between routers. It’s simple association of multicast groups and subscribed hosts.
The end result is that at minimum all routers existing between an host and their subscriber have a copy of the multicast group membership for that address.
When a packet to that address arrives on any router in between, the route trigger and the router sends it down each of its WAN port that has a unicast subscriber down stream.
That’s basically the multicast process with just a little improved protocols and caching for effciency.
I say a little improved, but I think it’s already all there, there burned into the silicon already. It’s just a matter of turning it on and politicians putting on the screws on ISPs to make them play nice.
The bulk of it is already in these protocols
IGMP (Internet Group Management Protocol) PIM (Protocol Independent Multicast) PIM Sparse Mode (PIM-SM) PIM Dense Mode (PIM-DM) MSDP (Multicast Source Discovery Protocol) MBGP (Multiprotocol BGP)There might be still a bit of glue to get there, but on the whole, on a technical front this is less technology than it took to get bittorrent to work. And bittorrent works, really really well !
We’re going to need more client side software, but that will come as soon as “multicast works” because it just didn’t make sense to make global multicast stream browser when there was no global multicast
We’re talking stream browsers, viewer clients for all kinds of media types, video viewer “tv” “radio”, text streams, notification streams, things we cannot even imagine yet
And we’ll need a non-censorious curation system, anonymous cryptographic crowdsourced reputation system, that’s “letsencrypt” on steroids. Voting and beyong-voting systems of likes, dislikes, superlikes, blocks, bans, replies, forward, crosspost all the social media stuff but floating mid-air without a single server or janitor managing it all, just the same abuse prevention system that deal with DDOS and SPAM, everything else is fair game and section 230 protected.
I think you are missing the part of the intent of the question. Multicast is wasteful in a large chunk of IPv4 range. If it were a smaller range, the leftover IP’s would be available for general use.
You’re correct in that it wouldn’t help for the other reasons OP noted, since CDN’s do all that heavy lifting already, and do it better than pure multicast could (geo-location, for example).
Honestly, no clue, but in my career the answer why something beneficial hasn’t been done is usually “backwards compatibility”.
What should we do when backward compatibility (and other likely excuses) are wielded against progress and justice ?
I remember when backward compatibility killed progress for IRC and NNTP and now we have discord and reddit, but we lost so much freedom in the process not to mention atomization, social fragmentation and oppressive censorship culture wielded by both sides of the political spectrum.
Will backward compatibility, and it’s righteous stand against “capability backsliding” always end up strangling us ?
Does it have to be this way for every technological consensus that we establish ?
To have it clogged up by well meaning (and hidden commercial) interests until the technological consensus is fragmented into private technological fiefdoms (cloudflare, apple, the other usual suspects).
(It took me over 40 years to figure that out about one extremely niche topic, isn’t just an “accident of technology”, what else is like that in the world and I just can’t see it ?)
Multicast addresses are handled specially in routers and switches all over the world.
Changing that would require massive firmware updates everywhere to get this to work and we can’t even get people to adopt IPv6. Nevermind the complexity in figuring out to how manage IGMP group membership at the Internet scale.
Given the complexity with either change, its better to adopt IPv6 and use PeerTube. Multicast at the Internet scale won’t work and IPv6 is less work
Oh multicast’s not going to work on IPv6 either. From my research since writing the above, it has become clear to me when they say “it won’t scale”
they don’t mean some kind of Big O of N notation complexity or compute scaling, they mean economically
This crucial feature if it were unlocked, wouldn’t make the profits scale up,
they wouldn’t be able to say hey netflix, on our network multicast access is “this much” or facebook you CDN cache is “that much”That’s what they mean with “scaling”, it’s not some kind of technical difficulty
If we had governments and they said “you will make it work OR ELSE” it could work, it could work very well.
I could send that 4 megabyte file to 500 person without paying a single bridge toll for it, just like in unicast.We’re ALWAYS going to have to use someone else’s computer because that’s where the bridge toll is collected, if not in cash then in kind.
I don’t know who they is in the case, but let’s think about this for a minute.
Technically what do you need for this to work?
How many Multicast Addresses do you need? How are multicast addresses assigned? Can anybody write to any multicast address? How do I decide that 239.53.244.53 is for my file not your movie? How do we know who is listening? This is effectively BGP, but more tricky because depending on the answer to the previous question you may not benefit from any network block sizes to reduce the routing info being shared. How do you decide when to start transmitting a file? Is anybody listening? Does anybody care?
You seem latched on to assume that technically would work and haven’t asked if it is actually technically a good solution. P2P is going to work better than multicast
I don’t think there is a technical issue or any kind of complexity at issue here, the problem seems trivial even though I haven’t worked the details. It is moot since it’s broken on purpose to preserve “They’s” business model.
And “They” is the operators of the internet backbone, the CDNs, the ISPs
There protocols for dealing about what you’re asking Since multicast is a dead (murdered) technology, I can’t tell you exactly what does what but here they are
IGMP (Internet Group Management Protocol) MLD (Multicast Listener Discovery) PIM (Protocol Independent Multicast) DVMRP (Distance Vector Multicast Routing Protocol) MOSPF (Multicast OSPF) MSDP (Multicast Source Discovery Protocol) BSR (Bootstrap Router) Auto-RP (Automatic Rendezvous Point) MBGP (Multiprotocol BGP) MADCAP (Multicast Address Dynamic Client Allocation Protocol) GLOP Addressing ALM (Application-Layer Multicast) AMT (Automatic Multicast Tunneling) SSMPing MRD (Multicast Router Discovery) CBT (Core-Based Trees) mVPN (Multicast VPN)There would be many more of course, things that specifically resolve any unexpected issues that might arise from “actually existing multicast” in the hands of “the public”, which has never happened.
While I agree that P2P is the next best thing and torrents are pretty awesome, they are unicast and ultimately they waste far more resources, especially intercontinental bandwidth than multicast would.
Also multicast open protocol that might have developed if ISPs didn’t ruin multicast for everyone, would have steered the whole internet toward a “standard solution” in the same way that we all use the “same email system”. There would be one way that was “the way” of doing this one-to-many communication
To specifically answer your question, as far as routers are concerned, whenever a packet arrives, the router has to decide, WHICH of its WAN ports does the packet need to go to or does the packet need to be dropped.
From the point of view of the router, the whole internet is divided up in the number of WAN port it has and it sends the packet down the port with the shortest path to the destination host.
Multicast is a lot like that, the main difference is that the router MIGHT send the packet to more than one destination.
I think the solution is that receivers that wish to receive the multicast packets to a particular address (and port), from a particular source host, would subscribe to it. The literature mentions “multicast group subscription” I’m pretty sure this is already what this is for.
I think what this does is add branches in the routing table for the subscribed addresses in the multicast range. This tells the router about hosts that become part of the multicast group. I’m not sure if this is supposed to tell every router on the whole internet, or just the routers between the source and the destination host, but it gives the routers that need to know, where to send those packets pretty much in the same way as unicast, except with multiple destinations as specified in the multicast group subscriber list.
It’s really just unicast with extra steps, and not that many more steps, and those are all already baked in L3 switches silicon for decades. These protocols were designed to run on computers from the 1980s, I don’t believe for a minute that today we can’t handle that.
I don’t think there is a technical issue or any kind of complexity at issue here, the problem seems trivial even though I haven’t worked the details. It is moot since it’s broken on purpose to preserve “They’s” business model.
I’m explaining what the technical problems are with your idea. It seems like you don’t fully understand the technical details of these networking protocols and that’s okay but I’ve summarized a few non trivial technical problems that aren’t just people keeping multicast from being used. I assure you if multicast worked, big tech would want to use it. For example, Netflix would want to use it to distribute content to their CDN boxes and save tons of bandwidth.
But it does work if you run it on a parallel network, if you side step all the ISP’s toll bridges.
What you can’t do is negotiate with every ISP on the internet between you and your end users, giving a 30% cut to every one of them along the way. Especially since most of these ISPs were cable TV distributors in their previous life. They made sure to break it, to break it so good it becomes unimaginable that it could ever have worked in the first place.
And I think that has turned out just fine for netflix, the enormous deployment costs for their CDN means they have a moat, no small operator is going to be eating their lunch. Add to that brand name and platform power, the lack of standardized “one-to-many” infrastructureless broadcasting method, like “email” for broadcasting.
We’ll be stuck using Zuck’s computer to talk to each other pretty much forever now …


