OpenFlow is the latest internet technology that has recently begun to commercialize the university labs. At the Las Vegas Interop Fair in 2011, the technology was presented as a sensation, and the show was also called the "OpenFlow exhibition". Although the protocol is simple, it will have far-reaching implications for the network architecture and the 16 billion-dollar switch market.
We will review the origins of OpenFlow and the various problems it can solve, including its current common architectures, and we would like to know why OpenFlow can be called a disruptive technology, and why it can revolutionize the way that network functions are transmitted, web design, and operation.
Origin
OpenFlow was launched by a consortium of universities led by Stanford University and the University of California, Berkeley, and was designed to allow researchers to use enterprise Ethernet switches as custom components for university network experiments. They want their server software to have direct programmatic access to the switch's forwarding, so they developed the OpenFlow protocol. The protocol itself is very small, although only a 27-page specification (which is already very small), but very powerful, a set of primitives for modifying, forwarding, queueing, and stripping of matching packets. OpenFlow is similar to the x86 instruction set used for networking and can be created on the software layer.
In OpenFlow networks, many control plane functions of the L2 switch, such as spanning Tree protocol and MAC address learning, are determined by Server software rather than switch firmware. Early developers thought more about defining protocols, allowing OpenFlow controllers and switches to perform many traditional control functions such as routing, firewalls, and load balancing.
At present, the OpenFlow agreement has gone out of the university laboratory and has been supported by the Open Network Foundation. The Open Network Foundation is a non-profit industry with its members including many large equipment manufacturers and chip technology providers, and the world's largest network operators such as Google, Microsoft, Yahoo, Facebook, Deutsche Telekom and Verizon are members of the board.
Evolution in use
Three years ago, OpenFlow was driven entirely by several universities and switch makers. These switch makers have provided firm support for research and development. OpenFlow allows developers to safely test new protocol designs and concepts in production networks and information.
Three years ago, OpenFlow's programmability began to be the focus of a large data center Network group seeking a way to support large mapreduce/hadoop clusters. These clusters have very detailed network requirements: the need for equal network bandwidth between each server, which is called "Full cross section bandwidth".
Since then, public cloud (IaaS) operators have begun to investigate the openflow architecture because they found that tenants with a large number of virtual machines presented the same full cross section bandwidth requirements, and these tenants ' virtual machines were distributed across many racks in the data center. These IaaS providers are also driven by support for multi-tenant requirements that are beyond the capabilities of traditional scripts and VLANs due to scale and speed constraints. This demand promotes the development of openflow applications and the research of network virtualization.
Today, OpenFlow's multi-tenant network use allows OpenFlow to successfully access large data centers, IaaS providers, and enterprise data centers.
Architecture composition
The main OpenFlow solution currently consists of a three-tier architecture, the first tier of which is comprised of key Ethernet switches that are licensed by the OpenFlow protocol. Typically, they are physical Ethernet switches with openflow capabilities. We also see a few virtual tiers/software switches and routers with openflow capabilities. There will surely be more and more such devices in the future.
Then there are two-tier server-side software: The OpenFlow controller and the OpenFlow software application are built at the top of the controller.
The controller is a platform that can be directly down to a conversation with a switch using the OpenFlow protocol. Up, the controller can provide a large number of functions for OpenFlow software applications, including the switch resources into a unified network window, to provide synergies and common libraries for applications.
At the top level, OpenFlow software is used to perform actual control functions for the network, such as switching and routing. Applications are simple software written at the top level of the unified network Windows and common libraries provided by the Controller. Therefore, these applications can focus on the implementation of specific control algorithms, and can adjust their lower layer openflow to instantiate the algorithm in the network.
The software architect should be familiar with this three-tier OpenFlow architecture. For example, the Web Application Server architecture: Applied at the top level of the Web application server, and the Web application server at the top of the database tier. Each lower layer provides an abstract concept API to the design of the upper layer of the simplified one.
At present, the OpenFlow term has two meanings, which can refer to the "OpenFlow Protocol", which explicitly refers to the x86 instruction set for the network, or "OpenFlow architecture", mainly the switch, controller and application layer.
Change
OpenFlow has been a controversial topic in the Internet world, in part because of its earlier claim that its goal was to commercialize the swap hardware. Obviously, the protocol needs to be exchanged between the hardware and the Controller software, but the target is not responding to the relevant exchange partners. Despite the controversy, most companies that have begun to focus on OpenFlow have seen that OpenFlow is a way to accelerate innovation and actually differentiate between hardware and overall solutions.
The big prospect is that, because of the ability to innovate quickly-new network features that come with the integration of software applications and programming devices, bypassing traditional network protocols takes years to approve/implement, the "Software definition network" introduced by OpenFlow and the Web world will revolutionize. Because of the layered design of the software/hardware architecture, it is possible to speed up the implementation.
The latest example of how the industry is affected by this architecture is the mobile industry and their app stores. Prior to the launch of the mobile phone are singles alone: mobile phones, related operating systems and applications are the launch of a single company responsible for the introduction of the application often for the address book or several games. Today, we have entered the era of "software-defined mobile devices". The new architecture is at the top of the well-defined mobile development framework for mobile applications, and these frameworks provide the abstract concepts of the underlying hardware. This creates a holistic ecosystem for companies that often launch new applications. Most of us can customize our own devices by installing a large number of applications that we need.
Now let's turn the conversation back to the web, where the time is ripe for such change in the industry. Currently, OpenFlow has started deploying in a number of companies ready to launch a large number of applications. Over the next few months or years, we will see new ecosystem companies continually introducing new Web software applications to the marketplace to provide users with what they really need. Overall, OpenFlow's prospects are bright, and they will attract the attention of everyone.
(Responsible editor: Lu Guang)