Open/R: The joy of packet routing
Facebook announced the Open/R modular routing platform at Networking @Scale, and Petr Lapukhov outlined why Facebook felt compelled to develop a new distributed application platform instead of leveraging existing routing protocol implementations. Routing protocols were largely written in the ’80s and ’90s and assumed minimal compute power and software available for such operations. Back then, there wasn’t much of a software ecosystem to leverage for a network device. Fast-forward about 30 years, and Facebook needed to be able to move fast and innovate for Terragraph and other portions of the network. Open/R leverages modern open source libraries like Zero MQ and Thrift to handle the mechanical encoding/data transfer functions — making the actual routing algorithms easy to write as software modules on top. As a result, Open/R can easily support both a centralized and distributed model of operations, and Facebook does so for both Terragraph and specific internal backbone applications in the Facebook production network.