In a bid to understand SDN in relation with OpenFlow, it is necessary to provide a good background on SDN, its motivation, and what it promises. This chapter provides you with the required knowledge prior to the actual setup of SDN/OpenFlow, enabling experimental and developmental environments.
So what is SDN?
Traditional network technologies have existed from the inception of networking, even though various modifications have been made to the underlying architecture and devices (such as switches, routers, and firewalls) and frames and packets have been forwarded and routed using a similar approach resulting in limited efficiency and a high cost of maintenance. As a consequence of this, there was the need to evolve the techniques used in the architecture and operations of networks, which led to the birth of SDN.
SDN, often referred to as a revolutionary new idea in computer networking, promises to dramatically simplify network control and management and enable innovation through network programmability. Network engineers are responsible for configuring policies to respond to a wide range of network events and application scenarios. They manually transform these high-level policies into low-level configuration commands. These very complex tasks are often accomplished with access to very limited tools. Thus, network management control and performance tuning are quite challenging and error-prone tasks.
Another challenge is what network engineers and researchers refer to as internet ossification. Due to its huge deployment base and its impacts on different aspects of our life, the internet has become extremely difficult to evolve both in terms of its physical infrastructure as well as its protocols and performance. As emerging and demanding applications become more complex, the current status quo of the internet seems unable to evolve to address emerging challenges.
Present day network architecture is made up of a control plane, data plane, and management plane where the control and data planes are merged into a machine generally known as inside the box. To avoid these limitations, a new set of networks known as programmable networks have emerged, generally known as out of the box.
The main aim of SDN is to separate the control and data plane and transfer the network intelligence and state to the control plane. Some technologies that have exploited these concepts include Routing Control Platform (RCP), Secure Architecture for the Network Enterprise (SANE), and recently, Ethane. SDN is often related to the OpenFlow protocol. Currently, Open Networking Foundation (ONF) takes on the task of advancing SDN and standardizing OpenFlow, whose latest version is 1.5.0.