It’s called Project Calico, and it’s going to launch later in July with a web site (projectcalico.org, although it was still dormant at press time) and a set of code on Github (again, not present at press time).
The concept itself is not so radical and is probably in use already — “We believe that the real hyperscale data centers out there have already abandoned Layer 2 virtualization,” says Martin Taylor, Metaswitch’s CTO. Service providers, though, are still wrestling with Layer 2, so Metaswitch has been circulating the Calico idea among Tier 1s, he says.
OpenStack has become the default environment for NFV, and that presents potential problems with scale. OpenStack virtualization tends to be handled with Layer 2 overlays and Layer 3 encapsulation tunnels.
It works at a small scale, but for NFV, operators intend to run “many thousands of servers” in a data center, Taylor says. “Talking to OpenStack integrators, we know you start to run into some challenges above about 500 servers.”
Plenty of alternatives have been suggested, but they tend to be too complex or rely on some element of proprietary hardware, he adds — the latter comment probably being a dig at Cisco‘s Application-Centric Infrastructure (ACI).
Taking NFV to Layer 3
Metaswitch thinks the answer is the same one used for surpassing the limitations of Layer 2 in the first place: Go to Layer 3. Internet Protocol scales enough to build a network as large as the Internet, after all, Taylor says.
As Taylor sees it, the reason data centers aren’t virtualizing at Layer 3 in the first place goes back years, to a time when you couldn’t assume every application was IP-enabled. That assumption is a lot safer today, but Layer 2 virtualization remains, like a vestigial tail.
“People lost sight of that,” Taylor says. “They just kind of accept it: ‘It’s how OpenStack works.’ We’re saying [Layer 3] solves all kinds of problems.”
In addition to easing scale, a move to Layer 3 would simplify the protocol stack by eliminating the need for Layer 3 encapsulation, Taylor says. Wrapper protocols such as VXLAN — which creates Layer 3 tunnels between servers —wouldn’t be necessary.
Another side effect is that virtual machines could inherently communicate across data-center or cloud boundaries, since that’s what IP does. By contrast, a Layer 2 network would require a gateway or a Layer 3 tunnel to send traffic across such boundaries.
Metaswitch is better known for software that handles voice traffic on telecom networks, but the company does have experience in this area; Metaswitch is also a supplier of IP and MPLS software stacks to OEMs.
Metaswitch also has some experience at starting an open-source effort. The company launched Project Clearwater last year to provide open-source IP Multimedia Subsystem (IMS) code for the cloud. The idea was quickly picked up by the CloudNFV effort and has drawn the attention of carriers including Italy’s Tiscali.
Calico will likewise be an open-source project, with code available under an Apache license. In typical open-source fashion, Metaswitch would try to make money offering commercially hardened version, along with support. OpenStack environments will be Calico’s first targets, but not necessarily the only ones.
To apply Calico, an operator would need Metaswitch’s Neutron plug-in; a Calico agent called Felix, which runs on each data-center node; and a BGP route reflector that would be the hub for the Layer 3 control messages. The Linux kernel itself would provide the virtual router that does the actual Layer 3 forwarding.
For more on open-source efforts around SDN and NFV, check out our open-source topic page.