Many people don't understand the difference between openflow and software-defined networking (SDN). Not surprisingly, because the two technologies are closely related, many people have such doubts. However, they are not interchangeable. OpenFlow is a protocol that uses processes such as APIs (application programming interfaces) to set up network switches. SDN is a term that describes the high degree of automation that provides a programmable interface within a network infrastructure to enable network service configuration. SDN terminology has been abused by many marketers who have used the term in many technologies.
In fact, SDN can be clearly defined. An SDN network has three architecture tiers: Physical Network, SDN application, SDN controller. Let's take a look.
Physical network. The bottom layer contains the physical devices that form the foundation of all IT infrastructures in the network. We use the concept of "switch" because OpenFlow changes the way the Ethernet switch works. In this article, you can also consider the Virtual Switch section in the physical infrastructure.
SDN applications. The most visible layer of SDN design is applications that provide services such as switching/network virtualization, firewalls, and traffic balancers. (Note that a openflow-based load balancer is called a traffic balancer.) They are not traditional load balancers, because they cannot read the contents of the packet, and these applications are basically similar or identical to applications that run in situations where the software is running on specialized hardware. Most of the upcoming innovations in network technology will take place on SDN applications.
SDN Controller. The SDN controller is the middleware, and the server acts as the hub of the entire architecture. The controller must be integrated with all physical and virtual devices in the network. The Controller abstracts physical network devices from the SDN software that works with these devices. There is a high degree of integration between the controller and the network device. In a OpenFlow environment, the controller uses the OpenFlow protocol and the NETCONF protocol to talk to the switch. (OpenFlow is the API that sends streaming data to the switch, and netconf is the network Settings API.) )
SDN: Basic Architecture
In the current SDN approach, the vendor provides applications and a single controller in one product. For example, Nicira/vmware encapsulates its applications and controllers in a single proprietary application stack. Cisco will embed the controller in the iOS software on the device, thereby encapsulating its controller in the ONEPK product. Big Switch Networks recently released a commercial version of the SDN controller that provides two applications running on the controller: Big Virtual switch and Big Tap.
Obviously the controller is a key part of the network architecture. It must be presented to an application that represents a useful feature. The API is also the most competitive place for vendors to dominate the SDN market.
SDN API: A new battlefield
Cisco's ONEPK is also a south-to-the-API. There is a lot of controversy over whether OpenFlow is sufficient to meet all network needs, especially with regard to migrating from packet-based networks to stream-based networks. There are also issues that can hinder this migration, such as the need for interoperability with existing protocols such as STP and OSPF.