Facebook runs one of the largest networks in the world. Delivering traffic over that network as quickly and efficiently as possible is of prime importance to us and our users, which is why we're a founding member of the Open Networking Foundation (ONF), along with Deutsche Telekom, Google, Microsoft, Verizon, and Yahoo!. The ONF is a non-profit organization dedicated to promoting a new approach to networking, called Software-Defined Networking (SDN).
SDN allows network owners and operators to control and manage their networks using innovative software tools to best serve their customers' needs.
The first priority of the ONF is the development and implementation of the OpenFlow protocol. OpenFlow gives application developers unprecedented control via direct access to network resources. The ability to configure and control networks directly through software enables near-real-time traffic engineering and optimization of server-to-server communication, which has these main benefits:
- -Failures can be automatically detected and traffic re-routed accordingly with little to no human intervention. Bandwidth or quality of service can be provisioned through an API instead of needing to coordinate resources across development, networking, and other teams.
- -Services can be easily adjusted in response to fluctuations in network traffic. As traffic drops off (for example, when it's late in the US and before traffic in Europe picks up), systems can be powered down, saving energy and operating expenses.
The OpenFlow protocol enables data centers to better utilize current fat tree network topologies as well as Clos network topologies to change traffic flows and patterns on the fly. The OpenFlow protocol reduces latency and should improve reliability. It is quite useful for websites and applications with a scaled out architecture, like ours, where we need to get data from multiple servers in various tiers to satisfy network requests.
Consider when a user visits his or her home page. The various components of the page (News Feed, events, ads, application bookmarks, groups, recommendations, and so forth) all come from various servers and databases on multiple tiers throughout the service. All these systems must communicate rapidly to deliver all the content of the request. The fat tree architecture does this far more efficiently than a more conventional network architecture, where server-to-server communication is bottlenecked.
Facebook is experimenting with various software controllers and silicon providers to rapidly innovate and move SDN forward.