New developments in routing usually require the careful extension of an existing protocol or the creation of new overlay extensions. Most protocols were originally designed based on now outdated and constrained software and hardware environment assumptions. To continue to deliver real-time, and engaging user experiences over networks, innovation in the routing domain is essential.
Last week, Facebook announced that it was releasing its internally developed Open/R routing platform “that enables rapid innovation in network functions” to the open source community. The platform supports innovation and management of network routing operations and programming. According to Silicon Angle blogger Mike Wheatley, this is critical because existing frameworks alter over time and can’t keep up with the number of network devices in Facebook’s ecosystem.
The Open/R platform was used in the first place for Facebook’s Terragraph wireless backhaul network, before transitioning to power its global fiber network backbone. Wireless companies invested in managing distribution of network performance information to and from their worldwide deployments expressed interest in the platform, and Facebook obliged. The engineering team behind Open/R encourage “more operators, vendors, systems integrators and researchers to leverage Open/R as a platform for implementing new network routing ideas and applications”.
Facebook listed numerous improvements to Open/R as opposed to current Open Shortest Path First (OSPF) and Intermediate System to Intermediate System (IS-IS) protocols. These improvements include being IPv6 first while simultaneously supporting native IPv4 routing, and lending support to software updates without affecting traffic forwarding.
“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,” Facebook engineers Saif Hasan, Petr Lapukhov, Anuj Madan and Omar Baldonado announced online. “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.”
Facebook uses the platform for other functions as well, including its FBOSS switch control software, data center fabrics, and its Open Compute Project (OCP) networking hardware. The company found that Open/R simplifies the design process as it allows new applications to be built on top of the platform to increase management to different areas of the network. Furthermore, it offers northbound interfaces for integration with external controllers and employs application programming interfaces (APIs) to enable communication between a centralized controller and remote agents.
The platform can run on multiple hardware platforms because it is hardware and system independent. It presently runs on Arista switching platforms and using gRPC-based APIs integrates with the open source EOS software development kit (SDK), and the Juniper QFX and PTX routing platforms.
In their statement, the Facebook engineering team stated that they had not been satisfied with the performance of their previous system of operating large-scale fabrics with the Border Gateway Protocol (BGP). “While BGP brings its strengths, especially with respect to policy enforcement and scale, we saw opportunities to improve and simplify the design by having Open/R and BGP work together,” the engineers explained.
Facebook is also releasing to OpenSource a framework of containers to test code changes and interoperability within the Open/R platform.
Facebook has a history of releasing its platforms to the open source community, although its size has sometimes hampered previous disaggregation efforts; for example, Telecom Infra Project (TIP) garnered a reputation for being a “Facebook project.”