Canonical has launched a new networking system designed to vastly increase the number of IP addresses available to containers without adding complexity, dubbed the Fan. “It’s called that because you can picture it as a fan behind each of your existing IP addresses, with another 250 IP addresses available,” explained Canonical founder Mark Shuttleworth of the project. “Anywhere you have an IP you can make a fan, and every fan gives you 250-times the IP addresses. More than that, you can run multiple fans, so each IP address could stand in front of thousands of container IP addresses.”
The Fan system was conceived by Mark Shuttleworth and JohnMeinel, and implemented by Jay Vosburgh and Andy Whitcroft, in order to provide additional addresses for any host system in a local network, as a means of allowing systems to host dense containerised virtual systems. Unlike a software-defined network (SDN), it does not provide arbitrary address virtualisation or where live migration of an interface from one host to another is required. Instead, it is built with the use of containers such as LXC/D or Docker in mind.
“Because we’re mapping addresses algorithmically, we avoid any need for a database of overlay addresses per host,” adds Shuttleworth. “We can calculate instantly the host address for any given container address. More importantly, we can route to these addresses much more simply, with a single route to the ‘fan’ network on each host, instead of the maze of twisty network tunnels you might have seen with other overlays.”
The Fan launched on Ubuntu images for Amazon’s Web Services (AWS) cloud platform, and was quickly ported to the Google Compute Engine (GCE), with support for more platforms promised “soon.” Shuttleworth has also confirmed that Canonical intends to submit a Request For Comments (RFC) to the Internet Engineering Task Force (IETF) to turn Fan into a cross-vendor standard for container networking.
Use of Fan requires a modified Linux kernel, a modified ip route2 package, the new fanctl package and, to follow the published tutorials, a working Docker installation. Canonical has documentation describing the Fan on the official wiki at wiki.ubuntu.com/FanNetworking.