Facebook is sharing Open/R, its internal design for a data center network suitable for bandwidth-heavy applications. Design documents for the platform, which runs on multiple networks including LANs, WANs and wireless meshes, have been published as open source. 

The Open/R network platform, first announced in May this year, is now available on GitHub. Originally designed for a wireless backhaul system, it has been adapted to run on Facebook’s data center networks, and has been extended to be even more hardware-independent, according to a Facebook blog post. It now runs on network hardware from Juniper and Arista, as well as Facebook’s own switches. 

facebook wedge 100 lead
Facebook’s Wedge100 switch – Facebook

Fast-changing networks

“As more people come online and consume richer content, the complexity of the networks underlying the flow of information also grows,” said the blog post by Saif Hasan, Petr Lapukhov, Anuj Madan and Omar Baldonado. ”While traditional routing protocols have worked well over the past 30 years, it can be challenging and time-consuming to quickly push extensions or entirely new protocols into networking devices.”

New routing ideas can mean complex tweaks to existing protocols, which carry irrelevant hardware and software dependencies from when they were first created decades ago, the authors said. Open/R, originally created for Facebook’s proposed Terragraph wireless mesh backhaul network, allows applications to be delivered without having to deal with all the underlying complexity. 

Facebook has now implemented Open/R to work on its international Express Backbone, and then on the LANs within its data centers, running alongside its FBOSS network software and the Wedge switch hardware, which is shared through the Open Compute Project. As well as open-sourcing Open/R, the company has also collaborated with partners to implement it on other platforms: initially the open-source EOS SDK for Arista switches, and Juniper’s QFX and PTX routing platforms. 

The project sprang from the need to manage a complex wireless mesh in Terragraph, the blog post said: ”A large Layer 2 mesh would not be as efficient and resilient, while traditional Layer 3 protocols, designed mostly for basic connectivity and reachability, are poorly suited to highly variable and dynamic outdoor conditions.” It wasn’t practical to control it all centrally, so a distributed platform, Open/R, was created to implement changes quickly.  

When the idea was published, wireless ISP WiLine Networks asked to use the platform, and implemented it in its commercial network with software company Tieto. At the same time, Facebook found it worked on its backbone and data center networks. 

Keep it abstract

Since the first release, Open/R has been further abstracted, through additions such as the Platform module, which exposes APIs from network software modules.

open r facebook
– Facebook

“While traditional routing protocols have been instrumental to the progress of technology in the past few decades, we are approaching the point where networks need to evolve even faster,” the blog concluded. “Open/R is an open platform that makes it easy to rapidly test and deploy new ideas at scale, making our networks more efficient, quicker to deploy, and easier to manage.”