The logic for packet forwarding on individual network performance devices consists of two part: control logic and data logic. Driving logic decides in which direction it will be packets are forwarded and what they will have priority, this functionality is very complex and puts higher demands on the performance of the relevant hardware.
Data logic is no longer so complex, it only performs packet overlay based on rules provided by the logic control, so it does not require very powerful hardware. This rules are called flow rules in the world of software-defined networks.
Comparison of Traditional Network and SDN
In traditional access to host computers, these two functions are included in each network performance element. This approach requires all cooperating elements to be used the same control protocols, which is very inflexible from the point of view of deployment, management and scalability. However, the software-defined network is changing this way.
The control features of network performance devices are centered centrally in one or more controllers and other network elements only data features remain. This solution provides simplified deployment and management of the network and increases flexibility in expanding or restructuring the network. Difference between traditional network and SDN is shown in the figure.
Due to the complexity and performance of logic control, it is convenient to move it from the big one the amount of network elements into the central controller, thus eliminating the demands on their performance. Although the controller still requires very powerful hardware, it is, however, shared more by network performance elements, thus reducing overall performance requirements.
Each data flow in a software-defined network is controlled by a controller that determines whether can be enabled based on security policies, and then counts the path that it takes his packets will be forwarded. It then puts flow rules on network elements over which this flow will lead to packet forwarding itself based on these rules and to carry out communications, or blocking this traffic.
Flow rules are stored in the network performance element memory in the so-called flow table. Here at the default setting occurs for a short time determined by the controller based on the time elapsed since the last of these rules were applied. For the packet to the network element, the corresponding rule is first searched for in the flow table.
If none of them are able to determine how to process a packet, the network element will ask the controller to provide a new one rules for this packet. For communication between network elements and controller in today time is most often used by the OpenFlow protocol.