Multicast for the Web
Presenter: Jake Holland
Duration: 3 min
The video introduces the newly formed multicast community group, with a brief overview of why multicast is important and the work we're doing to make it viable on the Web.
Hi, I'm Jake Holland, also known as GrumpyOldTroll on github.
I'm a chair of the multicast community group, which we just started this year in June of 2021, and I’ll say a little about what we’re doing and why.
You may know multicast is a technology that gives broadcast scale efficiencies to internet traffic.
You can have a single server sending a stream of packets, and the network replicates the packets while forwarding them so that each packet is received by all the subscribers for that channel.
It can scale up to serving hundreds of millions end users or more from a single server.
Packets like those can be used to carry anything that's popular enough, especially those big live video events.
Most of the work so far has been at the IETF and with the ISPs that want to turn this on, but a critical next step to making it a reality is to get this working for web traffic.
That’s why we started the multicast community group.
I'm going to show a quick demo of what we've got running so far.
It needs a lot of work still, but we think it shows that the job can be done.
What we’re looking at here is a screen recording from a linux laptop.
I've got a chromium fork installed that has a prototype of our first proposal for a multicast API, you can see the warning about the feature being enabled, and we ported an existing receiver into web assembly and plugged into that multicast API where it was receiving UDP packets.
On the left we're running iftop to show the traffic arriving at this machine.
When it starts up it’s doing unicast HLS.
What's playing here is Caminandes from the Blender project, a wonderful little creative commons work.
You can see that we start out receiving traffic to a unicast address, but it soon starts receiving multicast traffic, where you can see that address that starts with 232, that’s a multicast group address.
And then you can see it start to move over to entirely multicast traffic.
This page has a counter showing that now it's getting segments that were built from the multicast data, and you can see in the iftop that the traffic being received is all destined to that multicast group address.
This shows we can get the basic feature working, and if we had hundreds of millions of people watching this we could serve them all without the many tens of thousands of servers that would need today.
And this really matters, because the internet is a much bigger consumer of energy than you’d think.
If we can enable the kinds of efficiency gains this technology makes possible, we can make a real dent in the world’s carbon footprint, as well as reducing the network load and making a better user experience.
And that improvement in user experience happens for everyone, not just the people watching the popular content, because it’ll take a bunch of load off the network.
Our analysis of CDN logs suggests we can get as much as 20% day-to-day traffic and 50% for the big peak days offloaded this way.
So come join us at the Multicast Community group, and help us make this happen, because there’s a whole lot of work left to do and we’d love to get more stakeholders in the conversation, to make sure we get it right as this develops further.
Thanks for watching, and I hope to see you there.