The Case for Librecast

The case for IPv6 is clear and well documented. It's here, now.

The case for multicast is also clear, and documented. Multicast is, by definition, the most efficient way for multiple nodes to communicate.

Yet, here we are in 2017, using unicast technologies to provide multicast communications. Why?

Native IPv6 multicast is not supported on the wider Internet. It's off by default. While simple to turn on and widely supported by hardware devices, there needs to be motivation for networks to support multicast natively. There needs to be demand for it.

Right now, there are no applications that use native multicast across the Internet, because there's no support for it. There's no support for it, because no applications exist. A classic chicken and egg problem.

The solution is to create a transitional technology to allow multicast applications to be written now. This will create the demand that will ultimately lead to widespread multicast support and to it becoming on by default.

Librecast is the project I have created to build this transitional technology.

Librecast allows discontiguous multicast networks to communicate, enabling multicast applications to have the same reach and reliability as their unicast counterparts, thus making multicast communication a viable option for software developers.

The methodology is simple. Librecast nodes create GRE tunnels to other Librecast nodes and act as multicast routers.

Librecast nodes can be manually configured, or be left to automatically discover other nodes.

In addition to the Librecast router daemon, there will be software libraries, a number of supporting utilities, and a number of demonstration applications showing the ease and utility of multicast.

It is important that Librecast exists in software and can be easily installed and used by software developers with no support or assistance from network administrators. There are already a number of methods for connecting multicast networks, but these are all aimed at network administrators, and require access to router settings, BGP etc. Librecast only needs to exist because multicast is not already natively deployed.

Librecast puts multicast directly into the hands of developers.