Canonical is taking a shot at dealing with virtual machine address scaling problems, and reckons it can do so without resorting to software-defined network approaches.
The company reckons its scheme, The Fan, gives “any cloud user 250x the number of addresses they would normally have access to in a cloud environment”.
The brainchild of Mark Shuttleworth and John Meinel, The Fan performs a bit of fancy IP address mapping and tunnelling to achieve this.
As this post explains: “Whether for whole machine containers (LXD) or process containers (Docker), it is easiest for these containers to be managed as separate networking entities, which means they need their own IP addresses”.
So the idea is to map a /16 onto a /8 in the data centre environment: “Fan addresses are assigned as subnets on a virtual bridge on the host”, the post explains. This means the scheme provides “an extra 253 usable addresses for each host IP address on the /16”.
The system needs to know the local address space for the underlay – for example, 172.16.0.0/16, of which 172.16 is used as the underlay – and the overlay space (like 10.0.0.0/8). The overlay /8 network has to be kept back from being advertised on the Internet or the underlay won't be able to see it.
The Fan: just lay down addresses and tunnel between them
Back to Ubuntu's explanation:
“The fan mapping device encapsulates any traffic routed through it and addresses the outer packet to the appropriate underlay IP address. For instance, suppose a process or container on 172.16.5.6 wanted to communicate with a container that announced its address as 10.3.4.25.
"The fan-10 would encapsulate that packet and address it to the appropriate underlay address, which is 172.16.3.4. When the packet arrives at 172.16.3.4, it will be unwrapped, leaving the packet addressed to 10.3.4.25.”
Of course, defining network address ranges and routing traffic between VMs sounds to the El Reg networking desk like it's (a) software-defined and (b) a network, but perhaps we're quibbling.
Canonical reckons it's demonstrated The Fan operating at 5 Gbps between two Docker containers on separate hosts, and it's got public test images for Amazon Web Services and Google Compute Engine. ®