Open Flow Switch: What Is It and How Does It Work
Open-flow switch has brought a relatively large change to the data center. Its internal functional characteristics enable the network to be programmed independently of the device, making the entire system more agile and flexible and greatly improving the efficiency of the enterprise. Let's explore what drives the power of OpenFlow switch.
What Is an OpenFlow Switch?
The OpenFlow switch is an OpenFlow-enabled data center switch realizing network communication through a central controller. The term OpenFlow refers to an open communication protocol designed to function at layer 2 of the OSI model, allowing the control plane to disconnect and interact with the forwarding plane of multiple devices from a central point.
OpenFlow switch uses software-defined networking (SDN) technology to forward data packets in the network, which can optimize network resources and automate traffic distribution on demand. Below we will describe the specifications of the OpenFlow switch in detail.
OpenFlow Switch Components
An OpenFlow switch is composed of one or more flow tables and a group table and uses the OpenFlow protocol to communicate with the SDN controller. It mainly performs packet lookup and forwarding and can set up one or more OpenFlow channels to external controllers.
In a typical network transmission, packets are combined in a flow form. Of course, packets of the same VLAN can also be a flow, as can packets belonging to a pair of MAC addresses. Inside an OpenFlow switch, the OpenFlow protocol makes an effort to identify these flows and assign the flows. Hence, this enables the switch to apply to a specific port or all ports, while taking special action when a packet matches a flow.
Each OpenFlow switch includes at least one flow table and a set of flow entries in the table internally. When the switch position in the topology is recognized by the controller and an end-to-end connection needs to be established, the low entries will be created. These flow entries, however, include matching fields, counters, instructions that apply to matching packets, etc.
Packets will start at table 0 first and these entries will be checked and matched based on priority. If the flow needs to continue to another table, the packet is redirected to the table specified by the directive.
OpenFlow Switch Ports
OpenFlow switches have three types of ports, include: physical ports, logical ports, and reserved ports.
A physical port refers to the port that is connected to the hardware. On the OpenFlow switch, it corresponds to the ethernet port. However, these ports are sometimes not exactly corresponding, because OpenFlow switches can also virtualized physical ports. At this point, the physical port of OpenFlow is a virtual slice of the hardware port.
Unlike the physical port, a logical port is a high-level abstract port that is usually defined by others, such as link aggregation groups, loopback ports, etc. Also, Tunnel-ID is an additional pipe field it sets for the packet. If a logical port receives a packet and needs to communicate with the controller, it sends a report to the controller with the physical bottom port.
OpenFlow reserved port mainly refers to generic forwarding operations. There are several required reserved ports on OpenFlow switches: ALL, CONTROLLER, TABLE, IN_PORT, ANY, UNSET, LOCAL. Sometimes NORMAL and FLOOD ports appear on the switch, and they allow OpenFlow pipelines to interact with the switch hardware pipelines.
OpenFlow Switch Types
OpenFlow switches are divided into two types: OpenFlow-only and OpenFlow-hybrid switches.
OpenFlow-only switch: It is a dumb switch that cannot make local decisions because it has only one data or forwarding plane. As a result, all the packets inside it have to be processed by the OpenFlow pipeline. Otherwise, it won't work.
OpenFlow-hybrid switch: It supports OpenFlow and Ethernet operations, which means you can take advantage of the native control plane to combine traditional L2 Ethernet switches, VLAN isolation, L3 routing, ACLs, and QoS to process packets. Additionally, various classification mechanisms can be used to interact with OpenFlow pipelines.
How Does OpenFlow Switch Work with Controller?
OpenFlow switch operation must have three basic elements: a flow table, controller, and OpenFlow protocol. Each OpenFlow switch establishes an independent connection with the controller for flow table transmission and processing, having a unique operational datapath ID. The controller is connected over TCP/IP on the management plane of the switch. When the controller establishes a connection with the switch, it sends a command message indicating a successful connection, and then sends the specified specific OpenFlow protocol version to the switch.
OpenFlow switches support various flow operations for forwarding OpenFlow packets. During the traffic forwarding process, it forwards unicast or multicast packets through the physical port to the OpenFlow-enabled interface specified by the controller for processing. At this point, the SDN controller can set the path through the network for special optimizations such as speed, a minimum number of hops, or reduced latency.
Based on the programmable features of Openflow to the network, it solves the differences among network equipment from different manufacturers. Since the control right is fully open, enterprises can achieve any desired network routing, transmission rules, and policies through customization. The network traffic control has reached more flexible and personalized innovation, which better supports virtualization and the cloud.
But from an automation point of view, OpenFlow mainly programs the L2/L3 forwarding plane, not a VXLAN tunnel-based virtual network designed for the dynamic configuration of the overlay. More importantly, centralized OpenFlow switch controllers cannot scale to larger networks, such as interconnects across data centers.
Explore the Applications of an OpenFlow Switch
Today, OpenFlow has got a large-scale application in large data centers or cloud data centers. Modern data center and cloud deployments enhance the need for virtualization. OpenFlow switches can effectively solve the data congestion problem arising from improper transmission path assignment in data centers, thus improving the operational efficiency of data centers. This is because it can dynamically obtain link traffic transmission information and utilize OpenFlow traffic entries to achieve traffic load balancing on each link.
From this it can be seen that in the process of continuous development of the Internet, OpenFlow and SDN technologies have brought new technological innovation and development to a traditional network, and will continue to be updated and improved in the future to contribute to high-speed communication of the network.